Compare commits

..

7 Commits

Author SHA1 Message Date
github-actions
9ecb414b02 Auto commit for release 'develop' on 2024-03-14 2024-03-14 01:29:53 +01:00
James Cole
ad4f908c24 CI will stop complaining about code base, bi-weekly release picks this up. 2024-03-13 06:52:16 +01:00
James Cole
025f739442 Reformat some code. 2024-03-13 06:51:31 +01:00
James Cole
6df7354c48 Rebuild frontend cause lazy. 2024-03-13 06:51:22 +01:00
James Cole
3f77c845ca Add last activity column 2024-03-13 06:50:08 +01:00
James Cole
d4771f7a5c Remove old configuration file. 2024-03-13 06:29:39 +01:00
James Cole
ec4e2bfa4f Fix https://github.com/firefly-iii/firefly-iii/issues/8663 2024-03-12 20:36:31 +01:00
16 changed files with 99 additions and 97 deletions

View File

@@ -45,15 +45,6 @@ jobs:
- name: Install Composer dependencies
run: composer install --prefer-dist --no-interaction --no-progress --no-scripts
- name: PHPStan
run: .ci/phpstan.sh
- name: PHPMD
run: .ci/phpmd.sh
- name: PHP CS Fixer
run: .ci/phpcs.sh
- name: "Create database file"
run: touch storage/database/database.sqlite

View File

@@ -143,7 +143,7 @@ class ReportController extends Controller
$cache->addProperty($accounts);
$cache->addProperty($end);
if ($cache->has()) {
return response()->json($cache->get());
// return response()->json($cache->get());
}
app('log')->debug('Going to do operations for accounts ', $accounts->pluck('id')->toArray());
@@ -220,11 +220,14 @@ class ReportController extends Controller
$currentEnd = app('navigation')->endOfPeriod($currentEnd, $preferredRange);
}
while ($currentStart <= $currentEnd) {
$key = $currentStart->format($format);
$title = $currentStart->isoFormat($titleFormat);
$income['entries'][$title] = app('steam')->bcround($currency[$key]['earned'] ?? '0', $currency['currency_decimal_places']);
$expense['entries'][$title] = app('steam')->bcround($currency[$key]['spent'] ?? '0', $currency['currency_decimal_places']);
$currentStart = app('navigation')->addPeriod($currentStart, $preferredRange, 0);
$key = $currentStart->format($format);
$title = $currentStart->isoFormat($titleFormat);
// #8663 make sure the period exists in the data previously collected.
if (array_key_exists($key, $currency)) {
$income['entries'][$title] = app('steam')->bcround($currency[$key]['earned'] ?? '0', $currency['currency_decimal_places']);
$expense['entries'][$title] = app('steam')->bcround($currency[$key]['spent'] ?? '0', $currency['currency_decimal_places']);
}
$currentStart = app('navigation')->addPeriod($currentStart, $preferredRange, 0);
}
$chartData[] = $income;

View File

@@ -29,9 +29,11 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountMeta;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\UserGroups\Currency\CurrencyRepositoryInterface;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;
/**
* Class AccountTransformer
@@ -39,6 +41,7 @@ use Illuminate\Support\Collection;
class AccountTransformer extends AbstractTransformer
{
private array $accountMeta;
private array $lastActivity;
private array $accountTypes;
private array $balances;
private array $convertedBalances;
@@ -50,9 +53,11 @@ class AccountTransformer extends AbstractTransformer
*/
public function collectMetaData(Collection $objects): Collection
{
// TODO separate methods
$this->currencies = [];
$this->accountMeta = [];
$this->accountTypes = [];
$this->lastActivity = [];
$this->balances = app('steam')->balancesByAccounts($objects, $this->getDate());
$this->convertedBalances = app('steam')->balancesByAccountsConverted($objects, $this->getDate());
@@ -62,6 +67,7 @@ class AccountTransformer extends AbstractTransformer
// get currencies:
$accountIds = $objects->pluck('id')->toArray();
// TODO move query to repository
$meta = AccountMeta::whereIn('account_id', $accountIds)
->whereIn('name', ['currency_id', 'account_role', 'account_number'])
->get(['account_meta.id', 'account_meta.account_id', 'account_meta.name', 'account_meta.data'])
@@ -79,6 +85,7 @@ class AccountTransformer extends AbstractTransformer
}
// get account types:
// select accounts.id, account_types.type from account_types left join accounts on accounts.account_type_id = account_types.id;
// TODO move query to repository
$accountTypes = AccountType::leftJoin('accounts', 'accounts.account_type_id', '=', 'account_types.id')
->whereIn('accounts.id', $accountIds)
->get(['accounts.id', 'account_types.type'])
@@ -89,6 +96,17 @@ class AccountTransformer extends AbstractTransformer
$this->accountTypes[$row->id] = (string)config(sprintf('firefly.shortNamesByFullName.%s', $row->type));
}
// get last activity
// TODO move query to repository
$array = Transaction::whereIn('account_id', $accountIds)
->leftJoin('transaction_journals', 'transaction_journals.id', 'transactions.transaction_journal_id')
->groupBy('transactions.account_id')
->get(['transactions.account_id', DB::raw('MAX(transaction_journals.date) as date_max')])->toArray()
;
foreach ($array as $row) {
$this->lastActivity[(int)$row['account_id']] = Carbon::parse($row['date_max'], config('app.timezone'));
}
// TODO needs separate method.
/** @var null|array $sort */
$sort = $this->parameters->get('sort');
@@ -189,6 +207,7 @@ class AccountTransformer extends AbstractTransformer
'current_balance_date' => $this->getDate()->endOfDay()->toAtomString(),
// more meta
'last_activity' => array_key_exists($id, $this->lastActivity) ? $this->lastActivity[$id]->toAtomString() : null,
// 'notes' => $this->repository->getNoteText($account),
// 'monthly_payment_date' => $monthlyPaymentDate,

73
composer.lock generated
View File

@@ -2014,16 +2014,16 @@
},
{
"name": "laravel/framework",
"version": "v10.47.0",
"version": "v10.48.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "fce29b8de62733cdecbe12e3bae801f83fff2ea4"
"reference": "32a8bb151d748b579c3794dea53b56bd40dfbbd3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/fce29b8de62733cdecbe12e3bae801f83fff2ea4",
"reference": "fce29b8de62733cdecbe12e3bae801f83fff2ea4",
"url": "https://api.github.com/repos/laravel/framework/zipball/32a8bb151d748b579c3794dea53b56bd40dfbbd3",
"reference": "32a8bb151d748b579c3794dea53b56bd40dfbbd3",
"shasum": ""
},
"require": {
@@ -2071,6 +2071,7 @@
"conflict": {
"carbonphp/carbon-doctrine-types": ">=3.0",
"doctrine/dbal": ">=4.0",
"mockery/mockery": "1.6.8",
"phpunit/phpunit": ">=11.0.0",
"tightenco/collect": "<5.5.33"
},
@@ -2216,7 +2217,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-03-05T15:18:36+00:00"
"time": "2024-03-12T16:35:43+00:00"
},
{
"name": "laravel/passport",
@@ -9300,16 +9301,16 @@
"packages-dev": [
{
"name": "barryvdh/laravel-debugbar",
"version": "v3.11.0",
"version": "v3.12.2",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/laravel-debugbar.git",
"reference": "762684120b4edba3f2cd1d2c33d63a34866b6caa"
"reference": "43555503052443964ce2c1c1f3b0378e58219eb8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/762684120b4edba3f2cd1d2c33d63a34866b6caa",
"reference": "762684120b4edba3f2cd1d2c33d63a34866b6caa",
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/43555503052443964ce2c1c1f3b0378e58219eb8",
"reference": "43555503052443964ce2c1c1f3b0378e58219eb8",
"shasum": ""
},
"require": {
@@ -9368,7 +9369,7 @@
],
"support": {
"issues": "https://github.com/barryvdh/laravel-debugbar/issues",
"source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.11.0"
"source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.12.2"
},
"funding": [
{
@@ -9380,7 +9381,7 @@
"type": "github"
}
],
"time": "2024-03-09T08:41:41+00:00"
"time": "2024-03-13T09:50:34+00:00"
},
{
"name": "barryvdh/laravel-ide-helper",
@@ -9962,16 +9963,16 @@
},
{
"name": "maximebf/debugbar",
"version": "v1.21.0",
"version": "v1.21.3",
"source": {
"type": "git",
"url": "https://github.com/maximebf/php-debugbar.git",
"reference": "9700e509740daa03d909e5f7cc19f719bcbe6915"
"reference": "0b407703b08ea0cf6ebc61e267cc96ff7000911b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/9700e509740daa03d909e5f7cc19f719bcbe6915",
"reference": "9700e509740daa03d909e5f7cc19f719bcbe6915",
"url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/0b407703b08ea0cf6ebc61e267cc96ff7000911b",
"reference": "0b407703b08ea0cf6ebc61e267cc96ff7000911b",
"shasum": ""
},
"require": {
@@ -9991,7 +9992,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.20-dev"
"dev-master": "1.21-dev"
}
},
"autoload": {
@@ -10022,13 +10023,13 @@
],
"support": {
"issues": "https://github.com/maximebf/php-debugbar/issues",
"source": "https://github.com/maximebf/php-debugbar/tree/v1.21.0"
"source": "https://github.com/maximebf/php-debugbar/tree/v1.21.3"
},
"time": "2024-03-01T15:28:34+00:00"
"time": "2024-03-12T14:23:07+00:00"
},
{
"name": "mockery/mockery",
"version": "1.6.7",
"version": "1.6.9",
"source": {
"type": "git",
"url": "https://github.com/mockery/mockery.git",
@@ -10636,16 +10637,16 @@
},
{
"name": "phpstan/phpstan",
"version": "1.10.60",
"version": "1.10.62",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "95dcea7d6c628a3f2f56d091d8a0219485a86bbe"
"reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/95dcea7d6c628a3f2f56d091d8a0219485a86bbe",
"reference": "95dcea7d6c628a3f2f56d091d8a0219485a86bbe",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/cd5c8a1660ed3540b211407c77abf4af193a6af9",
"reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9",
"shasum": ""
},
"require": {
@@ -10694,7 +10695,7 @@
"type": "tidelift"
}
],
"time": "2024-03-07T13:30:19+00:00"
"time": "2024-03-13T12:27:20+00:00"
},
{
"name": "phpstan/phpstan-deprecation-rules",
@@ -10795,16 +10796,16 @@
},
{
"name": "phpunit/php-code-coverage",
"version": "10.1.13",
"version": "10.1.14",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "d51c3aec14896d5e80b354fad58e998d1980f8f8"
"reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/d51c3aec14896d5e80b354fad58e998d1980f8f8",
"reference": "d51c3aec14896d5e80b354fad58e998d1980f8f8",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e3f51450ebffe8e0efdf7346ae966a656f7d5e5b",
"reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b",
"shasum": ""
},
"require": {
@@ -10861,7 +10862,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.13"
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.14"
},
"funding": [
{
@@ -10869,7 +10870,7 @@
"type": "github"
}
],
"time": "2024-03-09T16:54:15+00:00"
"time": "2024-03-12T15:33:41+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -11116,16 +11117,16 @@
},
{
"name": "phpunit/phpunit",
"version": "10.5.12",
"version": "10.5.13",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "41a9886b85ac7bf3929853baf96b95361cd69d2b"
"reference": "20a63fc1c6db29b15da3bd02d4b6cf59900088a7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/41a9886b85ac7bf3929853baf96b95361cd69d2b",
"reference": "41a9886b85ac7bf3929853baf96b95361cd69d2b",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/20a63fc1c6db29b15da3bd02d4b6cf59900088a7",
"reference": "20a63fc1c6db29b15da3bd02d4b6cf59900088a7",
"shasum": ""
},
"require": {
@@ -11197,7 +11198,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.12"
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.13"
},
"funding": [
{
@@ -11213,7 +11214,7 @@
"type": "tidelift"
}
],
"time": "2024-03-09T12:04:07+00:00"
"time": "2024-03-12T15:37:41+00:00"
},
{
"name": "sebastian/cli-parser",

View File

@@ -117,7 +117,7 @@ return [
'expression_engine' => false,
// see cer.php for exchange rates feature flag.
],
'version' => 'develop/2024-03-11',
'version' => 'develop/2024-03-14',
'api_version' => '2.0.12',
'db_version' => 23,

View File

@@ -0,0 +1 @@
import{d as l,f as d}from"./format-money-5a1aa122.js";import{f as o,i as n}from"./vendor-291d7a70.js";/* empty css */import{G as f}from"./get-2d864c96.js";const r=window.location.href.split("/"),h=r[r.length-1];let b=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},totalPages:1,page:1,tableColumns:{name:{enabled:!0}},sortingColumn:"",sortDirection:"",accounts:[],sort(a){return this.sortingColumn=a,this.sortDirection=this.sortDirection==="asc"?"desc":"asc",this.loadAccounts(),!1},formatMoney(a,e){return d(a,e)},format(a){return o(a,n.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=n.t("firefly.wait_loading_data"),this.loadAccounts()},loadAccounts(){this.notifications.wait.show=!0,this.notifications.wait.text=n.t("firefly.wait_loading_data"),this.accounts=[];const a=[{column:this.sortingColumn,direction:this.sortDirection}];new f().index({sorting:a,type:h,page:this.page}).then(e=>{for(let i=0;i<e.data.data.length;i++)if(e.data.data.hasOwnProperty(i)){let t=e.data.data[i],u={id:parseInt(t.id),active:t.attributes.active,name:t.attributes.name,type:t.attributes.type,role:t.attributes.account_role,iban:t.attributes.iban===null?"":t.attributes.iban.match(/.{1,4}/g).join(" "),account_number:t.attributes.account_number===null?"":t.attributes.account_number,current_balance:t.attributes.current_balance,currency_code:t.attributes.currency_code,native_current_balance:t.attributes.native_current_balance,native_currency_code:t.attributes.native_currency_code,last_activity:t.attributes.last_activity===null?"":o(new Date(t.attributes.last_activity),"P")};this.accounts.push(u)}this.notifications.wait.show=!1})}}},s={index:b,dates:l};function c(){Object.keys(s).forEach(a=>{console.log(`Loading page component "${a}"`);let e=s[a]();Alpine.data(a,()=>e)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),c()});window.bootstrapped&&(console.log("Loaded through window variable."),c());

View File

@@ -1 +0,0 @@
import{d as u,f as l}from"./format-money-5a1aa122.js";import{f as d,i as n}from"./vendor-291d7a70.js";/* empty css */import{G as f}from"./get-2d864c96.js";const o=window.location.href.split("/"),h=o[o.length-1];let b=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},totalPages:1,page:1,tableColumns:{name:{enabled:!0}},sortingColumn:"",sortDirection:"",accounts:[],sort(a){return this.sortingColumn=a,this.sortDirection=this.sortDirection==="asc"?"desc":"asc",this.loadAccounts(),!1},formatMoney(a,e){return l(a,e)},format(a){return d(a,n.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=n.t("firefly.wait_loading_data"),this.loadAccounts()},loadAccounts(){this.notifications.wait.show=!0,this.notifications.wait.text=n.t("firefly.wait_loading_data"),this.accounts=[];const a=[{column:this.sortingColumn,direction:this.sortDirection}];new f().index({sorting:a,type:h,page:this.page}).then(e=>{for(let i=0;i<e.data.data.length;i++)if(e.data.data.hasOwnProperty(i)){let t=e.data.data[i],c={id:parseInt(t.id),active:t.attributes.active,name:t.attributes.name,type:t.attributes.type,iban:t.attributes.iban===null?"":t.attributes.iban.match(/.{1,4}/g).join(" "),account_number:t.attributes.account_number===null?"":t.attributes.account_number,current_balance:t.attributes.current_balance,currency_code:t.attributes.currency_code,native_current_balance:t.attributes.native_current_balance,native_currency_code:t.attributes.native_currency_code};this.accounts.push(c)}this.notifications.wait.show=!1})}}},r={index:b,dates:u};function s(){Object.keys(r).forEach(a=>{console.log(`Loading page component "${a}"`);let e=r[a]();Alpine.data(a,()=>e)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),s()});window.bootstrapped&&(console.log("Loaded through window variable."),s());

View File

@@ -106,7 +106,7 @@
"css": [
"assets/grid-ff3-theme-badb0a41.css"
],
"file": "assets/index-fdc173aa.js",
"file": "assets/index-6c8a02f2.js",
"imports": [
"_format-money-5a1aa122.js",
"_vendor-291d7a70.js",

View File

@@ -1,15 +0,0 @@
profile:
name: qodana.recommended
version: "1.0"
linter: jetbrains/qodana-php:latest
exclude:
- name: All
paths:
- .ci
- _ide_helper.php
- public/v1/css/jquery-ui
- public/v1/fonts
- public/v1/lib
- public/v1/js/lib
- public/v3
- public/v3-local

View File

@@ -93,13 +93,14 @@ let index = function () {
active: current.attributes.active,
name: current.attributes.name,
type: current.attributes.type,
// role: current.attributes.account_role,
role: current.attributes.account_role,
iban: null === current.attributes.iban ? '' : current.attributes.iban.match(/.{1,4}/g).join(' '),
account_number: null === current.attributes.account_number ? '' : current.attributes.account_number,
current_balance: current.attributes.current_balance,
currency_code: current.attributes.currency_code,
native_current_balance: current.attributes.native_current_balance,
native_currency_code: current.attributes.native_currency_code,
last_activity: null === current.attributes.last_activity ? '' : format(new Date(current.attributes.last_activity),'P'),
};
this.accounts.push(account);
}

View File

@@ -35,15 +35,15 @@ declare(strict_types=1);
return [
'home' => 'Domů',
'budgets' => 'Budgets',
'budgets' => 'Rozpočty',
'subscriptions' => 'Subscriptions',
'transactions' => 'Transactions',
'title_expenses' => 'Expenses',
'title_withdrawal' => 'Expenses',
'transactions' => 'Transakce',
'title_expenses' => 'Výdaje',
'title_withdrawal' => 'Výdaje',
'title_revenue' => 'Revenue / income',
'title_deposit' => 'Revenue / income',
'title_transfer' => 'Transfers',
'title_transfers' => 'Transfers',
'title_transfer' => 'Převody',
'title_transfers' => 'Převody',
'edit_currency' => 'Upravit měnu „:name“',
'delete_currency' => 'Odstranit měnu „:name“',
'newPiggyBank' => 'Vytvořit novou pokladničku',

View File

@@ -56,16 +56,16 @@ return [
*/
// invite
'invitation_created_subject' => 'An invitation has been created',
'invitation_created_body' => 'Admin user ":email" created a user invitation which can be used by whoever is behind email address ":invitee". The invite will be valid for 48hrs.',
'invite_user_subject' => 'You\'ve been invited to create a Firefly III account.',
'invitation_introduction' => 'You\'ve been invited to create a Firefly III account on **:host**. Firefly III is a personal, self-hosted, private personal finance manager. All the cool kids are using it.',
'invitation_invited_by' => 'You\'ve been invited by ":admin" and this invitation was sent to ":invitee". That\'s you, right?',
'invitation_url' => 'The invitation is valid for 48 hours and can be redeemed by surfing to [Firefly III](:url). Enjoy!',
'invitation_created_subject' => 'Pozvánka byla vytvořena',
'invitation_created_body' => 'Admin uživatel ":email" vytvořil uživatelskou pozvánku, kterou může použít kdokoliv, kdo stojí za e-mailovou adresou ":invitee". Pozvánka bude platná 48 hodin.',
'invite_user_subject' => 'Byli jste pozváni k vytvoření účtu Firefly III.',
'invitation_introduction' => 'Byli jste pozváni k vytvoření účtu Firefly III na **:host**. Firefly III je osobní, vlastní soukromý správce financí.',
'invitation_invited_by' => 'Byli jste pozváni ":admin" a tato pozvánka byla odeslána na ":invitee". To jste vy, že?',
'invitation_url' => 'Pozvánka je platná 48 hodin a může být využita kliknutím na [Firefly III](:url). Užívejte si ji!',
// new IP
'login_from_new_ip' => 'Nové přihlášení do Firefly III',
'slack_login_from_new_ip' => 'New Firefly III login from IP :ip (:host)',
'slack_login_from_new_ip' => 'Nové přihlášení Firefly III z IP :ip (:host)',
'new_ip_body' => 'Firefly III zjistil nové přihlášení na Vašem účtu z neznámé IP adresy. Pokud jste se nikdy nepřihlásili z IP adresy níže, nebo to bylo před více než šesti měsíci, Firefly III Vás upozorní.',
'new_ip_warning' => 'Pokud rozpoznáte tuto IP adresu nebo přihlašovací jméno, můžete tuto zprávu ignorovat. Pokud jste se nepřihlásili, nebo jestli nemáte tušení, o co jde, ověřte zabezpečení hesla, změňte ho a odhlásíte všechny ostatní relace. Chcete-li to provést, jděte na stránku svého profilu. Samozřejmě už máte dvoufaktorové přihlašování povoleno, že? Zůstaňte v bezpečí!',
'ip_address' => 'IP adresa',
@@ -80,9 +80,9 @@ return [
// registered
'registered_subject' => 'Vítejte ve Firefly III!',
'registered_subject_admin' => 'A new user has registered',
'admin_new_user_registered' => 'A new user has registered. User **:email** was given user ID #:id.',
'registered_welcome' => 'Welcome to [Firefly III](:address). Your registration has made it, and this email is here to confirm it. Yay!',
'registered_subject_admin' => 'Nový uživatel se zaregistroval',
'admin_new_user_registered' => 'Nový uživatel se zaregistroval. Uživatel **:email** dostal uživateleské ID #:id.',
'registered_welcome' => 'Vítejte v [Firefly III](:address). Vaše registrace proběhla a tento e-mail je zde pro potvrzení. Jupí!',
'registered_pw' => 'If you have forgotten your password already, please reset it using [the password reset tool](:address/password/reset).',
'registered_help' => 'V pravém horním rohu každé stránky je ikona nápovědy. Pokud potřebujete pomoc, klikněte na ní!',
'registered_closing' => 'Užívejte!',
@@ -102,7 +102,7 @@ return [
*/
// new version
'new_version_email_subject' => 'A new Firefly III version is available',
'new_version_email_subject' => 'Je dostupná nová verze Firefly III',
// email change
'email_change_subject' => 'Vaše Firefly III e-mailová adresa se změnila',
@@ -110,9 +110,9 @@ return [
'email_change_body_to_old' => 'You or somebody with access to your Firefly III account has changed your email address. If you did not expect this to happen, you **must** follow the "undo"-link below to protect your account!',
'email_change_ignore' => 'Pokud jste iniciovali tuto změnu, můžete tuto zprávu klidně ignorovat.',
'email_change_old' => 'Stará e-mailová adresa byla: :email',
'email_change_old_strong' => 'The old email address was: **:email**',
'email_change_old_strong' => 'Stará e-mailová adresa byla: **:email**',
'email_change_new' => 'Nová e-mailová adresa je: :email',
'email_change_new_strong' => 'The new email address is: **:email**',
'email_change_new_strong' => 'Nová e-mailová adresa je: **:email**',
'email_change_instructions' => 'Dokud nepotvrdíte tuto změnu, tak nemůžete používat Firefly III. Postupujte prosím kliknutím na níže uvedený odkaz.',
'email_change_undo_link' => 'Změnu vrátíte zpět kliknutím na odkaz:',
@@ -169,7 +169,7 @@ return [
'bill_warning_extension_date' => 'Your bill **":name"** is due to be extended or cancelled on :date. This moment will pass in about **:diff days**.',
'bill_warning_end_date_zero' => 'Your bill **":name"** is due to end on :date. This moment will pass **TODAY!**',
'bill_warning_extension_date_zero' => 'Your bill **":name"** is due to be extended or cancelled on :date. This moment will pass **TODAY!**',
'bill_warning_please_action' => 'Please take the appropriate action.',
'bill_warning_please_action' => 'Přijměte prosím odpovídající opatření.',
];
/*
* PLEASE DO NOT EDIT THIS FILE DIRECTLY.

View File

@@ -44,7 +44,7 @@ return [
'be_right_back' => 'Hned jsme zpět!',
'check_back' => 'Firefly III is down for some necessary maintenance. Please check back in a second. If you happen to see this message on the demo site, just wait a few minutes. The database is reset every few hours.',
'error_occurred' => 'Jejda! Došlo k chybě.',
'db_error_occurred' => 'Whoops! A database error occurred.',
'db_error_occurred' => 'Jejda! Došlo k chybě databáze.',
'error_not_recoverable' => 'Bohužel, tato chyba je neopravitelná :(. Firefly III se pokazil. Chyba je:',
'error' => 'Chyba',
'error_location' => 'Došlo k chybě v souboru <span style="font-family: monospace;">:file</span> na řádku :line s kódem :code.',
@@ -63,7 +63,7 @@ return [
*/
'collect_info' => 'Shromažďujte prosím další informace do adresáře <code>storage/logs</code>, kde najdete chybové záznamy. Pokud používáte Docker, použijte <code>docker logs -f [container]</code>.',
'collect_info_more' => 'You can read more about collecting error information in <a href="https://docs.firefly-iii.org/how-to/general/debug/">the FAQ</a>.',
'collect_info_more' => 'Více o sběru informací o chybě si můžete přečíst v <a href="https://docs.firefly-iii.org/how-to/general/debug/">FAQ</a>.',
'github_help' => 'Získejte nápovědu na GitHub',
'github_instructions' => 'Jste více než vítáni při otevření nových hlášení <strong><a href="https://github.com/firefly-iii/firefly-iii/issues">na GitHub</a></strong>.',
'use_search' => 'Použijte vyhledávání!',

View File

@@ -78,7 +78,7 @@ return [
'reports_index_intro' => 'Pomocí těchto přehledů získáte podrobné informace o svých financích.',
'reports_index_inputReportType' => 'Vyberte typ přehledu. Podívejte se na stránky nápovědy a zjistěte, co vám každý přehled ukazuje.',
'reports_index_inputAccountsSelect' => 'Můžete vynechávat nebo zahrnovat majetkové účty, jak potřebujete.',
'reports_index_inputDateRange' => 'The selected date range is entirely up to you: from one day to 10 years or more.',
'reports_index_inputDateRange' => 'Vybrané období je zcela na vás: od jednoho dne do 10 let a více.',
'reports_index_extra-options-box' => 'Podle toho, jaký výkaz jste vybrali, je zde možné vybrat další filtry a volby. Při změně typu výkazu sledujte tuto oblast.',
// reports (reports)

View File

@@ -49,10 +49,10 @@ return [
'already_has_destination_asset' => 'Tato transakce již má ":name" jako cílový majetkový účet',
'already_has_destination' => 'Tato transakce již má ":name" jako cílový účet',
'already_has_source' => 'Tato transakce již má ":name" jako zdrojový účet',
'already_linked_to_subscription' => 'The transaction is already linked to subscription ":name"',
'already_linked_to_subscription' => 'Transakce je již propojena s předplatným ":name"',
'already_linked_to_category' => 'Transakce je již propojena s kategorií ":name"',
'already_linked_to_budget' => 'Transakce je již propojena s rozpočtem ":name"',
'cannot_find_subscription' => 'Firefly III can\'t find subscription ":name"',
'cannot_find_subscription' => 'Firefly III nemůže najít předplatné ":name"',
'no_notes_to_move' => 'Transakce nemá žádné poznámky k přesunutí do pole popisu',
'no_tags_to_remove' => 'Transakce nemá žádné štítky k odstranění',
'not_withdrawal' => 'Transakce není výběrem',

View File

@@ -124,8 +124,10 @@
<td>
<span x-text="formatMoney(account.current_balance, account.currency_code)"></span>
</td>
<td>TODO</td>
<td>TODO</td>
<td>
<span x-text="account.last_activity"></span>
</td>
<td>TODO 2 </td>
<td>&nbsp;</td>
</tr>
</template>