From ee2fba415a5418ee05e80bc504fd557d65717778 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:32:45 +0200 Subject: [PATCH 001/349] Remove unused translations. --- resources/lang/en_US/firefly.php | 6 ------ resources/lang/en_US/form.php | 8 -------- resources/lang/en_US/help.php | 35 -------------------------------- resources/lang/en_US/list.php | 4 ---- resources/lang/nl_NL/form.php | 2 -- 5 files changed, 55 deletions(-) delete mode 100644 resources/lang/en_US/help.php diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index 843d2aef10..ba6332c0cb 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -170,8 +170,6 @@ return [ 'export_status_collected_attachments' => 'Collected all your attachments!', 'export_status_collecting_old_uploads' => 'Collecting all your previous uploads...', 'export_status_collected_old_uploads' => 'Collected all your previous uploads!', - 'export_status_creating_config_file' => 'Creating a configuration file...', - 'export_status_created_config_file' => 'Created a configuration file!', 'export_status_creating_zip_file' => 'Creating a zip file...', 'export_status_created_zip_file' => 'Created a zip file!', 'export_status_finished' => 'Export has succesfully finished! Yay!', @@ -850,9 +848,6 @@ return [ 'removed_amount_from_piggy' => 'Removed :amount from ":name"', // tags - 'regular_tag' => 'Just a regular tag.', - 'balancing_act' => 'The tag takes at most two transactions; an expense and a transfer. They\'ll balance each other out.', - 'advance_payment' => 'The tag accepts one expense and any number of deposits aimed to repay the original expense.', 'delete_tag' => 'Delete tag ":tag"', 'deleted_tag' => 'Deleted tag ":tag"', 'new_tag' => 'Make new tag', @@ -995,7 +990,6 @@ return [ 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', // empty lists? no objects? instructions: - 'no_transactions_in_period' => 'There are no transactions in this period.', 'no_accounts_title_asset' => 'Let\'s create an asset account!', 'no_accounts_intro_asset' => 'You have no asset accounts yet. Asset accounts are your main accounts: your checking account, savings account, shared account or even your credit card.', 'no_accounts_imperative_asset' => 'To start using Firefly III you must create at least one asset account. Let\'s do so now:', diff --git a/resources/lang/en_US/form.php b/resources/lang/en_US/form.php index 5c30300170..f4bc60d059 100644 --- a/resources/lang/en_US/form.php +++ b/resources/lang/en_US/form.php @@ -30,13 +30,10 @@ return [ 'currency_id' => 'Currency', 'attachments' => 'Attachments', 'journal_amount' => 'Amount', - 'journal_asset_source_account' => 'Asset account (source)', 'journal_source_account_name' => 'Revenue account (source)', 'journal_source_account_id' => 'Asset account (source)', 'BIC' => 'BIC', 'verify_password' => 'Verify password security', - 'account_from_id' => 'From account', - 'account_to_id' => 'To account', 'source_account' => 'Source account', 'destination_account' => 'Destination account', 'journal_destination_account_id' => 'Asset account (destination)', @@ -53,7 +50,6 @@ return [ 'tagMode' => 'Tag mode', 'tagPosition' => 'Tag location', 'virtualBalance' => 'Virtual balance', - 'longitude_latitude' => 'Location', 'targetamount' => 'Target amount', 'accountRole' => 'Account role', 'openingBalanceDate' => 'Opening balance date', @@ -68,12 +64,10 @@ return [ 'revenue_account' => 'Revenue account', 'decimal_places' => 'Decimal places', 'exchange_rate_instruction' => 'Foreign currencies', - 'exchanged_amount' => 'Exchanged amount', 'source_amount' => 'Amount (source)', 'destination_amount' => 'Amount (destination)', 'native_amount' => 'Native amount', - 'revenue_account_source' => 'Revenue account (source)', 'source_account_asset' => 'Source account (asset account)', 'destination_account_expense' => 'Destination account (expense account)', 'destination_account_asset' => 'Destination account (asset account)', @@ -111,7 +105,6 @@ return [ 'add_new_withdrawal' => 'Add a new withdrawal', 'add_new_deposit' => 'Add a new deposit', 'add_new_transfer' => 'Add a new transfer', - 'noPiggybank' => '(no piggy bank)', 'title' => 'Title', 'notes' => 'Notes', 'filename' => 'File name', @@ -174,7 +167,6 @@ return [ // admin 'domain' => 'Domain', 'single_user_mode' => 'Single user mode', - 'must_confirm_account' => 'New users must activate account', 'is_demo_site' => 'Is demo site', diff --git a/resources/lang/en_US/help.php b/resources/lang/en_US/help.php deleted file mode 100644 index 6d1265778b..0000000000 --- a/resources/lang/en_US/help.php +++ /dev/null @@ -1,35 +0,0 @@ - 'Welcome to Firefly III', - 'main-content-text' => 'Do yourself a favor and follow this short guide to make sure you know your way around.', - 'sidebar-toggle-title' => 'Sidebar to create stuff', - 'sidebar-toggle-text' => 'Hidden under the plus icon are all the buttons to create new stuff. Accounts, transactions, everything!', - 'account-menu-title' => 'All your accounts', - 'account-menu-text' => 'Here you can find all the accounts you\'ve made.', - 'budget-menu-title' => 'Budgets', - 'budget-menu-text' => 'Use this page to organise your finances and limit spending.', - 'report-menu-title' => 'Reports', - 'report-menu-text' => 'Check this out when you want a solid overview of your finances.', - 'transaction-menu-title' => 'Transactions', - 'transaction-menu-text' => 'All transactions you\'ve created can be found here.', - 'option-menu-title' => 'Options', - 'option-menu-text' => 'This is pretty self-explanatory.', - 'main-content-end-title' => 'The end!', - 'main-content-end-text' => 'Remember that every page has a small question mark at the right top. Click it to get help about the page you\'re on.', - 'index' => 'index', - 'home' => 'home', -]; diff --git a/resources/lang/en_US/list.php b/resources/lang/en_US/list.php index 217b26ce20..9eed042382 100644 --- a/resources/lang/en_US/list.php +++ b/resources/lang/en_US/list.php @@ -25,14 +25,11 @@ return [ 'active' => 'Is active?', 'lastActivity' => 'Last activity', 'balanceDiff' => 'Balance difference between :start and :end', - 'matchedOn' => 'Matched on', 'matchesOn' => 'Matched on', 'account_type' => 'Account type', 'created_at' => 'Created at', - 'new_balance' => 'New balance', 'account' => 'Account', 'matchingAmount' => 'Amount', - 'lastMatch' => 'Last match', 'split_number' => 'Split #', 'destination' => 'Destination', 'source' => 'Source', @@ -66,7 +63,6 @@ return [ 'paid_current_period' => 'Paid this period', 'email' => 'Email', 'registered_at' => 'Registered at', - 'is_activated' => 'Is activated', 'is_blocked' => 'Is blocked', 'is_admin' => 'Is admin', 'has_two_factor' => 'Has 2FA', diff --git a/resources/lang/nl_NL/form.php b/resources/lang/nl_NL/form.php index 5c0a9b962c..eb981ecf17 100644 --- a/resources/lang/nl_NL/form.php +++ b/resources/lang/nl_NL/form.php @@ -187,8 +187,6 @@ return [ 'csv_tab' => 'Een tab (onzichtbaar)', 'csv_delimiter' => 'CSV scheidingsteken', 'csv_import_account' => 'Standaard rekening voor importeren', - 'csv_config' => 'Configuratiebestand', - 'due_date' => 'Vervaldatum', 'payment_date' => 'Betalingsdatum', From 7c791d4fbf205202af91b7d60471b016c9318574 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:19 +0200 Subject: [PATCH 002/349] New translations list.php (Russian) --- resources/lang/ru_RU/list.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/resources/lang/ru_RU/list.php b/resources/lang/ru_RU/list.php index 5df2d54bf5..d4cc569d3e 100644 --- a/resources/lang/ru_RU/list.php +++ b/resources/lang/ru_RU/list.php @@ -25,14 +25,11 @@ return [ 'active' => 'Активен?', 'lastActivity' => 'Последняя активность', 'balanceDiff' => 'Разница баланса между :start и :end', - 'matchedOn' => 'Matched on', 'matchesOn' => 'Matched on', 'account_type' => 'Тип профиля', 'created_at' => 'Created at', - 'new_balance' => 'New balance', 'account' => 'Account', 'matchingAmount' => 'Amount', - 'lastMatch' => 'Last match', 'split_number' => 'Split #', 'destination' => 'Destination', 'source' => 'Source', @@ -66,7 +63,6 @@ return [ 'paid_current_period' => 'Paid this period', 'email' => 'E-mail', 'registered_at' => 'Дата регистрации', - 'is_activated' => 'Активен?', 'is_blocked' => 'Заблокирован?', 'is_admin' => 'Администратор?', 'has_two_factor' => 'Защита (2FA)?', From e8d74bd735c219ba2173f6e4fbd1e2238c0345c1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:20 +0200 Subject: [PATCH 003/349] New translations form.php (Russian) --- resources/lang/ru_RU/form.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/ru_RU/form.php b/resources/lang/ru_RU/form.php index ef6703a722..63fb6f6991 100644 --- a/resources/lang/ru_RU/form.php +++ b/resources/lang/ru_RU/form.php @@ -30,13 +30,10 @@ return [ 'currency_id' => 'Currency', 'attachments' => 'Attachments', 'journal_amount' => 'Amount', - 'journal_asset_source_account' => 'Asset account (source)', 'journal_source_account_name' => 'Revenue account (source)', 'journal_source_account_id' => 'Asset account (source)', 'BIC' => 'BIC', 'verify_password' => 'Verify password security', - 'account_from_id' => 'From account', - 'account_to_id' => 'To account', 'source_account' => 'Source account', 'destination_account' => 'Destination account', 'journal_destination_account_id' => 'Asset account (destination)', @@ -53,7 +50,6 @@ return [ 'tagMode' => 'Tag mode', 'tagPosition' => 'Tag location', 'virtualBalance' => 'Virtual balance', - 'longitude_latitude' => 'Location', 'targetamount' => 'Target amount', 'accountRole' => 'Account role', 'openingBalanceDate' => 'Opening balance date', @@ -68,12 +64,10 @@ return [ 'revenue_account' => 'Доходный счет', 'decimal_places' => 'Количество цифр после точки', 'exchange_rate_instruction' => 'Иностранные валюты', - 'exchanged_amount' => 'Сумма обмена', 'source_amount' => 'Сумма (источник)', 'destination_amount' => 'Сумма (назначение)', 'native_amount' => 'Native amount', - 'revenue_account_source' => 'Доходный счет (источник)', 'source_account_asset' => 'Source account (asset account)', 'destination_account_expense' => 'Destination account (expense account)', 'destination_account_asset' => 'Destination account (asset account)', @@ -111,7 +105,6 @@ return [ 'add_new_withdrawal' => 'Add a new withdrawal', 'add_new_deposit' => 'Add a new deposit', 'add_new_transfer' => 'Add a new transfer', - 'noPiggybank' => '(no piggy bank)', 'title' => 'Заголовок', 'notes' => 'Заметки', 'filename' => 'Имя файла', @@ -174,7 +167,6 @@ return [ // admin 'domain' => 'Domain', 'single_user_mode' => 'Single user mode', - 'must_confirm_account' => 'New users must activate account', 'is_demo_site' => 'Is demo site', From 5d3606c12dad1d447d98b5563e57a9a84c79836c Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:23 +0200 Subject: [PATCH 004/349] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 6 ------ 1 file changed, 6 deletions(-) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index 0deba64ef5..127ffc8026 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -170,8 +170,6 @@ return [ 'export_status_collected_attachments' => 'Collected all your attachments!', 'export_status_collecting_old_uploads' => 'Collecting all your previous uploads...', 'export_status_collected_old_uploads' => 'Collected all your previous uploads!', - 'export_status_creating_config_file' => 'Creating a configuration file...', - 'export_status_created_config_file' => 'Created a configuration file!', 'export_status_creating_zip_file' => 'Creating a zip file...', 'export_status_created_zip_file' => 'Created a zip file!', 'export_status_finished' => 'Export has succesfully finished! Yay!', @@ -850,9 +848,6 @@ return [ 'removed_amount_from_piggy' => 'Removed :amount from ":name"', // tags - 'regular_tag' => 'Just a regular tag.', - 'balancing_act' => 'The tag takes at most two transactions; an expense and a transfer. They\'ll balance each other out.', - 'advance_payment' => 'The tag accepts one expense and any number of deposits aimed to repay the original expense.', 'delete_tag' => 'Delete tag ":tag"', 'deleted_tag' => 'Deleted tag ":tag"', 'new_tag' => 'Make new tag', @@ -995,7 +990,6 @@ return [ 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', // empty lists? no objects? instructions: - 'no_transactions_in_period' => 'There are no transactions in this period.', 'no_accounts_title_asset' => 'Let\'s create an asset account!', 'no_accounts_intro_asset' => 'You have no asset accounts yet. Asset accounts are your main accounts: your checking account, savings account, shared account or even your credit card.', 'no_accounts_imperative_asset' => 'To start using Firefly III you must create at least one asset account. Let\'s do so now:', From 10ab561fbb248b1deeb3b1db6a8b8be9de6d1eb6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:24 +0200 Subject: [PATCH 005/349] New translations list.php (Spanish) --- resources/lang/es_ES/list.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/resources/lang/es_ES/list.php b/resources/lang/es_ES/list.php index 8e2b50c0f9..2298a800b4 100644 --- a/resources/lang/es_ES/list.php +++ b/resources/lang/es_ES/list.php @@ -25,14 +25,11 @@ return [ 'active' => '¿Está Activo?', 'lastActivity' => 'Actividad más reciente', 'balanceDiff' => 'Diferencia de saldo entre :start y :end', - 'matchedOn' => 'Encontrado en', 'matchesOn' => 'Encontrado en', 'account_type' => 'Tipo de cuenta', 'created_at' => 'Fecha de creación', - 'new_balance' => 'Nuevo balance', 'account' => 'Cuenta', 'matchingAmount' => 'Monto', - 'lastMatch' => 'Última coincidencia', 'split_number' => 'División #', 'destination' => 'Destino', 'source' => 'Origen', @@ -66,7 +63,6 @@ return [ 'paid_current_period' => 'Pagado este período', 'email' => 'Email', 'registered_at' => 'Registrado el', - 'is_activated' => 'Está activado', 'is_blocked' => 'Está bloqueado', 'is_admin' => '¿Es el administrador?', 'has_two_factor' => 'Tiene 2FA', From 6b8144e8afc0be2026b208d9f272a7179847f2d0 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:26 +0200 Subject: [PATCH 006/349] New translations list.php (Slovenian) --- resources/lang/sl_SI/list.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/resources/lang/sl_SI/list.php b/resources/lang/sl_SI/list.php index 264d55d72a..873926640b 100644 --- a/resources/lang/sl_SI/list.php +++ b/resources/lang/sl_SI/list.php @@ -25,14 +25,11 @@ return [ 'active' => 'Aktiviran?', 'lastActivity' => 'zadnja aktivnost', 'balanceDiff' => 'Razlika stanja med :start in :end', - 'matchedOn' => 'Povezano', 'matchesOn' => 'Povezano', 'account_type' => 'vrsta računa', 'created_at' => 'ustvarjeno', - 'new_balance' => 'novo stanje', 'account' => 'račun', 'matchingAmount' => 'znesek', - 'lastMatch' => 'Nazadnje povezano', 'split_number' => 'Delitev #', 'destination' => 'Ciljni račun', 'source' => 'Izvor', @@ -66,7 +63,6 @@ return [ 'paid_current_period' => 'Plačano v tem obdobju', 'email' => 'E-pošta', 'registered_at' => 'Registriran pri', - 'is_activated' => 'Je aktiviran', 'is_blocked' => 'Je blokiran', 'is_admin' => 'Je administrator', 'has_two_factor' => 'Ima dvostopenjsko overovitev', From 86080ad871bc18d7ac0614370c4380cf8c33e03e Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:31 +0200 Subject: [PATCH 007/349] New translations form.php (Slovenian) --- resources/lang/sl_SI/form.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/sl_SI/form.php b/resources/lang/sl_SI/form.php index c3930e8f0a..34f1bce4e2 100644 --- a/resources/lang/sl_SI/form.php +++ b/resources/lang/sl_SI/form.php @@ -30,13 +30,10 @@ return [ 'currency_id' => 'Currency', 'attachments' => 'Attachments', 'journal_amount' => 'Amount', - 'journal_asset_source_account' => 'premoženjski račun (vir)', 'journal_source_account_name' => 'Revenue account (source)', 'journal_source_account_id' => 'premoženjski račun (vir)', 'BIC' => 'BIC', 'verify_password' => 'Verify password security', - 'account_from_id' => 'From account', - 'account_to_id' => 'To account', 'source_account' => 'Source account', 'destination_account' => 'Destination account', 'journal_destination_account_id' => 'premoženjski račun (cilj)', @@ -53,7 +50,6 @@ return [ 'tagMode' => 'Tag mode', 'tagPosition' => 'Tag location', 'virtualBalance' => 'Virtual balance', - 'longitude_latitude' => 'Location', 'targetamount' => 'Target amount', 'accountRole' => 'Account role', 'openingBalanceDate' => 'Opening balance date', @@ -68,12 +64,10 @@ return [ 'revenue_account' => 'Revenue account', 'decimal_places' => 'Decimal places', 'exchange_rate_instruction' => 'Foreign currencies', - 'exchanged_amount' => 'Exchanged amount', 'source_amount' => 'Amount (source)', 'destination_amount' => 'Amount (destination)', 'native_amount' => 'Native amount', - 'revenue_account_source' => 'Revenue account (source)', 'source_account_asset' => 'vir (premoženjski račun)', 'destination_account_expense' => 'ciljni konto (stroški)', 'destination_account_asset' => 'ciljni račun (premoženjski račun)', @@ -111,7 +105,6 @@ return [ 'add_new_withdrawal' => 'Add a new withdrawal', 'add_new_deposit' => 'Add a new deposit', 'add_new_transfer' => 'Add a new transfer', - 'noPiggybank' => '(no piggy bank)', 'title' => 'Title', 'notes' => 'Notes', 'filename' => 'File name', @@ -174,7 +167,6 @@ return [ // admin 'domain' => 'Domain', 'single_user_mode' => 'Single user mode', - 'must_confirm_account' => 'New users must activate account', 'is_demo_site' => 'Is demo site', From aa0d3fd54ce57e18e88c693cf557dea8977e181d Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:32 +0200 Subject: [PATCH 008/349] New translations form.php (Portuguese, Brazilian) --- resources/lang/pt_BR/form.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/pt_BR/form.php b/resources/lang/pt_BR/form.php index f2e1a12925..b1a2934811 100644 --- a/resources/lang/pt_BR/form.php +++ b/resources/lang/pt_BR/form.php @@ -30,13 +30,10 @@ return [ 'currency_id' => 'Moeda', 'attachments' => 'Anexos', 'journal_amount' => 'Quantia', - 'journal_asset_source_account' => 'Conta de ativo (fonte)', 'journal_source_account_name' => 'Conta de receita (fonte)', 'journal_source_account_id' => 'Conta de ativo (fonte)', 'BIC' => 'BIC', 'verify_password' => 'Verify password security', - 'account_from_id' => 'da conta', - 'account_to_id' => 'para conta', 'source_account' => 'Conta de origem', 'destination_account' => 'Conta de destino', 'journal_destination_account_id' => 'Conta de ativo (destino)', @@ -53,7 +50,6 @@ return [ 'tagMode' => 'Modo de tag', 'tagPosition' => 'Localização de tag', 'virtualBalance' => 'Saldo virtual', - 'longitude_latitude' => 'Localização', 'targetamount' => 'Valor alvo', 'accountRole' => 'Tipo de conta', 'openingBalanceDate' => 'Data do Saldo inicial', @@ -68,12 +64,10 @@ return [ 'revenue_account' => 'Conta de Receita', 'decimal_places' => 'Casas décimais', 'exchange_rate_instruction' => 'Moedas estrangeiras', - 'exchanged_amount' => 'Exchanged amount', 'source_amount' => 'Amount (source)', 'destination_amount' => 'Amount (destination)', 'native_amount' => 'Native amount', - 'revenue_account_source' => 'Conta de receita (fonte)', 'source_account_asset' => 'Conta de origem (conta de ativo)', 'destination_account_expense' => 'Conta de destino (conta de despesa)', 'destination_account_asset' => 'Conta de destino (conta de ativo)', @@ -111,7 +105,6 @@ return [ 'add_new_withdrawal' => 'Adicionar uma nova retirada', 'add_new_deposit' => 'Adicionar um novo depósito', 'add_new_transfer' => 'Adicionar uma nova transferência', - 'noPiggybank' => '(nenhum cofrinho)', 'title' => 'Título', 'notes' => 'Notas', 'filename' => 'Nome do arquivo', @@ -174,7 +167,6 @@ return [ // admin 'domain' => 'Domínio', 'single_user_mode' => 'Modo de usuário único', - 'must_confirm_account' => 'Novos usuários devem ativar a conta', 'is_demo_site' => 'É o site de demonstração', From 8266cdba66981e02c113d343e97908820a3cd9fc Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:34 +0200 Subject: [PATCH 009/349] New translations form.php (Polish) --- resources/lang/pl_PL/form.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/pl_PL/form.php b/resources/lang/pl_PL/form.php index 08f14827ea..2fdd6d9e5b 100644 --- a/resources/lang/pl_PL/form.php +++ b/resources/lang/pl_PL/form.php @@ -30,13 +30,10 @@ return [ 'currency_id' => 'Waluta', 'attachments' => 'Załączniki', 'journal_amount' => 'Kwota', - 'journal_asset_source_account' => 'Konto aktywów (źródło)', 'journal_source_account_name' => 'Konto przychodów (źródło)', 'journal_source_account_id' => 'Konto aktywów (źródło)', 'BIC' => 'BIC', 'verify_password' => 'Sprawdź bezpieczeństwo hasła', - 'account_from_id' => 'Z konta', - 'account_to_id' => 'Na konto', 'source_account' => 'Konto źródłowe', 'destination_account' => 'Konto docelowe', 'journal_destination_account_id' => 'Konto aktywów (przeznaczenie)', @@ -53,7 +50,6 @@ return [ 'tagMode' => 'Tag mode', 'tagPosition' => 'Lokalizacja taga', 'virtualBalance' => 'Wirtualne saldo', - 'longitude_latitude' => 'Lokalizacja', 'targetamount' => 'Kwota docelowa', 'accountRole' => 'Rola konta', 'openingBalanceDate' => 'Data salda otwarcia', @@ -68,12 +64,10 @@ return [ 'revenue_account' => 'Konto przychodów', 'decimal_places' => 'Miejsca dziesiętne', 'exchange_rate_instruction' => 'Zagraniczne waluty', - 'exchanged_amount' => 'Wymieniona kwota', 'source_amount' => 'Kwota (źródło)', 'destination_amount' => 'Kwota (przeznaczenie)', 'native_amount' => 'Źródłowa kwota', - 'revenue_account_source' => 'Konto przychodów (źródło)', 'source_account_asset' => 'Konto źródłowe (konto aktywów)', 'destination_account_expense' => 'Konto docelowe (konto wydatków)', 'destination_account_asset' => 'Konto docelowe (konto aktywów)', @@ -111,7 +105,6 @@ return [ 'add_new_withdrawal' => 'Dodaj nową wypłatę', 'add_new_deposit' => 'Dodaj nową wpłatę', 'add_new_transfer' => 'Dodaj nowy transfer', - 'noPiggybank' => '(brak skarbonek)', 'title' => 'Tytuł', 'notes' => 'Notatki', 'filename' => 'Nazwa pliku', @@ -174,7 +167,6 @@ return [ // admin 'domain' => 'Domena', 'single_user_mode' => 'Tryb pojedynczego użytkownika', - 'must_confirm_account' => 'Nowi użytkownicy muszą aktywować konto', 'is_demo_site' => 'Is demo site', From 077a3fb5a8f522235edefe178a50b8d8f6ff564c Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:35 +0200 Subject: [PATCH 010/349] New translations form.php (German) --- resources/lang/de_DE/form.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/de_DE/form.php b/resources/lang/de_DE/form.php index 3683f74ea6..c7714191e2 100644 --- a/resources/lang/de_DE/form.php +++ b/resources/lang/de_DE/form.php @@ -30,13 +30,10 @@ return [ 'currency_id' => 'Währung', 'attachments' => 'Anhänge', 'journal_amount' => 'Betrag', - 'journal_asset_source_account' => 'Girokonto (Quelle)', 'journal_source_account_name' => 'Kreditor (Quelle)', 'journal_source_account_id' => 'Girokonto (Quelle)', 'BIC' => 'BIC', 'verify_password' => 'Überprüfen Sie die Kennwortsicherheit', - 'account_from_id' => 'Vom Konto', - 'account_to_id' => 'Auf Konto', 'source_account' => 'Quellkonto', 'destination_account' => 'Zielkonto', 'journal_destination_account_id' => 'Girokonto (Ziel)', @@ -53,7 +50,6 @@ return [ 'tagMode' => 'Tag-Modus', 'tagPosition' => 'Ort des Tags', 'virtualBalance' => 'Virtueller Kontostand', - 'longitude_latitude' => 'Standort', 'targetamount' => 'Zielbetrag', 'accountRole' => 'Rolle des Kontos', 'openingBalanceDate' => 'Eröffnungsbilanzdatum', @@ -68,12 +64,10 @@ return [ 'revenue_account' => 'Kreditor (Einnahme)', 'decimal_places' => 'Nachkommastellen', 'exchange_rate_instruction' => 'Ausländische Währungen', - 'exchanged_amount' => 'Ausgetauschter Betrag', 'source_amount' => 'Betrag (Quelle)', 'destination_amount' => 'Betrag (Ziel)', 'native_amount' => 'Nativer Betrag', - 'revenue_account_source' => 'Ertragskonto (Quelle)', 'source_account_asset' => 'Quellkonto (Bestandskonto)', 'destination_account_expense' => 'Zielkonto (Unkostenkonto)', 'destination_account_asset' => 'Zielkonto (Bestandskonto)', @@ -111,7 +105,6 @@ return [ 'add_new_withdrawal' => 'Fügen Sie eine neue Ausgabe hinzu', 'add_new_deposit' => 'Fügen Sie eine neue Einnahme hinzu', 'add_new_transfer' => 'Fügen Sie eine neue Überweisung hinzu', - 'noPiggybank' => '(kein Sparschwein)', 'title' => 'Titel', 'notes' => 'Notizen', 'filename' => 'Dateiname', @@ -174,7 +167,6 @@ return [ // admin 'domain' => 'Domain', 'single_user_mode' => 'Einzelnutzermodus', - 'must_confirm_account' => 'Erstanwender müssen ihr Konto aktivieren', 'is_demo_site' => 'Ist eine Demonstrationsseite', From 21168b8a494d32ba59ffe7296444b0ad62e35438 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:36 +0200 Subject: [PATCH 011/349] New translations form.php (Spanish) --- resources/lang/es_ES/form.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/es_ES/form.php b/resources/lang/es_ES/form.php index 3837e72573..736e36492b 100644 --- a/resources/lang/es_ES/form.php +++ b/resources/lang/es_ES/form.php @@ -30,13 +30,10 @@ return [ 'currency_id' => 'Divisa', 'attachments' => 'Adjuntos', 'journal_amount' => 'Importe', - 'journal_asset_source_account' => 'Asset account (source)', 'journal_source_account_name' => 'Revenue account (source)', 'journal_source_account_id' => 'Asset account (source)', 'BIC' => 'BIC', 'verify_password' => 'Verificar la seguridad de contraseña', - 'account_from_id' => 'Cuenta origen', - 'account_to_id' => 'Cuenta destino', 'source_account' => 'Cuenta origen', 'destination_account' => 'Cuenta destino', 'journal_destination_account_id' => 'Asset account (destination)', @@ -53,7 +50,6 @@ return [ 'tagMode' => 'Modo de etiqueta', 'tagPosition' => 'Ubicación de la etiqueta', 'virtualBalance' => 'Saldo virtual', - 'longitude_latitude' => 'Ubicación', 'targetamount' => 'Cantidad objetivo', 'accountRole' => 'Tipo de cuenta', 'openingBalanceDate' => 'Fecha del saldo inicial', @@ -68,12 +64,10 @@ return [ 'revenue_account' => 'Cuenta de ingresos', 'decimal_places' => 'Lugares decimales', 'exchange_rate_instruction' => 'Monedas extranjeras', - 'exchanged_amount' => 'Exchanged amount', 'source_amount' => 'Importe (origen)', 'destination_amount' => 'Importe (destino)', 'native_amount' => 'Native amount', - 'revenue_account_source' => 'Revenue account (source)', 'source_account_asset' => 'Source account (asset account)', 'destination_account_expense' => 'Destination account (expense account)', 'destination_account_asset' => 'Destination account (asset account)', @@ -111,7 +105,6 @@ return [ 'add_new_withdrawal' => 'Añadir rueva retirada de efectivo', 'add_new_deposit' => 'Añadir nuevo depósito', 'add_new_transfer' => 'Añadir nueva transferencia', - 'noPiggybank' => '(sin hucha)', 'title' => 'Título', 'notes' => 'Notas', 'filename' => 'Nombre de fichero', @@ -174,7 +167,6 @@ return [ // admin 'domain' => 'Dominio', 'single_user_mode' => 'Modo de un solo usuario', - 'must_confirm_account' => 'Los nuevos usuarios deben activar su cuenta', 'is_demo_site' => 'Está en modo demostración', From ae6106402958130ef88b2e4a1bbe7c379da9d1a9 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:37 +0200 Subject: [PATCH 012/349] New translations list.php (Dutch) --- resources/lang/nl_NL/list.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/resources/lang/nl_NL/list.php b/resources/lang/nl_NL/list.php index 6c5ced7dfe..4084a9ecf0 100644 --- a/resources/lang/nl_NL/list.php +++ b/resources/lang/nl_NL/list.php @@ -25,14 +25,11 @@ return [ 'active' => 'Actief?', 'lastActivity' => 'Laatste activiteit', 'balanceDiff' => 'Saldoverschil tussen :start en :end', - 'matchedOn' => 'Wordt herkend', 'matchesOn' => 'Wordt herkend', 'account_type' => 'Accounttype', 'created_at' => 'Gemaakt op', - 'new_balance' => 'Nieuw saldo', 'account' => 'Rekening', 'matchingAmount' => 'Bedrag', - 'lastMatch' => 'Laatste keer gezien', 'split_number' => 'Split #', 'destination' => 'Doel', 'source' => 'Bron', @@ -66,7 +63,6 @@ return [ 'paid_current_period' => 'Betaald deze periode', 'email' => 'E-mail', 'registered_at' => 'Geregistreerd op', - 'is_activated' => 'Is geactiveerd', 'is_blocked' => 'Is geblokkeerd', 'is_admin' => 'Is beheerder', 'has_two_factor' => 'Heeft 2FA', From 4454c0b9111304eebf46d63ce94d28eabcd1cd84 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:38 +0200 Subject: [PATCH 013/349] New translations list.php (Portuguese, Brazilian) --- resources/lang/pt_BR/list.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/resources/lang/pt_BR/list.php b/resources/lang/pt_BR/list.php index a0cf6f88fb..64404bc46f 100644 --- a/resources/lang/pt_BR/list.php +++ b/resources/lang/pt_BR/list.php @@ -25,14 +25,11 @@ return [ 'active' => 'Está ativo?', 'lastActivity' => 'Última atividade', 'balanceDiff' => 'Saldo diferente entre :start e :end', - 'matchedOn' => 'Coincide', 'matchesOn' => 'Correspondido em', 'account_type' => 'Tipo de conta', 'created_at' => 'Criado em', - 'new_balance' => 'Novo saldo', 'account' => 'Conta', 'matchingAmount' => 'Total', - 'lastMatch' => 'Último equivalente', 'split_number' => 'Dividir #', 'destination' => 'Destino', 'source' => 'Fonte', @@ -66,7 +63,6 @@ return [ 'paid_current_period' => 'Pago este período', 'email' => 'Email', 'registered_at' => 'Registrado em', - 'is_activated' => 'Está ativo', 'is_blocked' => 'Está bloqueado', 'is_admin' => 'É admin', 'has_two_factor' => 'Tem 2FA', From a0722fe022d4ea857f2965616345f55a92cf33a1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:39 +0200 Subject: [PATCH 014/349] New translations list.php (Polish) --- resources/lang/pl_PL/list.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/resources/lang/pl_PL/list.php b/resources/lang/pl_PL/list.php index f4604f245d..647697e6f9 100644 --- a/resources/lang/pl_PL/list.php +++ b/resources/lang/pl_PL/list.php @@ -25,14 +25,11 @@ return [ 'active' => 'Jest aktywny?', 'lastActivity' => 'Ostatnia aktywność', 'balanceDiff' => 'Różnica salda między :start oraz :end', - 'matchedOn' => 'Dopasowanie', 'matchesOn' => 'Dopasowanie', 'account_type' => 'Typ konta', 'created_at' => 'Utworzono', - 'new_balance' => 'Nowe saldo', 'account' => 'Konto', 'matchingAmount' => 'Kwota', - 'lastMatch' => 'Ostatnie dopasowanie', 'split_number' => '# podziału', 'destination' => 'Cel', 'source' => 'Źródło', @@ -66,7 +63,6 @@ return [ 'paid_current_period' => 'Zapłacono w tym okresie', 'email' => 'Adres E-Mail', 'registered_at' => 'Zarejestrowano', - 'is_activated' => 'Jest aktywny', 'is_blocked' => 'Jest zablokowany', 'is_admin' => 'Jest administratorem', 'has_two_factor' => 'Ma dwustopniową autoryzację', From ab602c98d9506f05d041f97f325148c1b35569c8 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:40 +0200 Subject: [PATCH 015/349] New translations list.php (German) --- resources/lang/de_DE/list.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/resources/lang/de_DE/list.php b/resources/lang/de_DE/list.php index b3cd46d9b1..a88dec7a08 100644 --- a/resources/lang/de_DE/list.php +++ b/resources/lang/de_DE/list.php @@ -25,14 +25,11 @@ return [ 'active' => 'Aktiv?', 'lastActivity' => 'Letzte Aktivität', 'balanceDiff' => 'Differenz des Kontostandes zwischen :start und :end', - 'matchedOn' => 'Übereinstimmung am', 'matchesOn' => 'Übereinstimmung am', 'account_type' => 'Art des Kontos', 'created_at' => 'Erstellt am', - 'new_balance' => 'Neue Bilanz', 'account' => 'Konto', 'matchingAmount' => 'Betrag', - 'lastMatch' => 'Letzte Übereinstimmung', 'split_number' => 'Geteilt #', 'destination' => 'Empfänger', 'source' => 'Quelle', @@ -66,7 +63,6 @@ return [ 'paid_current_period' => 'Diese Periode bezahlt', 'email' => 'E-Mail', 'registered_at' => 'Registriert am', - 'is_activated' => 'Ist aktiviert', 'is_blocked' => 'Ist blockiert', 'is_admin' => 'Ist Admin', 'has_two_factor' => 'Hat 2FA', From 0d595d576a040c88516ddd4cc0816bce7165a947 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:41 +0200 Subject: [PATCH 016/349] New translations list.php (French) --- resources/lang/fr_FR/list.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/resources/lang/fr_FR/list.php b/resources/lang/fr_FR/list.php index 4df06cea40..ea5e26188f 100644 --- a/resources/lang/fr_FR/list.php +++ b/resources/lang/fr_FR/list.php @@ -25,14 +25,11 @@ return [ 'active' => 'Actif ?', 'lastActivity' => 'Activité récente', 'balanceDiff' => 'Difference solde entre :start et :end', - 'matchedOn' => 'Correspond à', 'matchesOn' => 'Correspond à', 'account_type' => 'Type de compte', 'created_at' => 'Créé le', - 'new_balance' => 'Nouveau solde', 'account' => 'Compte', 'matchingAmount' => 'Montant', - 'lastMatch' => 'Dernière correspondance', 'split_number' => 'Segmenter en', 'destination' => 'Destination', 'source' => 'Source', @@ -66,7 +63,6 @@ return [ 'paid_current_period' => 'Payé cette période', 'email' => 'E-mail', 'registered_at' => 'Enregistré le', - 'is_activated' => 'Est activé', 'is_blocked' => 'Est bloqué', 'is_admin' => 'Est admin', 'has_two_factor' => 'A 2FA', From b9e7541cf6a51b33c9d153e2a8f4b87577d0bdb9 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:43 +0200 Subject: [PATCH 017/349] New translations form.php (French) --- resources/lang/fr_FR/form.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/fr_FR/form.php b/resources/lang/fr_FR/form.php index 8fbad6245f..5e23cea76f 100644 --- a/resources/lang/fr_FR/form.php +++ b/resources/lang/fr_FR/form.php @@ -30,13 +30,10 @@ return [ 'currency_id' => 'Devise', 'attachments' => 'Documents joints', 'journal_amount' => 'Montant', - 'journal_asset_source_account' => 'Compte d’actif (source)', 'journal_source_account_name' => 'Compte de recettes (source)', 'journal_source_account_id' => 'Compte d’actif (source)', 'BIC' => 'Code BIC', 'verify_password' => 'Vérifiez la sécurité du mot de passe', - 'account_from_id' => 'Compte d\'origine', - 'account_to_id' => 'Compte de destination', 'source_account' => 'Compte d\'origine', 'destination_account' => 'Compte destinataire', 'journal_destination_account_id' => 'Compte d’actif (destination)', @@ -53,7 +50,6 @@ return [ 'tagMode' => 'Mode tag', 'tagPosition' => 'Emplacement du tag', 'virtualBalance' => 'Solde virtuel', - 'longitude_latitude' => 'Emplacement', 'targetamount' => 'Montant cible', 'accountRole' => 'Rôle du compte', 'openingBalanceDate' => 'Date du solde initial', @@ -68,12 +64,10 @@ return [ 'revenue_account' => 'Compte de recettes', 'decimal_places' => 'Chiffres après la virgule', 'exchange_rate_instruction' => 'Devises étrangères', - 'exchanged_amount' => 'Montant échangé', 'source_amount' => 'Montant (source)', 'destination_amount' => 'Montant (destination)', 'native_amount' => 'Montant natif', - 'revenue_account_source' => 'Compte de recettes (source)', 'source_account_asset' => 'Compte source (compte d\'actif)', 'destination_account_expense' => 'Compte de destination (compte de dépenses)', 'destination_account_asset' => 'Compte de destination (compte d’actif)', @@ -111,7 +105,6 @@ return [ 'add_new_withdrawal' => 'Ajouter un nouveau retrait', 'add_new_deposit' => 'Ajouter un nouveau dépôt', 'add_new_transfer' => 'Ajouter un nouveau transfert', - 'noPiggybank' => '(aucun tirelire)', 'title' => 'Titre', 'notes' => 'Notes', 'filename' => 'Nom du fichier', @@ -174,7 +167,6 @@ return [ // admin 'domain' => 'Domaine', 'single_user_mode' => 'Mode utilisateur unique', - 'must_confirm_account' => 'Les nouveaux utilisateurs doivent activer le compte', 'is_demo_site' => 'Est un site de démonstration', From e330eafc9182b337b13a6904927a2d7b511ce222 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:44 +0200 Subject: [PATCH 018/349] New translations form.php (Dutch) --- resources/lang/nl_NL/form.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/nl_NL/form.php b/resources/lang/nl_NL/form.php index 5c0a9b962c..086f9b8b62 100644 --- a/resources/lang/nl_NL/form.php +++ b/resources/lang/nl_NL/form.php @@ -30,13 +30,10 @@ return [ 'currency_id' => 'Valuta', 'attachments' => 'Bijlagen', 'journal_amount' => 'Bedrag', - 'journal_asset_source_account' => 'Betaalrekening (bron)', 'journal_source_account_name' => 'Debiteur (bron)', 'journal_source_account_id' => 'Betaalrekening (bron)', 'BIC' => 'BIC', 'verify_password' => 'Bevestig wachtwoordsterkte', - 'account_from_id' => 'Van account', - 'account_to_id' => 'Naar account', 'source_account' => 'Bronrekening', 'destination_account' => 'Doelrekening', 'journal_destination_account_id' => 'Betaalrekening (doel)', @@ -53,7 +50,6 @@ return [ 'tagMode' => 'Tag modus', 'tagPosition' => 'Tag locatie', 'virtualBalance' => 'Virtuele saldo', - 'longitude_latitude' => 'Locatie', 'targetamount' => 'Doelbedrag', 'accountRole' => 'Rol van rekening', 'openingBalanceDate' => 'Startsaldodatum', @@ -68,12 +64,10 @@ return [ 'revenue_account' => 'Debiteur', 'decimal_places' => 'Aantal decimalen', 'exchange_rate_instruction' => 'Vreemde valuta', - 'exchanged_amount' => 'Uitgewisseld bedrag', 'source_amount' => 'Bronbedrag', 'destination_amount' => 'Doelbedrag', 'native_amount' => 'Origineel bedrag', - 'revenue_account_source' => 'Debiteur (bron)', 'source_account_asset' => 'Bronrekening (betaalrekening)', 'destination_account_expense' => 'Doelrekening (crediteur)', 'destination_account_asset' => 'Doelrekening (betaalrekening)', @@ -111,7 +105,6 @@ return [ 'add_new_withdrawal' => 'Maak nieuwe uitgave', 'add_new_deposit' => 'Maak nieuwe inkomsten', 'add_new_transfer' => 'Maak nieuwe overschrijving', - 'noPiggybank' => '(geen spaarpotje)', 'title' => 'Titel', 'notes' => 'Notities', 'filename' => 'Bestandsnaam', @@ -174,7 +167,6 @@ return [ // admin 'domain' => 'Domein', 'single_user_mode' => 'Enkele gebruiker-modus', - 'must_confirm_account' => 'Nieuwe gebruikers moeten hun account activeren', 'is_demo_site' => 'Is demo website', From 44b4e146ebbf1879e7f026343060038df2310baa Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:45 +0200 Subject: [PATCH 019/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 6 ------ 1 file changed, 6 deletions(-) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index 40ad56db52..5513188664 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -170,8 +170,6 @@ return [ 'export_status_collected_attachments' => 'Bijlagen verzameld!', 'export_status_collecting_old_uploads' => 'Oude uploads verzamelen...', 'export_status_collected_old_uploads' => 'Oude uploads verzameld!', - 'export_status_creating_config_file' => 'Configuratiebestand maken...', - 'export_status_created_config_file' => 'Configuratiebestand gemaakt!', 'export_status_creating_zip_file' => 'Zipbestand maken...', 'export_status_created_zip_file' => 'Zipbestand gemaakt!', 'export_status_finished' => 'Klaar met exportbestand! Hoera!', @@ -850,9 +848,6 @@ return [ 'removed_amount_from_piggy' => ':amount uit ":name" gehaald', // tags - 'regular_tag' => 'Een gewone tag.', - 'balancing_act' => 'Er kunnen maar twee transacties worden getagged; een uitgaven en inkomsten. Ze balanceren elkaar.', - 'advance_payment' => 'Je kan een uitgave taggen en zoveel inkomsten om de uitgave (helemaal) te compenseren.', 'delete_tag' => 'Verwijder tag ":tag"', 'deleted_tag' => 'Tag ":tag" verwijderd', 'new_tag' => 'Maak nieuwe tag', @@ -995,7 +990,6 @@ return [ 'sandstorm_not_available' => 'Deze functie werkt niet als je Firefly III gebruikt in combinatie met Sandstorm.IO.', // empty lists? no objects? instructions: - 'no_transactions_in_period' => 'Er zijn geen transacties in deze periode.', 'no_accounts_title_asset' => 'Je hebt een betaalrekening nodig!', 'no_accounts_intro_asset' => 'Je hebt nog geen betaalrekeningen. Betaalrekeningen zijn je meest belangrijke rekeningen: je bankrekening, spaarrekening, gedeelde rekening of zelfs je creditcard.', 'no_accounts_imperative_asset' => 'Om Firefly III te gebruiken moet je minstens één betaalrekening hebben. Die kan je nu maken:', From 7344bd9054f35f10096d0edc1ec3283c5f6a34e7 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:49 +0200 Subject: [PATCH 020/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 6 ------ 1 file changed, 6 deletions(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 3add5d33fb..dae134fe05 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -170,8 +170,6 @@ return [ 'export_status_collected_attachments' => 'Toutes vos pièces jointes sont collectées !', 'export_status_collecting_old_uploads' => 'Tous vos précédent upload sont en cours de collecte...', 'export_status_collected_old_uploads' => 'Tous vos précédent upload sont collectés !', - 'export_status_creating_config_file' => 'Création d’un fichier de configuration...', - 'export_status_created_config_file' => 'Fichier de configuration créé !', 'export_status_creating_zip_file' => 'Création d’un fichier zip...', 'export_status_created_zip_file' => 'Fichier zip créé!', 'export_status_finished' => 'L\'export s\'est terminé avec succès ! Yay !', @@ -850,9 +848,6 @@ return [ 'removed_amount_from_piggy' => 'Supprimé :amount du ":name"', // tags - 'regular_tag' => 'Juste une balise ordinaire.', - 'balancing_act' => 'Un tag prend au maximum deux opérations : une dépense et un transfert. Ils s\'équilibreront mutuellement.', - 'advance_payment' => 'Un tag accepte une dépense et un nombre quelconque de dépôts visant à rembourser la dépense originale.', 'delete_tag' => 'Supprimer le tag ":tag"', 'deleted_tag' => 'Tag ":tag" supprimé', 'new_tag' => 'Créer un nouveau tag', @@ -995,7 +990,6 @@ return [ 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', // empty lists? no objects? instructions: - 'no_transactions_in_period' => 'There are no transactions in this period.', 'no_accounts_title_asset' => 'Let\'s create an asset account!', 'no_accounts_intro_asset' => 'You have no asset accounts yet. Asset accounts are your main accounts: your checking account, savings account, shared account or even your credit card.', 'no_accounts_imperative_asset' => 'To start using Firefly III you must create at least one asset account. Let\'s do so now:', From 80c8f131c8f53d2f6eee04a3c3c8f6f9824dd2a5 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:53 +0200 Subject: [PATCH 021/349] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 6 ------ 1 file changed, 6 deletions(-) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index 25a9468efb..cca366750e 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -170,8 +170,6 @@ return [ 'export_status_collected_attachments' => 'Alle Anhänge gesammelt!', 'export_status_collecting_old_uploads' => 'Sammeln aller bisherigen Uploads...', 'export_status_collected_old_uploads' => 'Alle bisherigen Uploads gesammelt!', - 'export_status_creating_config_file' => 'Erstelle eine Konfigurationsdatei...', - 'export_status_created_config_file' => 'Konfigurationsdatei erstellt!', 'export_status_creating_zip_file' => 'Erstelle eine Zip-Datei...', 'export_status_created_zip_file' => 'Zip-Datei erstellt!', 'export_status_finished' => 'Export erfolgreich beendet! Yay!', @@ -851,9 +849,6 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'removed_amount_from_piggy' => ':amount von ":name" entfernt', // tags - 'regular_tag' => 'Nur ein normaler Tag.', - 'balancing_act' => 'The tag takes at most two transactions; an expense and a transfer. They\'ll balance each other out.', - 'advance_payment' => 'The tag accepts one expense and any number of deposits aimed to repay the original expense.', 'delete_tag' => 'Tag ":tag" entfernen', 'deleted_tag' => 'Tag ":tag" entfernt', 'new_tag' => 'Neuen Tag erstellen', @@ -996,7 +991,6 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', // empty lists? no objects? instructions: - 'no_transactions_in_period' => 'There are no transactions in this period.', 'no_accounts_title_asset' => 'Let\'s create an asset account!', 'no_accounts_intro_asset' => 'You have no asset accounts yet. Asset accounts are your main accounts: your checking account, savings account, shared account or even your credit card.', 'no_accounts_imperative_asset' => 'To start using Firefly III you must create at least one asset account. Let\'s do so now:', From 498873c208fdd4c33133ef316b114121ffcb6698 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:56 +0200 Subject: [PATCH 022/349] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 6 ------ 1 file changed, 6 deletions(-) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index 280b2a9c4a..55e9796693 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -170,8 +170,6 @@ return [ 'export_status_collected_attachments' => 'Collected all your attachments!', 'export_status_collecting_old_uploads' => 'Collecting all your previous uploads...', 'export_status_collected_old_uploads' => 'Collected all your previous uploads!', - 'export_status_creating_config_file' => 'Creating a configuration file...', - 'export_status_created_config_file' => 'Created a configuration file!', 'export_status_creating_zip_file' => 'Creating a zip file...', 'export_status_created_zip_file' => 'Created a zip file!', 'export_status_finished' => 'Export has succesfully finished! Yay!', @@ -850,9 +848,6 @@ return [ 'removed_amount_from_piggy' => 'Removed :amount from ":name"', // tags - 'regular_tag' => 'Just a regular tag.', - 'balancing_act' => 'The tag takes at most two transactions; an expense and a transfer. They\'ll balance each other out.', - 'advance_payment' => 'The tag accepts one expense and any number of deposits aimed to repay the original expense.', 'delete_tag' => 'Delete tag ":tag"', 'deleted_tag' => 'Deleted tag ":tag"', 'new_tag' => 'Make new tag', @@ -995,7 +990,6 @@ return [ 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', // empty lists? no objects? instructions: - 'no_transactions_in_period' => 'There are no transactions in this period.', 'no_accounts_title_asset' => 'Let\'s create an asset account!', 'no_accounts_intro_asset' => 'You have no asset accounts yet. Asset accounts are your main accounts: your checking account, savings account, shared account or even your credit card.', 'no_accounts_imperative_asset' => 'To start using Firefly III you must create at least one asset account. Let\'s do so now:', From cec99b83a0251ec08de264d7c1bb68472615d295 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:40:59 +0200 Subject: [PATCH 023/349] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 6 ------ 1 file changed, 6 deletions(-) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index 43311d999c..691cc904a8 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -170,8 +170,6 @@ return [ 'export_status_collected_attachments' => 'Collected all your attachments!', 'export_status_collecting_old_uploads' => 'Collecting all your previous uploads...', 'export_status_collected_old_uploads' => 'Collected all your previous uploads!', - 'export_status_creating_config_file' => 'Creating a configuration file...', - 'export_status_created_config_file' => 'Created a configuration file!', 'export_status_creating_zip_file' => 'Creating a zip file...', 'export_status_created_zip_file' => 'Created a zip file!', 'export_status_finished' => 'Export has succesfully finished! Yay!', @@ -850,9 +848,6 @@ return [ 'removed_amount_from_piggy' => 'Removed :amount from ":name"', // tags - 'regular_tag' => 'Just a regular tag.', - 'balancing_act' => 'The tag takes at most two transactions; an expense and a transfer. They\'ll balance each other out.', - 'advance_payment' => 'The tag accepts one expense and any number of deposits aimed to repay the original expense.', 'delete_tag' => 'Delete tag ":tag"', 'deleted_tag' => 'Deleted tag ":tag"', 'new_tag' => 'Make new tag', @@ -995,7 +990,6 @@ return [ 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', // empty lists? no objects? instructions: - 'no_transactions_in_period' => 'There are no transactions in this period.', 'no_accounts_title_asset' => 'Ustvarite premoženjski račun!', 'no_accounts_intro_asset' => 'Še nobenega premoženjskega računa nimate. Premoženjski računi so vaši glavni računi sredstev: tekoči računi, skupni računi, varčevalni računi in celo računi kreditnih kartic.', 'no_accounts_imperative_asset' => 'Da začnete uporabljati Firefly III, morate ustvariti vsaj en premoženjski račun:', From 8879d76dd9909e36a662ff95dbc75cde37d45708 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:41:01 +0200 Subject: [PATCH 024/349] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 6 ------ 1 file changed, 6 deletions(-) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index 12bf305bd5..6bfe4ee8b4 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -170,8 +170,6 @@ return [ 'export_status_collected_attachments' => 'Recolhidos todos os seus anexos!', 'export_status_collecting_old_uploads' => 'Recolher todos os seus envios anteriores...', 'export_status_collected_old_uploads' => 'Recolhidos todos os seus envios anteriores!', - 'export_status_creating_config_file' => 'Criando um arquivo de configuração...', - 'export_status_created_config_file' => 'Criado um arquivo de configuração!', 'export_status_creating_zip_file' => 'Criando um arquivo zip...', 'export_status_created_zip_file' => 'Criado um arquivo zip!', 'export_status_finished' => 'Exportação terminou com sucesso! Yay!', @@ -850,9 +848,6 @@ return [ 'removed_amount_from_piggy' => 'Removido :amount de ":name"', // tags - 'regular_tag' => 'Apenas uma tag regular.', - 'balancing_act' => 'A tag leva no máximo duas transações; um gasto e uma transferência. Eles vão equilibrar um ao outro.', - 'advance_payment' => 'A tag aceita uma despesa e qualquer número de depósitos destinados para pagar a despesa original.', 'delete_tag' => 'Apagar tag ":tag"', 'deleted_tag' => 'Apagar tag ":tag"', 'new_tag' => 'Fazer nova tag', @@ -995,7 +990,6 @@ return [ 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', // empty lists? no objects? instructions: - 'no_transactions_in_period' => 'There are no transactions in this period.', 'no_accounts_title_asset' => 'Let\'s create an asset account!', 'no_accounts_intro_asset' => 'You have no asset accounts yet. Asset accounts are your main accounts: your checking account, savings account, shared account or even your credit card.', 'no_accounts_imperative_asset' => 'To start using Firefly III you must create at least one asset account. Let\'s do so now:', From dc1754bca7b6429a8393306f90b7e1a5b5cfb600 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 08:41:03 +0200 Subject: [PATCH 025/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 6 ------ 1 file changed, 6 deletions(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index 432e2ab1ec..0cc65bf9b4 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -170,8 +170,6 @@ return [ 'export_status_collected_attachments' => 'Zebrano wszystkie twoje załączniki!', 'export_status_collecting_old_uploads' => 'Collecting all your previous uploads...', 'export_status_collected_old_uploads' => 'Collected all your previous uploads!', - 'export_status_creating_config_file' => 'Tworzenie pliku konfiguracji...', - 'export_status_created_config_file' => 'Utworzono plik konfiguracyjny!', 'export_status_creating_zip_file' => 'Tworzenie pliku zip...', 'export_status_created_zip_file' => 'Utworzono plik zip!', 'export_status_finished' => 'Eksport został pomyślnie zakończony! Yay!', @@ -850,9 +848,6 @@ return [ 'removed_amount_from_piggy' => 'Usunięto :amount z ":name"', // tags - 'regular_tag' => 'Po prostu zwykły tag.', - 'balancing_act' => 'The tag takes at most two transactions; an expense and a transfer. They\'ll balance each other out.', - 'advance_payment' => 'The tag accepts one expense and any number of deposits aimed to repay the original expense.', 'delete_tag' => 'Usuń tag ":tag"', 'deleted_tag' => 'Usunięto tag ":tag"', 'new_tag' => 'Utwórz nowy tag', @@ -995,7 +990,6 @@ return [ 'sandstorm_not_available' => 'Ta funkcja nie jest dostępna, gdy używasz Firefly III w środowisku Sandstorm.io.', // empty lists? no objects? instructions: - 'no_transactions_in_period' => 'Nie ma żadnych transakcji w tym okresie.', 'no_accounts_title_asset' => 'Stwórzmy konto aktywów!', 'no_accounts_intro_asset' => 'Nie masz jeszcze konta nie aktywów. Konta aktywów są twoimi głównymi kontami: konto czekowe, konto oszczędnościowe, wspólne konto lub nawet karta kredytowa.', 'no_accounts_imperative_asset' => 'Aby rozpocząć korzystanie z Firefly III należy utworzyć co najmniej jedno konto aktywów. Zróbmy je więc teraz:', From a3e1821ca0da60d602af88fb5d33c6fe35ed8f6f Mon Sep 17 00:00:00 2001 From: Jens Kat Date: Sat, 9 Sep 2017 12:46:35 +0200 Subject: [PATCH 026/349] Docker: Use working directory instead of hardcoded dist version - By using the current (.) working directory, we can get the latest changes in the Docker image. If the building of Docker images is automated, it will automatically pick up the checked out version. - Rearrange some Docker layers things that don't invalidate that much. --- .dockerignore | 4 ++++ .gitignore | 5 ++++- Dockerfile | 20 ++++++++++++++------ 3 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000..f42d602ac3 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +# Ignore composer specific files and vendor folder +composer.phar +composer.lock +vendor diff --git a/.gitignore b/.gitignore index d4cfc0d4fb..d7d1a372b1 100755 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,11 @@ /node_modules /public/storage -/vendor Homestead.json Homestead.yaml .env public/google*.html report.html + +### Composer ### +composer.phar +/vendor/ diff --git a/Dockerfile b/Dockerfile index 792f7b2c8d..bcc5fc9079 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,18 +23,26 @@ RUN docker-php-ext-install -j$(nproc) curl gd intl json mcrypt readline tidy zip # Generate locales supported by firefly RUN echo "en_US.UTF-8 UTF-8\nde_DE.UTF-8 UTF-8\nnl_NL.UTF-8 UTF-8\npt_BR.UTF-8 UTF-8" > /etc/locale.gen && locale-gen -COPY docker/apache2.conf /etc/apache2/apache2.conf +COPY ./docker/apache2.conf /etc/apache2/apache2.conf + # Enable apache mod rewrite.. RUN a2enmod rewrite # Setup the Composer installer -run curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer -RUN cd /var/www && composer create-project grumpydictator/firefly-iii --no-dev --prefer-dist firefly-iii 4.6.4 -COPY docker/entrypoint.sh /var/www/firefly-iii/docker/entrypoint.sh -ADD docker/apache-firefly.conf /etc/apache2/sites-available/000-default.conf -RUN chown -R www-data:www-data /var/www && chmod -R 775 /var/www/firefly-iii/storage +# Copy Apache Configs +COPY ./docker/apache-firefly.conf /etc/apache2/sites-available/000-default.conf WORKDIR /var/www/firefly-iii + +# The working directory +COPY . /var/www/firefly-iii/ + +RUN chown -R www-data:www-data /var/www && chmod -R 775 /var/www/firefly-iii/storage + +RUN composer install --prefer-dist --no-dev --no-scripts + EXPOSE 80 + ENTRYPOINT ["/var/www/firefly-iii/docker/entrypoint.sh"] From 2bf47f6d58455ad88dda5d7e49d22633a39ae7b8 Mon Sep 17 00:00:00 2001 From: Jens Kat Date: Sat, 9 Sep 2017 13:17:01 +0200 Subject: [PATCH 027/349] Use environment variable for install dir --- Dockerfile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index bcc5fc9079..1d150bcdf3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,15 +34,17 @@ RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local # Copy Apache Configs COPY ./docker/apache-firefly.conf /etc/apache2/sites-available/000-default.conf -WORKDIR /var/www/firefly-iii +ENV FIREFLY_PATH /var/www/firefly-iii + +WORKDIR $FIREFLY_PATH # The working directory -COPY . /var/www/firefly-iii/ +COPY . $FIREFLY_PATH -RUN chown -R www-data:www-data /var/www && chmod -R 775 /var/www/firefly-iii/storage +RUN chown -R www-data:www-data /var/www && chmod -R 775 $FIREFLY_PATH/storage RUN composer install --prefer-dist --no-dev --no-scripts EXPOSE 80 -ENTRYPOINT ["/var/www/firefly-iii/docker/entrypoint.sh"] +ENTRYPOINT ["docker/entrypoint.sh"] From 769023e36c4063ed3b0cce40af31313fa1fa1428 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 17:20:07 +0200 Subject: [PATCH 028/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index 0cc65bf9b4..06d29b067d 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -910,7 +910,7 @@ return [ 'comments' => 'Komentarze', 'to_link_not_found' => 'Jeśli nie widzisz transakcji, którą chcesz powiązać, po prostu wpisz jej identyfikator.', 'invalid_link_data' => 'Wybrano błędny typ powiązania. Nie można powiązać transakcji.', - 'journals_linked' => 'Transakcje są powiązane.', + 'journals_linked' => 'Transakcje zostały powiązane.', 'journals_error_linked' => 'Wybrane transakcje są już powiązane.', 'journal_links' => 'Powiązane transakcje', 'this_withdrawal' => 'Ta wypłata', From 0bcc010de86042251bb967dd8283736ba8ca4d0c Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 18:36:17 +0200 Subject: [PATCH 029/349] Create link types when they do not exist in verify routine. #826 --- app/Console/Commands/VerifyDatabase.php | 28 +++++++++++++++++++++++++ app/Models/LinkType.php | 3 +++ 2 files changed, 31 insertions(+) diff --git a/app/Console/Commands/VerifyDatabase.php b/app/Console/Commands/VerifyDatabase.php index 4f1ab1938f..4f66dddd94 100644 --- a/app/Console/Commands/VerifyDatabase.php +++ b/app/Console/Commands/VerifyDatabase.php @@ -17,6 +17,7 @@ use Crypt; use FireflyIII\Models\Account; use FireflyIII\Models\AccountType; use FireflyIII\Models\Budget; +use FireflyIII\Models\LinkType; use FireflyIII\Models\PiggyBankEvent; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; @@ -98,6 +99,33 @@ class VerifyDatabase extends Command // report (and fix) piggy banks $this->repairPiggyBanks(); + // create default link types if necessary + $this->createLinkTypes(); + + } + + /** + * + */ + private function createLinkTypes() + { + $set = [ + 'Relates' => ['relates to', 'relates to'], + 'Refund' => ['(partially) refunds', 'is (partially) refunded by'], + 'Paid' => ['(partially) pays for', 'is (partially) paid for by'], + 'Reimbursement' => ['(partially) reimburses', 'is (partially) reimbursed by'], + ]; + foreach ($set as $name => $values) { + $link = LinkType::where('name', $name)->where('outward', $values[0])->where('inward', $values[1])->first(); + if (is_null($link)) { + $link = new LinkType; + $link->name = $name; + $link->outward = $values[0]; + $link->inward = $values[1]; + } + $link->editable = false; + $link->save(); + } } /** diff --git a/app/Models/LinkType.php b/app/Models/LinkType.php index 94d5cf74a1..300f77cc47 100644 --- a/app/Models/LinkType.php +++ b/app/Models/LinkType.php @@ -37,6 +37,9 @@ class LinkType extends Model 'editable' => 'boolean', ]; + /** @var array */ + protected $fillable = ['name', 'inward', 'outward', 'editable']; + /** * @param $value * From 53eef3fda7d280310b700451ef3e61550efb1aa8 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 18:37:47 +0200 Subject: [PATCH 030/349] Catch for #822 --- app/Console/Commands/UpgradeDatabase.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/Console/Commands/UpgradeDatabase.php b/app/Console/Commands/UpgradeDatabase.php index 27ab338d93..4cd2d6a5cf 100644 --- a/app/Console/Commands/UpgradeDatabase.php +++ b/app/Console/Commands/UpgradeDatabase.php @@ -210,6 +210,9 @@ class UpgradeDatabase extends Command ->leftJoin('accounts', 'accounts.id', '=', 'transactions.account_id') ->leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id') ->whereIn('account_types.type', [AccountType::DEFAULT, AccountType::ASSET])->first(['transactions.*']); + if (is_null($transaction)) { + return; + } /** @var Account $account */ $account = $transaction->account; $currency = $repository->find(intval($account->getMeta('currency_id'))); @@ -251,7 +254,7 @@ class UpgradeDatabase extends Command */ public function updateTransferCurrencies() { - $set = TransactionJournal + $set = TransactionJournal ::leftJoin('transaction_types', 'transaction_types.id', '=', 'transaction_journals.transaction_type_id') ->where('transaction_types.type', TransactionType::TRANSFER) ->get(['transaction_journals.*']); From 2f8d75eb73251de0ddfa04b7193d805f81e8f5b3 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 18:44:05 +0200 Subject: [PATCH 031/349] Fix for #827 --- app/Http/Controllers/Transaction/LinkController.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/Http/Controllers/Transaction/LinkController.php b/app/Http/Controllers/Transaction/LinkController.php index 98aaf10651..e455bac1e1 100644 --- a/app/Http/Controllers/Transaction/LinkController.php +++ b/app/Http/Controllers/Transaction/LinkController.php @@ -95,6 +95,11 @@ class LinkController extends Controller JournalLinkRequest $request, LinkTypeRepositoryInterface $repository, JournalRepositoryInterface $journalRepository, TransactionJournal $journal ) { $linkInfo = $request->getLinkInfo(); + if($linkInfo['transaction_journal_id'] === 0) { + Session::flash('error', trans('firefly.invalid_link_selection')); + + return redirect(route('transactions.show', [$journal->id])); + } $linkType = $repository->find($linkInfo['link_type_id']); $other = $journalRepository->find($linkInfo['transaction_journal_id']); $alreadyLinked = $repository->findLink($journal, $other); From 834db4d02f177bd1152bea61fa4c0bcd7ec99a39 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 21:52:12 +0200 Subject: [PATCH 032/349] New sentence for journal links. --- resources/lang/en_US/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index ba6332c0cb..a823067ec7 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -910,6 +910,7 @@ return [ 'comments' => 'Comments', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', + 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transactions are linked.', 'journals_error_linked' => 'These transactions are already linked.', 'journal_links' => 'Transaction links', From d1e60cd546dd06287820a78f9f44c17b1f4f67ae Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 21:57:24 +0200 Subject: [PATCH 033/349] First step towards Laravel 5.5 --- .gitattributes | 2 + .gitignore | 13 +++--- app/Console/Kernel.php | 75 +++++++++-------------------------- artisan | 6 ++- gulpfile.js | 28 ------------- package.json | 35 ++++++++-------- phpunit.coverage.specific.xml | 51 ------------------------ phpunit.coverage.xml | 52 ------------------------ phpunit.xml | 23 +++-------- server.php | 9 ----- webpack.mix.js | 15 +++++++ 11 files changed, 71 insertions(+), 238 deletions(-) mode change 100755 => 100644 .gitattributes mode change 100755 => 100644 .gitignore delete mode 100755 gulpfile.js mode change 100755 => 100644 package.json delete mode 100755 phpunit.coverage.specific.xml delete mode 100755 phpunit.coverage.xml mode change 100755 => 100644 phpunit.xml mode change 100755 => 100644 server.php create mode 100644 webpack.mix.js diff --git a/.gitattributes b/.gitattributes old mode 100755 new mode 100644 index a8763f8ef5..967315dd3d --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,5 @@ * text=auto *.css linguist-vendored *.scss linguist-vendored +*.js linguist-vendored +CHANGELOG.md export-ignore diff --git a/.gitignore b/.gitignore old mode 100755 new mode 100644 index d7d1a372b1..b6a4b86d78 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,12 @@ /node_modules +/public/hot /public/storage +/storage/*.key +/vendor +/.idea +/.vagrant Homestead.json Homestead.yaml +npm-debug.log +yarn-error.log .env -public/google*.html -report.html - -### Composer ### -composer.phar -/vendor/ diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index bd85ef2c8e..0a1723a383 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -1,79 +1,42 @@ command('inspire') + // ->hourly(); + } + + /** + * Register the commands for the application. * * @return void */ protected function commands() { + $this->load(__DIR__.'/Commands'); + require base_path('routes/console.php'); } } diff --git a/artisan b/artisan index df630d0d6d..5c23e2e24f 100755 --- a/artisan +++ b/artisan @@ -1,6 +1,8 @@ #!/usr/bin/env php handle( | Shutdown The Application |-------------------------------------------------------------------------- | -| Once Artisan has finished running. We will fire off the shutdown events +| Once Artisan has finished running, we will fire off the shutdown events | so that any final work may be done by the application before we shut | down the process. This is the last thing to happen to the request. | diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100755 index 5f7804554a..0000000000 --- a/gulpfile.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * gulpfile.js - * Copyright (c) 2017 thegrumpydictator@gmail.com - * This software may be modified and distributed under the terms of the - * Creative Commons Attribution-ShareAlike 4.0 International License. - * - * See the LICENSE file for details. - */ - -const elixir = require('laravel-elixir'); - -require('laravel-elixir-vue'); - -/* - |-------------------------------------------------------------------------- - | Elixir Asset Management - |-------------------------------------------------------------------------- - | - | Elixir provides a clean, fluent API for defining some basic Gulp tasks - | for your Laravel application. By default, we are compiling the Sass - | file for our application, as well as publishing vendor resources. - | - */ - -elixir(mix => { - mix.sass('app.scss') - .webpack('app.js'); -}); diff --git a/package.json b/package.json old mode 100755 new mode 100644 index d490671cdc..dedcbef712 --- a/package.json +++ b/package.json @@ -1,18 +1,21 @@ { - "private": true, - "scripts": { - "prod": "gulp --production", - "dev": "gulp watch" - }, - "devDependencies": { - "bootstrap-sass": "^3.3.7", - "gulp": "^3.9.1", - "jquery": "^3.1.0", - "laravel-elixir": "^6.0.0-9", - "laravel-elixir-vue": "^0.1.4", - "laravel-elixir-webpack-official": "^1.0.2", - "lodash": "^4.14.0", - "vue": "^1.0.26", - "vue-resource": "^0.9.3" - } + "private": true, + "scripts": { + "dev": "npm run development", + "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "watch-poll": "npm run watch -- --watch-poll", + "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", + "prod": "npm run production", + "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" + }, + "devDependencies": { + "axios": "^0.16.2", + "bootstrap-sass": "^3.3.7", + "cross-env": "^5.0.1", + "jquery": "^3.1.1", + "laravel-mix": "^1.0", + "lodash": "^4.17.4", + "vue": "^2.1.10" + } } diff --git a/phpunit.coverage.specific.xml b/phpunit.coverage.specific.xml deleted file mode 100755 index 0a42b9d726..0000000000 --- a/phpunit.coverage.specific.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - ./tests/Feature - - - - ./tests/Unit - - - - - - - - - - ./app - - - vendor/ - - - - - - - - - - - - diff --git a/phpunit.coverage.xml b/phpunit.coverage.xml deleted file mode 100755 index b0b352d90a..0000000000 --- a/phpunit.coverage.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - ./tests/Feature - - - - ./tests/Unit - - - - - - - - - - ./app - - - vendor/ - - - - - - - - - - - - diff --git a/phpunit.xml b/phpunit.xml old mode 100755 new mode 100644 index 73d2797478..bb9c4a7e1e --- a/phpunit.xml +++ b/phpunit.xml @@ -1,39 +1,26 @@ - - + stopOnFailure="false"> - + ./tests/Feature - + ./tests/Unit - + ./app - - vendor/ - diff --git a/server.php b/server.php old mode 100755 new mode 100644 index b2bd3167e6..5fb6379e71 --- a/server.php +++ b/server.php @@ -1,13 +1,4 @@ Date: Sat, 9 Sep 2017 21:57:45 +0200 Subject: [PATCH 034/349] Separate commit for error handler. --- app/Exceptions/Handler.php | 109 ++++++------------------------------- 1 file changed, 17 insertions(+), 92 deletions(-) diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index 14cb6b0df5..c17d9d7ad2 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -1,128 +1,53 @@ view('errors.FireflyException', ['exception' => $exception, 'debug' => $isDebug], 500); - } - - return parent::render($request, $exception); - } - + protected $dontFlash = [ + 'password', + 'password_confirmation', + ]; /** * Report or log an exception. * * This is a great spot to send exceptions to Sentry, Bugsnag, etc. * - * @param Exception $exception - * @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's exactly five. - * + * @param \Exception $exception * @return void */ public function report(Exception $exception) { - $doMailError = env('SEND_ERROR_MESSAGE', true); - if (($exception instanceof FireflyException || $exception instanceof ErrorException) && $doMailError) { - $userData = [ - 'id' => 0, - 'email' => 'unknown@example.com', - ]; - if (auth()->check()) { - $userData['id'] = auth()->user()->id; - $userData['email'] = auth()->user()->email; - } - $data = [ - 'class' => get_class($exception), - 'errorMessage' => $exception->getMessage(), - 'time' => date('r'), - 'stackTrace' => $exception->getTraceAsString(), - 'file' => $exception->getFile(), - 'line' => $exception->getLine(), - 'code' => $exception->getCode(), - 'version' => config('firefly.version'), - ]; - - // create job that will mail. - $ipAddress = Request::ip() ?? '0.0.0.0'; - $job = new MailError($userData, env('SITE_OWNER', ''), $ipAddress, $data); - dispatch($job); - } - parent::report($exception); } /** - * Convert an authentication exception into an unauthenticated response. + * Render an exception into an HTTP response. * - * @param $request - * - * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse + * @param \Illuminate\Http\Request $request + * @param \Exception $exception + * @return \Illuminate\Http\Response */ - protected function unauthenticated($request) + public function render($request, Exception $exception) { - if ($request->expectsJson()) { - return response()->json(['error' => 'Unauthenticated.'], 401); - } - - return redirect()->guest('login'); + return parent::render($request, $exception); } } From 28485e461eb682ec1e6c6977798b8ed56ec1221e Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:00:23 +0200 Subject: [PATCH 035/349] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index 127ffc8026..06b7b9d1ef 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -910,6 +910,7 @@ return [ 'comments' => 'Comments', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', + 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transactions are linked.', 'journals_error_linked' => 'These transactions are already linked.', 'journal_links' => 'Transaction links', From 8fe304e65bce457340f95c8557db7ae500dc4891 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:00:38 +0200 Subject: [PATCH 036/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index 5513188664..c5a15a0637 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -910,6 +910,7 @@ return [ 'comments' => 'Opmerkingen', 'to_link_not_found' => 'Als de transactie die je wilt koppelen niet gevonden wordt, voer dan het ID in.', 'invalid_link_data' => 'Ongeldige informatie, de transactie kan niet gekoppeld worden.', + 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'De transacties zijn gekoppeld.', 'journals_error_linked' => 'Deze transacties zijn al gekoppeld.', 'journal_links' => 'Transactiekoppelingen', From 8017cf9d344e856f52546af63e0d856ab18984b5 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:00:41 +0200 Subject: [PATCH 037/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index dae134fe05..3e38819b96 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -910,6 +910,7 @@ return [ 'comments' => 'Commentaires', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', + 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Ces transactions sont liées.', 'journals_error_linked' => 'Ces transactions sont déjà liées.', 'journal_links' => 'Transaction links', From a3fb2717cbbeab9ada65b07bea3e28bbdf2661f5 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:00:44 +0200 Subject: [PATCH 038/349] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index cca366750e..5b99d05b2a 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -911,6 +911,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'comments' => 'Comments', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', + 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transactions are linked.', 'journals_error_linked' => 'These transactions are already linked.', 'journal_links' => 'Transaction links', From 8e33688268170627bde0b55f3d75f58781b45483 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:00:47 +0200 Subject: [PATCH 039/349] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index 55e9796693..79f48fd6e0 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -910,6 +910,7 @@ return [ 'comments' => 'Comments', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', + 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transactions are linked.', 'journals_error_linked' => 'These transactions are already linked.', 'journal_links' => 'Transaction links', From 21e4108fd8b8e211eb16ab25441cb8ef5f42160d Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:00:49 +0200 Subject: [PATCH 040/349] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index 691cc904a8..eb7c6f6b17 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -910,6 +910,7 @@ return [ 'comments' => 'Comments', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', + 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transactions are linked.', 'journals_error_linked' => 'These transactions are already linked.', 'journal_links' => 'Transaction links', From f6322440cf2e92c8faa07441aab7706355899268 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:00:52 +0200 Subject: [PATCH 041/349] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index 6bfe4ee8b4..0f116864f3 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -910,6 +910,7 @@ return [ 'comments' => 'Comments', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', + 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transactions are linked.', 'journals_error_linked' => 'These transactions are already linked.', 'journal_links' => 'Transaction links', From dcb2f451245abb7b6642cb9aeba00eb202f1f4d4 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:00:55 +0200 Subject: [PATCH 042/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index 06d29b067d..02e782ed1e 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -910,6 +910,7 @@ return [ 'comments' => 'Komentarze', 'to_link_not_found' => 'Jeśli nie widzisz transakcji, którą chcesz powiązać, po prostu wpisz jej identyfikator.', 'invalid_link_data' => 'Wybrano błędny typ powiązania. Nie można powiązać transakcji.', + 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transakcje zostały powiązane.', 'journals_error_linked' => 'Wybrane transakcje są już powiązane.', 'journal_links' => 'Powiązane transakcje', From c40be5299c3a0d5dd70b130c3933aa1e3346e37d Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:02:20 +0200 Subject: [PATCH 043/349] Kernel middleware in separate commit. --- app/Http/Kernel.php | 193 +++--------------- app/Http/Middleware/EncryptCookies.php | 26 +-- .../Middleware/RedirectIfAuthenticated.php | 24 +-- app/Http/Middleware/TrimStrings.php | 18 ++ app/Http/Middleware/TrustProxies.php | 29 +++ 5 files changed, 86 insertions(+), 204 deletions(-) create mode 100644 app/Http/Middleware/TrimStrings.php create mode 100644 app/Http/Middleware/TrustProxies.php diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 5224ad8579..ecfa351e1d 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -1,62 +1,11 @@ [ - Sandstorm::class, - EncryptCookies::class, - AddQueuedCookiesToResponse::class, - StartFireflySession::class, - ShareErrorsFromSession::class, - VerifyCsrfToken::class, - SubstituteBindings::class, - ], + protected $middlewareGroups = [ + 'web' => [ + \FireflyIII\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + // \Illuminate\Session\Middleware\AuthenticateSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \FireflyIII\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], - - // MUST NOT be logged in. Does not care about 2FA or confirmation. - 'user-not-logged-in' => [ - Sandstorm::class, - EncryptCookies::class, - AddQueuedCookiesToResponse::class, - StartFireflySession::class, - ShareErrorsFromSession::class, - VerifyCsrfToken::class, - SubstituteBindings::class, - RedirectIfAuthenticated::class, - ], - // MUST be logged in. - // MUST NOT have 2FA - // don't care about confirmation: - 'user-logged-in-no-2fa' => [ - Sandstorm::class, - EncryptCookies::class, - AddQueuedCookiesToResponse::class, - StartFireflySession::class, - ShareErrorsFromSession::class, - VerifyCsrfToken::class, - SubstituteBindings::class, - Authenticate::class, - RedirectIfTwoFactorAuthenticated::class, - ], - - // MUST be logged in - // don't care about 2fa - // don't care about confirmation. - 'user-simple-auth' => [ - Sandstorm::class, - EncryptCookies::class, - AddQueuedCookiesToResponse::class, - StartFireflySession::class, - ShareErrorsFromSession::class, - VerifyCsrfToken::class, - SubstituteBindings::class, - Authenticate::class, - ], - - // MUST be logged in - // MUST have 2fa - // MUST be confirmed. - // (this group includes the other Firefly middleware) - 'user-full-auth' => [ - Sandstorm::class, - EncryptCookies::class, - AddQueuedCookiesToResponse::class, - StartFireflySession::class, - ShareErrorsFromSession::class, - VerifyCsrfToken::class, - SubstituteBindings::class, - Authenticate::class, - AuthenticateTwoFactor::class, - Range::class, - Binder::class, - ], - // MUST be logged in - // MUST have 2fa - // MUST be confirmed. - // MUST have owner role - // (this group includes the other Firefly middleware) - 'admin' => [ - Sandstorm::class, - EncryptCookies::class, - AddQueuedCookiesToResponse::class, - StartFireflySession::class, - ShareErrorsFromSession::class, - VerifyCsrfToken::class, - SubstituteBindings::class, - Authenticate::class, - AuthenticateTwoFactor::class, - IsAdmin::class, - Range::class, - Binder::class, - ], - - - 'api' => [ - 'throttle:60,1', - 'bindings', - ], - ]; + 'api' => [ + 'throttle:60,1', + 'bindings', + ], + ]; /** * The application's route middleware. @@ -181,14 +50,12 @@ class Kernel extends HttpKernel * * @var array */ - protected $routeMiddleware - = [ - 'auth' => Authenticate::class, - 'auth.basic' => AuthenticateWithBasicAuth::class, - 'bindings' => SubstituteBindings::class, - 'can' => Authorize::class, - 'guest' => RedirectIfAuthenticated::class, - 'throttle' => ThrottleRequests::class, - 'range' => Range::class, - ]; + protected $routeMiddleware = [ + 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \FireflyIII\Http\Middleware\RedirectIfAuthenticated::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + ]; } diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php index 85188c9c17..02b03e6f73 100644 --- a/app/Http/Middleware/EncryptCookies.php +++ b/app/Http/Middleware/EncryptCookies.php @@ -1,33 +1,17 @@ check()) { - return redirect('/'); + return redirect('/home'); } return $next($request); diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php new file mode 100644 index 0000000000..01aa1f52b2 --- /dev/null +++ b/app/Http/Middleware/TrimStrings.php @@ -0,0 +1,18 @@ + 'FORWARDED', + Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR', + Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST', + Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT', + Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO', + ]; +} From ff9146ab915431f960b20ed5d0dcd001e6555d25 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:03:27 +0200 Subject: [PATCH 044/349] Authentication in separate commit. --- .../Auth/ForgotPasswordController.php | 64 ++---- app/Http/Controllers/Auth/LoginController.php | 190 ++---------------- .../Controllers/Auth/PasswordController.php | 88 -------- .../Controllers/Auth/RegisterController.php | 156 ++++---------- .../Auth/ResetPasswordController.php | 37 ++-- 5 files changed, 85 insertions(+), 450 deletions(-) delete mode 100644 app/Http/Controllers/Auth/PasswordController.php diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php index d1cfdd7832..33e4637060 100644 --- a/app/Http/Controllers/Auth/ForgotPasswordController.php +++ b/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -1,72 +1,32 @@ middleware('guest'); } - - /** - * Send a reset link to the given user. - * - * @param Request $request - * - * @param UserRepositoryInterface $repository - * - * @return \Illuminate\Http\RedirectResponse - */ - public function sendResetLinkEmail(Request $request, UserRepositoryInterface $repository) - { - $this->validate($request, ['email' => 'required|email']); - - // verify if the user is not a demo user. If so, we give him back an error. - $user = User::where('email', $request->get('email'))->first(); - - if (!is_null($user) && $repository->hasRole($user, 'demo')) { - return back()->withErrors(['email' => trans('firefly.cannot_reset_demo_user')]); - } - - $response = $this->broker()->sendResetLink($request->only('email')); - - if ($response === Password::RESET_LINK_SENT) { - return back()->with('status', trans($response)); - } - - // If an error was returned by the password broker, we will get this message - // translated so we can notify a user of the problem. We'll redirect back - // to where the users came from so they can attempt this process again. - return back()->withErrors(['email' => trans($response)]); // @codeCoverageIgnore - } } diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index f74d1a1e7f..d6133b9f57 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -1,191 +1,39 @@ middleware('guest', ['except' => 'logout']); - } - - /** - * Handle a login request to the application. - * - * @param Request $request - * - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\Response - */ - public function login(Request $request) - { - $this->validateLogin($request); - $lockedOut = $this->hasTooManyLoginAttempts($request); - if ($lockedOut) { - $this->fireLockoutEvent($request); - - return $this->sendLockoutResponse($request); - } - - $credentials = $this->credentials($request); - $credentials['blocked'] = 0; // must not be blocked. - - if ($this->guard()->attempt($credentials, $request->has('remember'))) { - return $this->sendLoginResponse($request); - } - - $errorMessage = $this->getBlockedError($credentials['email']); - - if (!$lockedOut) { - $this->incrementLoginAttempts($request); - } - - return $this->sendFailedLoginResponse($request, $errorMessage); - } - - /** - * @param Request $request - * @param CookieJar $cookieJar - * - * @return $this - */ - public function logout(Request $request, CookieJar $cookieJar) - { - if (intval(getenv('SANDSTORM')) === 1) { - return view('error')->with('message', strval(trans('firefly.sandstorm_not_available'))); - } - - $cookie = $cookieJar->forever('twoFactorAuthenticated', 'false'); - - $this->guard()->logout(); - - $request->session()->flush(); - - $request->session()->regenerate(); - - return redirect('/')->withCookie($cookie); - } - - /** - * @return string - */ - public function redirectTo(): string - { - return route('index'); - } - - /** - * Show the application login form. - * - * @param Request $request - * - * @param CookieJar $cookieJar - * - * @return \Illuminate\Http\Response - */ - public function showLoginForm(Request $request, CookieJar $cookieJar) - { - // forget 2fa cookie: - $cookie = $cookieJar->forever('twoFactorAuthenticated', 'false'); - // is allowed to? - $singleUserMode = FireflyConfig::get('single_user_mode', Config::get('firefly.configuration.single_user_mode'))->data; - $userCount = User::count(); - $allowRegistration = true; - if ($singleUserMode === true && $userCount > 0) { - $allowRegistration = false; - } - - $email = $request->old('email'); - $remember = $request->old('remember'); - - return view('auth.login', compact('allowRegistration', 'email', 'remember'))->withCookie($cookie); - } - - /** - * Get the failed login message. - * - * @param string $message - * - * @return string - */ - protected function getFailedLoginMessage(string $message) - { - if (strlen($message) > 0) { - return $message; - } - - return Lang::has('auth.failed') ? Lang::get('auth.failed') : 'These credentials do not match our records.'; - } - - /** - * Get the failed login response instance. - * - * @param \Illuminate\Http\Request $request - * @param string $message - * - * @return \Illuminate\Http\RedirectResponse - */ - protected function sendFailedLoginResponse(Request $request, string $message) - { - return redirect()->back() - ->withInput($request->only($this->username(), 'remember')) - ->withErrors( - [ - $this->username() => $this->getFailedLoginMessage($message), - ] - ); - } - - /** - * @param string $email - * - * @return string - */ - private function getBlockedError(string $email): string - { - // check if user is blocked: - $errorMessage = ''; - /** @var User $foundUser */ - $foundUser = User::where('email', $email)->where('blocked', 1)->first(); - if (!is_null($foundUser)) { - // user exists, but is blocked: - $code = strlen(strval($foundUser->blocked_code)) > 0 ? $foundUser->blocked_code : 'general_blocked'; - $errorMessage = strval(trans('firefly.' . $code . '_error', ['email' => $email])); - } - - return $errorMessage; + $this->middleware('guest')->except('logout'); } } diff --git a/app/Http/Controllers/Auth/PasswordController.php b/app/Http/Controllers/Auth/PasswordController.php deleted file mode 100644 index 035b11bb13..0000000000 --- a/app/Http/Controllers/Auth/PasswordController.php +++ /dev/null @@ -1,88 +0,0 @@ -middleware('guest'); - } - - /** - * Send a reset link to the given user. - * @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's 7 but ok - * - * @param \Illuminate\Http\Request $request - * - * @return \Symfony\Component\HttpFoundation\Response - */ - public function sendResetLinkEmail(Request $request) - { - $this->validate($request, ['email' => 'required|email']); - - $user = User::whereEmail($request->get('email'))->first(); - $response = 'passwords.blocked'; - - if (is_null($user)) { - $response = Password::INVALID_USER; - } - - if (!is_null($user) && intval($user->blocked) === 0) { - $response = Password::sendResetLink( - $request->only('email'), function (Message $message) { - $message->subject($this->getEmailSubject()); - } - ); - } - - switch ($response) { - case Password::RESET_LINK_SENT: - return $this->getSendResetLinkEmailSuccessResponse($response); - - case Password::INVALID_USER: - case 'passwords.blocked': - default: - return $this->getSendResetLinkEmailFailureResponse($response); - } - } - -} diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index b91b436c0c..e0430143b3 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -1,43 +1,29 @@ middleware('guest'); } - /** - * @param UserRegistrationRequest|Request $request - * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View - */ - public function register(UserRegistrationRequest $request) - { - // is allowed to? - $singleUserMode = FireflyConfig::get('single_user_mode', Config::get('firefly.configuration.single_user_mode'))->data; - $userCount = User::count(); - if ($singleUserMode === true && $userCount > 0) { - $message = 'Registration is currently not available.'; - - return view('error', compact('message')); - } - - - $validator = $this->validator($request->all()); - - if ($validator->fails()) { - $this->throwValidationException($request, $validator); - } - - $user = $this->create($request->all()); - - // trigger user registration event: - event(new RegisteredUser($user, $request->ip())); - - Auth::login($user); - - Session::flash('success', strval(trans('firefly.registered'))); - Session::flash('gaEventCategory', 'user'); - Session::flash('gaEventAction', 'new-registration'); - - return redirect($this->redirectPath()); - } - - /** - * OLD - * Show the application registration form. - * - * @param Request $request - * - * @return \Illuminate\Http\Response - */ - public function showRegistrationForm(Request $request) - { - // is demo site? - $isDemoSite = FireflyConfig::get('is_demo_site', Config::get('firefly.configuration.is_demo_site'))->data; - - // is allowed to? - $singleUserMode = FireflyConfig::get('single_user_mode', Config::get('firefly.configuration.single_user_mode'))->data; - $userCount = User::count(); - if ($singleUserMode === true && $userCount > 0) { - $message = 'Registration is currently not available.'; - - return view('error', compact('message')); - } - - $email = $request->old('email'); - - return view('auth.register', compact('isDemoSite', 'email')); - } - - /** - * Create a new user instance after a valid registration. - * - * @param array $data - * - * @return User - */ - protected function create(array $data) - { - /** @var User $user */ - $user = User::create( - [ - 'email' => $data['email'], - 'password' => bcrypt($data['password']), - ] - ); - - return $user; - } - /** * Get a validator for an incoming registration request. * - * @param array $data - * + * @param array $data * @return \Illuminate\Contracts\Validation\Validator */ protected function validator(array $data) { - return Validator::make( - $data, [ - 'email' => 'required|email|max:255|unique:users', - 'password' => 'required|min:6|confirmed', - ] - ); + return Validator::make($data, [ + 'name' => 'required|string|max:255', + 'email' => 'required|string|email|max:255|unique:users', + 'password' => 'required|string|min:6|confirmed', + ]); + } + + /** + * Create a new user instance after a valid registration. + * + * @param array $data + * @return \FireflyIII\User + */ + protected function create(array $data) + { + return User::create([ + 'name' => $data['name'], + 'email' => $data['email'], + 'password' => bcrypt($data['password']), + ]); } } diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php index 1cdb78b988..edf956e03f 100644 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -1,40 +1,39 @@ middleware('guest'); } } From 8823666aa92d222ccf24f3644631df4450140030 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:03:54 +0200 Subject: [PATCH 045/349] CSRF middleware separated. --- app/Http/Middleware/VerifyCsrfToken.php | 50 +++---------------------- 1 file changed, 5 insertions(+), 45 deletions(-) diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php index 98ded14137..0ac15cddd2 100644 --- a/app/Http/Middleware/VerifyCsrfToken.php +++ b/app/Http/Middleware/VerifyCsrfToken.php @@ -1,57 +1,17 @@ headers->setCookie( - new Cookie( - 'XSRF-TOKEN', $request->session()->token(), Carbon::now()->getTimestamp() + 60 * $config['lifetime'], - $config['path'], $config['domain'], $config['secure'], true - ) - ); - - return $response; - } + protected $except = [ + // + ]; } From f077adaefde8b7c9daff2eab04440c0b1ea39294 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:06:13 +0200 Subject: [PATCH 046/349] Separated providers. --- app/Providers/AuthServiceProvider.php | 24 ++++---------------- app/Providers/BroadcastServiceProvider.php | 26 ++-------------------- 2 files changed, 6 insertions(+), 44 deletions(-) diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 9e209b3a5c..6297ae0dad 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -1,25 +1,10 @@ 'FireflyIII\Policies\ModelPolicy', - ]; + protected $policies = [ + 'FireflyIII\Model' => 'FireflyIII\Policies\ModelPolicy', + ]; /** * Register any authentication / authorization services. diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php index daecc1d29f..c4c92d7d76 100644 --- a/app/Providers/BroadcastServiceProvider.php +++ b/app/Providers/BroadcastServiceProvider.php @@ -1,25 +1,10 @@ id === (int)$userId; - } - ); + require base_path('routes/channels.php'); } } From b219283d660de17a99b45eed1bb5c6338aa02e8b Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:06:30 +0200 Subject: [PATCH 047/349] New validation thing is taking my namespace --- app/Rules/Uppercase.php | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 app/Rules/Uppercase.php diff --git a/app/Rules/Uppercase.php b/app/Rules/Uppercase.php new file mode 100644 index 0000000000..6b74791de1 --- /dev/null +++ b/app/Rules/Uppercase.php @@ -0,0 +1,40 @@ + Date: Sat, 9 Sep 2017 22:10:43 +0200 Subject: [PATCH 048/349] Various files --- app/Providers/RouteServiceProvider.php | 67 ++++++++------------------ public/index.php | 18 +++---- public/web.config | 23 +++++++++ 3 files changed, 52 insertions(+), 56 deletions(-) create mode 100644 public/web.config diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index b704a42cc4..f7f45d0f6e 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -1,25 +1,10 @@ mapWebRoutes(); - $this->mapApiRoutes(); - // - } + $this->mapWebRoutes(); - /** - * Define the "api" routes for the application. - * - * These routes are typically stateless. - * - * @return void - */ - protected function mapApiRoutes() - { - Route::group( - [ - 'middleware' => 'api', - 'namespace' => $this->namespace, - 'prefix' => 'api', - ], function ($router) { - require base_path('routes/api.php'); - } - ); + // } /** @@ -86,13 +51,23 @@ class RouteServiceProvider extends ServiceProvider */ protected function mapWebRoutes() { - Route::group( - [ - 'middleware' => 'web', - 'namespace' => $this->namespace, - ], function ($router) { - require base_path('routes/web.php'); - } - ); + Route::middleware('web') + ->namespace($this->namespace) + ->group(base_path('routes/web.php')); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + * + * @return void + */ + protected function mapApiRoutes() + { + Route::prefix('api') + ->middleware('api') + ->namespace($this->namespace) + ->group(base_path('routes/api.php')); } } diff --git a/public/index.php b/public/index.php index dbab349937..4584cbcd6a 100644 --- a/public/index.php +++ b/public/index.php @@ -1,15 +1,13 @@ */ -declare(strict_types=1); +define('LARAVEL_START', microtime(true)); /* |-------------------------------------------------------------------------- @@ -19,11 +17,11 @@ declare(strict_types=1); | Composer provides a convenient, automatically generated class loader for | our application. We just need to utilize it! We'll simply require it | into the script here so that we don't have to worry about manual -| loading any of our classes later on. It feels nice to relax. +| loading any of our classes later on. It feels great to relax. | */ -require __DIR__ . '/../bootstrap/autoload.php'; +require __DIR__.'/../vendor/autoload.php'; /* |-------------------------------------------------------------------------- @@ -37,7 +35,7 @@ require __DIR__ . '/../bootstrap/autoload.php'; | */ -$app = require_once __DIR__ . '/../bootstrap/app.php'; +$app = require_once __DIR__.'/../bootstrap/app.php'; /* |-------------------------------------------------------------------------- diff --git a/public/web.config b/public/web.config new file mode 100644 index 0000000000..624c1760fc --- /dev/null +++ b/public/web.config @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + From 418a6ab5adc893920066ed603a2b2519db7e351e Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:10:56 +0200 Subject: [PATCH 049/349] This removes the bcscale thing which is very necessary. --- bootstrap/app.php | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/bootstrap/app.php b/bootstrap/app.php index b026728e73..ebd712abe1 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -1,16 +1,4 @@ singleton( Illuminate\Contracts\Http\Kernel::class, FireflyIII\Http\Kernel::class From 3b9b74b5ea33707ad4c06839233d8145e40c87f0 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:11:33 +0200 Subject: [PATCH 050/349] Example test should point to /login --- tests/Feature/ExampleTest.php | 31 ++----------------------------- tests/Unit/ExampleTest.php | 30 +----------------------------- 2 files changed, 3 insertions(+), 58 deletions(-) diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php index df6e4a591d..f31e495ca3 100644 --- a/tests/Feature/ExampleTest.php +++ b/tests/Feature/ExampleTest.php @@ -1,39 +1,12 @@ get('/'); - - $response->assertStatus(302); - } - /** * A basic test example. * @@ -41,7 +14,7 @@ class ExampleTest extends TestCase */ public function testBasicTest() { - $response = $this->get('/login'); + $response = $this->get('/'); $response->assertStatus(200); } diff --git a/tests/Unit/ExampleTest.php b/tests/Unit/ExampleTest.php index b55d6c83f1..e9fe19c664 100644 --- a/tests/Unit/ExampleTest.php +++ b/tests/Unit/ExampleTest.php @@ -1,38 +1,10 @@ Date: Sat, 9 Sep 2017 22:30:07 +0200 Subject: [PATCH 051/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index 02e782ed1e..ed523d65e5 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -910,7 +910,7 @@ return [ 'comments' => 'Komentarze', 'to_link_not_found' => 'Jeśli nie widzisz transakcji, którą chcesz powiązać, po prostu wpisz jej identyfikator.', 'invalid_link_data' => 'Wybrano błędny typ powiązania. Nie można powiązać transakcji.', - 'invalid_link_selection' => 'Cannot link these transactions', + 'invalid_link_selection' => 'Nie można powiązać tych transakcji', 'journals_linked' => 'Transakcje zostały powiązane.', 'journals_error_linked' => 'Wybrane transakcje są już powiązane.', 'journal_links' => 'Powiązane transakcje', From 9223f3ef71f7198bab3448824a1c54453d17118c Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:32:11 +0200 Subject: [PATCH 052/349] Various updated files. --- bootstrap/autoload.php | 47 -- composer.json | 37 +- composer.lock | 904 +++++++++++--------------- config/app.php | 29 +- config/auth.php | 96 ++- config/broadcasting.php | 22 +- config/cache.php | 34 +- config/compile.php | 46 -- config/database.php | 85 +-- config/filesystems.php | 33 +- config/mail.php | 47 +- config/queue.php | 38 +- config/services.php | 18 +- config/session.php | 13 +- public/.htaccess | 3 +- routes/api.php | 15 +- routes/channels.php | 16 + routes/console.php | 15 +- storage/app/.gitignore | 0 storage/app/public/.gitignore | 0 storage/framework/.gitignore | 1 - storage/framework/cache/.gitignore | 0 storage/framework/sessions/.gitignore | 0 storage/framework/testing/.gitignore | 2 + storage/framework/views/.gitignore | 0 storage/logs/.gitignore | 0 tests/CreatesApplication.php | 18 +- 27 files changed, 605 insertions(+), 914 deletions(-) delete mode 100644 bootstrap/autoload.php mode change 100755 => 100644 composer.json delete mode 100644 config/compile.php mode change 100755 => 100644 public/.htaccess mode change 100755 => 100644 routes/api.php create mode 100644 routes/channels.php mode change 100755 => 100644 routes/console.php mode change 100755 => 100644 storage/app/.gitignore mode change 100755 => 100644 storage/app/public/.gitignore mode change 100755 => 100644 storage/framework/.gitignore mode change 100755 => 100644 storage/framework/cache/.gitignore mode change 100755 => 100644 storage/framework/sessions/.gitignore create mode 100644 storage/framework/testing/.gitignore mode change 100755 => 100644 storage/framework/views/.gitignore mode change 100755 => 100644 storage/logs/.gitignore diff --git a/bootstrap/autoload.php b/bootstrap/autoload.php deleted file mode 100644 index 984638501e..0000000000 --- a/bootstrap/autoload.php +++ /dev/null @@ -1,47 +0,0 @@ -=5.5.9" + "php": "^5.5.9|>=7.0.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "3.3-dev" } }, "autoload": { @@ -1759,7 +1759,7 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2017-01-02T20:31:54+00:00" + "time": "2017-07-29T21:54:42+00:00" }, { "name": "symfony/debug", @@ -1819,27 +1819,30 @@ }, { "name": "symfony/event-dispatcher", - "version": "v2.8.27", + "version": "v3.3.8", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "1377400fd641d7d1935981546aaef780ecd5bf6d" + "reference": "54ca9520a00386f83bca145819ad3b619aaa2485" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1377400fd641d7d1935981546aaef780ecd5bf6d", - "reference": "1377400fd641d7d1935981546aaef780ecd5bf6d", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54ca9520a00386f83bca145819ad3b619aaa2485", + "reference": "54ca9520a00386f83bca145819ad3b619aaa2485", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^5.5.9|>=7.0.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "^2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.6|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0" + "symfony/config": "~2.8|~3.0", + "symfony/dependency-injection": "~3.3", + "symfony/expression-language": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0" }, "suggest": { "symfony/dependency-injection": "", @@ -1848,7 +1851,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.3-dev" } }, "autoload": { @@ -1875,7 +1878,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2017-06-02T07:47:27+00:00" + "time": "2017-07-29T21:54:42+00:00" }, { "name": "symfony/finder", @@ -2926,6 +2929,67 @@ ], "time": "2017-07-22T11:58:36+00:00" }, + { + "name": "filp/whoops", + "version": "2.1.10", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "ffbbd2c06c64b08fb47974eed5dbce4ca2bb0eec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/ffbbd2c06c64b08fb47974eed5dbce4ca2bb0eec", + "reference": "ffbbd2c06c64b08fb47974eed5dbce4ca2bb0eec", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0", + "psr/log": "^1.0.1" + }, + "require-dev": { + "mockery/mockery": "0.9.*", + "phpunit/phpunit": "^4.8 || ^5.0", + "symfony/var-dumper": "^2.6 || ^3.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "whoops", + "zf2" + ], + "time": "2017-08-03T18:23:40+00:00" + }, { "name": "fzaninotto/faker", "version": "v1.7.1", @@ -2976,102 +3040,6 @@ ], "time": "2017-08-15T16:48:10+00:00" }, - { - "name": "guzzle/guzzle", - "version": "v3.9.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle3.git", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3.3", - "symfony/event-dispatcher": "~2.1" - }, - "replace": { - "guzzle/batch": "self.version", - "guzzle/cache": "self.version", - "guzzle/common": "self.version", - "guzzle/http": "self.version", - "guzzle/inflection": "self.version", - "guzzle/iterator": "self.version", - "guzzle/log": "self.version", - "guzzle/parser": "self.version", - "guzzle/plugin": "self.version", - "guzzle/plugin-async": "self.version", - "guzzle/plugin-backoff": "self.version", - "guzzle/plugin-cache": "self.version", - "guzzle/plugin-cookie": "self.version", - "guzzle/plugin-curlauth": "self.version", - "guzzle/plugin-error-response": "self.version", - "guzzle/plugin-history": "self.version", - "guzzle/plugin-log": "self.version", - "guzzle/plugin-md5": "self.version", - "guzzle/plugin-mock": "self.version", - "guzzle/plugin-oauth": "self.version", - "guzzle/service": "self.version", - "guzzle/stream": "self.version" - }, - "require-dev": { - "doctrine/cache": "~1.3", - "monolog/monolog": "~1.0", - "phpunit/phpunit": "3.7.*", - "psr/log": "~1.0", - "symfony/class-loader": "~2.1", - "zendframework/zend-cache": "2.*,<2.3", - "zendframework/zend-log": "2.*,<2.3" - }, - "suggest": { - "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.9-dev" - } - }, - "autoload": { - "psr-0": { - "Guzzle": "src/", - "Guzzle\\Tests": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Guzzle Community", - "homepage": "https://github.com/guzzle/guzzle/contributors" - } - ], - "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "abandoned": "guzzlehttp/guzzle", - "time": "2015-03-18T18:23:50+00:00" - }, { "name": "hamcrest/hamcrest-php", "version": "v1.2.2", @@ -3285,6 +3253,108 @@ ], "time": "2017-04-12T18:52:22+00:00" }, + { + "name": "phar-io/manifest", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "phar-io/version": "^1.0.1", + "php": "^5.6 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2017-03-05T18:14:27+00:00" + }, + { + "name": "phar-io/version", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "time": "2017-03-05T17:38:23+00:00" + }, { "name": "phpdocumentor/reflection-common", "version": "1.0", @@ -3496,40 +3566,41 @@ }, { "name": "phpunit/php-code-coverage", - "version": "4.0.8", + "version": "5.2.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" + "reference": "8ed1902a57849e117b5651fc1a5c48110946c06b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/8ed1902a57849e117b5651fc1a5c48110946c06b", + "reference": "8ed1902a57849e117b5651fc1a5c48110946c06b", "shasum": "" }, "require": { "ext-dom": "*", "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" + "php": "^7.0", + "phpunit/php-file-iterator": "^1.4.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^1.4.11 || ^2.0", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^3.0", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1" }, "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" + "ext-xdebug": "^2.5", + "phpunit/phpunit": "^6.0" }, "suggest": { - "ext-xdebug": "^2.5.1" + "ext-xdebug": "^2.5.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0.x-dev" + "dev-master": "5.2.x-dev" } }, "autoload": { @@ -3555,7 +3626,7 @@ "testing", "xunit" ], - "time": "2017-04-02T07:44:40+00:00" + "time": "2017-08-03T12:40:43+00:00" }, { "name": "phpunit/php-file-iterator", @@ -3745,16 +3816,16 @@ }, { "name": "phpunit/phpunit", - "version": "5.7.21", + "version": "6.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3b91adfb64264ddec5a2dee9851f354aa66327db" + "reference": "9501bab711403a1ab5b8378a8adb4ec3db3debdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3b91adfb64264ddec5a2dee9851f354aa66327db", - "reference": "3b91adfb64264ddec5a2dee9851f354aa66327db", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9501bab711403a1ab5b8378a8adb4ec3db3debdb", + "reference": "9501bab711403a1ab5b8378a8adb4ec3db3debdb", "shasum": "" }, "require": { @@ -3763,33 +3834,35 @@ "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "^1.4.3", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" + "myclabs/deep-copy": "^1.6.1", + "phar-io/manifest": "^1.0.1", + "phar-io/version": "^1.0", + "php": "^7.0", + "phpspec/prophecy": "^1.7", + "phpunit/php-code-coverage": "^5.2.2", + "phpunit/php-file-iterator": "^1.4.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^1.0.9", + "phpunit/phpunit-mock-objects": "^4.0.3", + "sebastian/comparator": "^2.0.2", + "sebastian/diff": "^2.0", + "sebastian/environment": "^3.1", + "sebastian/exporter": "^3.1", + "sebastian/global-state": "^2.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^1.0", + "sebastian/version": "^2.0.1" }, "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" + "phpdocumentor/reflection-docblock": "3.0.2", + "phpunit/dbunit": "<3.0" }, "require-dev": { "ext-pdo": "*" }, "suggest": { "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" + "phpunit/php-invoker": "^1.1" }, "bin": [ "phpunit" @@ -3797,7 +3870,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.7.x-dev" + "dev-master": "6.3.x-dev" } }, "autoload": { @@ -3823,33 +3896,33 @@ "testing", "xunit" ], - "time": "2017-06-21T08:11:54+00:00" + "time": "2017-08-04T05:20:39+00:00" }, { "name": "phpunit/phpunit-mock-objects", - "version": "3.4.4", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "a23b761686d50a560cc56233b9ecf49597cc9118" + "reference": "2f789b59ab89669015ad984afa350c4ec577ade0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118", - "reference": "a23b761686d50a560cc56233b9ecf49597cc9118", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/2f789b59ab89669015ad984afa350c4ec577ade0", + "reference": "2f789b59ab89669015ad984afa350c4ec577ade0", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" + "doctrine/instantiator": "^1.0.5", + "php": "^7.0", + "phpunit/php-text-template": "^1.2.1", + "sebastian/exporter": "^3.0" }, "conflict": { - "phpunit/phpunit": "<5.4.0" + "phpunit/phpunit": "<6.0" }, "require-dev": { - "phpunit/phpunit": "^5.4" + "phpunit/phpunit": "^6.0" }, "suggest": { "ext-soap": "*" @@ -3857,7 +3930,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2.x-dev" + "dev-master": "4.0.x-dev" } }, "autoload": { @@ -3882,65 +3955,7 @@ "mock", "xunit" ], - "time": "2017-06-30T09:13:00+00:00" - }, - { - "name": "satooshi/php-coveralls", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/satooshi/php-coveralls.git", - "reference": "da51d304fe8622bf9a6da39a8446e7afd432115c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/da51d304fe8622bf9a6da39a8446e7afd432115c", - "reference": "da51d304fe8622bf9a6da39a8446e7afd432115c", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-simplexml": "*", - "guzzle/guzzle": "^2.8|^3.0", - "php": ">=5.3.3", - "psr/log": "^1.0", - "symfony/config": "^2.1|^3.0", - "symfony/console": "^2.1|^3.0", - "symfony/stopwatch": "^2.0|^3.0", - "symfony/yaml": "^2.0|^3.0" - }, - "suggest": { - "symfony/http-kernel": "Allows Symfony integration" - }, - "bin": [ - "bin/coveralls" - ], - "type": "library", - "autoload": { - "psr-4": { - "Satooshi\\": "src/Satooshi/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kitamura Satoshi", - "email": "with.no.parachute@gmail.com", - "homepage": "https://www.facebook.com/satooshi.jp" - } - ], - "description": "PHP client library for Coveralls API", - "homepage": "https://github.com/satooshi/php-coveralls", - "keywords": [ - "ci", - "coverage", - "github", - "test" - ], - "time": "2016-01-20T17:35:46+00:00" + "time": "2017-08-03T14:08:16+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -3989,30 +4004,30 @@ }, { "name": "sebastian/comparator", - "version": "1.2.4", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" + "reference": "ae068fede81d06e7bb9bb46a367210a3d3e1fe6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/ae068fede81d06e7bb9bb46a367210a3d3e1fe6a", + "reference": "ae068fede81d06e7bb9bb46a367210a3d3e1fe6a", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" + "php": "^7.0", + "sebastian/diff": "^2.0", + "sebastian/exporter": "^3.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -4049,32 +4064,32 @@ "compare", "equality" ], - "time": "2017-01-29T09:50:25+00:00" + "time": "2017-08-03T07:14:59+00:00" }, { "name": "sebastian/diff", - "version": "1.4.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + "phpunit/phpunit": "^6.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -4101,32 +4116,32 @@ "keywords": [ "diff" ], - "time": "2017-05-22T07:24:03+00:00" + "time": "2017-08-03T08:09:46+00:00" }, { "name": "sebastian/environment", - "version": "2.0.0", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "^5.0" + "phpunit/phpunit": "^6.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { @@ -4151,34 +4166,34 @@ "environment", "hhvm" ], - "time": "2016-11-26T07:53:53+00:00" + "time": "2017-07-01T08:51:00+00:00" }, { "name": "sebastian/exporter", - "version": "2.0.0", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" + "php": "^7.0", + "sebastian/recursion-context": "^3.0" }, "require-dev": { "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { @@ -4218,27 +4233,27 @@ "export", "exporter" ], - "time": "2016-11-19T08:54:04+00:00" + "time": "2017-04-03T13:19:02+00:00" }, { "name": "sebastian/global-state", - "version": "1.1.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "^6.0" }, "suggest": { "ext-uopz": "*" @@ -4246,7 +4261,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -4269,33 +4284,34 @@ "keywords": [ "global state" ], - "time": "2015-10-12T03:26:01+00:00" + "time": "2017-04-27T15:39:26+00:00" }, { "name": "sebastian/object-enumerator", - "version": "2.0.1", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", "shasum": "" }, "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" + "php": "^7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" }, "require-dev": { - "phpunit/phpunit": "~5" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -4315,32 +4331,77 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2017-02-18T15:18:39+00:00" + "time": "2017-08-03T12:35:26+00:00" }, { - "name": "sebastian/recursion-context", - "version": "2.0.0", + "name": "sebastian/object-reflector", + "version": "1.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "773f97c67f28de00d397be301821b06708fca0be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", + "reference": "773f97c67f28de00d397be301821b06708fca0be", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -4368,7 +4429,7 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+00:00" + "time": "2017-03-03T06:23:57+00:00" }, { "name": "sebastian/resource-operations", @@ -4512,275 +4573,44 @@ "time": "2017-07-29T21:54:42+00:00" }, { - "name": "symfony/config", - "version": "v3.3.8", + "name": "theseer/tokenizer", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "6ac0cc1f047c1dbc058fc25b7a4d91b068ed4488" + "url": "https://github.com/theseer/tokenizer.git", + "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/6ac0cc1f047c1dbc058fc25b7a4d91b068ed4488", - "reference": "6ac0cc1f047c1dbc058fc25b7a4d91b068ed4488", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", + "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/filesystem": "~2.8|~3.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.3", - "symfony/finder": "<3.3" - }, - "require-dev": { - "symfony/dependency-injection": "~3.3", - "symfony/finder": "~3.3", - "symfony/yaml": "~3.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" } ], - "description": "Symfony Config Component", - "homepage": "https://symfony.com", - "time": "2017-08-03T08:59:45+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.1.10", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "7eede2a901a19928494194f7d1815a77b9a473a0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/7eede2a901a19928494194f7d1815a77b9a473a0", - "reference": "7eede2a901a19928494194f7d1815a77b9a473a0", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony DomCrawler Component", - "homepage": "https://symfony.com", - "time": "2017-01-21T17:13:55+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v3.3.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "b32a0e5f928d0fa3d1dd03c78d020777e50c10cb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b32a0e5f928d0fa3d1dd03c78d020777e50c10cb", - "reference": "b32a0e5f928d0fa3d1dd03c78d020777e50c10cb", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "time": "2017-07-29T21:54:42+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v3.3.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "9a5610a8d6a50985a7be485c0ba745c22607beeb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/9a5610a8d6a50985a7be485c0ba745c22607beeb", - "reference": "9a5610a8d6a50985a7be485c0ba745c22607beeb", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Stopwatch Component", - "homepage": "https://symfony.com", - "time": "2017-07-29T21:54:42+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.3.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "1d8c2a99c80862bdc3af94c1781bf70f86bccac0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/1d8c2a99c80862bdc3af94c1781bf70f86bccac0", - "reference": "1d8c2a99c80862bdc3af94c1781bf70f86bccac0", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2017-07-29T21:54:42+00:00" + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "time": "2017-04-07T12:08:54+00:00" }, { "name": "webmozart/assert", diff --git a/config/app.php b/config/app.php index 56b26276bb..aba1eef974 100644 --- a/config/app.php +++ b/config/app.php @@ -1,18 +1,7 @@ 'Firefly III', + 'name' => env('APP_NAME', 'Firefly III'), 'env' => env('APP_ENV', 'production'), 'debug' => env('APP_DEBUG', false), 'url' => env('APP_URL', 'http://localhost'), @@ -26,8 +15,8 @@ return [ 'providers' => [ /* - * Laravel Framework Service Providers... - */ + * Laravel Framework Service Providers... + */ Illuminate\Auth\AuthServiceProvider::class, Illuminate\Broadcasting\BroadcastServiceProvider::class, Illuminate\Bus\BusServiceProvider::class, @@ -46,24 +35,23 @@ return [ Illuminate\Queue\QueueServiceProvider::class, Illuminate\Redis\RedisServiceProvider::class, Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, - FireflyIII\Providers\FireflySessionProvider::class, + Illuminate\Session\SessionServiceProvider::class, Illuminate\Translation\TranslationServiceProvider::class, Illuminate\Validation\ValidationServiceProvider::class, Illuminate\View\ViewServiceProvider::class, - Collective\Html\HtmlServiceProvider::class, + /* + * Package Service Providers... + */ /* * Application Service Providers... */ - FireflyIII\Providers\LogServiceProvider::class, FireflyIII\Providers\AppServiceProvider::class, FireflyIII\Providers\AuthServiceProvider::class, // FireflyIII\Providers\BroadcastServiceProvider::class, FireflyIII\Providers\EventServiceProvider::class, FireflyIII\Providers\RouteServiceProvider::class, - FireflyIII\Providers\FireflyServiceProvider::class, - // own stuff: //Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, @@ -92,7 +80,8 @@ return [ ], - 'aliases' => [ + 'aliases' => [ + 'App' => Illuminate\Support\Facades\App::class, 'Artisan' => Illuminate\Support\Facades\Artisan::class, 'Auth' => Illuminate\Support\Facades\Auth::class, diff --git a/config/auth.php b/config/auth.php index 52d3280350..b5b14893ec 100644 --- a/config/auth.php +++ b/config/auth.php @@ -1,43 +1,101 @@ [ - 'guard' => 'web', + + /* + |-------------------------------------------------------------------------- + | Authentication Defaults + |-------------------------------------------------------------------------- + | + | This option controls the default authentication "guard" and password + | reset options for your application. You may change these defaults + | as required, but they're a perfect start for most applications. + | + */ + + 'defaults' => [ + 'guard' => 'web', 'passwords' => 'users', ], - 'guards' => [ + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | here which uses session storage and the Eloquent user provider. + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | Supported: "session", "token" + | + */ + + 'guards' => [ 'web' => [ - 'driver' => 'session', + 'driver' => 'session', 'provider' => 'users', ], 'api' => [ - 'driver' => 'token', + 'driver' => 'token', 'provider' => 'users', ], ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | If you have multiple user tables or models you may configure multiple + | sources which represent each model / table. These sources may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + 'providers' => [ 'users' => [ 'driver' => 'eloquent', - 'model' => FireflyIII\User::class, + 'model' => FireflyIII\User::class, ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | You may specify multiple password reset configurations if you have more + | than one user table or model in the application and you want to have + | separate password reset settings based on the specific user types. + | + | The expire time is the number of minutes that the reset token should be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + */ + 'passwords' => [ 'users' => [ 'provider' => 'users', - 'table' => 'password_resets', - 'expire' => 120, + 'table' => 'password_resets', + 'expire' => 60, ], ], diff --git a/config/broadcasting.php b/config/broadcasting.php index 3257e542d3..5eecd2b266 100644 --- a/config/broadcasting.php +++ b/config/broadcasting.php @@ -1,17 +1,5 @@ [ 'pusher' => [ - 'driver' => 'pusher', - 'key' => env('PUSHER_KEY'), - 'secret' => env('PUSHER_SECRET'), - 'app_id' => env('PUSHER_APP_ID'), + 'driver' => 'pusher', + 'key' => env('PUSHER_APP_KEY'), + 'secret' => env('PUSHER_APP_SECRET'), + 'app_id' => env('PUSHER_APP_ID'), 'options' => [ // ], ], 'redis' => [ - 'driver' => 'redis', + 'driver' => 'redis', 'connection' => 'default', ], diff --git a/config/cache.php b/config/cache.php index dd2dbe7a70..4922b1ae11 100644 --- a/config/cache.php +++ b/config/cache.php @@ -1,18 +1,5 @@ [ - 'driver' => 'database', - 'table' => 'cache', + 'driver' => 'database', + 'table' => 'cache', 'connection' => null, ], 'file' => [ 'driver' => 'file', - 'path' => storage_path('framework/cache'), + 'path' => storage_path('framework/cache/data'), ], 'memcached' => [ - 'driver' => 'memcached', + 'driver' => 'memcached', 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), - 'sasl' => [ + 'sasl' => [ env('MEMCACHED_USERNAME'), env('MEMCACHED_PASSWORD'), ], - 'options' => [ + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, ], - 'servers' => [ + 'servers' => [ [ - 'host' => env('MEMCACHED_HOST', '127.0.0.1'), - 'port' => env('MEMCACHED_PORT', 11211), + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), 'weight' => 100, ], ], ], 'redis' => [ - 'driver' => 'redis', + 'driver' => 'redis', 'connection' => 'default', ], diff --git a/config/compile.php b/config/compile.php deleted file mode 100644 index f627a86b7a..0000000000 --- a/config/compile.php +++ /dev/null @@ -1,46 +0,0 @@ - [ - // - ], - - /* - |-------------------------------------------------------------------------- - | Compiled File Providers - |-------------------------------------------------------------------------- - | - | Here you may list service providers which define a "compiles" function - | that returns additional files that should be compiled, providing an - | easy way to get common files from any packages you are utilizing. - | - */ - - 'providers' => [ - // - ], - -]; diff --git a/config/database.php b/config/database.php index 272de2acdc..700d335b78 100644 --- a/config/database.php +++ b/config/database.php @@ -1,79 +1,62 @@ PDO::FETCH_OBJ, - 'default' => env('DB_CONNECTION', 'pgsql'), + 'default' => env('DB_CONNECTION', 'mysql'), 'connections' => [ 'sqlite' => [ 'driver' => 'sqlite', - 'database' => env('DB_DATABASE', storage_path('database/database.sqlite')), + 'database' => env('DB_DATABASE', database_path('database.sqlite')), 'prefix' => '', ], - - 'mysql' => [ - 'driver' => 'mysql', - 'host' => env('DB_HOST', 'localhost'), - 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => 'utf8', - 'collation' => 'utf8_unicode_ci', - 'prefix' => '', - 'strict' => true, - 'engine' => null, + 'mysql' => [ + 'driver' => 'mysql', + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'prefix' => '', + 'strict' => true, + 'engine' => null, ], - - 'pgsql' => [ + 'pgsql' => [ 'driver' => 'pgsql', - 'host' => env('DB_HOST', $host), + 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '5432'), - 'database' => env('DB_DATABASE', $database), - 'username' => env('DB_USERNAME', $username), - 'password' => env('DB_PASSWORD', $password), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', 'sslmode' => 'prefer', ], + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + ], ], 'migrations' => 'migrations', 'redis' => [ - 'cluster' => false, + 'client' => 'predis', 'default' => [ - 'host' => env('REDIS_HOST', 'localhost'), + 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => 0, ], + ], + ]; diff --git a/config/filesystems.php b/config/filesystems.php index 0a64af6c68..642ec447a3 100644 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -1,17 +1,5 @@ 'local', + 'default' => env('FILESYSTEM_DRIVER', 'local'), /* |-------------------------------------------------------------------------- @@ -40,7 +26,7 @@ return [ | */ - 'cloud' => 's3', + 'cloud' => env('FILESYSTEM_CLOUD', 's3'), /* |-------------------------------------------------------------------------- @@ -51,6 +37,8 @@ return [ | may even configure multiple disks of the same driver. Defaults have | been setup for each driver as an example of the required options. | + | Supported Drivers: "local", "ftp", "s3", "rackspace" + | */ 'disks' => [ @@ -84,15 +72,16 @@ return [ 'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), + 'url' => env('APP_URL') . '/storage', 'visibility' => 'public', ], 's3' => [ 'driver' => 's3', - 'key' => 'your-key', - 'secret' => 'your-secret', - 'region' => 'your-region', - 'bucket' => 'your-bucket', + 'key' => env('AWS_KEY'), + 'secret' => env('AWS_SECRET'), + 'region' => env('AWS_REGION'), + 'bucket' => env('AWS_BUCKET'), ], ], diff --git a/config/mail.php b/config/mail.php index f5d33fd68e..83bb63ba63 100644 --- a/config/mail.php +++ b/config/mail.php @@ -1,17 +1,5 @@ ['address' => env('MAIL_FROM', 'noreply@example.com'), 'name' => 'Firefly III Mailer'], @@ -96,17 +83,6 @@ return [ 'username' => env('MAIL_USERNAME'), - /* - |-------------------------------------------------------------------------- - | SMTP Server Password - |-------------------------------------------------------------------------- - | - | Here you may set the password required by your SMTP server to send out - | messages from your application. This will be given to the server on - | connection so that the application will be able to send messages. - | - */ - 'password' => env('MAIL_PASSWORD'), /* @@ -122,4 +98,23 @@ return [ 'sendmail' => '/usr/sbin/sendmail -bs', + /* + |-------------------------------------------------------------------------- + | Markdown Mail Settings + |-------------------------------------------------------------------------- + | + | If you are using Markdown based email rendering, you may configure your + | theme and component paths here, allowing you to customize the design + | of the emails. Or, you may simply stick with the Laravel defaults! + | + */ + + 'markdown' => [ + 'theme' => 'default', + + 'paths' => [ + resource_path('views/vendor/mail'), + ], + ], + ]; diff --git a/config/queue.php b/config/queue.php index 592710d91d..4d83ebd0cb 100644 --- a/config/queue.php +++ b/config/queue.php @@ -1,17 +1,5 @@ [ - 'driver' => 'database', - 'table' => 'jobs', - 'queue' => 'default', + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', 'retry_after' => 90, ], 'beanstalkd' => [ - 'driver' => 'beanstalkd', - 'host' => 'localhost', - 'queue' => 'default', + 'driver' => 'beanstalkd', + 'host' => 'localhost', + 'queue' => 'default', 'retry_after' => 90, ], 'sqs' => [ 'driver' => 'sqs', - 'key' => 'your-public-key', + 'key' => 'your-public-key', 'secret' => 'your-secret-key', 'prefix' => 'https://sqs.us-east-1.amazonaws.com/your-account-id', - 'queue' => 'your-queue-name', + 'queue' => 'your-queue-name', 'region' => 'us-east-1', ], 'redis' => [ - 'driver' => 'redis', - 'connection' => 'default', - 'queue' => 'default', + 'driver' => 'redis', + 'connection' => 'default', + 'queue' => 'default', 'retry_after' => 90, ], @@ -91,7 +79,7 @@ return [ 'failed' => [ 'database' => env('DB_CONNECTION', 'mysql'), - 'table' => 'failed_jobs', + 'table' => 'failed_jobs', ], ]; diff --git a/config/services.php b/config/services.php index bad5a03d81..fee6668186 100644 --- a/config/services.php +++ b/config/services.php @@ -1,17 +1,5 @@ [ - 'key' => env('SES_KEY'), + 'key' => env('SES_KEY'), 'secret' => env('SES_SECRET'), 'region' => 'us-east-1', ], @@ -42,8 +30,8 @@ return [ ], 'stripe' => [ - 'model' => FireflyIII\User::class, - 'key' => env('STRIPE_KEY'), + 'model' => FireflyIII\User::class, + 'key' => env('STRIPE_KEY'), 'secret' => env('STRIPE_SECRET'), ], diff --git a/config/session.php b/config/session.php index 4a635d2321..41de93167e 100644 --- a/config/session.php +++ b/config/session.php @@ -1,16 +1,4 @@ env('SESSION_DRIVER', 'file'), @@ -27,4 +15,5 @@ return [ 'domain' => env('COOKIE_DOMAIN', null), 'secure' => env('COOKIE_SECURE', false), 'http_only' => true, + 'same_site' => null, ]; diff --git a/public/.htaccess b/public/.htaccess old mode 100755 new mode 100644 index 903f6392ca..09683488bd --- a/public/.htaccess +++ b/public/.htaccess @@ -7,7 +7,8 @@ # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule ^(.*)/$ /$1 [L,R=301] + RewriteCond %{REQUEST_URI} (.+)/$ + RewriteRule ^ %1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d diff --git a/routes/api.php b/routes/api.php old mode 100755 new mode 100644 index ff61db1483..c641ca5e5b --- a/routes/api.php +++ b/routes/api.php @@ -1,15 +1,6 @@ get('/user', function (Request $request) { + return $request->user(); +}); diff --git a/routes/channels.php b/routes/channels.php new file mode 100644 index 0000000000..f16a20b9bf --- /dev/null +++ b/routes/channels.php @@ -0,0 +1,16 @@ +id === (int) $id; +}); diff --git a/routes/console.php b/routes/console.php old mode 100755 new mode 100644 index d03b78b097..75dd0cdedb --- a/routes/console.php +++ b/routes/console.php @@ -1,15 +1,6 @@ comment(Inspiring::quote()); +})->describe('Display an inspiring quote'); diff --git a/storage/app/.gitignore b/storage/app/.gitignore old mode 100755 new mode 100644 diff --git a/storage/app/public/.gitignore b/storage/app/public/.gitignore old mode 100755 new mode 100644 diff --git a/storage/framework/.gitignore b/storage/framework/.gitignore old mode 100755 new mode 100644 index 5652cd863e..b02b700f1b --- a/storage/framework/.gitignore +++ b/storage/framework/.gitignore @@ -6,4 +6,3 @@ services.json events.scanned.php routes.scanned.php down -testing \ No newline at end of file diff --git a/storage/framework/cache/.gitignore b/storage/framework/cache/.gitignore old mode 100755 new mode 100644 diff --git a/storage/framework/sessions/.gitignore b/storage/framework/sessions/.gitignore old mode 100755 new mode 100644 diff --git a/storage/framework/testing/.gitignore b/storage/framework/testing/.gitignore new file mode 100644 index 0000000000..d6b7ef32c8 --- /dev/null +++ b/storage/framework/testing/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/storage/framework/views/.gitignore b/storage/framework/views/.gitignore old mode 100755 new mode 100644 diff --git a/storage/logs/.gitignore b/storage/logs/.gitignore old mode 100755 new mode 100644 diff --git a/tests/CreatesApplication.php b/tests/CreatesApplication.php index acb598dcc1..547152f6a9 100644 --- a/tests/CreatesApplication.php +++ b/tests/CreatesApplication.php @@ -1,25 +1,9 @@ make(Kernel::class)->bootstrap(); From 6f886e6eaad3c1704b2f7271baf140a82b7aa74b Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 10 Sep 2017 08:30:27 +0200 Subject: [PATCH 053/349] Changes required to make FF work again. --- config/app.php | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/config/app.php b/config/app.php index aba1eef974..698322030e 100644 --- a/config/app.php +++ b/config/app.php @@ -70,6 +70,7 @@ return [ FireflyIII\Providers\CategoryServiceProvider::class, FireflyIII\Providers\CurrencyServiceProvider::class, FireflyIII\Providers\ExportJobServiceProvider::class, + FireflyIII\Providers\FireflyServiceProvider::class, FireflyIII\Providers\JournalServiceProvider::class, FireflyIII\Providers\PiggyBankServiceProvider::class, FireflyIII\Providers\RuleServiceProvider::class, @@ -80,7 +81,7 @@ return [ ], - 'aliases' => [ + 'aliases' => [ 'App' => Illuminate\Support\Facades\App::class, 'Artisan' => Illuminate\Support\Facades\Artisan::class, @@ -118,15 +119,13 @@ return [ 'Twig' => TwigBridge\Facade\Twig::class, 'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, - 'Breadcrumbs' => 'DaveJamesMiller\Breadcrumbs\Facade', - 'Preferences' => 'FireflyIII\Support\Facades\Preferences', - 'FireflyConfig' => 'FireflyIII\Support\Facades\FireflyConfig', - 'Navigation' => 'FireflyIII\Support\Facades\Navigation', - 'Amount' => 'FireflyIII\Support\Facades\Amount', - 'Steam' => 'FireflyIII\Support\Facades\Steam', - 'ExpandedForm' => 'FireflyIII\Support\Facades\ExpandedForm', - 'Entrust' => 'Zizaco\Entrust\EntrustFacade', - 'Input' => 'Illuminate\Support\Facades\Input', + 'Breadcrumbs' => DaveJamesMiller\Breadcrumbs\Facade::class, + 'Preferences' => \FireflyIII\Support\Facades\Preferences::class, + 'FireflyConfig' => \FireflyIII\Support\Facades\FireflyConfig::class, + 'Navigation' => \FireflyIII\Support\Facades\Navigation::class, + 'Amount' => \FireflyIII\Support\Facades\Amount::class, + 'Steam' => \FireflyIII\Support\Facades\Steam::class, + 'ExpandedForm' => \FireflyIII\Support\Facades\ExpandedForm::class, 'Google2FA' => PragmaRX\Google2FA\Vendor\Laravel\Facade::class, ], From 3fda7aa1e5c533683fad52aefa8938c43c293be4 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 10 Sep 2017 08:33:51 +0200 Subject: [PATCH 054/349] Update Kernel file to work with Laravel 5.5 --- app/Http/Kernel.php | 169 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 139 insertions(+), 30 deletions(-) diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index ecfa351e1d..ed55b534eb 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -2,7 +2,30 @@ namespace FireflyIII\Http; +use FireflyIII\Http\Middleware\Authenticate; +use FireflyIII\Http\Middleware\AuthenticateTwoFactor; +use FireflyIII\Http\Middleware\Binder; +use FireflyIII\Http\Middleware\EncryptCookies; +use FireflyIII\Http\Middleware\IsAdmin; +use FireflyIII\Http\Middleware\Range; +use FireflyIII\Http\Middleware\RedirectIfAuthenticated; +use FireflyIII\Http\Middleware\RedirectIfTwoFactorAuthenticated; +use FireflyIII\Http\Middleware\Sandstorm; +use FireflyIII\Http\Middleware\StartFireflySession; +use FireflyIII\Http\Middleware\TrimStrings; +use FireflyIII\Http\Middleware\TrustProxies; +use FireflyIII\Http\Middleware\VerifyCsrfToken; +use Illuminate\Auth\Middleware\AuthenticateWithBasicAuth; +use Illuminate\Auth\Middleware\Authorize; +use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse; use Illuminate\Foundation\Http\Kernel as HttpKernel; +use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode; +use Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull; +use Illuminate\Foundation\Http\Middleware\ValidatePostSize; +use Illuminate\Routing\Middleware\SubstituteBindings; +use Illuminate\Routing\Middleware\ThrottleRequests; +use Illuminate\View\Middleware\ShareErrorsFromSession; + class Kernel extends HttpKernel { @@ -13,35 +36,120 @@ class Kernel extends HttpKernel * * @var array */ - protected $middleware = [ - \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, - \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, - \FireflyIII\Http\Middleware\TrimStrings::class, - \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, - \FireflyIII\Http\Middleware\TrustProxies::class, - ]; + protected $middleware + = [ + CheckForMaintenanceMode::class, + ValidatePostSize::class, + TrimStrings::class, + ConvertEmptyStringsToNull::class, + TrustProxies::class, + ]; /** * The application's route middleware groups. * * @var array */ - protected $middlewareGroups = [ - 'web' => [ - \FireflyIII\Http\Middleware\EncryptCookies::class, - \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, - \Illuminate\Session\Middleware\StartSession::class, - // \Illuminate\Session\Middleware\AuthenticateSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \FireflyIII\Http\Middleware\VerifyCsrfToken::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, - ], + protected $middlewareGroups + = [ + // does not check login + // does not check 2fa + // does not check activation + 'web' => [ + Sandstorm::class, + EncryptCookies::class, + AddQueuedCookiesToResponse::class, + StartFireflySession::class, + ShareErrorsFromSession::class, + VerifyCsrfToken::class, + SubstituteBindings::class, + ], + + + // MUST NOT be logged in. Does not care about 2FA or confirmation. + 'user-not-logged-in' => [ + Sandstorm::class, + EncryptCookies::class, + AddQueuedCookiesToResponse::class, + StartFireflySession::class, + ShareErrorsFromSession::class, + VerifyCsrfToken::class, + SubstituteBindings::class, + RedirectIfAuthenticated::class, + ], + // MUST be logged in. + // MUST NOT have 2FA + // don't care about confirmation: + 'user-logged-in-no-2fa' => [ + Sandstorm::class, + EncryptCookies::class, + AddQueuedCookiesToResponse::class, + StartFireflySession::class, + ShareErrorsFromSession::class, + VerifyCsrfToken::class, + SubstituteBindings::class, + Authenticate::class, + RedirectIfTwoFactorAuthenticated::class, + ], + + // MUST be logged in + // don't care about 2fa + // don't care about confirmation. + 'user-simple-auth' => [ + Sandstorm::class, + EncryptCookies::class, + AddQueuedCookiesToResponse::class, + StartFireflySession::class, + ShareErrorsFromSession::class, + VerifyCsrfToken::class, + SubstituteBindings::class, + Authenticate::class, + ], + + // MUST be logged in + // MUST have 2fa + // MUST be confirmed. + // (this group includes the other Firefly middleware) + 'user-full-auth' => [ + Sandstorm::class, + EncryptCookies::class, + AddQueuedCookiesToResponse::class, + StartFireflySession::class, + ShareErrorsFromSession::class, + VerifyCsrfToken::class, + SubstituteBindings::class, + Authenticate::class, + AuthenticateTwoFactor::class, + Range::class, + Binder::class, + ], + // MUST be logged in + // MUST have 2fa + // MUST be confirmed. + // MUST have owner role + // (this group includes the other Firefly middleware) + 'admin' => [ + Sandstorm::class, + EncryptCookies::class, + AddQueuedCookiesToResponse::class, + StartFireflySession::class, + ShareErrorsFromSession::class, + VerifyCsrfToken::class, + SubstituteBindings::class, + Authenticate::class, + AuthenticateTwoFactor::class, + IsAdmin::class, + Range::class, + Binder::class, + ], + + + 'api' => [ + 'throttle:60,1', + 'bindings', + ], + ]; - 'api' => [ - 'throttle:60,1', - 'bindings', - ], - ]; /** * The application's route middleware. @@ -50,12 +158,13 @@ class Kernel extends HttpKernel * * @var array */ - protected $routeMiddleware = [ - 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, - 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, - 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, - 'can' => \Illuminate\Auth\Middleware\Authorize::class, - 'guest' => \FireflyIII\Http\Middleware\RedirectIfAuthenticated::class, - 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, - ]; + protected $routeMiddleware + = [ + 'auth' => Authenticate::class, + 'auth.basic' => AuthenticateWithBasicAuth::class, + 'bindings' => SubstituteBindings::class, + 'can' => Authorize::class, + 'guest' => RedirectIfAuthenticated::class, + 'throttle' => ThrottleRequests::class, + ]; } From 861941353b550379b2907dcc2fcfd690d6c1b656 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 10 Sep 2017 08:39:00 +0200 Subject: [PATCH 055/349] Update env example file. --- .env.example | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) mode change 100755 => 100644 .env.example diff --git a/.env.example b/.env.example old mode 100755 new mode 100644 index 9a28c9f373..acf43299bf --- a/.env.example +++ b/.env.example @@ -1,7 +1,6 @@ APP_ENV=production APP_DEBUG=false -APP_FORCE_SSL=false -APP_FORCE_ROOT= +APP_NAME=FireflyIII APP_KEY=SomeRandomStringOf32CharsExactly APP_LOG=daily APP_LOG_LEVEL=warning @@ -28,7 +27,7 @@ REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp -MAIL_HOST=mailtrap.io +MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_FROM=changeme@example.com MAIL_USERNAME=null @@ -50,7 +49,7 @@ USE_ENCRYPTION=true PUSHER_KEY= PUSHER_SECRET= -PUSHER_APP_ID= +PUSHER_ID= DEMO_USERNAME= DEMO_PASSWORD= From 750aa80b7cad4413246ce34ed6177fb78c0f95de Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 10 Sep 2017 08:40:02 +0200 Subject: [PATCH 056/349] Updated docker example file. --- .env.docker | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.env.docker b/.env.docker index 69765bff51..e8d5405cbd 100644 --- a/.env.docker +++ b/.env.docker @@ -1,7 +1,6 @@ APP_ENV=${FF_APP_ENV} APP_DEBUG=false -APP_FORCE_SSL=false -APP_FORCE_ROOT= +APP_NAME=FireflyIII APP_KEY=${FF_APP_KEY} APP_LOG=daily APP_LOG_LEVEL=warning @@ -28,7 +27,7 @@ REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp -MAIL_HOST=mailtrap.io +MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_FROM=changeme@example.com MAIL_USERNAME=null @@ -41,6 +40,8 @@ SHOW_INCOMPLETE_TRANSLATIONS=false CACHE_PREFIX=firefly +EXCHANGE_RATE_SERVICE=fixerio + GOOGLE_MAPS_API_KEY= ANALYTICS_ID= SITE_OWNER=mail@example.com @@ -48,7 +49,7 @@ USE_ENCRYPTION=true PUSHER_KEY= PUSHER_SECRET= -PUSHER_APP_ID= +PUSHER_ID= DEMO_USERNAME= DEMO_PASSWORD= From 7e30d761c5142210ace565ba97a21fb125fe5a9d Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 10 Sep 2017 08:42:48 +0200 Subject: [PATCH 057/349] No longer necessary --- .env.sandstorm | 10 +++++----- .env.testing | 46 ---------------------------------------------- 2 files changed, 5 insertions(+), 51 deletions(-) delete mode 100755 .env.testing diff --git a/.env.sandstorm b/.env.sandstorm index ed8d9d511b..77d1aec95c 100755 --- a/.env.sandstorm +++ b/.env.sandstorm @@ -1,7 +1,6 @@ APP_ENV=production APP_DEBUG=true -APP_FORCE_SSL=false -APP_FORCE_ROOT= +APP_NAME=FireflyIII APP_KEY=SomeRandomStringOf32CharsExactly APP_LOG=syslog APP_LOG_LEVEL=debug @@ -28,7 +27,7 @@ REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp -MAIL_HOST=mailtrap.io +MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_FROM=changeme@example.com MAIL_USERNAME=null @@ -41,6 +40,8 @@ SHOW_INCOMPLETE_TRANSLATIONS=false CACHE_PREFIX=firefly +EXCHANGE_RATE_SERVICE=fixerio + GOOGLE_MAPS_API_KEY= ANALYTICS_ID= SITE_OWNER=mail@example.com @@ -48,8 +49,7 @@ USE_ENCRYPTION=true PUSHER_KEY= PUSHER_SECRET= -PUSHER_APP_ID= +PUSHER_ID= DEMO_USERNAME= DEMO_PASSWORD= - diff --git a/.env.testing b/.env.testing deleted file mode 100755 index 2cafd4c2f8..0000000000 --- a/.env.testing +++ /dev/null @@ -1,46 +0,0 @@ -APP_ENV=testing -APP_DEBUG=true -APP_FORCE_SSL=false -APP_FORCE_ROOT= -APP_KEY=TestTestTestTestTestTestTestTest -APP_LOG=daily -APP_LOG_LEVEL=debug -APP_URL=http://localhost - -DB_CONNECTION=sqlite -DB_HOST=127.0.0.1 -DB_PORT=3306 -DB_USERNAME=homestead -DB_PASSWORD=secret - -BROADCAST_DRIVER=log -CACHE_DRIVER=file -SESSION_DRIVER=file -QUEUE_DRIVER=sync - -COOKIE_PATH="/" -COOKIE_DOMAIN= -COOKIE_SECURE=false - -REDIS_HOST=127.0.0.1 -REDIS_PASSWORD=null -REDIS_PORT=6379 - -MAIL_DRIVER=log -MAIL_HOST=mailtrap.io -MAIL_PORT=2525 -MAIL_FROM=changeme@example.com -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=null - -SEND_REGISTRATION_MAIL=true -SEND_ERROR_MESSAGE=true -SHOW_INCOMPLETE_TRANSLATIONS=false - -ANALYTICS_ID= -SITE_OWNER=mail@example.com - -PUSHER_KEY= -PUSHER_SECRET= -PUSHER_APP_ID= From 1faa520168e3250c25e90880ba0d907461c778d2 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 10 Sep 2017 08:43:03 +0200 Subject: [PATCH 058/349] Update composer files. --- composer.json | 6 +- composer.lock | 324 ++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 278 insertions(+), 52 deletions(-) diff --git a/composer.json b/composer.json index 304f4b8572..f8f08e25f1 100644 --- a/composer.json +++ b/composer.json @@ -52,7 +52,7 @@ "ext-mbstring": "*", "ext-curl": "*", "ext-zip": "*", - "laravel/framework": "5.4.*", + "laravel/framework": "5.5.*", "davejamesmiller/laravel-breadcrumbs": "3.*", "watson/validating": "3.*", "doctrine/dbal": "^2.5", @@ -63,7 +63,8 @@ "laravelcollective/html": "^5.4", "rmccue/requests": "1.*", "pragmarx/google2fa": "1.*", - "bacon/bacon-qr-code": "1.*" + "bacon/bacon-qr-code": "1.*", + "fideloper/proxy": "~3.3" }, "require-dev": { "filp/whoops": "~2.0", @@ -105,7 +106,6 @@ "@php artisan package:discover" ], "post-update-cmd": [ - "Illuminate\\Foundation\\ComposerScripts::postUpdate", "php artisan firefly:upgrade-database", "php artisan firefly:verify", "php artisan firefly:instructions update", diff --git a/composer.lock b/composer.lock index f77b4d08a1..a69f921395 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "5b338ca317ffebaaa2b42b83e41d649e", + "content-hash": "6ef9662416273714abd2652bbac20d4c", "packages": [ { "name": "bacon/bacon-qr-code", @@ -626,6 +626,63 @@ ], "time": "2014-09-09T13:34:57+00:00" }, + { + "name": "egulias/email-validator", + "version": "2.1.2", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "bc31baa11ea2883e017f0a10d9722ef9d50eac1c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/bc31baa11ea2883e017f0a10d9722ef9d50eac1c", + "reference": "bc31baa11ea2883e017f0a10d9722ef9d50eac1c", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1.0.1", + "php": ">= 5.5" + }, + "require-dev": { + "dominicsayers/isemail": "dev-master", + "phpunit/phpunit": "^4.8.0", + "satooshi/php-coveralls": "dev-master" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "EmailValidator" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "time": "2017-01-30T22:07:36+00:00" + }, { "name": "erusev/parsedown", "version": "1.6.3", @@ -669,17 +726,74 @@ "time": "2017-05-14T14:47:48+00:00" }, { - "name": "laravel/framework", - "version": "v5.4.36", + "name": "fideloper/proxy", + "version": "3.3.4", "source": { "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "1062a22232071c3e8636487c86ec1ae75681bbf9" + "url": "https://github.com/fideloper/TrustedProxy.git", + "reference": "9cdf6f118af58d89764249bbcc7bb260c132924f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/1062a22232071c3e8636487c86ec1ae75681bbf9", - "reference": "1062a22232071c3e8636487c86ec1ae75681bbf9", + "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/9cdf6f118af58d89764249bbcc7bb260c132924f", + "reference": "9cdf6f118af58d89764249bbcc7bb260c132924f", + "shasum": "" + }, + "require": { + "illuminate/contracts": "~5.0", + "php": ">=5.4.0" + }, + "require-dev": { + "illuminate/http": "~5.0", + "mockery/mockery": "~0.9.3", + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + }, + "laravel": { + "providers": [ + "Fideloper\\Proxy\\TrustedProxyServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Fideloper\\Proxy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Fidao", + "email": "fideloper@gmail.com" + } + ], + "description": "Set trusted proxies for Laravel", + "keywords": [ + "load balancing", + "proxy", + "trusted proxy" + ], + "time": "2017-06-15T17:19:42+00:00" + }, + { + "name": "laravel/framework", + "version": "v5.5.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "779a98d3b2ebed2128db1a668dcc10a65c9b01be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/779a98d3b2ebed2128db1a668dcc10a65c9b01be", + "reference": "779a98d3b2ebed2128db1a668dcc10a65c9b01be", "shasum": "" }, "require": { @@ -688,21 +802,22 @@ "ext-mbstring": "*", "ext-openssl": "*", "league/flysystem": "~1.0", - "monolog/monolog": "~1.11", + "monolog/monolog": "~1.12", "mtdowling/cron-expression": "~1.0", "nesbot/carbon": "~1.20", - "paragonie/random_compat": "~1.4|~2.0", - "php": ">=5.6.4", + "php": ">=7.0", + "psr/container": "~1.0", + "psr/simple-cache": "^1.0", "ramsey/uuid": "~3.0", - "swiftmailer/swiftmailer": "~5.4", - "symfony/console": "~3.2", - "symfony/debug": "~3.2", - "symfony/finder": "~3.2", - "symfony/http-foundation": "~3.2", - "symfony/http-kernel": "~3.2", - "symfony/process": "~3.2", - "symfony/routing": "~3.2", - "symfony/var-dumper": "~3.2", + "swiftmailer/swiftmailer": "~6.0", + "symfony/console": "~3.3", + "symfony/debug": "~3.3", + "symfony/finder": "~3.3", + "symfony/http-foundation": "~3.3", + "symfony/http-kernel": "~3.3", + "symfony/process": "~3.3", + "symfony/routing": "~3.3", + "symfony/var-dumper": "~3.3", "tijsverkoyen/css-to-inline-styles": "~2.2", "vlucas/phpdotenv": "~2.2" }, @@ -741,12 +856,14 @@ "require-dev": { "aws/aws-sdk-php": "~3.0", "doctrine/dbal": "~2.5", - "mockery/mockery": "~0.9.4", + "filp/whoops": "^2.1.4", + "mockery/mockery": "~1.0", + "orchestra/testbench-core": "3.5.*", "pda/pheanstalk": "~3.0", - "phpunit/phpunit": "~5.7", - "predis/predis": "~1.0", - "symfony/css-selector": "~3.2", - "symfony/dom-crawler": "~3.2" + "phpunit/phpunit": "~6.0", + "predis/predis": "^1.1.1", + "symfony/css-selector": "~3.3", + "symfony/dom-crawler": "~3.3" }, "suggest": { "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).", @@ -760,14 +877,14 @@ "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).", "predis/predis": "Required to use the redis cache and queue drivers (~1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0).", - "symfony/css-selector": "Required to use some of the crawler integration testing tools (~3.2).", - "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (~3.2).", - "symfony/psr-http-message-bridge": "Required to psr7 bridging features (0.2.*)." + "symfony/css-selector": "Required to use some of the crawler integration testing tools (~3.3).", + "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (~3.3).", + "symfony/psr-http-message-bridge": "Required to psr7 bridging features (~1.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.4-dev" + "dev-master": "5.5-dev" } }, "autoload": { @@ -795,36 +912,47 @@ "framework", "laravel" ], - "time": "2017-08-30T09:26:16+00:00" + "time": "2017-09-07T13:50:21+00:00" }, { "name": "laravelcollective/html", - "version": "v5.4.9", + "version": "v5.5.1", "source": { "type": "git", "url": "https://github.com/LaravelCollective/html.git", - "reference": "f04965dc688254f4c77f684ab0b42264f9eb9634" + "reference": "2f6dc39ab3655724a615fe8a652d8b7f04fc9ac6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/LaravelCollective/html/zipball/f04965dc688254f4c77f684ab0b42264f9eb9634", - "reference": "f04965dc688254f4c77f684ab0b42264f9eb9634", + "url": "https://api.github.com/repos/LaravelCollective/html/zipball/2f6dc39ab3655724a615fe8a652d8b7f04fc9ac6", + "reference": "2f6dc39ab3655724a615fe8a652d8b7f04fc9ac6", "shasum": "" }, "require": { - "illuminate/http": "5.4.*", - "illuminate/routing": "5.4.*", - "illuminate/session": "5.4.*", - "illuminate/support": "5.4.*", - "illuminate/view": "5.4.*", - "php": ">=5.6.4" + "illuminate/http": "5.5.*", + "illuminate/routing": "5.5.*", + "illuminate/session": "5.5.*", + "illuminate/support": "5.5.*", + "illuminate/view": "5.5.*", + "php": ">=7.0.0" }, "require-dev": { - "illuminate/database": "5.4.*", + "illuminate/database": "5.5.*", "mockery/mockery": "~0.9.4", "phpunit/phpunit": "~5.4" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "Collective\\Html\\HtmlServiceProvider" + ], + "aliases": { + "Form": "Collective\\Html\\FormFacade", + "Html": "Collective\\Html\\HtmlFacade" + } + } + }, "autoload": { "psr-4": { "Collective\\Html\\": "src/" @@ -849,7 +977,7 @@ ], "description": "HTML and Form Builders for the Laravel Framework", "homepage": "http://laravelcollective.com", - "time": "2017-08-12T15:52:38+00:00" + "time": "2017-08-31T14:46:03+00:00" }, { "name": "league/commonmark", @@ -1344,6 +1472,55 @@ ], "time": "2016-07-18T20:25:04+00:00" }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, { "name": "psr/log", "version": "1.0.2", @@ -1391,6 +1568,54 @@ ], "time": "2016-10-10T12:19:37+00:00" }, + { + "name": "psr/simple-cache", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "753fa598e8f3b9966c886fe13f370baa45ef0e24" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/753fa598e8f3b9966c886fe13f370baa45ef0e24", + "reference": "753fa598e8f3b9966c886fe13f370baa45ef0e24", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-01-02T13:31:39+00:00" + }, { "name": "ramsey/uuid", "version": "3.7.0", @@ -1588,29 +1813,30 @@ }, { "name": "swiftmailer/swiftmailer", - "version": "v5.4.8", + "version": "v6.0.1", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517" + "reference": "008f088d535ed3333af5ad804dd4c0eaf97c2805" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/9a06dc570a0367850280eefd3f1dc2da45aef517", - "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/008f088d535ed3333af5ad804dd4c0eaf97c2805", + "reference": "008f088d535ed3333af5ad804dd4c0eaf97c2805", "shasum": "" }, "require": { - "php": ">=5.3.3" + "egulias/email-validator": "~2.0", + "php": ">=7.0.0" }, "require-dev": { "mockery/mockery": "~0.9.1", - "symfony/phpunit-bridge": "~3.2" + "symfony/phpunit-bridge": "~3.3@dev" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.4-dev" + "dev-master": "6.0-dev" } }, "autoload": { @@ -1638,7 +1864,7 @@ "mail", "mailer" ], - "time": "2017-05-01T15:54:03+00:00" + "time": "2017-05-20T06:20:27+00:00" }, { "name": "symfony/console", From 24ea20f769e1ab63981a8282734d4bffc60dbc90 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 10 Sep 2017 09:46:50 +0200 Subject: [PATCH 059/349] Various changes to make things work again. --- app/Http/Controllers/AttachmentController.php | 1 - app/Providers/AppServiceProvider.php | 13 ++----------- app/Support/ExpandedForm.php | 7 ++++--- config/database.php | 2 +- 4 files changed, 7 insertions(+), 16 deletions(-) diff --git a/app/Http/Controllers/AttachmentController.php b/app/Http/Controllers/AttachmentController.php index 6827d58fe2..34cd62b272 100644 --- a/app/Http/Controllers/AttachmentController.php +++ b/app/Http/Controllers/AttachmentController.php @@ -99,7 +99,6 @@ class AttachmentController extends Controller public function download(AttachmentRepositoryInterface $repository, Attachment $attachment) { - if ($repository->exists($attachment)) { $content = $repository->getContent($attachment); $quoted = sprintf('"%s"', addcslashes(basename($attachment->filename), '"\\')); diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 0458f6077b..0057d3afe5 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -15,6 +15,7 @@ namespace FireflyIII\Providers; use Illuminate\Support\ServiceProvider; use URL; +use Illuminate\Support\Facades\Schema; /** * Class AppServiceProvider @@ -30,17 +31,7 @@ class AppServiceProvider extends ServiceProvider */ public function boot() { - - // force root URL. - $forcedUrl = env('APP_FORCE_ROOT', ''); - if (strlen(strval($forcedUrl)) > 0) { - URL::forceRootUrl($forcedUrl); - } - - // force https urls - if (env('APP_FORCE_SSL', false)) { - URL::forceScheme('https'); - } + Schema::defaultStringLength(191); } /** diff --git a/app/Support/ExpandedForm.php b/app/Support/ExpandedForm.php index 5ba557a21d..b9e2936448 100644 --- a/app/Support/ExpandedForm.php +++ b/app/Support/ExpandedForm.php @@ -17,6 +17,7 @@ use Amount as Amt; use Carbon\Carbon; use Eloquent; use Illuminate\Support\Collection; +use Illuminate\Support\Facades\Request; use Illuminate\Support\MessageBag; use Input; use RuntimeException; @@ -332,7 +333,7 @@ class ExpandedForm $previousValue = null; try { - $previousValue = Input::old('post_submit_action'); + $previousValue = request()->old('post_submit_action'); } catch (RuntimeException $e) { // don't care } @@ -488,8 +489,8 @@ class ExpandedForm $value = isset($preFilled[$name]) && is_null($value) ? $preFilled[$name] : $value; } try { - if (!is_null(Input::old($name))) { - $value = Input::old($name); + if (!is_null(request()->old($name))) { + $value = request()->old($name); } } catch (RuntimeException $e) { // don't care about session errors. diff --git a/config/database.php b/config/database.php index 700d335b78..9309d7942a 100644 --- a/config/database.php +++ b/config/database.php @@ -6,7 +6,7 @@ return [ 'connections' => [ 'sqlite' => [ 'driver' => 'sqlite', - 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'database' => env('DB_DATABASE', storage_path('database/database.sqlite')), 'prefix' => '', ], 'mysql' => [ From 9bc9aa0bb0367e41750efcd3506ade4665af3715 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 10 Sep 2017 09:54:00 +0200 Subject: [PATCH 060/349] Add bcscale again. --- bootstrap/app.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bootstrap/app.php b/bootstrap/app.php index ebd712abe1..a1a50466dd 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -11,6 +11,9 @@ | */ +bcscale(12); + + $app = new Illuminate\Foundation\Application( realpath(__DIR__.'/../') ); From f1ff681b06289b8636cc4d1fae41fd6b41f5bcc7 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 14:40:14 +0200 Subject: [PATCH 061/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 46 ++++++++++++++++---------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 3e38819b96..19a1914f83 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -901,39 +901,39 @@ return [ 'link_type_help_inward' => 'Ie. "duplicates"', 'link_type_help_outward' => 'Ie. "is duplicated by"', 'save_connections_by_moving' => 'Save the link between these transaction(s) by moving them to another link type:', - 'do_not_save_connection' => '(do not save connection)', - 'link_transaction' => 'Link transaction', - 'link_to_other_transaction' => 'Link this transaction to another transaction', - 'select_transaction_to_link' => 'Select a transaction to link this transaction to', + 'do_not_save_connection' => '(ne pas enregistrer la connexion)', + 'link_transaction' => 'Lien transaction', + 'link_to_other_transaction' => 'Lier cette transaction à une autre transaction', + 'select_transaction_to_link' => 'Sélectionnez une transaction pour lier cette transaction à', 'this_transaction' => 'Cette transaction', 'transaction' => 'Transaction', 'comments' => 'Commentaires', - 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', - 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', - 'invalid_link_selection' => 'Cannot link these transactions', + 'to_link_not_found' => 'Si la transaction que vous souhaitez lier n\'est pas listée, entrez simplement son identifiant.', + 'invalid_link_data' => 'Type de lien sélectionné invalide. Impossible de lier la transaction.', + 'invalid_link_selection' => 'Impossible de lier ces transactions', 'journals_linked' => 'Ces transactions sont liées.', 'journals_error_linked' => 'Ces transactions sont déjà liées.', - 'journal_links' => 'Transaction links', - 'this_withdrawal' => 'This withdrawal', - 'this_deposit' => 'This deposit', - 'this_transfer' => 'This transfer', - 'overview_for_link' => 'Overview for link type ":name"', - 'delete_journal_link' => 'Delete the link between :source and :destination', - 'deleted_link' => 'Deleted link', + 'journal_links' => 'Liens de transaction', + 'this_withdrawal' => 'Ce retrait', + 'this_deposit' => 'Ce dépôt', + 'this_transfer' => 'Ce transfert', + 'overview_for_link' => 'Aperçu pour le type de lien ":name"', + 'delete_journal_link' => 'Supprimez le lien entre :source et :destination', + 'deleted_link' => 'Lien supprimé', '1_outward' => 'lié à', '2_outward' => 'remboursements (partiellement)', - '3_outward' => '(partially) pays for', - '4_outward' => '(partially) reimburses', - '1_inward' => 'relates to', - '2_inward' => 'is (partially) refunded by', - '3_inward' => 'is (partially) paid for by', - '4_inward' => 'is (partially) reimbursed by', + '3_outward' => '(partiellement) paie pour', + '4_outward' => '(partiellement) remboursé', + '1_inward' => 'se rapporte à', + '2_inward' => 'est (partiellement) remboursé par', + '3_inward' => 'est (partiellement) payé par', + '4_inward' => 'est (partiellement) remboursé par', // split a transaction: - 'splits' => 'Splits', - 'add_another_split' => 'Add another split', - 'split-transactions' => 'Split transactions', + 'splits' => 'Diviser', + 'add_another_split' => 'Ajouter une autre division', + 'split-transactions' => 'Opérations fractionnées', 'do_split' => 'Do a split', 'split_this_withdrawal' => 'Split this withdrawal', 'split_this_deposit' => 'Split this deposit', From dcfec9bd898031d7a54bbf0c1814e14d3cd49caf Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 14:50:11 +0200 Subject: [PATCH 062/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 38 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 19a1914f83..4e57eb169d 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -272,9 +272,9 @@ return [ 'rule_trigger_description_is_choice' => 'La description est..', 'rule_trigger_description_is' => 'La description est ":trigger_value"', 'rule_trigger_budget_is_choice' => 'Le budget est..', - 'rule_trigger_budget_is' => 'Budget is ":trigger_value"', + 'rule_trigger_budget_is' => 'Le budget est ":trigger_value"', 'rule_trigger_tag_is_choice' => '(A) le tag est..', - 'rule_trigger_tag_is' => 'A tag is ":trigger_value"', + 'rule_trigger_tag_is' => 'Un tag est ":trigger_value"', 'rule_trigger_has_attachments_choice' => 'À au moins autant de pièces jointes', 'rule_trigger_has_attachments' => 'À au moins :trigger_value pièce(s) jointe(s)', 'rule_trigger_store_journal' => 'Lorsqu’une transaction est créée', @@ -285,12 +285,12 @@ return [ 'rule_trigger_has_any_category' => 'La transaction comporte une catégorie', 'rule_trigger_has_no_budget_choice' => 'N\'a pas de budget', 'rule_trigger_has_no_budget' => 'La transaction n\'a pas de budget', - 'rule_trigger_has_any_budget_choice' => 'Has a (any) budget', - 'rule_trigger_has_any_budget' => 'Transaction has a (any) budget', + 'rule_trigger_has_any_budget_choice' => 'A un (des) budget', + 'rule_trigger_has_any_budget' => 'La transaction a un (des) budget', 'rule_trigger_has_no_tag_choice' => 'N\'a pas de tag(s)', 'rule_trigger_has_no_tag' => 'La transaction n\'a pas de tag(s)', - 'rule_trigger_has_any_tag_choice' => 'Has one or more (any) tags', - 'rule_trigger_has_any_tag' => 'Transaction has one or more (any) tags', + 'rule_trigger_has_any_tag_choice' => 'Dispose d\'un ou de plusieurs tags', + 'rule_trigger_has_any_tag' => 'La transaction comporte un ou plusieurs tags', 'rule_action_set_category' => 'Définir la catégorie à ":action_value"', 'rule_action_clear_category' => 'Supprimer la catégorie', 'rule_action_set_budget' => 'Définir le budget à ":action_value"', @@ -623,7 +623,7 @@ return [ 'mass_deleted_transactions_success' => 'Montant des opérations supprimées : :amount.', 'mass_edited_transactions_success' => 'Montant des opérations mises à jour : :amount', 'opt_group_no_account_type' => '(aucun type de compte)', - 'opt_group_defaultAsset' => 'Default asset accounts', + 'opt_group_defaultAsset' => 'Comptes d\'actifs par défaut', 'opt_group_savingAsset' => 'Comptes d\'épargne', 'opt_group_sharedAsset' => 'Comptes d\'actifs partagés', 'opt_group_ccAsset' => 'Cartes de crédit', @@ -825,7 +825,7 @@ return [ 'add_money_to_piggy_title' => 'Ajouter de l’argent à la tirelire ":name"', 'remove_money_from_piggy_title' => 'Retirer l’argent de la tirelire ":name"', 'add' => 'Ajouter', - 'no_money_for_piggy' => 'You have no money to put in this piggy bank.', + 'no_money_for_piggy' => 'Vous n\'avez pas d\'argent à placer dans cette tirelire.', 'remove' => 'Enlever', 'max_amount_add' => 'Le montant maximum que vous pouvez ajouter est', @@ -889,7 +889,7 @@ return [ // links 'journal_link_configuration' => 'Configuration des liens de transaction', 'create_new_link_type' => 'Créer un nouveau type de lien', - 'store_new_link_type' => 'Store new link type', + 'store_new_link_type' => 'Enregistrer un nouveau type de lien', 'update_link_type' => 'Update link type', 'edit_link_type' => 'Edit link type ":name"', 'updated_link_type' => 'Updated link type ":name"', @@ -931,16 +931,16 @@ return [ // split a transaction: - 'splits' => 'Diviser', - 'add_another_split' => 'Ajouter une autre division', - 'split-transactions' => 'Opérations fractionnées', - 'do_split' => 'Do a split', - 'split_this_withdrawal' => 'Split this withdrawal', - 'split_this_deposit' => 'Split this deposit', - 'split_this_transfer' => 'Split this transfer', - 'cannot_edit_multiple_source' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple source accounts.', - 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', - 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', + 'splits' => 'Scinder', + 'add_another_split' => 'Ajouter une autre fraction', + 'split-transactions' => 'Opérations scindées', + 'do_split' => 'Faire une fraction', + 'split_this_withdrawal' => 'Scinder ce retrait', + 'split_this_deposit' => 'Scinder ce dépôt', + 'split_this_transfer' => 'Scinder ce transfert', + 'cannot_edit_multiple_source' => 'Vous ne pouvez pas modifier la transaction scindée #:id avec la description ":description" car elle contient plusieurs comptes sources.', + 'cannot_edit_multiple_dest' => 'Vous ne pouvez pas modifier la transaction scindée #:id avec la description ":description" car elle contient plusieurs comptes de destination.', + 'cannot_edit_opening_balance' => 'Vous ne pouvez pas modifier le solde d\'ouverture d\'un compte.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', // import bread crumbs and titles: From 625d626b254cf22ea05080eb3e61aac776383cca Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 15:00:15 +0200 Subject: [PATCH 063/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 70 ++++++++++++++++---------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 4e57eb169d..e13e996394 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -890,17 +890,17 @@ return [ 'journal_link_configuration' => 'Configuration des liens de transaction', 'create_new_link_type' => 'Créer un nouveau type de lien', 'store_new_link_type' => 'Enregistrer un nouveau type de lien', - 'update_link_type' => 'Update link type', - 'edit_link_type' => 'Edit link type ":name"', - 'updated_link_type' => 'Updated link type ":name"', - 'delete_link_type' => 'Delete link type ":name"', - 'deleted_link_type' => 'Deleted link type ":name"', - 'stored_new_link_type' => 'Store new link type ":name"', - 'cannot_edit_link_type' => 'Cannot edit link type ":name"', - 'link_type_help_name' => 'Ie. "Duplicates"', - 'link_type_help_inward' => 'Ie. "duplicates"', - 'link_type_help_outward' => 'Ie. "is duplicated by"', - 'save_connections_by_moving' => 'Save the link between these transaction(s) by moving them to another link type:', + 'update_link_type' => 'Mettre à jour le type de lien', + 'edit_link_type' => 'Modifier le type de lien ":name"', + 'updated_link_type' => 'Type de lien mis à jour ":name"', + 'delete_link_type' => 'Supprimer le type de lien ":name"', + 'deleted_link_type' => 'Type de lien supprimé ":name"', + 'stored_new_link_type' => 'Enregistrer le nouveau type de lien ":name"', + 'cannot_edit_link_type' => 'Impossible d\'éditer le type de lien ":name"', + 'link_type_help_name' => 'C\'est à dire "Doublons"', + 'link_type_help_inward' => 'C\'est à dire "doublons"', + 'link_type_help_outward' => 'C\'est à dire "est dupliqué par"', + 'save_connections_by_moving' => 'Enregistrez le lien entre ces transaction(s) en les déplaçant vers un autre type de lien :', 'do_not_save_connection' => '(ne pas enregistrer la connexion)', 'link_transaction' => 'Lien transaction', 'link_to_other_transaction' => 'Lier cette transaction à une autre transaction', @@ -941,7 +941,7 @@ return [ 'cannot_edit_multiple_source' => 'Vous ne pouvez pas modifier la transaction scindée #:id avec la description ":description" car elle contient plusieurs comptes sources.', 'cannot_edit_multiple_dest' => 'Vous ne pouvez pas modifier la transaction scindée #:id avec la description ":description" car elle contient plusieurs comptes de destination.', 'cannot_edit_opening_balance' => 'Vous ne pouvez pas modifier le solde d\'ouverture d\'un compte.', - 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', + 'no_edit_multiple_left' => 'Vous n\'avez sélectionné aucune transaction valide à éditer.', // import bread crumbs and titles: 'import' => 'Import', @@ -950,36 +950,36 @@ return [ // import index page: 'import_index_title' => 'Importer des données dans Firefly III', 'import_index_sub_title' => 'Index', - 'import_general_index_intro' => 'Welcome to Firefly\'s import routine. There are a few ways of importing data into Firefly III, displayed here as buttons.', - 'import_index_intro' => 'This routine will help you import files from your bank into Firefly III. Please check out the help pages in the top right corner.', + 'import_general_index_intro' => 'Bienvenue dans la routine d\'importation de Firefly. Il existe différentes façons d\'importer des données dans Firefly III, affichées ici sous forme de boutons.', + 'import_index_intro' => 'Cette routine vous aidera à importer des fichiers de votre banque dans Firefly III. Consultez les pages d\'aide en haut à droite.', 'import_index_file' => 'Sélectionnez votre fichier', - 'import_index_config' => 'If you have previously imported data into Firefly III, you may have a configuration file, which will pre-set configuration values for you. For some banks, other users have kindly provided their configuration file.', - 'import_index_type' => 'Select the type of file you will upload', - 'import_index_start' => 'Start importing', + 'import_index_config' => 'Si vous avez précédemment importé des données dans Firefly III, vous pouvez avoir un fichier de configuration qui définira les valeurs de configuration. Pour certaines banques, les autres utilisateurs ont bien voulu fournir leur fichier configuration.', + 'import_index_type' => 'Sélectionnez le type de fichier que vous allez télécharger', + 'import_index_start' => 'Démarrer l\'importation', // supported file types: - 'import_file_type_csv' => 'CSV (comma separated values)', + 'import_file_type_csv' => 'CSV (valeurs séparées par des virgules)', // import configuration routine: - 'import_config_sub_title' => 'Set up your import file', - 'import_config_bread_crumb' => 'Set up your import file', + 'import_config_sub_title' => 'Configurez votre fichier d\'importation', + 'import_config_bread_crumb' => 'Configurez votre fichier d\'importation', // import status page: - 'import_status_bread_crumb' => 'Import status', - 'import_status_sub_title' => 'Import status', - 'import_status_wait_title' => 'Please hold...', - 'import_status_wait_text' => 'This box will disappear in a moment.', - 'import_status_ready_title' => 'Import is ready to start', - 'import_status_ready_text' => 'The import is ready to start. All the configuration you needed to do has been done. Please download the configuration file. It will help you with the import should it not go as planned. To actually run the import, you can either execute the following command in your console, or run the web-based import. Depending on your configuration, the console import will give you more feedback.', - 'import_status_ready_config' => 'Download configuration', - 'import_status_ready_start' => 'Start the import', - 'import_status_ready_share' => 'Please consider downloading your configuration and sharing it at the import configuration center. This will allow other users of Firefly III to import their files more easily.', - 'import_status_running_title' => 'The import is running', - 'import_status_running_placeholder' => 'Please hold for an update...', - 'import_status_errors_title' => 'Errors during the import', - 'import_status_errors_single' => 'An error has occured during the import. It does not appear to be fatal.', - 'import_status_errors_multi' => 'Some errors occured during the import. These do not appear to be fatal.', - 'import_status_fatal_title' => 'A fatal error occurred', + 'import_status_bread_crumb' => 'Statut d\'importation', + 'import_status_sub_title' => 'Statut d\'importation', + 'import_status_wait_title' => 'Veuillez patienter...', + 'import_status_wait_text' => 'Cette boîte disparaîtra dans un instant.', + 'import_status_ready_title' => 'L\'importation est prête à démarrer', + 'import_status_ready_text' => 'L\'importation est prête à démarrer. Toute la configuration que vous aviez à faire a été effectuée. Téléchargez le fichier de configuration. Cela vous aidera avec l\'importation si cela ne fonctionnait pas comme prévu. Pour exécuter l\'importation, vous pouvez soit exécuter la commande suivante dans votre console, soit exécuter l\'importation basée sur le Web. Selon votre configuration, l\'importation de la console vous donnera plus de détails.', + 'import_status_ready_config' => 'Télécharger la configuration', + 'import_status_ready_start' => 'Démarrer l\'importation', + 'import_status_ready_share' => 'Veuillez envisager de télécharger votre configuration et de la partager au centre de configuration d\'import. Cela permettra à d\'autres utilisateurs de Firefly III d\'importer leurs fichiers plus facilement.', + 'import_status_running_title' => 'L\'importation est en cours d\'exécution', + 'import_status_running_placeholder' => 'Attendez pour une mise à jour ...', + 'import_status_errors_title' => 'Erreurs lors de l\'importation', + 'import_status_errors_single' => 'Une erreur est survenue lors de l\'importation. Cela ne semble pas être fatal.', + 'import_status_errors_multi' => 'Certaines erreurs sont survenues lors de l\'importation. Ceux-ci ne semblent pas être fatal.', + 'import_status_fatal_title' => 'Une erreur fatale est survenue', 'import_status_fatal_text' => 'A fatal error occurred, which the import-routine cannot recover from. Please see the explanation in red below.', 'import_status_fatal_more' => 'If the error is a time-out, the import will have stopped half-way. For some server configurations, it is merely the server that stopped while the import keeps running in the background. To verify this, check out the log files. If the problem persists, consider importing over the command line instead.', 'import_status_finished_title' => 'Import routine finished', From 561dc57c03cfdce96443837f4fbf26aca7167b3f Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 15:10:14 +0200 Subject: [PATCH 064/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 52 ++++++++++++++++---------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index e13e996394..0b03c63f4d 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -980,36 +980,36 @@ return [ 'import_status_errors_single' => 'Une erreur est survenue lors de l\'importation. Cela ne semble pas être fatal.', 'import_status_errors_multi' => 'Certaines erreurs sont survenues lors de l\'importation. Ceux-ci ne semblent pas être fatal.', 'import_status_fatal_title' => 'Une erreur fatale est survenue', - 'import_status_fatal_text' => 'A fatal error occurred, which the import-routine cannot recover from. Please see the explanation in red below.', - 'import_status_fatal_more' => 'If the error is a time-out, the import will have stopped half-way. For some server configurations, it is merely the server that stopped while the import keeps running in the background. To verify this, check out the log files. If the problem persists, consider importing over the command line instead.', - 'import_status_finished_title' => 'Import routine finished', - 'import_status_finished_text' => 'The import routine has imported your file.', - 'import_status_finished_job' => 'The transactions imported can be found in tag :tag.', - 'import_with_key' => 'Import with key \':key\'', + 'import_status_fatal_text' => 'Une erreur fatale est survenue, que l\'importation-routine ne peut pas récupérer. Voir l\'explication en rouge ci-dessous.', + 'import_status_fatal_more' => 'Si l\'erreur est un time-out, l\'importation sera arrêtée à mi-chemin. Pour certaines configurations de serveur, ce n\'est que le serveur qui s\'est arrêté alors que l\'importation continue de fonctionner en arrière-plan. Pour vérifier cela, consultez les fichiers journaux. Si le problème persiste, envisagez d\'importer plutôt par la ligne de commande.', + 'import_status_finished_title' => 'La routine d\'importation est terminée', + 'import_status_finished_text' => 'La routine d\'importation a importé votre fichier.', + 'import_status_finished_job' => 'Les transactions importées se trouvent dans la balise :tag.', + 'import_with_key' => 'Importer avec la touche \':key\'', // sandstorm.io errors and messages: - 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', + 'sandstorm_not_available' => 'Cette fonction n\'est pas disponible lorsque vous utilisez Firefly III dans un environnement Sandstorm.io.', // empty lists? no objects? instructions: - 'no_accounts_title_asset' => 'Let\'s create an asset account!', - 'no_accounts_intro_asset' => 'You have no asset accounts yet. Asset accounts are your main accounts: your checking account, savings account, shared account or even your credit card.', - 'no_accounts_imperative_asset' => 'To start using Firefly III you must create at least one asset account. Let\'s do so now:', - 'no_accounts_create_asset' => 'Create an asset account', - 'no_accounts_title_expense' => 'Let\'s create an expense account!', - 'no_accounts_intro_expense' => 'You have no expense accounts yet. Expense accounts are the places where you spend money, such as shops and supermarkets.', - 'no_accounts_imperative_expense' => 'Expense accounts are created automatically when you create transactions, but you can create one manually too, if you want. Let\'s create one now:', - 'no_accounts_create_expense' => 'Create an expense account', - 'no_accounts_title_revenue' => 'Let\'s create a revenue account!', - 'no_accounts_intro_revenue' => 'You have no revenue accounts yet. Revenue accounts are the places where you receive money from, such as your employer.', - 'no_accounts_imperative_revenue' => 'Revenue accounts are created automatically when you create transactions, but you can create one manually too, if you want. Let\'s create one now:', - 'no_accounts_create_revenue' => 'Create a revenue account', - 'no_budgets_title_default' => 'Let\'s create a budget', - 'no_budgets_intro_default' => 'You have no budgets yet. Budgets are used to organise your expenses into logical groups, which you can give a soft-cap to limit your expenses.', - 'no_budgets_imperative_default' => 'Budgets are the basic tools of financial management. Let\'s create one now:', - 'no_budgets_create_default' => 'Create a budget', - 'no_categories_title_default' => 'Let\'s create a category!', - 'no_categories_intro_default' => 'You have no categories yet. Categories are used to fine tune your transactions and label them with their designated category.', - 'no_categories_imperative_default' => 'Categories are created automatically when you create transactions, but you can create one manually too. Let\'s create one now:', + 'no_accounts_title_asset' => 'Nous allons créer un compte d’actif !', + 'no_accounts_intro_asset' => 'Vous n\'avez pas encore de compte d\'actif. Les comptes d\'actifs sont vos comptes principaux : votre compte courant, votre compte d\'épargne, votre compte partagé ou même votre carte de crédit.', + 'no_accounts_imperative_asset' => 'Pour commencer à utiliser Firefly III, vous devez créer au moins un compte d\'actif. Faisons-le maintenant :', + 'no_accounts_create_asset' => 'Créer un compte d\'actif', + 'no_accounts_title_expense' => 'Nous allons créer un compte de dépenses !', + 'no_accounts_intro_expense' => 'Vous n\'avez pas encore de compte de dépenses. Les comptes de dépenses sont les endroits où vous dépensez, comme les magasins et les supermarchés.', + 'no_accounts_imperative_expense' => 'Les comptes de dépenses sont créés automatiquement lorsque vous créez des transactions, mais vous pouvez en créer une manuellement, si vous le souhaitez. Nous allons en créer un maintenant :', + 'no_accounts_create_expense' => 'Créer un compte de dépenses', + 'no_accounts_title_revenue' => 'Nous allons créer un compte de recettes !', + 'no_accounts_intro_revenue' => 'Vous n\'avez pas encore de compte de revenus. Les comptes de revenus sont les endroits où vous recevez de l\'argent, comme votre employeur.', + 'no_accounts_imperative_revenue' => 'Les comptes de revenus sont créés automatiquement lorsque vous créez des transactions, mais vous pouvez en créer une manuellement, si vous le souhaitez. Nous allons en créer un maintenant :', + 'no_accounts_create_revenue' => 'Créer un compte de revenus', + 'no_budgets_title_default' => 'Nous allons créer un budget', + 'no_budgets_intro_default' => 'Vous n\'avez pas encore de budget. Les budgets sont utilisés pour organiser vos dépenses dans des groupes logiques, auxquelles vous pouvez donner des plafonds pour limiter vos dépenses.', + 'no_budgets_imperative_default' => 'Les budgets sont les outils de base de la gestion financière. Nous allons en créer un maintenant :', + 'no_budgets_create_default' => 'Créer un budget', + 'no_categories_title_default' => 'Nous allons créer une catégorie !', + 'no_categories_intro_default' => 'Vous n\'avez pas encore de catégories. Les catégories sont utilisées pour affiner vos transactions et les étiqueter avec leur catégorie désignée.', + 'no_categories_imperative_default' => 'Les catégories sont créées automatiquement lorsque vous créez des transactions, mais vous pouvez en créer une manuellement. Nous allons en créer une maintenant :', 'no_categories_create_default' => 'Create a category', 'no_tags_title_default' => 'Let\'s create a tag!', 'no_tags_intro_default' => 'You have no tags yet. Tags are used to fine tune your transactions and label them with specific keywords.', From 7d5e93650bb3101a160d8cc8252cc545850f1751 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 15:20:12 +0200 Subject: [PATCH 065/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 0b03c63f4d..94a36a5f36 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -1010,20 +1010,20 @@ return [ 'no_categories_title_default' => 'Nous allons créer une catégorie !', 'no_categories_intro_default' => 'Vous n\'avez pas encore de catégories. Les catégories sont utilisées pour affiner vos transactions et les étiqueter avec leur catégorie désignée.', 'no_categories_imperative_default' => 'Les catégories sont créées automatiquement lorsque vous créez des transactions, mais vous pouvez en créer une manuellement. Nous allons en créer une maintenant :', - 'no_categories_create_default' => 'Create a category', - 'no_tags_title_default' => 'Let\'s create a tag!', - 'no_tags_intro_default' => 'You have no tags yet. Tags are used to fine tune your transactions and label them with specific keywords.', - 'no_tags_imperative_default' => 'Tags are created automatically when you create transactions, but you can create one manually too. Let\'s create one now:', + 'no_categories_create_default' => 'Créer une catégorie', + 'no_tags_title_default' => 'Nous allons créer un tag !', + 'no_tags_intro_default' => 'Vous n\'avez pas encore de tags. Les tags sont utilisées pour affiner vos transactions et les étiqueter avec des mots-clés spécifiques.', + 'no_tags_imperative_default' => 'Les tags sont créés automatiquement lorsque vous créez des transactions, mais vous pouvez créer un manuellement trop. Nous allons en créer un maintenant :', 'no_tags_create_default' => 'Créer une étiquette', - 'no_transactions_title_withdrawal' => 'Let\'s create an expense!', - 'no_transactions_intro_withdrawal' => 'You have no expenses yet. You should create expenses to start managing your finances.', - 'no_transactions_imperative_withdrawal' => 'Have you spent some money? Then you should write it down:', - 'no_transactions_create_withdrawal' => 'Create an expense', - 'no_transactions_title_deposit' => 'Let\'s create some income!', - 'no_transactions_intro_deposit' => 'You have no recorded income yet. You should create income entries to start managing your finances.', - 'no_transactions_imperative_deposit' => 'Have you received some money? Then you should write it down:', - 'no_transactions_create_deposit' => 'Create a deposit', - 'no_transactions_title_transfers' => 'Let\'s create a transfer!', + 'no_transactions_title_withdrawal' => 'Nous allons créer une dépense !', + 'no_transactions_intro_withdrawal' => 'Vous n\'avez pas encore de dépenses. Vous devriez créer des dépenses pour commencer à gérer vos finances.', + 'no_transactions_imperative_withdrawal' => 'Avez-vous passé de l’argent ? Alors vous devriez l’écrire :', + 'no_transactions_create_withdrawal' => 'Créer une dépense', + 'no_transactions_title_deposit' => 'Nous allons créer un revenu !', + 'no_transactions_intro_deposit' => 'Vous n\'avez pas encore enregistré de revenus. Vous devriez créer des entrées de revenus pour commencer à gérer vos finances.', + 'no_transactions_imperative_deposit' => 'Est-ce que vous avez reçu de l’argent ? Alors vous devriez l’écrire :', + 'no_transactions_create_deposit' => 'Créer un dépôt', + 'no_transactions_title_transfers' => 'Nous allons créer un transfert !', 'no_transactions_intro_transfers' => 'You have no transfers yet. When you move money between asset accounts, it is recorded as a transfer.', 'no_transactions_imperative_transfers' => 'Have you moved some money around? Then you should write it down:', 'no_transactions_create_transfers' => 'Create a transfer', From 590ce971bfb65c6115203795edc0dec66884992e Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 17:20:12 +0200 Subject: [PATCH 066/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 94a36a5f36..658c23afa7 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -1024,11 +1024,11 @@ return [ 'no_transactions_imperative_deposit' => 'Est-ce que vous avez reçu de l’argent ? Alors vous devriez l’écrire :', 'no_transactions_create_deposit' => 'Créer un dépôt', 'no_transactions_title_transfers' => 'Nous allons créer un transfert !', - 'no_transactions_intro_transfers' => 'You have no transfers yet. When you move money between asset accounts, it is recorded as a transfer.', - 'no_transactions_imperative_transfers' => 'Have you moved some money around? Then you should write it down:', - 'no_transactions_create_transfers' => 'Create a transfer', - 'no_piggies_title_default' => 'Let\'s create a piggy bank!', - 'no_piggies_intro_default' => 'You have no piggy banks yet. You can create piggy banks to divide your savings and keep track of what you\'re saving up for.', + 'no_transactions_intro_transfers' => 'Vous n\'avez pas encore de transferts. Lorsque vous transférez de l\'argent entre les comptes d\'actifs, c\'est enregistré comme un transfert.', + 'no_transactions_imperative_transfers' => 'Avez vous déplacée de l’argent ? Alors vous devriez l’écrire :', + 'no_transactions_create_transfers' => 'Créer un transfert', + 'no_piggies_title_default' => 'Nous allons créer une tirelire !', + 'no_piggies_intro_default' => 'Vous n\'avez encore pas de tirelire. Vous pouvez créer des tirelires pour diviser vos économies et garder une trace de ce que vous économisez.', 'no_piggies_imperative_default' => 'Do you have things you\'re saving money for? Create a piggy bank and keep track:', 'no_piggies_create_default' => 'Create a new piggy bank', 'no_bills_title_default' => 'Let\'s create a bill!', From 5cacf15322a6a798e842d57e5787015b5aa71508 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 17:30:11 +0200 Subject: [PATCH 067/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 658c23afa7..45ef24845a 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -1029,12 +1029,12 @@ return [ 'no_transactions_create_transfers' => 'Créer un transfert', 'no_piggies_title_default' => 'Nous allons créer une tirelire !', 'no_piggies_intro_default' => 'Vous n\'avez encore pas de tirelire. Vous pouvez créer des tirelires pour diviser vos économies et garder une trace de ce que vous économisez.', - 'no_piggies_imperative_default' => 'Do you have things you\'re saving money for? Create a piggy bank and keep track:', - 'no_piggies_create_default' => 'Create a new piggy bank', - 'no_bills_title_default' => 'Let\'s create a bill!', - 'no_bills_intro_default' => 'You have no bills yet. You can create bills to keep track of regular expenses, like your rent of insurance.', - 'no_bills_imperative_default' => 'Do you have such regular bills? Create a bill and keep track of your payments:', - 'no_bills_create_default' => 'Create a bill', + 'no_piggies_imperative_default' => 'Avez-vous des choses pour lesquelles vous économisez de l\'argent ? Créer une tirelire et suivez-là :', + 'no_piggies_create_default' => 'Créer une nouvelle tirelire', + 'no_bills_title_default' => 'Nous allons créer une facture !', + 'no_bills_intro_default' => 'Vous n\'avez pas encore de factures. Vous pouvez créer des factures pour suivre les dépenses ordinaires, comme votre loyer d\'assurance.', + 'no_bills_imperative_default' => 'Avez-vous des factures régulières ? Créez une facture et suivez vos paiements :', + 'no_bills_create_default' => 'Créer une facture', ]; From 96795fe1976cedaf7d9a63c7e01dd0d11e4621ee Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 17:30:17 +0200 Subject: [PATCH 068/349] New translations form.php (French) --- resources/lang/fr_FR/form.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/fr_FR/form.php b/resources/lang/fr_FR/form.php index 5e23cea76f..f2e1f1623d 100644 --- a/resources/lang/fr_FR/form.php +++ b/resources/lang/fr_FR/form.php @@ -94,7 +94,7 @@ return [ 'code' => 'Code', 'iban' => 'Numéro IBAN', 'accountNumber' => 'N° de compte', - 'creditCardNumber' => 'Credit card number', + 'creditCardNumber' => 'Numéro de carte de crédit', 'has_headers' => 'Entêtes ', 'date_format' => 'Format de la date', 'specifix' => 'Banque - ou déposer des corrections spécifiques', From 73d85ca8c696798f56944781e5bea4ac3df48635 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 18:24:12 +0200 Subject: [PATCH 069/349] Update kernel so it works. --- app/Http/Kernel.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index ed55b534eb..18ea0bc8c6 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -11,7 +11,6 @@ use FireflyIII\Http\Middleware\Range; use FireflyIII\Http\Middleware\RedirectIfAuthenticated; use FireflyIII\Http\Middleware\RedirectIfTwoFactorAuthenticated; use FireflyIII\Http\Middleware\Sandstorm; -use FireflyIII\Http\Middleware\StartFireflySession; use FireflyIII\Http\Middleware\TrimStrings; use FireflyIII\Http\Middleware\TrustProxies; use FireflyIII\Http\Middleware\VerifyCsrfToken; @@ -24,6 +23,7 @@ use Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull; use Illuminate\Foundation\Http\Middleware\ValidatePostSize; use Illuminate\Routing\Middleware\SubstituteBindings; use Illuminate\Routing\Middleware\ThrottleRequests; +use Illuminate\Session\Middleware\StartSession; use Illuminate\View\Middleware\ShareErrorsFromSession; @@ -59,7 +59,7 @@ class Kernel extends HttpKernel Sandstorm::class, EncryptCookies::class, AddQueuedCookiesToResponse::class, - StartFireflySession::class, + StartSession::class, ShareErrorsFromSession::class, VerifyCsrfToken::class, SubstituteBindings::class, @@ -71,7 +71,7 @@ class Kernel extends HttpKernel Sandstorm::class, EncryptCookies::class, AddQueuedCookiesToResponse::class, - StartFireflySession::class, + StartSession::class, ShareErrorsFromSession::class, VerifyCsrfToken::class, SubstituteBindings::class, @@ -84,7 +84,7 @@ class Kernel extends HttpKernel Sandstorm::class, EncryptCookies::class, AddQueuedCookiesToResponse::class, - StartFireflySession::class, + StartSession::class, ShareErrorsFromSession::class, VerifyCsrfToken::class, SubstituteBindings::class, @@ -99,7 +99,7 @@ class Kernel extends HttpKernel Sandstorm::class, EncryptCookies::class, AddQueuedCookiesToResponse::class, - StartFireflySession::class, + StartSession::class, ShareErrorsFromSession::class, VerifyCsrfToken::class, SubstituteBindings::class, @@ -114,7 +114,7 @@ class Kernel extends HttpKernel Sandstorm::class, EncryptCookies::class, AddQueuedCookiesToResponse::class, - StartFireflySession::class, + StartSession::class, ShareErrorsFromSession::class, VerifyCsrfToken::class, SubstituteBindings::class, @@ -132,7 +132,7 @@ class Kernel extends HttpKernel Sandstorm::class, EncryptCookies::class, AddQueuedCookiesToResponse::class, - StartFireflySession::class, + StartSession::class, ShareErrorsFromSession::class, VerifyCsrfToken::class, SubstituteBindings::class, From 626a9aac4b70cec50a0d3110df6fb80c8c54ea81 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 18:24:19 +0200 Subject: [PATCH 070/349] Update gitignore. --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index b6a4b86d78..e8992ef3ee 100644 --- a/.gitignore +++ b/.gitignore @@ -3,10 +3,12 @@ /public/storage /storage/*.key /vendor -/.idea /.vagrant Homestead.json Homestead.yaml npm-debug.log yarn-error.log .env +public/google*.html +report.html +composer.phar From ce205ab413911ecdc767cdbec4ab513c78fb2386 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 18:24:42 +0200 Subject: [PATCH 071/349] Various small fixes. --- app/Http/Controllers/Auth/LoginController.php | 1 + phpunit.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index d6133b9f57..6e11b41b38 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -34,6 +34,7 @@ class LoginController extends Controller */ public function __construct() { + parent::__construct(); $this->middleware('guest')->except('logout'); } } diff --git a/phpunit.xml b/phpunit.xml index bb9c4a7e1e..8ce1608fc8 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -7,7 +7,7 @@ convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" - stopOnFailure="false"> + stopOnFailure="true"> ./tests/Feature From 6e80b2f4c84719a628d369daa493653ab6bae62c Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 19:47:29 +0200 Subject: [PATCH 072/349] Update tests. --- app/Http/Controllers/Transaction/ConvertController.php | 8 ++++---- app/Http/Requests/AttachmentFormRequest.php | 6 +++--- app/Http/Requests/JournalFormRequest.php | 6 +++--- app/Http/Requests/RuleGroupFormRequest.php | 2 +- resources/lang/en_US/firefly.php | 1 + tests/Feature/Controllers/AttachmentControllerTest.php | 4 ++-- .../Controllers/Chart/BudgetReportControllerTest.php | 3 --- tests/Feature/Controllers/RuleGroupControllerTest.php | 2 +- tests/Feature/ExampleTest.php | 2 +- 9 files changed, 16 insertions(+), 18 deletions(-) diff --git a/app/Http/Controllers/Transaction/ConvertController.php b/app/Http/Controllers/Transaction/ConvertController.php index b01335dce7..196d6b5efd 100644 --- a/app/Http/Controllers/Transaction/ConvertController.php +++ b/app/Http/Controllers/Transaction/ConvertController.php @@ -85,7 +85,7 @@ class ConvertController extends Controller // cannot convert split. if ($journal->transactions()->count() > 2) { - Session::flash('error', trans('firefly.cannot_convert_split_journl')); + Session::flash('error', trans('firefly.cannot_convert_split_journal')); return redirect(route('transactions.show', [$journal->id])); } @@ -134,7 +134,7 @@ class ConvertController extends Controller } if ($journal->transactions()->count() > 2) { - Session::flash('error', trans('firefly.cannot_convert_split_journl')); + Session::flash('error', trans('firefly.cannot_convert_split_journal')); return redirect(route('transactions.show', [$journal->id])); } @@ -185,7 +185,7 @@ class ConvertController extends Controller case TransactionType::DEPOSIT . '-' . TransactionType::WITHDRAWAL: case TransactionType::TRANSFER . '-' . TransactionType::WITHDRAWAL: // three and five - if ($data['destination_account_expense'] === '') { + if ($data['destination_account_expense'] === '' || is_null($data['destination_account_expense'])) { // destination is a cash account. $destination = $accountRepository->getCashAccount(); @@ -232,7 +232,7 @@ class ConvertController extends Controller case TransactionType::WITHDRAWAL . '-' . TransactionType::DEPOSIT: case TransactionType::TRANSFER . '-' . TransactionType::DEPOSIT: - if ($data['source_account_revenue'] === '') { + if ($data['source_account_revenue'] === '' || is_null($data['source_account_revenue'])) { // destination is a cash account. $destination = $accountRepository->getCashAccount(); diff --git a/app/Http/Requests/AttachmentFormRequest.php b/app/Http/Requests/AttachmentFormRequest.php index 30d2fe6d2b..d51a1b4a15 100644 --- a/app/Http/Requests/AttachmentFormRequest.php +++ b/app/Http/Requests/AttachmentFormRequest.php @@ -49,9 +49,9 @@ class AttachmentFormRequest extends Request { return [ - 'title' => 'between:1,255', - 'description' => 'between:1,65536', - 'notes' => 'between:1,65536', + 'title' => 'between:1,255|nullable', + 'description' => 'between:1,65536|nullable', + 'notes' => 'between:1,65536|nullable', ]; } } diff --git a/app/Http/Requests/JournalFormRequest.php b/app/Http/Requests/JournalFormRequest.php index f38acfbc4d..aeadae21a6 100644 --- a/app/Http/Requests/JournalFormRequest.php +++ b/app/Http/Requests/JournalFormRequest.php @@ -108,9 +108,9 @@ class JournalFormRequest extends Request 'piggy_bank_id' => 'between:1,255', // foreign currency amounts - 'native_amount' => 'numeric|more:0', - 'source_amount' => 'numeric|more:0', - 'destination_amount' => 'numeric', + 'native_amount' => 'numeric|more:0|nullable', + 'source_amount' => 'numeric|more:0|nullable', + 'destination_amount' => 'numeric|more:0|nullable', ]; // some rules get an upgrade depending on the type of data: diff --git a/app/Http/Requests/RuleGroupFormRequest.php b/app/Http/Requests/RuleGroupFormRequest.php index 4e94676e23..952025c558 100644 --- a/app/Http/Requests/RuleGroupFormRequest.php +++ b/app/Http/Requests/RuleGroupFormRequest.php @@ -57,7 +57,7 @@ class RuleGroupFormRequest extends Request return [ 'title' => $titleRule, - 'description' => 'between:1,5000', + 'description' => 'between:1,5000|nullable', ]; } } diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index a823067ec7..e92ca4a27b 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -942,6 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', + 'cannot_convert_split_journl' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', diff --git a/tests/Feature/Controllers/AttachmentControllerTest.php b/tests/Feature/Controllers/AttachmentControllerTest.php index af2c294fd4..2088d98c9d 100644 --- a/tests/Feature/Controllers/AttachmentControllerTest.php +++ b/tests/Feature/Controllers/AttachmentControllerTest.php @@ -138,8 +138,8 @@ class AttachmentControllerTest extends TestCase $this->session(['attachments.edit.uri' => 'http://localhost']); $data = [ 'title' => 'Some updated title ' . rand(1000, 9999), - 'notes' => '', - 'description' => '', + 'notes' => 'A', + 'description' => 'B', ]; $this->be($this->user()); diff --git a/tests/Feature/Controllers/Chart/BudgetReportControllerTest.php b/tests/Feature/Controllers/Chart/BudgetReportControllerTest.php index 4edc642a6a..99ed8ff842 100644 --- a/tests/Feature/Controllers/Chart/BudgetReportControllerTest.php +++ b/tests/Feature/Controllers/Chart/BudgetReportControllerTest.php @@ -24,7 +24,6 @@ use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use Illuminate\Support\Collection; -use Log; use Tests\TestCase; /** @@ -104,8 +103,6 @@ class BudgetReportControllerTest extends TestCase $transaction->amount = '-100'; $transaction->opposing_account_id = 8; - Log::debug('Transaction', $transaction->toArray()); - $budgetRepos->shouldReceive('getAllBudgetLimits')->andReturn(new Collection([$one, $two]))->once(); diff --git a/tests/Feature/Controllers/RuleGroupControllerTest.php b/tests/Feature/Controllers/RuleGroupControllerTest.php index 59ea1f075a..09cbfe582b 100644 --- a/tests/Feature/Controllers/RuleGroupControllerTest.php +++ b/tests/Feature/Controllers/RuleGroupControllerTest.php @@ -176,7 +176,7 @@ class RuleGroupControllerTest extends TestCase $repository->shouldReceive('find')->andReturn(new RuleGroup); $data = [ 'title' => 'A', - 'description' => '', + 'description' => 'No description', ]; diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php index f31e495ca3..6eb72b6d40 100644 --- a/tests/Feature/ExampleTest.php +++ b/tests/Feature/ExampleTest.php @@ -14,7 +14,7 @@ class ExampleTest extends TestCase */ public function testBasicTest() { - $response = $this->get('/'); + $response = $this->get('/login'); $response->assertStatus(200); } From b8c7aa68b4fc3d405b99875ef254de980444041b Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 19:50:31 +0200 Subject: [PATCH 073/349] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index 06b7b9d1ef..a42d46e036 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -942,6 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', + 'cannot_convert_split_journl' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Импорт', From cc05bfa1815fddc8fcb60346ab25f91cb817ab5a Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 19:50:49 +0200 Subject: [PATCH 074/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index c5a15a0637..e7ad1e512b 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -942,6 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'Je kan transactie #:id met omschrijving ":description" niet wijzigen, want deze bevat meerdere doelrekeningen.', 'cannot_edit_opening_balance' => 'Je kan het startsaldo van een rekening niet wijzigen via dit scherm.', 'no_edit_multiple_left' => 'Je hebt geen geldige transacties geselecteerd.', + 'cannot_convert_split_journl' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', From 59e449c806ae40e5458e2224bc71f668ea095467 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 19:50:52 +0200 Subject: [PATCH 075/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 45ef24845a..84dc96e187 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -942,6 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'Vous ne pouvez pas modifier la transaction scindée #:id avec la description ":description" car elle contient plusieurs comptes de destination.', 'cannot_edit_opening_balance' => 'Vous ne pouvez pas modifier le solde d\'ouverture d\'un compte.', 'no_edit_multiple_left' => 'Vous n\'avez sélectionné aucune transaction valide à éditer.', + 'cannot_convert_split_journl' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', From adf7e10879c09929085eb00ee95b45797389679a Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 19:50:56 +0200 Subject: [PATCH 076/349] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index 5b99d05b2a..82cfaeb82a 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -943,6 +943,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', + 'cannot_convert_split_journl' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', From 0ee843988fb3fec6752b5777fea3c721a2a2c059 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 19:50:59 +0200 Subject: [PATCH 077/349] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index 79f48fd6e0..d16f6185a5 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -942,6 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', + 'cannot_convert_split_journl' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Importar', From 9a9893236ed4e39b3ff95dba2ed69f277b125203 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 19:51:02 +0200 Subject: [PATCH 078/349] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index eb7c6f6b17..92722feb69 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -942,6 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', + 'cannot_convert_split_journl' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', From f825b5923c4ace11673dbbe1571d21cdea1fb6f9 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 19:51:06 +0200 Subject: [PATCH 079/349] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index 0f116864f3..654e3fe2ee 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -942,6 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'Você não pode editar transações parceladas #:id com a descrição ":description" porque ele contém várias contas de destino.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'Você não selecionou nenhuma transação válida para editar.', + 'cannot_convert_split_journl' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Importar', From 05e55696bb7ed8b85a5d78bc6fbb5a105c11be53 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 19:51:09 +0200 Subject: [PATCH 080/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index ed523d65e5..a3a3edf50b 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -942,6 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'Nie wybrałeś żadnych poprawnych transakcji do edycji.', + 'cannot_convert_split_journl' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Importuj', From 436017baee7fc93676301d155582675da7536118 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 19:57:41 +0200 Subject: [PATCH 081/349] Introduce version to template. Rename Javascript URI --- app/Http/Controllers/Controller.php | 3 +- app/Http/Middleware/StartFireflySession.php | 54 --------------------- routes/web.php | 2 +- 3 files changed, 3 insertions(+), 56 deletions(-) delete mode 100644 app/Http/Middleware/StartFireflySession.php diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index ed1835d9c9..843c7bc8bd 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -61,6 +61,7 @@ class Controller extends BaseController View::share('IS_DEMO_SITE', $isDemoSite); View::share('DEMO_USERNAME', env('DEMO_USERNAME', '')); View::share('DEMO_PASSWORD', env('DEMO_PASSWORD', '')); + View::share('FF_VERSION', config('firefly.version')); $this->middleware( @@ -117,7 +118,7 @@ class Controller extends BaseController if (!(strpos($identifier, 'delete') === false) && !(strpos($uri, '/show/') === false)) { $uri = route('index'); } - if (!(strpos($uri, 'javascript') === false)) { + if (!(strpos($uri, 'jscript') === false)) { $uri = route('index'); } diff --git a/app/Http/Middleware/StartFireflySession.php b/app/Http/Middleware/StartFireflySession.php deleted file mode 100644 index c419b0e8c3..0000000000 --- a/app/Http/Middleware/StartFireflySession.php +++ /dev/null @@ -1,54 +0,0 @@ -fullUrl(); - if ($request->method() === 'GET' && $request->route() && !$request->ajax()) { - if (strpos($fullUrl, '/javascript/') === false) { - $session->setPreviousUrl($fullUrl); - } - } - } - -} diff --git a/routes/web.php b/routes/web.php index f24ac03f48..1510bb8582 100755 --- a/routes/web.php +++ b/routes/web.php @@ -423,7 +423,7 @@ Route::group( * Budget Controller */ Route::group( - ['middleware' => 'user-full-auth', 'prefix' => 'javascript', 'as' => 'javascript.'], function () { + ['middleware' => 'user-full-auth', 'prefix' => 'jscript', 'as' => 'javascript.'], function () { Route::get('variables', ['uses' => 'JavascriptController@variables', 'as' => 'variables']); Route::get('accounts', ['uses' => 'JavascriptController@accounts', 'as' => 'accounts']); Route::get('currencies', ['uses' => 'JavascriptController@currencies', 'as' => 'currencies']); From 158bf06efb4142faab6cc05fb359a1682910bff4 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 19:57:56 +0200 Subject: [PATCH 082/349] Update version (is also a test) --- config/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/firefly.php b/config/firefly.php index 308ecb3a19..321ee94af1 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -23,7 +23,7 @@ return [ 'is_demo_site' => false, ], 'encryption' => (is_null(env('USE_ENCRYPTION')) || env('USE_ENCRYPTION') === true), - 'version' => '4.6.5', + 'version' => '4.6.6', 'maxUploadSize' => 15242880, 'allowedMimes' => ['image/png', 'image/jpeg', 'application/pdf'], 'list_length' => 10, From 4f934e54cf422e01ec004ed182f8438d2b426cbf Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 19:59:07 +0200 Subject: [PATCH 083/349] Easier upgrade, include FF version in JS --- resources/views/accounts/create.twig | 6 ++--- resources/views/accounts/edit.twig | 6 ++--- resources/views/accounts/index.twig | 2 +- resources/views/accounts/show.twig | 14 +++++----- resources/views/admin/link/index.twig | 2 +- resources/views/admin/link/show.twig | 2 +- resources/views/admin/users/index.twig | 2 +- resources/views/bills/create.twig | 8 +++--- resources/views/bills/edit.twig | 8 +++--- resources/views/bills/show.twig | 10 +++---- resources/views/budgets/index.twig | 4 +-- resources/views/budgets/no-budget.twig | 2 +- resources/views/budgets/show.twig | 10 +++---- resources/views/categories/index.twig | 4 +-- resources/views/categories/no-category.twig | 2 +- resources/views/categories/show.twig | 10 +++---- resources/views/export/index.twig | 6 ++--- resources/views/import/file/status.twig | 2 +- resources/views/index.twig | 8 +++--- resources/views/layout/default.twig | 26 +++++++++---------- resources/views/layout/empty.twig | 8 +++--- resources/views/layout/guest.twig | 10 +++---- resources/views/piggy-banks/create.twig | 6 ++--- resources/views/piggy-banks/edit.twig | 6 ++--- resources/views/piggy-banks/index.twig | 4 +-- resources/views/piggy-banks/show.twig | 8 +++--- resources/views/preferences/index.twig | 6 ++--- resources/views/reports/audit/report.twig | 2 +- resources/views/reports/budget/month.twig | 12 ++++----- resources/views/reports/category/month.twig | 12 ++++----- resources/views/reports/default/month.twig | 12 ++++----- .../views/reports/default/multi-year.twig | 12 ++++----- resources/views/reports/default/year.twig | 12 ++++----- resources/views/reports/index.twig | 4 +-- resources/views/reports/tag/month.twig | 12 ++++----- resources/views/rules/index.twig | 4 +-- .../rules/rule-group/select-transactions.twig | 6 ++--- resources/views/rules/rule/create.twig | 4 +-- resources/views/rules/rule/edit.twig | 4 +-- .../views/rules/rule/select-transactions.twig | 6 ++--- resources/views/search/index.twig | 2 +- resources/views/tags/create.twig | 6 ++--- resources/views/tags/edit.twig | 6 ++--- resources/views/tags/index.twig | 2 +- resources/views/tags/show.twig | 4 +-- resources/views/transactions/convert.twig | 4 +-- resources/views/transactions/index.twig | 2 +- resources/views/transactions/mass/edit.twig | 4 +-- resources/views/transactions/show.twig | 4 +-- .../views/transactions/single/create.twig | 16 ++++++------ resources/views/transactions/single/edit.twig | 16 ++++++------ resources/views/transactions/split/edit.twig | 12 ++++----- 52 files changed, 181 insertions(+), 181 deletions(-) diff --git a/resources/views/accounts/create.twig b/resources/views/accounts/create.twig index 1747c1a20b..9b545913dd 100644 --- a/resources/views/accounts/create.twig +++ b/resources/views/accounts/create.twig @@ -68,8 +68,8 @@ {% endblock %} {% block scripts %} - - + + {# JS currency list for update thing #} - + {% endblock %} {% block styles %} diff --git a/resources/views/accounts/edit.twig b/resources/views/accounts/edit.twig index e0b4ebf916..cf13020dcd 100644 --- a/resources/views/accounts/edit.twig +++ b/resources/views/accounts/edit.twig @@ -84,8 +84,8 @@ {{ Form.close|raw }} {% endblock %} {% block scripts %} - - + + {# JS currency list for update thing #} - + {% endblock %} {% block styles %} diff --git a/resources/views/accounts/index.twig b/resources/views/accounts/index.twig index 230e3a3a59..3bf542f93d 100644 --- a/resources/views/accounts/index.twig +++ b/resources/views/accounts/index.twig @@ -45,5 +45,5 @@ - + {% endblock %} diff --git a/resources/views/accounts/show.twig b/resources/views/accounts/show.twig index a176f0fcd6..43c219fc54 100644 --- a/resources/views/accounts/show.twig +++ b/resources/views/accounts/show.twig @@ -164,12 +164,12 @@ - - - + + + - - - - + + + + {% endblock %} diff --git a/resources/views/admin/link/index.twig b/resources/views/admin/link/index.twig index 2cc8338ef7..821ceec946 100644 --- a/resources/views/admin/link/index.twig +++ b/resources/views/admin/link/index.twig @@ -58,7 +58,7 @@ {% endblock %} {% block scripts %} - + {% endblock %} {% block styles %} diff --git a/resources/views/admin/link/show.twig b/resources/views/admin/link/show.twig index 813f53e534..72ee7135e0 100644 --- a/resources/views/admin/link/show.twig +++ b/resources/views/admin/link/show.twig @@ -54,7 +54,7 @@ {% endblock %} {% block scripts %} - + {% endblock %} {% block styles %} diff --git a/resources/views/admin/users/index.twig b/resources/views/admin/users/index.twig index a70b7cba77..1b1aee1ce7 100644 --- a/resources/views/admin/users/index.twig +++ b/resources/views/admin/users/index.twig @@ -88,5 +88,5 @@ {% endblock %} {% block scripts %} - + {% endblock %} diff --git a/resources/views/bills/create.twig b/resources/views/bills/create.twig index c182cb2976..11a19350f5 100644 --- a/resources/views/bills/create.twig +++ b/resources/views/bills/create.twig @@ -65,8 +65,8 @@ {% endblock %} {% block scripts %} - - - - + + + + {% endblock %} diff --git a/resources/views/bills/edit.twig b/resources/views/bills/edit.twig index ded9774dc8..861fe15fd0 100644 --- a/resources/views/bills/edit.twig +++ b/resources/views/bills/edit.twig @@ -64,8 +64,8 @@ {% endblock %} {% block scripts %} - - - - + + + + {% endblock %} diff --git a/resources/views/bills/show.twig b/resources/views/bills/show.twig index 6396a0948b..d233a6de8c 100644 --- a/resources/views/bills/show.twig +++ b/resources/views/bills/show.twig @@ -125,9 +125,9 @@ - - - - - + + + + + {% endblock %} diff --git a/resources/views/budgets/index.twig b/resources/views/budgets/index.twig index 030239feef..2b92e1380b 100644 --- a/resources/views/budgets/index.twig +++ b/resources/views/budgets/index.twig @@ -235,6 +235,6 @@ var periodStart = "{{ start.format('Y-m-d') }}"; var periodEnd = "{{ end.format('Y-m-d') }}"; - - + + {% endblock %} diff --git a/resources/views/budgets/no-budget.twig b/resources/views/budgets/no-budget.twig index 8e10cda80d..cc0910f055 100644 --- a/resources/views/budgets/no-budget.twig +++ b/resources/views/budgets/no-budget.twig @@ -78,5 +78,5 @@ {% endblock %} {% block scripts %} - + {% endblock %} diff --git a/resources/views/budgets/show.twig b/resources/views/budgets/show.twig index 5e8e953794..753c432375 100644 --- a/resources/views/budgets/show.twig +++ b/resources/views/budgets/show.twig @@ -171,9 +171,9 @@ {% endif %} - - - - - + + + + + {% endblock %} diff --git a/resources/views/categories/index.twig b/resources/views/categories/index.twig index 19ee48a915..f7b529f04b 100644 --- a/resources/views/categories/index.twig +++ b/resources/views/categories/index.twig @@ -39,6 +39,6 @@ {% endblock %} {% block scripts %} - - + + {% endblock %} diff --git a/resources/views/categories/no-category.twig b/resources/views/categories/no-category.twig index 60f3cc79eb..6d71b3606e 100644 --- a/resources/views/categories/no-category.twig +++ b/resources/views/categories/no-category.twig @@ -92,5 +92,5 @@ {% endblock %} {% block scripts %} - + {% endblock %} diff --git a/resources/views/categories/show.twig b/resources/views/categories/show.twig index 72be5d3faf..d333c40a8c 100644 --- a/resources/views/categories/show.twig +++ b/resources/views/categories/show.twig @@ -135,9 +135,9 @@ var everything = '{{ route('chart.category.all', [category.id]) }}'; var specific = '{{ route('chart.category.specific', [category.id, start.format('Ymd')]) }}'; - - - - - + + + + + {% endblock %} diff --git a/resources/views/export/index.twig b/resources/views/export/index.twig index 6279fef14b..16df684ab0 100644 --- a/resources/views/export/index.twig +++ b/resources/views/export/index.twig @@ -102,9 +102,9 @@ - - - + + + {% endblock %} {% block styles %} diff --git a/resources/views/import/file/status.twig b/resources/views/import/file/status.twig index c19906a5af..26acb3605e 100644 --- a/resources/views/import/file/status.twig +++ b/resources/views/import/file/status.twig @@ -151,7 +151,7 @@ var jobStartUrl = '{{ route('import.file.start', [job.key]) }}'; var token = '{{ csrf_token() }}'; - + {% endblock %} {% block styles %} {% endblock %} diff --git a/resources/views/index.twig b/resources/views/index.twig index 36f005598c..7f82db5715 100644 --- a/resources/views/index.twig +++ b/resources/views/index.twig @@ -138,10 +138,10 @@ var accountExpenseUri = '{{ route('chart.account.expense') }}'; - - - - + + + + {% endblock %} {% block styles %} {% endblock %} diff --git a/resources/views/layout/default.twig b/resources/views/layout/default.twig index ca3c255c10..bb4b8c3243 100644 --- a/resources/views/layout/default.twig +++ b/resources/views/layout/default.twig @@ -30,8 +30,8 @@ {% block styles %}{% endblock %} - - - - - - - - + + + + + + + + + {% if not shownDemo %} - - + + {% endif %} {% block scripts %}{% endblock %} diff --git a/resources/views/layout/empty.twig b/resources/views/layout/empty.twig index 09f97274bd..ba1d37aab5 100644 --- a/resources/views/layout/empty.twig +++ b/resources/views/layout/empty.twig @@ -12,8 +12,8 @@ {# favicons #} @@ -28,8 +28,8 @@ {% block content %}{% endblock %} - - + + {% if env('ANALYTICS_ID','') != '' %} - - + + + {% if env('ANALYTICS_ID','') != '' %} - - + + + {% endblock %} {% block styles %} diff --git a/resources/views/piggy-banks/edit.twig b/resources/views/piggy-banks/edit.twig index 7da0efdb69..7e98299b88 100644 --- a/resources/views/piggy-banks/edit.twig +++ b/resources/views/piggy-banks/edit.twig @@ -57,9 +57,9 @@ {{ Form.close|raw }} {% endblock %} {% block scripts %} - - - + + + {% endblock %} {% block styles %} diff --git a/resources/views/piggy-banks/index.twig b/resources/views/piggy-banks/index.twig index 4043c9267e..cfe76aee06 100644 --- a/resources/views/piggy-banks/index.twig +++ b/resources/views/piggy-banks/index.twig @@ -59,6 +59,6 @@ {% endif %} {% endblock %} {% block scripts %} - - + + {% endblock %} diff --git a/resources/views/piggy-banks/show.twig b/resources/views/piggy-banks/show.twig index b1ea8eae79..f85fa79d5f 100644 --- a/resources/views/piggy-banks/show.twig +++ b/resources/views/piggy-banks/show.twig @@ -114,8 +114,8 @@ var piggyBankID = {{ piggyBank.id }}; - - - - + + + + {% endblock %} diff --git a/resources/views/preferences/index.twig b/resources/views/preferences/index.twig index fa0f0cc67e..e2ade7cc6d 100644 --- a/resources/views/preferences/index.twig +++ b/resources/views/preferences/index.twig @@ -273,9 +273,9 @@ {% endblock %} {% block scripts %} - - - + + + {% endblock %} {% block styles %} diff --git a/resources/views/reports/audit/report.twig b/resources/views/reports/audit/report.twig index f206a209e8..5716f4dc08 100644 --- a/resources/views/reports/audit/report.twig +++ b/resources/views/reports/audit/report.twig @@ -86,5 +86,5 @@ - + {% endblock %} diff --git a/resources/views/reports/budget/month.twig b/resources/views/reports/budget/month.twig index 71e62e3d27..e480430194 100644 --- a/resources/views/reports/budget/month.twig +++ b/resources/views/reports/budget/month.twig @@ -241,10 +241,10 @@ {% endblock %} {% block scripts %} - - - - + + + + - - + + {% endblock %} diff --git a/resources/views/reports/category/month.twig b/resources/views/reports/category/month.twig index bdfa800f3d..dd9616d6fc 100644 --- a/resources/views/reports/category/month.twig +++ b/resources/views/reports/category/month.twig @@ -376,10 +376,10 @@ {% endblock %} {% block scripts %} - - - - + + + + - - + + {% endblock %} diff --git a/resources/views/reports/default/month.twig b/resources/views/reports/default/month.twig index bb9022d798..3696e452e0 100644 --- a/resources/views/reports/default/month.twig +++ b/resources/views/reports/default/month.twig @@ -144,10 +144,10 @@ {% endblock %} {% block scripts %} - - - - + + + + - - + + {% endblock %} diff --git a/resources/views/reports/default/multi-year.twig b/resources/views/reports/default/multi-year.twig index a58cf2bb9d..e00c6db712 100644 --- a/resources/views/reports/default/multi-year.twig +++ b/resources/views/reports/default/multi-year.twig @@ -193,10 +193,10 @@ {% endblock %} {% block scripts %} - - - - + + + + - - + + {% endblock %} diff --git a/resources/views/reports/default/year.twig b/resources/views/reports/default/year.twig index 90913db18d..57202d4291 100644 --- a/resources/views/reports/default/year.twig +++ b/resources/views/reports/default/year.twig @@ -188,10 +188,10 @@ {% endblock %} {% block scripts %} - - - - + + + + - - + + {% endblock %} {% block styles %} diff --git a/resources/views/reports/index.twig b/resources/views/reports/index.twig index ef63a38496..361e074699 100644 --- a/resources/views/reports/index.twig +++ b/resources/views/reports/index.twig @@ -177,6 +177,6 @@ var allSelectedText = "{{ 'multi_select_all_selected'|_ }}"; var filterPlaceholder = "{{ 'multi_select_filter_placeholder'|_ }}"; - - + + {% endblock %} diff --git a/resources/views/reports/tag/month.twig b/resources/views/reports/tag/month.twig index 1a1fc8461f..e110dfc0a7 100644 --- a/resources/views/reports/tag/month.twig +++ b/resources/views/reports/tag/month.twig @@ -398,10 +398,10 @@ {% endblock %} {% block scripts %} - - - - + + + + - - + + {% endblock %} diff --git a/resources/views/rules/index.twig b/resources/views/rules/index.twig index 2a4c8c8ffd..4ef73d26c5 100644 --- a/resources/views/rules/index.twig +++ b/resources/views/rules/index.twig @@ -202,6 +202,6 @@ {% endblock %} {% block scripts %} - - + + {% endblock %} diff --git a/resources/views/rules/rule-group/select-transactions.twig b/resources/views/rules/rule-group/select-transactions.twig index 22f3112404..f0c7c43331 100644 --- a/resources/views/rules/rule-group/select-transactions.twig +++ b/resources/views/rules/rule-group/select-transactions.twig @@ -41,9 +41,9 @@ {% endblock %} {% block scripts %} - - - + + + {% endblock %} {% block styles %} diff --git a/resources/views/rules/rule/create.twig b/resources/views/rules/rule/create.twig index f8b7136fc7..1ca0b13927 100644 --- a/resources/views/rules/rule/create.twig +++ b/resources/views/rules/rule/create.twig @@ -127,12 +127,12 @@ {% endblock %} {% block scripts %} - + - + {% endblock %} {% block styles %} diff --git a/resources/views/rules/rule/edit.twig b/resources/views/rules/rule/edit.twig index dbc112d439..129c8b03fa 100644 --- a/resources/views/rules/rule/edit.twig +++ b/resources/views/rules/rule/edit.twig @@ -127,11 +127,11 @@ {% endblock %} {% block scripts %} - + - + {% endblock %} diff --git a/resources/views/rules/rule/select-transactions.twig b/resources/views/rules/rule/select-transactions.twig index 59081622ca..4429c48338 100644 --- a/resources/views/rules/rule/select-transactions.twig +++ b/resources/views/rules/rule/select-transactions.twig @@ -41,9 +41,9 @@ {% endblock %} {% block scripts %} - - - + + + {% endblock %} {% block styles %} diff --git a/resources/views/search/index.twig b/resources/views/search/index.twig index 5748fe201f..8f35143102 100644 --- a/resources/views/search/index.twig +++ b/resources/views/search/index.twig @@ -93,5 +93,5 @@ var searchQuery = "{{ fullQuery|escape('js') }}"; var searchUri = "{{ route('search.search') }}"; - + {% endblock %} diff --git a/resources/views/tags/create.twig b/resources/views/tags/create.twig index 3c0aa3c447..49e3b4938f 100644 --- a/resources/views/tags/create.twig +++ b/resources/views/tags/create.twig @@ -83,9 +83,9 @@ - - - + + + {% endblock %} {% block styles %} diff --git a/resources/views/tags/edit.twig b/resources/views/tags/edit.twig index 0a6bfdff15..6165350ca0 100644 --- a/resources/views/tags/edit.twig +++ b/resources/views/tags/edit.twig @@ -86,9 +86,9 @@ - - - + + + {% endblock %} {% block styles %} diff --git a/resources/views/tags/index.twig b/resources/views/tags/index.twig index 7365efda52..946ff46a46 100644 --- a/resources/views/tags/index.twig +++ b/resources/views/tags/index.twig @@ -87,5 +87,5 @@ {% endblock %} {% block scripts %} - + {% endblock %} diff --git a/resources/views/tags/show.twig b/resources/views/tags/show.twig index dd99386bdd..da635e1256 100644 --- a/resources/views/tags/show.twig +++ b/resources/views/tags/show.twig @@ -183,6 +183,6 @@ var apiKey = "{{ apiKey }}"; - - + + {% endblock %} diff --git a/resources/views/transactions/convert.twig b/resources/views/transactions/convert.twig index 33f5c08daf..cd28416e8d 100644 --- a/resources/views/transactions/convert.twig +++ b/resources/views/transactions/convert.twig @@ -217,8 +217,8 @@ {% endblock %} {% block scripts %} - - + + {% endblock %} {% block styles %} diff --git a/resources/views/transactions/index.twig b/resources/views/transactions/index.twig index 5c3ffcb511..17e614ae24 100644 --- a/resources/views/transactions/index.twig +++ b/resources/views/transactions/index.twig @@ -104,5 +104,5 @@ {% endblock %} {% block scripts %} - + {% endblock %} diff --git a/resources/views/transactions/mass/edit.twig b/resources/views/transactions/mass/edit.twig index aba6f9687f..67aa4df0c8 100644 --- a/resources/views/transactions/mass/edit.twig +++ b/resources/views/transactions/mass/edit.twig @@ -140,6 +140,6 @@ - - + + {% endblock %} diff --git a/resources/views/transactions/show.twig b/resources/views/transactions/show.twig index b48745e424..c6e0dc7678 100644 --- a/resources/views/transactions/show.twig +++ b/resources/views/transactions/show.twig @@ -488,6 +488,6 @@ - - + + {% endblock %} diff --git a/resources/views/transactions/single/create.twig b/resources/views/transactions/single/create.twig index 2129bd70d1..6161ba098d 100644 --- a/resources/views/transactions/single/create.twig +++ b/resources/views/transactions/single/create.twig @@ -236,14 +236,14 @@ var overruleCurrency = {{ preFilled.amount_currency_id_amount|default(0) }}; - - - - - - - - + + + + + + + + {% endblock %} {% block styles %} diff --git a/resources/views/transactions/single/edit.twig b/resources/views/transactions/single/edit.twig index 76ea6216c3..a8528b55b1 100644 --- a/resources/views/transactions/single/edit.twig +++ b/resources/views/transactions/single/edit.twig @@ -239,20 +239,20 @@ - - - - - - + + + + + + - - + + {% endblock %} {% block styles %} diff --git a/resources/views/transactions/split/edit.twig b/resources/views/transactions/split/edit.twig index ddbbdd6c4a..2d10161f1a 100644 --- a/resources/views/transactions/split/edit.twig +++ b/resources/views/transactions/split/edit.twig @@ -334,7 +334,7 @@ {% endblock %} {% block scripts %} - + - - - - - + + + + + {% endblock %} From 262f8a33c6ca0ab1c5077d67e3a8275477edc985 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 21:44:31 +0200 Subject: [PATCH 084/349] Fixed validation rules. --- .../Controllers/Auth/RegisterController.php | 2 -- app/Http/Requests/AccountFormRequest.php | 12 +++---- app/Http/Requests/AttachmentFormRequest.php | 2 +- app/Http/Requests/BillFormRequest.php | 2 +- app/Http/Requests/BudgetFormRequest.php | 1 + app/Http/Requests/BudgetIncomeRequest.php | 1 + app/Http/Requests/CategoryFormRequest.php | 2 +- app/Http/Requests/ConfigurationRequest.php | 1 + app/Http/Requests/CurrencyFormRequest.php | 2 +- .../Requests/DeleteAccountFormRequest.php | 1 + app/Http/Requests/ExportFormRequest.php | 2 ++ app/Http/Requests/ImportUploadRequest.php | 1 + app/Http/Requests/JournalFormRequest.php | 34 +++++++++---------- app/Http/Requests/JournalLinkRequest.php | 2 +- app/Http/Requests/LinkTypeFormRequest.php | 2 ++ .../Requests/MassDeleteJournalRequest.php | 1 + app/Http/Requests/MassEditJournalRequest.php | 2 ++ app/Http/Requests/NewUserFormRequest.php | 1 + app/Http/Requests/PiggyBankFormRequest.php | 3 +- app/Http/Requests/ProfileFormRequest.php | 1 + app/Http/Requests/ReportFormRequest.php | 1 + app/Http/Requests/RuleFormRequest.php | 2 +- app/Http/Requests/RuleGroupFormRequest.php | 1 + .../Requests/SelectTransactionsRequest.php | 6 ++-- app/Http/Requests/SplitJournalFormRequest.php | 12 +++---- app/Http/Requests/TagFormRequest.php | 10 +++--- app/Http/Requests/TestRuleFormRequest.php | 2 +- app/Http/Requests/TokenFormRequest.php | 2 +- app/Http/Requests/UserFormRequest.php | 2 +- app/Http/Requests/UserRegistrationRequest.php | 1 + 30 files changed, 64 insertions(+), 50 deletions(-) diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index e0430143b3..a54f3c4f45 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -48,7 +48,6 @@ class RegisterController extends Controller protected function validator(array $data) { return Validator::make($data, [ - 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:6|confirmed', ]); @@ -63,7 +62,6 @@ class RegisterController extends Controller protected function create(array $data) { return User::create([ - 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); diff --git a/app/Http/Requests/AccountFormRequest.php b/app/Http/Requests/AccountFormRequest.php index bf24b65418..edf5693c81 100644 --- a/app/Http/Requests/AccountFormRequest.php +++ b/app/Http/Requests/AccountFormRequest.php @@ -75,13 +75,13 @@ class AccountFormRequest extends Request return [ 'id' => $idRule, 'name' => $nameRule, - 'openingBalance' => 'numeric|required_with:openingBalanceDate', - 'openingBalanceDate' => 'date|required_with:openingBalance', - 'iban' => 'iban', - 'BIC' => 'bic', - 'virtualBalance' => 'numeric', + 'openingBalance' => 'numeric|required_with:openingBalanceDate|nullable', + 'openingBalanceDate' => 'date|required_with:openingBalance|nullable', + 'iban' => 'iban|nullable', + 'BIC' => 'bic|nullable', + 'virtualBalance' => 'numeric|nullable', 'currency_id' => 'exists:transaction_currencies,id', - 'accountNumber' => 'between:1,255|uniqueAccountNumberForUser', + 'accountNumber' => 'between:1,255|uniqueAccountNumberForUser|nullable', 'accountRole' => 'in:' . $accountRoles, 'active' => 'boolean', 'ccType' => 'in:' . $ccPaymentTypes, diff --git a/app/Http/Requests/AttachmentFormRequest.php b/app/Http/Requests/AttachmentFormRequest.php index d51a1b4a15..e5ab3f9b2c 100644 --- a/app/Http/Requests/AttachmentFormRequest.php +++ b/app/Http/Requests/AttachmentFormRequest.php @@ -47,7 +47,7 @@ class AttachmentFormRequest extends Request */ public function rules() { - + // fixed return [ 'title' => 'between:1,255|nullable', 'description' => 'between:1,65536|nullable', diff --git a/app/Http/Requests/BillFormRequest.php b/app/Http/Requests/BillFormRequest.php index 1dbe2d707b..08f270fc33 100644 --- a/app/Http/Requests/BillFormRequest.php +++ b/app/Http/Requests/BillFormRequest.php @@ -61,7 +61,7 @@ class BillFormRequest extends Request $nameRule .= ',' . intval($this->get('id')); $matchRule .= ',' . intval($this->get('id')); } - + // is OK $rules = [ 'name' => $nameRule, 'match' => $matchRule, diff --git a/app/Http/Requests/BudgetFormRequest.php b/app/Http/Requests/BudgetFormRequest.php index 5c6f1ce537..6e6aeeb039 100644 --- a/app/Http/Requests/BudgetFormRequest.php +++ b/app/Http/Requests/BudgetFormRequest.php @@ -47,6 +47,7 @@ class BudgetFormRequest extends Request */ public function rules() { + // fixed /** @var BudgetRepositoryInterface $repository */ $repository = app(BudgetRepositoryInterface::class); $nameRule = 'required|between:1,100|uniqueObjectForUser:budgets,name'; diff --git a/app/Http/Requests/BudgetIncomeRequest.php b/app/Http/Requests/BudgetIncomeRequest.php index 7f2375e3b0..b29df8781d 100644 --- a/app/Http/Requests/BudgetIncomeRequest.php +++ b/app/Http/Requests/BudgetIncomeRequest.php @@ -35,6 +35,7 @@ class BudgetIncomeRequest extends Request */ public function rules() { + // fixed return [ 'amount' => 'numeric|required|min:0', 'start' => 'required|date|before:end', diff --git a/app/Http/Requests/CategoryFormRequest.php b/app/Http/Requests/CategoryFormRequest.php index 9fb1942d20..859315727d 100644 --- a/app/Http/Requests/CategoryFormRequest.php +++ b/app/Http/Requests/CategoryFormRequest.php @@ -53,7 +53,7 @@ class CategoryFormRequest extends Request if (!is_null($repository->find(intval($this->get('id')))->id)) { $nameRule = 'required|between:1,100|uniqueObjectForUser:categories,name,' . intval($this->get('id')); } - + // fixed return [ 'name' => $nameRule, ]; diff --git a/app/Http/Requests/ConfigurationRequest.php b/app/Http/Requests/ConfigurationRequest.php index 15cfe56a43..214839f6ca 100644 --- a/app/Http/Requests/ConfigurationRequest.php +++ b/app/Http/Requests/ConfigurationRequest.php @@ -46,6 +46,7 @@ class ConfigurationRequest extends Request */ public function rules() { + // fixed $rules = [ 'single_user_mode' => 'between:0,1|numeric', 'is_demo_site' => 'between:0,1|numeric', diff --git a/app/Http/Requests/CurrencyFormRequest.php b/app/Http/Requests/CurrencyFormRequest.php index 6a779665e5..2bb64be03f 100644 --- a/app/Http/Requests/CurrencyFormRequest.php +++ b/app/Http/Requests/CurrencyFormRequest.php @@ -48,7 +48,7 @@ class CurrencyFormRequest extends Request */ public function rules() { - + // fixed $rules = [ 'name' => 'required|max:48|min:1|unique:transaction_currencies,name', 'code' => 'required|min:3|max:3|unique:transaction_currencies,code', diff --git a/app/Http/Requests/DeleteAccountFormRequest.php b/app/Http/Requests/DeleteAccountFormRequest.php index b3dd484d7e..6cf51a3e25 100644 --- a/app/Http/Requests/DeleteAccountFormRequest.php +++ b/app/Http/Requests/DeleteAccountFormRequest.php @@ -35,6 +35,7 @@ class DeleteAccountFormRequest extends Request */ public function rules() { + // fixed return [ 'password' => 'required', ]; diff --git a/app/Http/Requests/ExportFormRequest.php b/app/Http/Requests/ExportFormRequest.php index 7b02ec5520..61e3c16171 100644 --- a/app/Http/Requests/ExportFormRequest.php +++ b/app/Http/Requests/ExportFormRequest.php @@ -42,6 +42,8 @@ class ExportFormRequest extends Request $today = Carbon::create()->addDay()->format('Y-m-d'); $formats = join(',', array_keys(config('firefly.export_formats'))); + // fixed + return [ 'export_start_range' => 'required|date|after:' . $first, 'export_end_range' => 'required|date|before:' . $today, diff --git a/app/Http/Requests/ImportUploadRequest.php b/app/Http/Requests/ImportUploadRequest.php index 758ee6164a..cc58773848 100644 --- a/app/Http/Requests/ImportUploadRequest.php +++ b/app/Http/Requests/ImportUploadRequest.php @@ -35,6 +35,7 @@ class ImportUploadRequest extends Request */ public function rules() { + // fixed $types = array_keys(config('firefly.import_formats')); return [ diff --git a/app/Http/Requests/JournalFormRequest.php b/app/Http/Requests/JournalFormRequest.php index aeadae21a6..bf01081db3 100644 --- a/app/Http/Requests/JournalFormRequest.php +++ b/app/Http/Requests/JournalFormRequest.php @@ -88,24 +88,24 @@ class JournalFormRequest extends Request 'date' => 'required|date', // then, custom fields: - 'interest_date' => 'date', - 'book_date' => 'date', - 'process_date' => 'date', - 'due_date' => 'date', - 'payment_date' => 'date', - 'invoice_date' => 'date', - 'internal_reference' => 'min:1,max:255', - 'notes' => 'min:1,max:50000', + 'interest_date' => 'date|nullable', + 'book_date' => 'date|nullable', + 'process_date' => 'date|nullable', + 'due_date' => 'date|nullable', + 'payment_date' => 'date|nullable', + 'invoice_date' => 'date|nullable', + 'internal_reference' => 'min:1,max:255|nullable', + 'notes' => 'min:1,max:50000|nullable', // and then transaction rules: 'description' => 'required|between:1,255', 'amount' => 'numeric|required|more:0', - 'budget_id' => 'mustExist:budgets,id|belongsToUser:budgets,id', - 'category' => 'between:1,255', - 'source_account_id' => 'numeric|belongsToUser:accounts,id', - 'source_account_name' => 'between:1,255', - 'destination_account_id' => 'numeric|belongsToUser:accounts,id', - 'destination_account_name' => 'between:1,255', - 'piggy_bank_id' => 'between:1,255', + 'budget_id' => 'mustExist:budgets,id|belongsToUser:budgets,id|nullable', + 'category' => 'between:1,255|nullable', + 'source_account_id' => 'numeric|belongsToUser:accounts,id|nullable', + 'source_account_name' => 'between:1,255|nullable', + 'destination_account_id' => 'numeric|belongsToUser:accounts,id|nullable', + 'destination_account_name' => 'between:1,255|nullable', + 'piggy_bank_id' => 'between:1,255|nullable', // foreign currency amounts 'native_amount' => 'numeric|more:0|nullable', @@ -133,10 +133,10 @@ class JournalFormRequest extends Request switch ($what) { case strtolower(TransactionType::WITHDRAWAL): $rules['source_account_id'] = 'required|exists:accounts,id|belongsToUser:accounts'; - $rules['destination_account_name'] = 'between:1,255'; + $rules['destination_account_name'] = 'between:1,255|nullable'; break; case strtolower(TransactionType::DEPOSIT): - $rules['source_account_name'] = 'between:1,255'; + $rules['source_account_name'] = 'between:1,255|nullable'; $rules['destination_account_id'] = 'required|exists:accounts,id|belongsToUser:accounts'; break; case strtolower(TransactionType::TRANSFER): diff --git a/app/Http/Requests/JournalLinkRequest.php b/app/Http/Requests/JournalLinkRequest.php index 50b2069d47..e0082eaf0e 100644 --- a/app/Http/Requests/JournalLinkRequest.php +++ b/app/Http/Requests/JournalLinkRequest.php @@ -64,7 +64,7 @@ class JournalLinkRequest extends Request $combinations[] = sprintf('%d_outward', $type->id); } $string = join(',', $combinations); - + // fixed return [ 'link_type' => sprintf('required|in:%s', $string), 'link_other' => 'belongsToUser:transaction_journals', diff --git a/app/Http/Requests/LinkTypeFormRequest.php b/app/Http/Requests/LinkTypeFormRequest.php index 625e40d0d5..7bc9d267bd 100644 --- a/app/Http/Requests/LinkTypeFormRequest.php +++ b/app/Http/Requests/LinkTypeFormRequest.php @@ -36,6 +36,8 @@ class LinkTypeFormRequest extends Request */ public function rules() { + // fixed + /** @var LinkTypeRepositoryInterface $repository */ $repository = app(LinkTypeRepositoryInterface::class); $nameRule = 'required|min:1|unique:link_types,name'; diff --git a/app/Http/Requests/MassDeleteJournalRequest.php b/app/Http/Requests/MassDeleteJournalRequest.php index 004f4aa4ed..b8755ae186 100644 --- a/app/Http/Requests/MassDeleteJournalRequest.php +++ b/app/Http/Requests/MassDeleteJournalRequest.php @@ -35,6 +35,7 @@ class MassDeleteJournalRequest extends Request */ public function rules() { + // fixed return [ 'confirm_mass_delete.*' => 'required|belongsToUser:transaction_journals,id', ]; diff --git a/app/Http/Requests/MassEditJournalRequest.php b/app/Http/Requests/MassEditJournalRequest.php index 7067d34e05..008a03aeb9 100644 --- a/app/Http/Requests/MassEditJournalRequest.php +++ b/app/Http/Requests/MassEditJournalRequest.php @@ -35,6 +35,8 @@ class MassEditJournalRequest extends Request */ public function rules() { + // fixed + return [ 'description.*' => 'required|min:1,max:255', 'source_account_id.*' => 'numeric|belongsToUser:accounts,id', diff --git a/app/Http/Requests/NewUserFormRequest.php b/app/Http/Requests/NewUserFormRequest.php index b5ef0fd040..0beb467f8f 100644 --- a/app/Http/Requests/NewUserFormRequest.php +++ b/app/Http/Requests/NewUserFormRequest.php @@ -35,6 +35,7 @@ class NewUserFormRequest extends Request */ public function rules() { + // fixed return [ 'bank_name' => 'required|between:1,200', 'bank_balance' => 'required|numeric', diff --git a/app/Http/Requests/PiggyBankFormRequest.php b/app/Http/Requests/PiggyBankFormRequest.php index c2d9f7f9e5..3be864344c 100644 --- a/app/Http/Requests/PiggyBankFormRequest.php +++ b/app/Http/Requests/PiggyBankFormRequest.php @@ -54,7 +54,6 @@ class PiggyBankFormRequest extends Request { $nameRule = 'required|between:1,255|uniquePiggyBankForUser'; - $targetDateRule = 'date'; if (intval($this->get('id'))) { $nameRule = 'required|between:1,255|uniquePiggyBankForUser:' . intval($this->get('id')); } @@ -66,7 +65,7 @@ class PiggyBankFormRequest extends Request 'targetamount' => 'required|numeric|more:0', 'amount_currency_id_targetamount' => 'required|exists:transaction_currencies,id', 'startdate' => 'date', - 'targetdate' => $targetDateRule, + 'targetdate' => 'date|nullable', 'order' => 'integer|min:1', ]; diff --git a/app/Http/Requests/ProfileFormRequest.php b/app/Http/Requests/ProfileFormRequest.php index 3310897272..d5707e9ab9 100644 --- a/app/Http/Requests/ProfileFormRequest.php +++ b/app/Http/Requests/ProfileFormRequest.php @@ -35,6 +35,7 @@ class ProfileFormRequest extends Request */ public function rules() { + // fixed return [ 'current_password' => 'required', 'new_password' => 'required|confirmed|secure_password', diff --git a/app/Http/Requests/ReportFormRequest.php b/app/Http/Requests/ReportFormRequest.php index db8b5fbe74..94788699a6 100644 --- a/app/Http/Requests/ReportFormRequest.php +++ b/app/Http/Requests/ReportFormRequest.php @@ -44,6 +44,7 @@ class ReportFormRequest extends Request */ public function getAccountList(): Collection { + // fixed /** @var AccountRepositoryInterface $repository */ $repository = app(AccountRepositoryInterface::class); $set = $this->get('accounts'); diff --git a/app/Http/Requests/RuleFormRequest.php b/app/Http/Requests/RuleFormRequest.php index d2a965ca6d..bc4338ded6 100644 --- a/app/Http/Requests/RuleFormRequest.php +++ b/app/Http/Requests/RuleFormRequest.php @@ -72,7 +72,7 @@ class RuleFormRequest extends Request } $rules = [ 'title' => $titleRule, - 'description' => 'between:1,5000', + 'description' => 'between:1,5000|nullable', 'stop_processing' => 'boolean', 'rule_group_id' => 'required|belongsToUser:rule_groups', 'trigger' => 'required|in:store-journal,update-journal', diff --git a/app/Http/Requests/RuleGroupFormRequest.php b/app/Http/Requests/RuleGroupFormRequest.php index 952025c558..22a6224d8b 100644 --- a/app/Http/Requests/RuleGroupFormRequest.php +++ b/app/Http/Requests/RuleGroupFormRequest.php @@ -48,6 +48,7 @@ class RuleGroupFormRequest extends Request */ public function rules() { + // fixed /** @var RuleGroupRepositoryInterface $repository */ $repository = app(RuleGroupRepositoryInterface::class); $titleRule = 'required|between:1,100|uniqueObjectForUser:rule_groups,title'; diff --git a/app/Http/Requests/SelectTransactionsRequest.php b/app/Http/Requests/SelectTransactionsRequest.php index 5b85dd3b26..98ee89afeb 100644 --- a/app/Http/Requests/SelectTransactionsRequest.php +++ b/app/Http/Requests/SelectTransactionsRequest.php @@ -37,10 +37,10 @@ class SelectTransactionsRequest extends Request */ public function rules() { + // fixed $sessionFirst = clone session('first'); - - $first = $sessionFirst->subDay()->format('Y-m-d'); - $today = Carbon::create()->addDay()->format('Y-m-d'); + $first = $sessionFirst->subDay()->format('Y-m-d'); + $today = Carbon::create()->addDay()->format('Y-m-d'); return [ 'start_date' => 'required|date|after:' . $first, diff --git a/app/Http/Requests/SplitJournalFormRequest.php b/app/Http/Requests/SplitJournalFormRequest.php index 1a2f0defa3..c1f63f357e 100644 --- a/app/Http/Requests/SplitJournalFormRequest.php +++ b/app/Http/Requests/SplitJournalFormRequest.php @@ -68,16 +68,16 @@ class SplitJournalFormRequest extends Request 'journal_source_account_name.*' => 'between:1,255', 'journal_currency_id' => 'required|exists:transaction_currencies,id', 'date' => 'required|date', - 'interest_date' => 'date', - 'book_date' => 'date', - 'process_date' => 'date', + 'interest_date' => 'date|nullable', + 'book_date' => 'date|nullable', + 'process_date' => 'date|nullable', 'transactions.*.description' => 'required|between:1,255', 'transactions.*.destination_account_id' => 'numeric|belongsToUser:accounts,id', - 'transactions.*.destination_account_name' => 'between:1,255', + 'transactions.*.destination_account_name' => 'between:1,255|nullable', 'transactions.*.amount' => 'required|numeric', 'transactions.*.budget_id' => 'belongsToUser:budgets,id', - 'transactions.*.category' => 'between:1,255', - 'transactions.*.piggy_bank_id' => 'between:1,255', + 'transactions.*.category' => 'between:1,255|nullable', + 'transactions.*.piggy_bank_id' => 'between:1,255|nullable', ]; } diff --git a/app/Http/Requests/TagFormRequest.php b/app/Http/Requests/TagFormRequest.php index 71f1fdd796..c3ccc74ea3 100644 --- a/app/Http/Requests/TagFormRequest.php +++ b/app/Http/Requests/TagFormRequest.php @@ -77,11 +77,11 @@ class TagFormRequest extends Request return [ 'tag' => $tagRule, 'id' => $idRule, - 'description' => 'min:1', - 'date' => 'date', - 'latitude' => 'numeric|min:-90|max:90', - 'longitude' => 'numeric|min:-90|max:90', - 'zoomLevel' => 'numeric|min:0|max:80', + 'description' => 'min:1|nullable', + 'date' => 'date|nullable', + 'latitude' => 'numeric|min:-90|max:90|nullable', + 'longitude' => 'numeric|min:-90|max:90|nullable', + 'zoomLevel' => 'numeric|min:0|max:80|nullable', ]; } } diff --git a/app/Http/Requests/TestRuleFormRequest.php b/app/Http/Requests/TestRuleFormRequest.php index c2d3bd8c61..5fc20c0c2c 100644 --- a/app/Http/Requests/TestRuleFormRequest.php +++ b/app/Http/Requests/TestRuleFormRequest.php @@ -35,7 +35,7 @@ class TestRuleFormRequest extends Request */ public function rules() { - + // fixed $validTriggers = array_keys(config('firefly.rule-triggers')); $rules = [ 'rule-trigger.*' => 'required|min:1|in:' . join(',', $validTriggers), diff --git a/app/Http/Requests/TokenFormRequest.php b/app/Http/Requests/TokenFormRequest.php index 8e30d3eaa7..bcef626dd7 100644 --- a/app/Http/Requests/TokenFormRequest.php +++ b/app/Http/Requests/TokenFormRequest.php @@ -35,7 +35,7 @@ class TokenFormRequest extends Request */ public function rules() { - + // fixed $rules = [ 'code' => 'required|2faCode', ]; diff --git a/app/Http/Requests/UserFormRequest.php b/app/Http/Requests/UserFormRequest.php index baba06cc63..f4cbfda5b4 100644 --- a/app/Http/Requests/UserFormRequest.php +++ b/app/Http/Requests/UserFormRequest.php @@ -52,7 +52,7 @@ class UserFormRequest extends Request 'id' => 'required|exists:users,id', 'email' => 'email|required', 'password' => 'confirmed|secure_password', - 'blocked_code' => 'between:0,30', + 'blocked_code' => 'between:0,30|nullable', 'blocked' => 'between:0,1|numeric', ]; } diff --git a/app/Http/Requests/UserRegistrationRequest.php b/app/Http/Requests/UserRegistrationRequest.php index 7875dc5358..0a41f34de8 100644 --- a/app/Http/Requests/UserRegistrationRequest.php +++ b/app/Http/Requests/UserRegistrationRequest.php @@ -33,6 +33,7 @@ class UserRegistrationRequest extends Request */ public function rules() { + // fixed return [ 'email' => 'email|required', 'password' => 'confirmed|secure_password', From bf8ce5471e7309f0ab50f9f1b6754955050de303 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 22:11:45 +0200 Subject: [PATCH 085/349] Fix bug in #836 --- app/Http/Controllers/Transaction/SplitController.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Transaction/SplitController.php b/app/Http/Controllers/Transaction/SplitController.php index 8f3783a476..1d3ce72711 100644 --- a/app/Http/Controllers/Transaction/SplitController.php +++ b/app/Http/Controllers/Transaction/SplitController.php @@ -184,6 +184,7 @@ class SplitController extends Controller */ private function arrayFromInput(SplitJournalFormRequest $request): array { + $tags = is_null($request->get('tags')) ? '' : $request->get('tags'); $array = [ 'journal_description' => $request->get('journal_description'), 'journal_source_account_id' => $request->get('journal_source_account_id'), @@ -200,7 +201,7 @@ class SplitController extends Controller 'invoice_date' => $request->get('invoice_date'), 'internal_reference' => $request->get('internal_reference'), 'notes' => $request->get('notes'), - 'tags' => explode(',', $request->get('tags')), + 'tags' => explode(',', $tags), // transactions. 'transactions' => $this->getTransactionDataFromRequest($request), From 3e8fe7091533e0e39f314c3465f183039ae5c446 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 22:14:43 +0200 Subject: [PATCH 086/349] Update error handler. --- app/Exceptions/Handler.php | 94 +++++++++++++++++++++++++++----------- 1 file changed, 68 insertions(+), 26 deletions(-) diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index c17d9d7ad2..3121687a6e 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -2,52 +2,94 @@ namespace FireflyIII\Exceptions; +use ErrorException; use Exception; +use FireflyIII\Jobs\MailError; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; +use Request; + class Handler extends ExceptionHandler { - /** - * A list of the exception types that are not reported. - * - * @var array - */ - protected $dontReport = [ - // - ]; - /** * A list of the inputs that are never flashed for validation exceptions. * * @var array */ - protected $dontFlash = [ - 'password', - 'password_confirmation', - ]; + protected $dontFlash + = [ + 'password', + 'password_confirmation', + ]; + /** + * A list of the exception types that are not reported. + * + * @var array + */ + protected $dontReport + = [ + // + ]; + + /** + * Render an exception into an HTTP response. + * + * @param \Illuminate\Http\Request $request + * @param \Exception $exception + * + * @return \Illuminate\Http\Response + */ + public function render($request, Exception $exception) + { + if ($exception instanceof FireflyException || $exception instanceof ErrorException) { + + $isDebug = env('APP_DEBUG', false); + + return response()->view('errors.FireflyException', ['exception' => $exception, 'debug' => $isDebug], 500); + } + + return parent::render($request, $exception); + } /** * Report or log an exception. * * This is a great spot to send exceptions to Sentry, Bugsnag, etc. * - * @param \Exception $exception + * @param \Exception $exception + * * @return void */ public function report(Exception $exception) { + $doMailError = env('SEND_ERROR_MESSAGE', true); + if (($exception instanceof FireflyException || $exception instanceof ErrorException) && $doMailError) { + $userData = [ + 'id' => 0, + 'email' => 'unknown@example.com', + ]; + if (auth()->check()) { + $userData['id'] = auth()->user()->id; + $userData['email'] = auth()->user()->email; + } + $data = [ + 'class' => get_class($exception), + 'errorMessage' => $exception->getMessage(), + 'time' => date('r'), + 'stackTrace' => $exception->getTraceAsString(), + 'file' => $exception->getFile(), + 'line' => $exception->getLine(), + 'code' => $exception->getCode(), + 'version' => config('firefly.version'), + ]; + + // create job that will mail. + $ipAddress = Request::ip() ?? '0.0.0.0'; + $job = new MailError($userData, env('SITE_OWNER', ''), $ipAddress, $data); + dispatch($job); + } + + parent::report($exception); } - - /** - * Render an exception into an HTTP response. - * - * @param \Illuminate\Http\Request $request - * @param \Exception $exception - * @return \Illuminate\Http\Response - */ - public function render($request, Exception $exception) - { - return parent::render($request, $exception); - } } From 1d3ace5f21418e684088d3277b3900b92f9c5115 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 22:28:14 +0200 Subject: [PATCH 087/349] Fix for #835 --- app/Http/Controllers/CategoryController.php | 2 +- .../Controllers/Chart/CategoryController.php | 2 +- .../Category/CategoryRepository.php | 115 +++++++++++------- .../Category/CategoryRepositoryInterface.php | 10 +- resources/views/list/categories.twig | 2 +- 5 files changed, 82 insertions(+), 49 deletions(-) diff --git a/app/Http/Controllers/CategoryController.php b/app/Http/Controllers/CategoryController.php index 240e2e18ed..c98726e353 100644 --- a/app/Http/Controllers/CategoryController.php +++ b/app/Http/Controllers/CategoryController.php @@ -420,7 +420,7 @@ class CategoryController extends Controller $accountRepository = app(AccountRepositoryInterface::class); $accounts = $accountRepository->getAccountsByType([AccountType::DEFAULT, AccountType::ASSET]); $first = $repository->firstUseDate($category); - if ($first->year === 1900) { + if (is_null($first)) { $first = new Carbon; } $range = Preferences::get('viewRange', '1M')->data; diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php index b6ac5e0973..55d71bb899 100644 --- a/app/Http/Controllers/Chart/CategoryController.php +++ b/app/Http/Controllers/Chart/CategoryController.php @@ -67,7 +67,7 @@ class CategoryController extends Controller $start = $repository->firstUseDate($category); - if ($start->year === 1900) { + if (is_null($first)) { $start = new Carbon; } diff --git a/app/Repositories/Category/CategoryRepository.php b/app/Repositories/Category/CategoryRepository.php index e0a9f262b7..7363d575f4 100644 --- a/app/Repositories/Category/CategoryRepository.php +++ b/app/Repositories/Category/CategoryRepository.php @@ -17,7 +17,6 @@ use Carbon\Carbon; use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Models\Category; use FireflyIII\Models\Transaction; -use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionType; use FireflyIII\User; use Illuminate\Support\Collection; @@ -105,33 +104,28 @@ class CategoryRepository implements CategoryRepositoryInterface /** * @param Category $category * - * @return Carbon + * @return Carbon|null */ - public function firstUseDate(Category $category): Carbon + public function firstUseDate(Category $category): ?Carbon { - $first = new Carbon; + $firstJournalDate = $this->getFirstJournalDate($category); + $firstTransactionDate = $this->getFirstTransactionDate($category); - /** @var TransactionJournal $firstJournal */ - $firstJournal = $category->transactionJournals()->orderBy('date', 'ASC')->first(['transaction_journals.date']); - - // if transaction journal exists and date is before $first, then - // new date: - if (!is_null($firstJournal) && $firstJournal->date->lessThanOrEqualTo($first)) { - $first = $firstJournal->date; + if (is_null($firstTransactionDate) && is_null($firstJournalDate)) { + return null; + } + if (is_null($firstTransactionDate)) { + return $firstJournalDate; + } + if (is_null($firstJournalDate)) { + return $firstTransactionDate; } - // check transactions: - $firstTransaction = $category->transactions() - ->leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id') - ->orderBy('transaction_journals.date', 'ASC')->first(['transaction_journals.date']); - - - // transaction exists, and date is before $first, this date becomes first. - if (!is_null($firstTransaction) && Carbon::parse($firstTransaction->date)->lessThanOrEqualTo($first)) { - $first = new Carbon($firstTransaction->date); + if ($firstTransactionDate < $firstJournalDate) { + return $firstTransactionDate; } - return $first; + return $firstJournalDate; } /** @@ -156,26 +150,28 @@ class CategoryRepository implements CategoryRepositoryInterface * @param Category $category * @param Collection $accounts * - * @return Carbon + * @return Carbon|null */ - public function lastUseDate(Category $category, Collection $accounts): Carbon + public function lastUseDate(Category $category, Collection $accounts): ?Carbon { - $last = new Carbon('1900-01-01'); - $lastJournalDate = $this->getLastJournalDate($category, $accounts); - - if ($lastJournalDate->year !== 1900) { - $last = clone $lastJournalDate; - unset($lastJournalDate); - } - + $lastJournalDate = $this->getLastJournalDate($category, $accounts); $lastTransactionDate = $this->getLastTransactionDate($category, $accounts); - if ($lastTransactionDate->year !== 1900 && $lastTransactionDate < $last) { - $last = clone $lastTransactionDate; - unset($lastTransactionDate); + if (is_null($lastTransactionDate) && is_null($lastJournalDate)) { + return null; + } + if (is_null($lastTransactionDate)) { + return $lastJournalDate; + } + if (is_null($lastJournalDate)) { + return $lastTransactionDate; } - return $last; + if ($lastTransactionDate < $lastJournalDate) { + return $lastTransactionDate; + } + + return $lastJournalDate; } /** @@ -456,13 +452,50 @@ class CategoryRepository implements CategoryRepositoryInterface return $category; } + /** + * @param Category $category + * + * @return Carbon|null + */ + private function getFirstJournalDate(Category $category): ?Carbon + { + $query = $category->transactionJournals()->orderBy('date', 'ASC'); + $result = $query->first(['transaction_journals.*']); + + if (!is_null($result)) { + return $result->date; + } + + return null; + } + + /** + * @param Category $category + * + * @return Carbon|null + */ + private function getFirstTransactionDate(Category $category): ?Carbon + { + // check transactions: + $query = $category->transactions() + ->leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id') + ->orderBy('transaction_journals.date', 'DESC'); + + $lastTransaction = $query->first(['transaction_journals.*']); + if (!is_null($lastTransaction)) { + return new Carbon($lastTransaction->date); + } + + return null; + } + /** * @param Category $category * @param Collection $accounts * - * @return Carbon + * @return Carbon|null */ - private function getLastJournalDate(Category $category, Collection $accounts): Carbon + private function getLastJournalDate(Category $category, Collection $accounts): ?Carbon { $query = $category->transactionJournals()->orderBy('date', 'DESC'); @@ -477,16 +510,16 @@ class CategoryRepository implements CategoryRepositoryInterface return $result->date; } - return new Carbon('1900-01-01'); + return null; } /** * @param Category $category * @param Collection $accounts * - * @return Carbon + * @return Carbon|null */ - private function getLastTransactionDate(Category $category, Collection $accounts): Carbon + private function getLastTransactionDate(Category $category, Collection $accounts): ?Carbon { // check transactions: $query = $category->transactions() @@ -502,7 +535,7 @@ class CategoryRepository implements CategoryRepositoryInterface return new Carbon($lastTransaction->date); } - return new Carbon('1900-01-01'); + return null; } } diff --git a/app/Repositories/Category/CategoryRepositoryInterface.php b/app/Repositories/Category/CategoryRepositoryInterface.php index c85568f0a6..62f902e019 100644 --- a/app/Repositories/Category/CategoryRepositoryInterface.php +++ b/app/Repositories/Category/CategoryRepositoryInterface.php @@ -63,9 +63,9 @@ interface CategoryRepositoryInterface /** * @param Category $category * - * @return Carbon + * @return Carbon|null */ - public function firstUseDate(Category $category): Carbon; + public function firstUseDate(Category $category): ?Carbon; /** * Returns a list of all the categories belonging to a user. @@ -75,14 +75,14 @@ interface CategoryRepositoryInterface public function getCategories(): Collection; /** - * Return most recent transaction(journal) date. + * Return most recent transaction(journal) date or null when never used before. * * @param Category $category * @param Collection $accounts * - * @return Carbon + * @return Carbon|null */ - public function lastUseDate(Category $category, Collection $accounts): Carbon; + public function lastUseDate(Category $category, Collection $accounts): ?Carbon; /** * @param Collection $categories diff --git a/resources/views/list/categories.twig b/resources/views/list/categories.twig index c16be94906..041a338acf 100644 --- a/resources/views/list/categories.twig +++ b/resources/views/list/categories.twig @@ -23,7 +23,7 @@ {{ category.name }} - {% if category.lastActivity.year != "1900" %} + {% if category.lastActivity %} {{ category.lastActivity.formatLocalized(monthAndDayFormat) }} From 0583aa53a99dad3ca5548cb5b8b2820cc2660723 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 22:30:48 +0200 Subject: [PATCH 088/349] Fix typo [skip ci] #836 --- resources/lang/en_US/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index e92ca4a27b..ed5882351b 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -942,7 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', - 'cannot_convert_split_journl' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', From 5f4da0f6a4327291c8edf6d0a252161264847889 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 22:40:26 +0200 Subject: [PATCH 089/349] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index a42d46e036..26c88528e5 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -942,7 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', - 'cannot_convert_split_journl' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Импорт', From 9072388dd03973e05a8bcbabfc65c3fb0eb1d899 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 22:40:44 +0200 Subject: [PATCH 090/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index e7ad1e512b..1213a87f78 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -942,7 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'Je kan transactie #:id met omschrijving ":description" niet wijzigen, want deze bevat meerdere doelrekeningen.', 'cannot_edit_opening_balance' => 'Je kan het startsaldo van een rekening niet wijzigen via dit scherm.', 'no_edit_multiple_left' => 'Je hebt geen geldige transacties geselecteerd.', - 'cannot_convert_split_journl' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', From e291e32a295e22460acd4b048ef5fff0f50c5ab9 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 22:40:48 +0200 Subject: [PATCH 091/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 84dc96e187..18bb047c04 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -942,7 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'Vous ne pouvez pas modifier la transaction scindée #:id avec la description ":description" car elle contient plusieurs comptes de destination.', 'cannot_edit_opening_balance' => 'Vous ne pouvez pas modifier le solde d\'ouverture d\'un compte.', 'no_edit_multiple_left' => 'Vous n\'avez sélectionné aucune transaction valide à éditer.', - 'cannot_convert_split_journl' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', From 27c1f1d0d583756a1bdcfb1cf5f47a00f9a053a8 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 22:40:51 +0200 Subject: [PATCH 092/349] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index 82cfaeb82a..8b0f05e389 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -943,7 +943,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', - 'cannot_convert_split_journl' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', From f4aa982247c67e7cc6a833ef66e1153fcf5ded67 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 22:40:55 +0200 Subject: [PATCH 093/349] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index d16f6185a5..929c4881d7 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -942,7 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', - 'cannot_convert_split_journl' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Importar', From 3203f7e1b726547820cee56f8cd7cc939d6f4d30 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 22:40:59 +0200 Subject: [PATCH 094/349] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index 92722feb69..0ff6b2cb73 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -942,7 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', - 'cannot_convert_split_journl' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', From e741ba2f65ff4f2f2ab3ba9ff1cdaaa543d19911 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 22:41:03 +0200 Subject: [PATCH 095/349] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index 654e3fe2ee..601daeba08 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -942,7 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'Você não pode editar transações parceladas #:id com a descrição ":description" porque ele contém várias contas de destino.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'Você não selecionou nenhuma transação válida para editar.', - 'cannot_convert_split_journl' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Importar', From be46aa77f213857432319971fa4b400e342c69a3 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 22:41:07 +0200 Subject: [PATCH 096/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index a3a3edf50b..f0bd442f0d 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -942,7 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'Nie wybrałeś żadnych poprawnych transakcji do edycji.', - 'cannot_convert_split_journl' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Importuj', From 78f9fbae40b03818ad5f1429d74ded8728d8971e Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 12 Sep 2017 23:10:10 +0200 Subject: [PATCH 097/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index f0bd442f0d..4fbd30986f 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -942,7 +942,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'Nie wybrałeś żadnych poprawnych transakcji do edycji.', - 'cannot_convert_split_journal' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Nie można przekonwertować podzielonej transakcji', // import bread crumbs and titles: 'import' => 'Importuj', From 233305ecb4b64eddc8e63d798ac255d272d735d5 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 13 Sep 2017 07:49:58 +0200 Subject: [PATCH 098/349] Change namespace of rules. --- .../Events/StoredJournalEventHandler.php | 2 +- .../Events/UpdatedJournalEventHandler.php | 2 +- app/Http/Controllers/RuleController.php | 2 +- app/Import/Storage/ImportSupport.php | 2 +- ...ExecuteRuleGroupOnExistingTransactions.php | 2 +- .../ExecuteRuleOnExistingTransactions.php | 2 +- app/Rules/Uppercase.php | 40 ------------------- .../Actions/ActionInterface.php | 4 +- .../Actions/AddTag.php | 4 +- .../Actions/AppendDescription.php | 4 +- .../Actions/ClearBudget.php | 4 +- .../Actions/ClearCategory.php | 4 +- .../Actions/PrependDescription.php | 4 +- .../Actions/RemoveAllTags.php | 4 +- .../Actions/RemoveTag.php | 4 +- .../Actions/SetBudget.php | 4 +- .../Actions/SetCategory.php | 4 +- .../Actions/SetDescription.php | 4 +- .../Actions/SetDestinationAccount.php | 4 +- .../Actions/SetSourceAccount.php | 4 +- .../Factory/ActionFactory.php | 8 ++-- .../Factory/TriggerFactory.php | 10 ++--- app/{Rules => TransactionRules}/Processor.php | 12 +++--- .../TransactionMatcher.php | 4 +- .../Triggers/AbstractTrigger.php | 4 +- .../Triggers/AmountExactly.php | 4 +- .../Triggers/AmountLess.php | 4 +- .../Triggers/AmountMore.php | 4 +- .../Triggers/BudgetIs.php | 4 +- .../Triggers/CategoryIs.php | 4 +- .../Triggers/DescriptionContains.php | 4 +- .../Triggers/DescriptionEnds.php | 4 +- .../Triggers/DescriptionIs.php | 4 +- .../Triggers/DescriptionStarts.php | 4 +- .../Triggers/FromAccountContains.php | 4 +- .../Triggers/FromAccountEnds.php | 4 +- .../Triggers/FromAccountIs.php | 4 +- .../Triggers/FromAccountStarts.php | 4 +- .../Triggers/HasAnyBudget.php | 4 +- .../Triggers/HasAnyCategory.php | 4 +- .../Triggers/HasAnyTag.php | 4 +- .../Triggers/HasAttachment.php | 2 +- .../Triggers/HasNoBudget.php | 4 +- .../Triggers/HasNoCategory.php | 4 +- .../Triggers/HasNoTag.php | 4 +- .../Triggers/TagIs.php | 4 +- .../Triggers/ToAccountContains.php | 4 +- .../Triggers/ToAccountEnds.php | 4 +- .../Triggers/ToAccountIs.php | 4 +- .../Triggers/ToAccountStarts.php | 4 +- .../Triggers/TransactionType.php | 4 +- .../Triggers/TriggerInterface.php | 4 +- .../Triggers/UserAction.php | 4 +- app/Validation/FireflyValidator.php | 2 +- .../Controllers/RuleControllerTest.php | 2 +- 55 files changed, 108 insertions(+), 148 deletions(-) delete mode 100644 app/Rules/Uppercase.php rename app/{Rules => TransactionRules}/Actions/ActionInterface.php (88%) rename app/{Rules => TransactionRules}/Actions/AddTag.php (94%) rename app/{Rules => TransactionRules}/Actions/AppendDescription.php (92%) rename app/{Rules => TransactionRules}/Actions/ClearBudget.php (91%) rename app/{Rules => TransactionRules}/Actions/ClearCategory.php (91%) rename app/{Rules => TransactionRules}/Actions/PrependDescription.php (92%) rename app/{Rules => TransactionRules}/Actions/RemoveAllTags.php (91%) rename app/{Rules => TransactionRules}/Actions/RemoveTag.php (94%) rename app/{Rules => TransactionRules}/Actions/SetBudget.php (95%) rename app/{Rules => TransactionRules}/Actions/SetCategory.php (93%) rename app/{Rules => TransactionRules}/Actions/SetDescription.php (93%) rename app/{Rules => TransactionRules}/Actions/SetDestinationAccount.php (97%) rename app/{Rules => TransactionRules}/Actions/SetSourceAccount.php (97%) rename app/{Rules => TransactionRules}/Factory/ActionFactory.php (90%) rename app/{Rules => TransactionRules}/Factory/TriggerFactory.php (92%) rename app/{Rules => TransactionRules}/Processor.php (96%) rename app/{Rules => TransactionRules}/TransactionMatcher.php (98%) rename app/{Rules => TransactionRules}/Triggers/AbstractTrigger.php (96%) rename app/{Rules => TransactionRules}/Triggers/AmountExactly.php (95%) rename app/{Rules => TransactionRules}/Triggers/AmountLess.php (95%) rename app/{Rules => TransactionRules}/Triggers/AmountMore.php (96%) rename app/{Rules => TransactionRules}/Triggers/BudgetIs.php (97%) rename app/{Rules => TransactionRules}/Triggers/CategoryIs.php (97%) rename app/{Rules => TransactionRules}/Triggers/DescriptionContains.php (96%) rename app/{Rules => TransactionRules}/Triggers/DescriptionEnds.php (96%) rename app/{Rules => TransactionRules}/Triggers/DescriptionIs.php (95%) rename app/{Rules => TransactionRules}/Triggers/DescriptionStarts.php (96%) rename app/{Rules => TransactionRules}/Triggers/FromAccountContains.php (96%) rename app/{Rules => TransactionRules}/Triggers/FromAccountEnds.php (96%) rename app/{Rules => TransactionRules}/Triggers/FromAccountIs.php (95%) rename app/{Rules => TransactionRules}/Triggers/FromAccountStarts.php (96%) rename app/{Rules => TransactionRules}/Triggers/HasAnyBudget.php (95%) rename app/{Rules => TransactionRules}/Triggers/HasAnyCategory.php (95%) rename app/{Rules => TransactionRules}/Triggers/HasAnyTag.php (95%) rename app/{Rules => TransactionRules}/Triggers/HasAttachment.php (97%) rename app/{Rules => TransactionRules}/Triggers/HasNoBudget.php (95%) rename app/{Rules => TransactionRules}/Triggers/HasNoCategory.php (95%) rename app/{Rules => TransactionRules}/Triggers/HasNoTag.php (95%) rename app/{Rules => TransactionRules}/Triggers/TagIs.php (95%) rename app/{Rules => TransactionRules}/Triggers/ToAccountContains.php (96%) rename app/{Rules => TransactionRules}/Triggers/ToAccountEnds.php (96%) rename app/{Rules => TransactionRules}/Triggers/ToAccountIs.php (96%) rename app/{Rules => TransactionRules}/Triggers/ToAccountStarts.php (96%) rename app/{Rules => TransactionRules}/Triggers/TransactionType.php (95%) rename app/{Rules => TransactionRules}/Triggers/TriggerInterface.php (93%) rename app/{Rules => TransactionRules}/Triggers/UserAction.php (94%) diff --git a/app/Handlers/Events/StoredJournalEventHandler.php b/app/Handlers/Events/StoredJournalEventHandler.php index 6d266d0dda..2222bfbb64 100644 --- a/app/Handlers/Events/StoredJournalEventHandler.php +++ b/app/Handlers/Events/StoredJournalEventHandler.php @@ -19,7 +19,7 @@ use FireflyIII\Models\RuleGroup; use FireflyIII\Repositories\Journal\JournalRepositoryInterface as JRI; use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface as PRI; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface as RGRI; -use FireflyIII\Rules\Processor; +use FireflyIII\TransactionRules\Processor; use FireflyIII\Support\Events\BillScanner; use Log; diff --git a/app/Handlers/Events/UpdatedJournalEventHandler.php b/app/Handlers/Events/UpdatedJournalEventHandler.php index 17303c9134..eea7c7af0c 100644 --- a/app/Handlers/Events/UpdatedJournalEventHandler.php +++ b/app/Handlers/Events/UpdatedJournalEventHandler.php @@ -18,7 +18,7 @@ use FireflyIII\Events\UpdatedTransactionJournal; use FireflyIII\Models\Rule; use FireflyIII\Models\RuleGroup; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; -use FireflyIII\Rules\Processor; +use FireflyIII\TransactionRules\Processor; use FireflyIII\Support\Events\BillScanner; /** diff --git a/app/Http/Controllers/RuleController.php b/app/Http/Controllers/RuleController.php index 46de443874..d87d817128 100644 --- a/app/Http/Controllers/RuleController.php +++ b/app/Http/Controllers/RuleController.php @@ -27,7 +27,7 @@ use FireflyIII\Models\RuleTrigger; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Rule\RuleRepositoryInterface; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; -use FireflyIII\Rules\TransactionMatcher; +use FireflyIII\TransactionRules\TransactionMatcher; use Illuminate\Http\Request; use Preferences; use Response; diff --git a/app/Import/Storage/ImportSupport.php b/app/Import/Storage/ImportSupport.php index 7c2f487e48..22a2ab88ef 100644 --- a/app/Import/Storage/ImportSupport.php +++ b/app/Import/Storage/ImportSupport.php @@ -29,7 +29,7 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournalMeta; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Tag\TagRepositoryInterface; -use FireflyIII\Rules\Processor; +use FireflyIII\TransactionRules\Processor; use Illuminate\Database\Query\JoinClause; use Illuminate\Support\Collection; use Log; diff --git a/app/Jobs/ExecuteRuleGroupOnExistingTransactions.php b/app/Jobs/ExecuteRuleGroupOnExistingTransactions.php index 417895ab40..2729c9312e 100644 --- a/app/Jobs/ExecuteRuleGroupOnExistingTransactions.php +++ b/app/Jobs/ExecuteRuleGroupOnExistingTransactions.php @@ -16,7 +16,7 @@ namespace FireflyIII\Jobs; use Carbon\Carbon; use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Models\RuleGroup; -use FireflyIII\Rules\Processor; +use FireflyIII\TransactionRules\Processor; use FireflyIII\User; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; diff --git a/app/Jobs/ExecuteRuleOnExistingTransactions.php b/app/Jobs/ExecuteRuleOnExistingTransactions.php index b8f9c2bb6a..33d7ba7d34 100644 --- a/app/Jobs/ExecuteRuleOnExistingTransactions.php +++ b/app/Jobs/ExecuteRuleOnExistingTransactions.php @@ -14,7 +14,7 @@ namespace FireflyIII\Jobs; use Carbon\Carbon; use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Models\Rule; -use FireflyIII\Rules\Processor; +use FireflyIII\TransactionRules\Processor; use FireflyIII\User; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; diff --git a/app/Rules/Uppercase.php b/app/Rules/Uppercase.php deleted file mode 100644 index 6b74791de1..0000000000 --- a/app/Rules/Uppercase.php +++ /dev/null @@ -1,40 +0,0 @@ - Date: Thu, 14 Sep 2017 10:32:58 +0200 Subject: [PATCH 099/349] Extra big buttons for ##838 --- resources/views/tags/show.twig | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/resources/views/tags/show.twig b/resources/views/tags/show.twig index da635e1256..2f2c8f0e93 100644 --- a/resources/views/tags/show.twig +++ b/resources/views/tags/show.twig @@ -48,7 +48,12 @@ {{ 'result'|_ }}: {{ result|formatAmount }}

{% endif %} - + From 4b5f500dc18868f8364963cd9b447a488401c55a Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 10:39:24 +0200 Subject: [PATCH 100/349] Filter out opening balances. #839 --- app/Http/Controllers/CategoryController.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/CategoryController.php b/app/Http/Controllers/CategoryController.php index c98726e353..9fcefa4737 100644 --- a/app/Http/Controllers/CategoryController.php +++ b/app/Http/Controllers/CategoryController.php @@ -204,7 +204,8 @@ class CategoryController extends Controller /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); - $collector->setAllAssetAccounts()->setRange($start, $end)->setLimit($pageSize)->setPage($page)->withoutCategory()->withOpposingAccount(); + $collector->setAllAssetAccounts()->setRange($start, $end)->setLimit($pageSize)->setPage($page)->withoutCategory()->withOpposingAccount() + ->setTypes([TransactionType::WITHDRAWAL,TransactionType::DEPOSIT, TransactionType::TRANSFER]); $collector->removeFilter(InternalTransferFilter::class); $journals = $collector->getPaginatedJournals(); $journals->setPath(route('categories.no-category')); @@ -358,11 +359,11 @@ class CategoryController extends Controller $end = Navigation::startOfPeriod($end, $range); $currentEnd = Navigation::endOfPeriod($end, $range); - // count journals without budget in this period: + // count journals without category in this period: /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); $collector->setAllAssetAccounts()->setRange($end, $currentEnd)->withoutCategory() - ->withOpposingAccount(); + ->withOpposingAccount()->setTypes([TransactionType::WITHDRAWAL,TransactionType::DEPOSIT, TransactionType::TRANSFER]); $collector->removeFilter(InternalTransferFilter::class); $count = $collector->getJournals()->count(); From e250ffbd18eb4a32a2d830dbaa6f155a262beb68 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:03:27 +0200 Subject: [PATCH 101/349] Add missing translations #843 --- resources/lang/en_US/firefly.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index ed5882351b..d083d2045c 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -130,6 +130,8 @@ return [ 'exchange_rate_instructions' => 'Asset account "@name" only accepts transactions in @native_currency. If you wish to use @foreign_currency instead, make sure that the amount in @native_currency is known as well:', 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', 'transaction_data' => 'Transaction data', + 'invalid_server_configuration' => 'Invalid server configuration', + 'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are instructions how to do this.', // search 'search' => 'Search', @@ -942,7 +944,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', - 'cannot_convert_split_journal' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', @@ -986,6 +988,7 @@ return [ 'import_status_finished_title' => 'Import routine finished', 'import_status_finished_text' => 'The import routine has imported your file.', 'import_status_finished_job' => 'The transactions imported can be found in tag :tag.', + 'import_status_job_running' => 'The import is running...', 'import_with_key' => 'Import with key \':key\'', // sandstorm.io errors and messages: From d7ef5df8c3e572084d4e089dec5a42328c6cf7fa Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:10:37 +0200 Subject: [PATCH 102/349] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index 26c88528e5..cea75b6f65 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -130,6 +130,8 @@ return [ 'exchange_rate_instructions' => 'Asset account "@name" only accepts transactions in @native_currency. If you wish to use @foreign_currency instead, make sure that the amount in @native_currency is known as well:', 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', 'transaction_data' => 'Данные транзакции', + 'invalid_server_configuration' => 'Invalid server configuration', + 'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are instructions how to do this.', // search 'search' => 'Поиск', @@ -942,7 +944,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', - 'cannot_convert_split_journal' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Импорт', @@ -986,6 +988,7 @@ return [ 'import_status_finished_title' => 'Import routine finished', 'import_status_finished_text' => 'The import routine has imported your file.', 'import_status_finished_job' => 'The transactions imported can be found in tag :tag.', + 'import_status_job_running' => 'The import is running...', 'import_with_key' => 'Import with key \':key\'', // sandstorm.io errors and messages: From 6c393fb8e0458d948db46453aaee85ba8000b601 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:10:57 +0200 Subject: [PATCH 103/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index 1213a87f78..403b861851 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -130,6 +130,8 @@ return [ 'exchange_rate_instructions' => 'Betaalrekening "@naam" accepteert alleen boekingen in @native_currency. Als je @foreign_currency wilt gebruiken moet je ook het bedrag in @native_currency opgeven:', 'transfer_exchange_rate_instructions' => 'Bronbetaalrekening "@source_name" accepteert alleen overschrijvingen in @source_currency. Doelbetaalrekening "@dest_name: accepteert alleen overschrijvingen in @dest_currency. Je moet het juiste bedrag in beide valuta opgeven.', 'transaction_data' => 'Transactiegegevens', + 'invalid_server_configuration' => 'Invalid server configuration', + 'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are instructions how to do this.', // search 'search' => 'Zoeken', @@ -942,7 +944,7 @@ return [ 'cannot_edit_multiple_dest' => 'Je kan transactie #:id met omschrijving ":description" niet wijzigen, want deze bevat meerdere doelrekeningen.', 'cannot_edit_opening_balance' => 'Je kan het startsaldo van een rekening niet wijzigen via dit scherm.', 'no_edit_multiple_left' => 'Je hebt geen geldige transacties geselecteerd.', - 'cannot_convert_split_journal' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', @@ -986,6 +988,7 @@ return [ 'import_status_finished_title' => 'Importeren is klaar', 'import_status_finished_text' => 'Je gegevensbestand is geïmporteerd.', 'import_status_finished_job' => 'De geimporteerde transacties kan je vinden onder tag :tag.', + 'import_status_job_running' => 'The import is running...', 'import_with_key' => 'Import met code \':key\'', // sandstorm.io errors and messages: From fcf350b06b542d5994d98513f0295d9a6b348b1c Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:11:03 +0200 Subject: [PATCH 104/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 18bb047c04..1f3e85f60c 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -130,6 +130,8 @@ return [ 'exchange_rate_instructions' => 'Compte d’actif "@name" n’accepte que les transactions en @native_currency. Si vous souhaitez utiliser @foreign_currency à la place, assurez-vous que le montant en @native_currency est aussi bien connu :', 'transfer_exchange_rate_instructions' => 'Compte d’actif source "@source_name" n’accepte que les transactions en @source_currency. Compte d’actif "@dest_name" de destination n’accepte que les transactions en @dest_currency. Vous devez fournir le montant transféré correctement dans les deux monnaies.', 'transaction_data' => 'Données de transaction', + 'invalid_server_configuration' => 'Invalid server configuration', + 'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are instructions how to do this.', // search 'search' => 'Rechercher', @@ -942,7 +944,7 @@ return [ 'cannot_edit_multiple_dest' => 'Vous ne pouvez pas modifier la transaction scindée #:id avec la description ":description" car elle contient plusieurs comptes de destination.', 'cannot_edit_opening_balance' => 'Vous ne pouvez pas modifier le solde d\'ouverture d\'un compte.', 'no_edit_multiple_left' => 'Vous n\'avez sélectionné aucune transaction valide à éditer.', - 'cannot_convert_split_journal' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', @@ -986,6 +988,7 @@ return [ 'import_status_finished_title' => 'La routine d\'importation est terminée', 'import_status_finished_text' => 'La routine d\'importation a importé votre fichier.', 'import_status_finished_job' => 'Les transactions importées se trouvent dans la balise :tag.', + 'import_status_job_running' => 'The import is running...', 'import_with_key' => 'Importer avec la touche \':key\'', // sandstorm.io errors and messages: From bc6a34bb474059026c2ce5f3064518f7f975f337 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:11:09 +0200 Subject: [PATCH 105/349] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index 8b0f05e389..f0f70124f2 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -130,6 +130,8 @@ return [ 'exchange_rate_instructions' => 'Das Girokonto "@name" akzeptiert nur Transaktionen in @native_currency. Wenn Sie stattdessen @foreign_currency verwenden wollen, sollten Sie sicherstellen, dass der Betrag auch in @native_currency angegeben ist:', 'transfer_exchange_rate_instructions' => 'Das Quellkonto "@source_name" akzeptiert nur Transaktionen in @source_currency. Das Zielkonto "@dest_name" akzeptiert nur Transaktionen in @dest_currency. Sie müssen den Betrag in beiden Währungen korrekt angeben.', 'transaction_data' => 'Transaktionsdaten', + 'invalid_server_configuration' => 'Invalid server configuration', + 'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are instructions how to do this.', // search 'search' => 'Suche', @@ -943,7 +945,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', - 'cannot_convert_split_journal' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', @@ -987,6 +989,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'import_status_finished_title' => 'Import routine finished', 'import_status_finished_text' => 'The import routine has imported your file.', 'import_status_finished_job' => 'The transactions imported can be found in tag :tag.', + 'import_status_job_running' => 'The import is running...', 'import_with_key' => 'Import with key \':key\'', // sandstorm.io errors and messages: From c9e7018490385a7655dc44d4c88ad1ccd4e91fe9 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:11:10 +0200 Subject: [PATCH 106/349] Fix null pointer --- app/Http/Controllers/Chart/CategoryController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php index 55d71bb899..ce453131bc 100644 --- a/app/Http/Controllers/Chart/CategoryController.php +++ b/app/Http/Controllers/Chart/CategoryController.php @@ -67,7 +67,7 @@ class CategoryController extends Controller $start = $repository->firstUseDate($category); - if (is_null($first)) { + if (is_null($start)) { $start = new Carbon; } From 56fcf73ce18e1ee9574d0a3f397e73bc581cc08f Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:11:13 +0200 Subject: [PATCH 107/349] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index 929c4881d7..a1b5d462d5 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -130,6 +130,8 @@ return [ 'exchange_rate_instructions' => 'Asset account "@name" only accepts transactions in @native_currency. If you wish to use @foreign_currency instead, make sure that the amount in @native_currency is known as well:', 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', 'transaction_data' => 'Transaction data', + 'invalid_server_configuration' => 'Invalid server configuration', + 'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are instructions how to do this.', // search 'search' => 'Buscar', @@ -942,7 +944,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', - 'cannot_convert_split_journal' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Importar', @@ -986,6 +988,7 @@ return [ 'import_status_finished_title' => 'Import routine finished', 'import_status_finished_text' => 'The import routine has imported your file.', 'import_status_finished_job' => 'The transactions imported can be found in tag :tag.', + 'import_status_job_running' => 'The import is running...', 'import_with_key' => 'Import with key \':key\'', // sandstorm.io errors and messages: From dd3ddaa838ba19b8d9254bbabc906ce61543a5ed Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:11:16 +0200 Subject: [PATCH 108/349] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index 0ff6b2cb73..407bf873ae 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -130,6 +130,8 @@ return [ 'exchange_rate_instructions' => 'Premoženjski račun "@name" sprejema samo transakcije v @native_currency. Če želite namesto tega uporabiti @foreign_currency, morate podati tudi znesek v @native_currency:', 'transfer_exchange_rate_instructions' => 'Izvorni premoženjski račun "@source_name" sprejema samo transakcije v @source_currency. Ciljni premoženjski račun "@dest_name" sprejema samo transakcije v @dest_currency. Podati morate znesek v obeh valutah.', 'transaction_data' => 'Transaction data', + 'invalid_server_configuration' => 'Invalid server configuration', + 'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are instructions how to do this.', // search 'search' => 'Search', @@ -942,7 +944,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', - 'cannot_convert_split_journal' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Import', @@ -986,6 +988,7 @@ return [ 'import_status_finished_title' => 'Import routine finished', 'import_status_finished_text' => 'The import routine has imported your file.', 'import_status_finished_job' => 'The transactions imported can be found in tag :tag.', + 'import_status_job_running' => 'The import is running...', 'import_with_key' => 'Import with key \':key\'', // sandstorm.io errors and messages: From 1a1c85b268028b088179439dce0f56d84672a597 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:11:20 +0200 Subject: [PATCH 109/349] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index 601daeba08..5ec72b60fc 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -130,6 +130,8 @@ return [ 'exchange_rate_instructions' => 'Asset account "@name" only accepts transactions in @native_currency. If you wish to use @foreign_currency instead, make sure that the amount in @native_currency is known as well:', 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', 'transaction_data' => 'Transaction data', + 'invalid_server_configuration' => 'Invalid server configuration', + 'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are instructions how to do this.', // search 'search' => 'Pesquisa', @@ -942,7 +944,7 @@ return [ 'cannot_edit_multiple_dest' => 'Você não pode editar transações parceladas #:id com a descrição ":description" porque ele contém várias contas de destino.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'Você não selecionou nenhuma transação válida para editar.', - 'cannot_convert_split_journal' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Cannot convert a split transaction', // import bread crumbs and titles: 'import' => 'Importar', @@ -986,6 +988,7 @@ return [ 'import_status_finished_title' => 'Import routine finished', 'import_status_finished_text' => 'The import routine has imported your file.', 'import_status_finished_job' => 'The transactions imported can be found in tag :tag.', + 'import_status_job_running' => 'The import is running...', 'import_with_key' => 'Importação com chave \':key\'', // sandstorm.io errors and messages: From d60ae631533242f504e8f8e1362448b8a4ed8b1e Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:11:24 +0200 Subject: [PATCH 110/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index 4fbd30986f..f5c64c201f 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -130,6 +130,8 @@ return [ 'exchange_rate_instructions' => 'Konto aktywów "@name" obsługuje tylko transakcje w walucie @native_currency. Jeśli chcesz użyć waluty @foreign_currency, upewnij się, że kwota w @native_currency jest również znana:', 'transfer_exchange_rate_instructions' => 'Konto źródłowe "@source_name" obsługuje tylko transakcje w walucie @source_currency. Konto docelowe "@dest_name" obsługuje tylko transakcje w walucie @dest_currency. Musisz podać przelewaną kwotę w obu walutach.', 'transaction_data' => 'Dane transakcji', + 'invalid_server_configuration' => 'Invalid server configuration', + 'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are instructions how to do this.', // search 'search' => 'Szukaj', @@ -942,7 +944,7 @@ return [ 'cannot_edit_multiple_dest' => 'You cannot edit splitted transaction #:id with description ":description" because it contains multiple destination accounts.', 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', 'no_edit_multiple_left' => 'Nie wybrałeś żadnych poprawnych transakcji do edycji.', - 'cannot_convert_split_journal' => 'Nie można przekonwertować podzielonej transakcji', + 'cannot_convert_split_journal' => 'Nie można przekonwertować podzielonej transakcji', // import bread crumbs and titles: 'import' => 'Importuj', @@ -986,6 +988,7 @@ return [ 'import_status_finished_title' => 'Importowanie zakończone', 'import_status_finished_text' => 'Procedura importu pomyślnie zaimportowała Twój plik.', 'import_status_finished_job' => 'Zaimportowane transakcje znajdują się w tagu :tag.', + 'import_status_job_running' => 'The import is running...', 'import_with_key' => 'Import z kluczem \':key\'', // sandstorm.io errors and messages: From a20d9fa8f11d7147eaf60378290ba7c7c042b36f Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:11:55 +0200 Subject: [PATCH 111/349] Add missing translations #843 --- resources/lang/en_US/list.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/en_US/list.php b/resources/lang/en_US/list.php index 9eed042382..a9434fe3ec 100644 --- a/resources/lang/en_US/list.php +++ b/resources/lang/en_US/list.php @@ -82,4 +82,6 @@ return [ 'inward' => 'Inward description', 'outward' => 'Outward description', 'number_of_transactions' => 'Number of transactions', + 'total_amount' => 'Total amount', + ]; From 768c7e53b49185b230771d8777d57da36c29d85a Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:12:07 +0200 Subject: [PATCH 112/349] Show message when locale is invalid. --- app/Http/Middleware/Range.php | 8 +++++++- resources/views/partials/flashes.twig | 11 +++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/Http/Middleware/Range.php b/app/Http/Middleware/Range.php index 025478e7df..1ad9f1b76c 100644 --- a/app/Http/Middleware/Range.php +++ b/app/Http/Middleware/Range.php @@ -98,7 +98,13 @@ class Range $locale = array_map('trim', $locale); setlocale(LC_TIME, $locale); - setlocale(LC_MONETARY, $locale); + $moneyResult = setlocale(LC_MONETARY, $locale); + + // send error to view if could not set money format + if($moneyResult === false) { + View::share('invalidMonetaryLocale', true); + } + // save some formats: diff --git a/resources/views/partials/flashes.twig b/resources/views/partials/flashes.twig index 15198f87b6..6e428ccdb0 100644 --- a/resources/views/partials/flashes.twig +++ b/resources/views/partials/flashes.twig @@ -1,3 +1,13 @@ +{# LOCALE ERROR MESSAGE #} +{% if invalidMonetaryLocale %} + +{% endif %} + {# SUCCESS MESSAGE (ALWAYS SINGULAR) #} {% if Session.has('success') %} {% endif %} + From afe9d109b358524b12407355be5585ae3d180b9a Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:13:25 +0200 Subject: [PATCH 113/349] Small layout change [skip ci] --- app/Http/Controllers/Auth/LoginController.php | 29 +++++++++++++++++++ app/Jobs/MailError.php | 3 +- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 6e11b41b38..619701b51f 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -2,8 +2,13 @@ namespace FireflyIII\Http\Controllers\Auth; +use FireflyConfig; use FireflyIII\Http\Controllers\Controller; +use FireflyIII\User; +use Illuminate\Cookie\CookieJar; use Illuminate\Foundation\Auth\AuthenticatesUsers; +use Illuminate\Http\Request; + class LoginController extends Controller { @@ -37,4 +42,28 @@ class LoginController extends Controller parent::__construct(); $this->middleware('guest')->except('logout'); } + + /** + * Show the application's login form. + * + * @return \Illuminate\Http\Response + */ + public function showLoginForm(Request $request, CookieJar $cookieJar) + { + // forget 2fa cookie: + $cookie = $cookieJar->forever('twoFactorAuthenticated', 'false'); + + // is allowed to? + $singleUserMode = FireflyConfig::get('single_user_mode', config('firefly.configuration.single_user_mode'))->data; + $userCount = User::count(); + $allowRegistration = true; + if ($singleUserMode === true && $userCount > 0) { + $allowRegistration = false; + } + + $email = $request->old('email'); + $remember = $request->old('remember'); + + return view('auth.login', compact('allowRegistration', 'email', 'remember'))->withCookie($cookie); + } } diff --git a/app/Jobs/MailError.php b/app/Jobs/MailError.php index fd4a0164ff..44454c1815 100644 --- a/app/Jobs/MailError.php +++ b/app/Jobs/MailError.php @@ -55,8 +55,7 @@ class MailError extends Job implements ShouldQueue $this->destination = $destination; $this->ipAddress = $ipAddress; $this->exception = $exceptionData; - - $debug = $exceptionData; + $debug = $exceptionData; unset($debug['stackTrace']); Log::error('Exception is: ' . json_encode($debug)); } From 45a05111e6baa7b43349387c923328dda6a2993c Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 16:40:12 +0200 Subject: [PATCH 114/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index 403b861851..34ea2effa0 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -130,8 +130,8 @@ return [ 'exchange_rate_instructions' => 'Betaalrekening "@naam" accepteert alleen boekingen in @native_currency. Als je @foreign_currency wilt gebruiken moet je ook het bedrag in @native_currency opgeven:', 'transfer_exchange_rate_instructions' => 'Bronbetaalrekening "@source_name" accepteert alleen overschrijvingen in @source_currency. Doelbetaalrekening "@dest_name: accepteert alleen overschrijvingen in @dest_currency. Je moet het juiste bedrag in beide valuta opgeven.', 'transaction_data' => 'Transactiegegevens', - 'invalid_server_configuration' => 'Invalid server configuration', - 'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are instructions how to do this.', + 'invalid_server_configuration' => 'Ongeldige serverconfiguratie', + 'invalid_locale_settings' => 'Firefly III kan geldbedragen niet goed weergeven omdat je server de vereiste software mist. Er zijn instructies hoe dit te doen.', // search 'search' => 'Zoeken', @@ -912,7 +912,7 @@ return [ 'comments' => 'Opmerkingen', 'to_link_not_found' => 'Als de transactie die je wilt koppelen niet gevonden wordt, voer dan het ID in.', 'invalid_link_data' => 'Ongeldige informatie, de transactie kan niet gekoppeld worden.', - 'invalid_link_selection' => 'Cannot link these transactions', + 'invalid_link_selection' => 'Deze transacties kunnen niet worden gekoppeld', 'journals_linked' => 'De transacties zijn gekoppeld.', 'journals_error_linked' => 'Deze transacties zijn al gekoppeld.', 'journal_links' => 'Transactiekoppelingen', @@ -944,7 +944,7 @@ return [ 'cannot_edit_multiple_dest' => 'Je kan transactie #:id met omschrijving ":description" niet wijzigen, want deze bevat meerdere doelrekeningen.', 'cannot_edit_opening_balance' => 'Je kan het startsaldo van een rekening niet wijzigen via dit scherm.', 'no_edit_multiple_left' => 'Je hebt geen geldige transacties geselecteerd.', - 'cannot_convert_split_journal' => 'Cannot convert a split transaction', + 'cannot_convert_split_journal' => 'Kan geen gesplitste transactie omzetten', // import bread crumbs and titles: 'import' => 'Import', @@ -988,7 +988,7 @@ return [ 'import_status_finished_title' => 'Importeren is klaar', 'import_status_finished_text' => 'Je gegevensbestand is geïmporteerd.', 'import_status_finished_job' => 'De geimporteerde transacties kan je vinden onder tag :tag.', - 'import_status_job_running' => 'The import is running...', + 'import_status_job_running' => 'De import is bezig...', 'import_with_key' => 'Import met code \':key\'', // sandstorm.io errors and messages: From fc5494e7f4f14bee124c94b6adcb7edb01b4b2a9 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:10:33 +0200 Subject: [PATCH 115/349] Restore test env. file. --- .env.testing | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .env.testing diff --git a/.env.testing b/.env.testing new file mode 100644 index 0000000000..4d67254078 --- /dev/null +++ b/.env.testing @@ -0,0 +1,55 @@ +APP_ENV=testing +APP_DEBUG=true +APP_NAME=FireflyIII +APP_KEY=TestTestTestTestTestTestTestTest +APP_LOG=daily +APP_LOG_LEVEL=debug +APP_URL=http://localhost + +DB_CONNECTION=sqlite +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_USERNAME=homestead +DB_PASSWORD= + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +SESSION_DRIVER=file +QUEUE_DRIVER=sync + +COOKIE_PATH="/" +COOKIE_DOMAIN= +COOKIE_SECURE=false + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_DRIVER=smtp +MAIL_HOST=smtp.mailtrap.io +MAIL_PORT=2525 +MAIL_FROM=changeme@example.com +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null + +SEND_REGISTRATION_MAIL=true +SEND_ERROR_MESSAGE=true +SHOW_INCOMPLETE_TRANSLATIONS=false + +CACHE_PREFIX=firefly + +EXCHANGE_RATE_SERVICE=fixerio + +GOOGLE_MAPS_API_KEY= +ANALYTICS_ID= +SITE_OWNER=mail@example.com +USE_ENCRYPTION=true + +PUSHER_KEY= +PUSHER_SECRET= +PUSHER_ID= + +DEMO_USERNAME= +DEMO_PASSWORD= + From e0f121189699620d496bf8a8413c20aa435512ee Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:29:21 +0200 Subject: [PATCH 116/349] Update config to account for namespace. --- config/firefly.php | 78 +++++++++++++++++++++++----------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/config/firefly.php b/config/firefly.php index 321ee94af1..a767443787 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -173,48 +173,48 @@ return [ 'date' => 'FireflyIII\Support\Binder\Date', ], 'rule-triggers' => [ - 'user_action' => 'FireflyIII\Rules\Triggers\UserAction', - 'from_account_starts' => 'FireflyIII\Rules\Triggers\FromAccountStarts', - 'from_account_ends' => 'FireflyIII\Rules\Triggers\FromAccountEnds', - 'from_account_is' => 'FireflyIII\Rules\Triggers\FromAccountIs', - 'from_account_contains' => 'FireflyIII\Rules\Triggers\FromAccountContains', - 'to_account_starts' => 'FireflyIII\Rules\Triggers\ToAccountStarts', - 'to_account_ends' => 'FireflyIII\Rules\Triggers\ToAccountEnds', - 'to_account_is' => 'FireflyIII\Rules\Triggers\ToAccountIs', - 'to_account_contains' => 'FireflyIII\Rules\Triggers\ToAccountContains', - 'amount_less' => 'FireflyIII\Rules\Triggers\AmountLess', - 'amount_exactly' => 'FireflyIII\Rules\Triggers\AmountExactly', - 'amount_more' => 'FireflyIII\Rules\Triggers\AmountMore', - 'description_starts' => 'FireflyIII\Rules\Triggers\DescriptionStarts', - 'description_ends' => 'FireflyIII\Rules\Triggers\DescriptionEnds', - 'description_contains' => 'FireflyIII\Rules\Triggers\DescriptionContains', - 'description_is' => 'FireflyIII\Rules\Triggers\DescriptionIs', - 'transaction_type' => 'FireflyIII\Rules\Triggers\TransactionType', - 'category_is' => 'FireflyIII\Rules\Triggers\CategoryIs', - 'budget_is' => 'FireflyIII\Rules\Triggers\BudgetIs', - 'tag_is' => 'FireflyIII\Rules\Triggers\TagIs', - 'has_attachments' => 'FireflyIII\Rules\Triggers\HasAttachment', - 'has_no_category' => 'FireflyIII\Rules\Triggers\HasNoCategory', - 'has_any_category' => 'FireflyIII\Rules\Triggers\HasAnyCategory', - 'has_no_budget' => 'FireflyIII\Rules\Triggers\HasNoBudget', - 'has_any_budget' => 'FireflyIII\Rules\Triggers\HasAnyBudget', - 'has_no_tag' => 'FireflyIII\Rules\Triggers\HasNoTag', - 'has_any_tag' => 'FireflyIII\Rules\Triggers\HasAnyTag', + 'user_action' => 'FireflyIII\TransactionRules\Triggers\UserAction', + 'from_account_starts' => 'FireflyIII\TransactionRules\Triggers\FromAccountStarts', + 'from_account_ends' => 'FireflyIII\TransactionRules\Triggers\FromAccountEnds', + 'from_account_is' => 'FireflyIII\TransactionRules\Triggers\FromAccountIs', + 'from_account_contains' => 'FireflyIII\TransactionRules\Triggers\FromAccountContains', + 'to_account_starts' => 'FireflyIII\TransactionRules\Triggers\ToAccountStarts', + 'to_account_ends' => 'FireflyIII\TransactionRules\Triggers\ToAccountEnds', + 'to_account_is' => 'FireflyIII\TransactionRules\Triggers\ToAccountIs', + 'to_account_contains' => 'FireflyIII\TransactionRules\Triggers\ToAccountContains', + 'amount_less' => 'FireflyIII\TransactionRules\Triggers\AmountLess', + 'amount_exactly' => 'FireflyIII\TransactionRules\Triggers\AmountExactly', + 'amount_more' => 'FireflyIII\TransactionRules\Triggers\AmountMore', + 'description_starts' => 'FireflyIII\TransactionRules\Triggers\DescriptionStarts', + 'description_ends' => 'FireflyIII\TransactionRules\Triggers\DescriptionEnds', + 'description_contains' => 'FireflyIII\TransactionRules\Triggers\DescriptionContains', + 'description_is' => 'FireflyIII\TransactionRules\Triggers\DescriptionIs', + 'transaction_type' => 'FireflyIII\TransactionRules\Triggers\TransactionType', + 'category_is' => 'FireflyIII\TransactionRules\Triggers\CategoryIs', + 'budget_is' => 'FireflyIII\TransactionRules\Triggers\BudgetIs', + 'tag_is' => 'FireflyIII\TransactionRules\Triggers\TagIs', + 'has_attachments' => 'FireflyIII\TransactionRules\Triggers\HasAttachment', + 'has_no_category' => 'FireflyIII\TransactionRules\Triggers\HasNoCategory', + 'has_any_category' => 'FireflyIII\TransactionRules\Triggers\HasAnyCategory', + 'has_no_budget' => 'FireflyIII\TransactionRules\Triggers\HasNoBudget', + 'has_any_budget' => 'FireflyIII\TransactionRules\Triggers\HasAnyBudget', + 'has_no_tag' => 'FireflyIII\TransactionRules\Triggers\HasNoTag', + 'has_any_tag' => 'FireflyIII\TransactionRules\Triggers\HasAnyTag', ], 'rule-actions' => [ - 'set_category' => 'FireflyIII\Rules\Actions\SetCategory', - 'clear_category' => 'FireflyIII\Rules\Actions\ClearCategory', - 'set_budget' => 'FireflyIII\Rules\Actions\SetBudget', - 'clear_budget' => 'FireflyIII\Rules\Actions\ClearBudget', - 'add_tag' => 'FireflyIII\Rules\Actions\AddTag', - 'remove_tag' => 'FireflyIII\Rules\Actions\RemoveTag', - 'remove_all_tags' => 'FireflyIII\Rules\Actions\RemoveAllTags', - 'set_description' => 'FireflyIII\Rules\Actions\SetDescription', - 'append_description' => 'FireflyIII\Rules\Actions\AppendDescription', - 'prepend_description' => 'FireflyIII\Rules\Actions\PrependDescription', + 'set_category' => 'FireflyIII\TransactionRules\Actions\SetCategory', + 'clear_category' => 'FireflyIII\TransactionRules\Actions\ClearCategory', + 'set_budget' => 'FireflyIII\TransactionRules\Actions\SetBudget', + 'clear_budget' => 'FireflyIII\TransactionRules\Actions\ClearBudget', + 'add_tag' => 'FireflyIII\TransactionRules\Actions\AddTag', + 'remove_tag' => 'FireflyIII\TransactionRules\Actions\RemoveTag', + 'remove_all_tags' => 'FireflyIII\TransactionRules\Actions\RemoveAllTags', + 'set_description' => 'FireflyIII\TransactionRules\Actions\SetDescription', + 'append_description' => 'FireflyIII\TransactionRules\Actions\AppendDescription', + 'prepend_description' => 'FireflyIII\TransactionRules\Actions\PrependDescription', - 'set_source_account' => 'FireflyIII\Rules\Actions\SetSourceAccount', - 'set_destination_account' => 'FireflyIII\Rules\Actions\SetDestinationAccount', + 'set_source_account' => 'FireflyIII\TransactionRules\Actions\SetSourceAccount', + 'set_destination_account' => 'FireflyIII\TransactionRules\Actions\SetDestinationAccount', ], 'rule-actions-text' => [ 'set_category', From 761e9effaed24a5c6160031fda235ae42cd636c1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:34:22 +0200 Subject: [PATCH 117/349] Fix tests --- .../Feature/Controllers/CategoryControllerTest.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/Feature/Controllers/CategoryControllerTest.php b/tests/Feature/Controllers/CategoryControllerTest.php index 65397ccb73..3fb736053d 100644 --- a/tests/Feature/Controllers/CategoryControllerTest.php +++ b/tests/Feature/Controllers/CategoryControllerTest.php @@ -333,15 +333,15 @@ class CategoryControllerTest extends TestCase $collector->shouldReceive('setPage')->andReturnSelf()->once(); $collector->shouldReceive('setLimit')->andReturnSelf()->once(); - $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf()->twice(); - $collector->shouldReceive('setRange')->andReturnSelf()->twice(); - $collector->shouldReceive('removeFilter')->withArgs([InternalTransferFilter::class])->andReturnSelf()->twice(); - $collector->shouldReceive('setTypes')->andReturnSelf()->once(); + $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf()->atLeast(1); + $collector->shouldReceive('setRange')->andReturnSelf()->atLeast(1); + $collector->shouldReceive('removeFilter')->withArgs([InternalTransferFilter::class])->andReturnSelf()->atLeast(1); + $collector->shouldReceive('setTypes')->andReturnSelf()->atLeast(1); $collector->shouldReceive('withBudgetInformation')->andReturnSelf()->once(); $collector->shouldReceive('withCategoryInformation')->andReturnSelf()->once(); - $collector->shouldReceive('withOpposingAccount')->andReturnSelf()->twice(); - $collector->shouldReceive('setCategory')->andReturnSelf()->twice(); - $collector->shouldReceive('getJournals')->andReturn(new Collection)->once(); + $collector->shouldReceive('withOpposingAccount')->andReturnSelf()->atLeast(1); + $collector->shouldReceive('setCategory')->andReturnSelf()->atLeast(1); + $collector->shouldReceive('getJournals')->andReturn(new Collection)->atLeast(1); $collector->shouldReceive('getPaginatedJournals')->andReturn(new LengthAwarePaginator([$transaction], 0, 10))->once(); $repository->shouldReceive('firstUseDate')->once()->andReturn(new Carbon('1900-01-01')); From 5e900736f8da30c904f5234d785154812f23d591 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:40:02 +0200 Subject: [PATCH 118/349] Various code cleanup. --- app/Console/Kernel.php | 45 +- app/Exceptions/Handler.php | 11 + .../Events/StoredJournalEventHandler.php | 2 +- .../Events/UpdatedJournalEventHandler.php | 2 +- app/Http/Controllers/AccountController.php | 6 +- .../Auth/ForgotPasswordController.php | 11 + app/Http/Controllers/Auth/LoginController.php | 11 + .../Controllers/Auth/RegisterController.php | 59 +- .../Auth/ResetPasswordController.php | 11 + app/Http/Controllers/CategoryController.php | 8 +- app/Http/Controllers/RuleController.php | 6 +- .../Transaction/LinkController.php | 4 +- .../Transaction/SplitController.php | 2 +- app/Http/Kernel.php | 11 + app/Http/Middleware/EncryptCookies.php | 18 +- app/Http/Middleware/Range.php | 3 +- .../Middleware/RedirectIfAuthenticated.php | 18 +- app/Http/Middleware/TrimStrings.php | 20 +- app/Http/Middleware/TrustProxies.php | 39 +- app/Http/Middleware/VerifyCsrfToken.php | 18 +- app/Http/Requests/CategoryFormRequest.php | 1 + app/Http/Requests/JournalLinkRequest.php | 1 + app/Http/Requests/PiggyBankFormRequest.php | 2 +- app/Providers/AppServiceProvider.php | 3 +- app/Providers/AuthServiceProvider.php | 19 +- app/Providers/BroadcastServiceProvider.php | 13 +- app/Providers/RouteServiceProvider.php | 41 +- .../Category/CategoryRepository.php | 4 +- app/Support/ExpandedForm.php | 1 - .../Factory/ActionFactory.php | 2 +- .../Factory/TriggerFactory.php | 2 +- app/Validation/FireflyValidator.php | 2 +- bootstrap/app.php | 2 + config/app.php | 2 + config/auth.php | 2 + config/broadcasting.php | 2 + config/cache.php | 2 + config/database.php | 2 + config/filesystems.php | 2 + config/mail.php | 2 + config/queue.php | 2 + config/services.php | 2 + config/session.php | 2 + resources/lang/zh_TW/auth.php | 30 - resources/lang/zh_TW/breadcrumbs.php | 44 - resources/lang/zh_TW/config.php | 25 - resources/lang/zh_TW/csv.php | 83 -- resources/lang/zh_TW/demo.php | 26 - resources/lang/zh_TW/firefly.php | 1012 ----------------- resources/lang/zh_TW/form.php | 199 ---- resources/lang/zh_TW/help.php | 35 - resources/lang/zh_TW/intro.php | 121 -- resources/lang/zh_TW/list.php | 94 -- resources/lang/zh_TW/pagination.php | 19 - resources/lang/zh_TW/passwords.php | 21 - resources/lang/zh_TW/validation.php | 94 -- tests/CreatesApplication.php | 2 + tests/Feature/ExampleTest.php | 2 + tests/Unit/ExampleTest.php | 2 + 59 files changed, 315 insertions(+), 1912 deletions(-) delete mode 100644 resources/lang/zh_TW/auth.php delete mode 100644 resources/lang/zh_TW/breadcrumbs.php delete mode 100644 resources/lang/zh_TW/config.php delete mode 100644 resources/lang/zh_TW/csv.php delete mode 100644 resources/lang/zh_TW/demo.php delete mode 100644 resources/lang/zh_TW/firefly.php delete mode 100644 resources/lang/zh_TW/form.php delete mode 100644 resources/lang/zh_TW/help.php delete mode 100644 resources/lang/zh_TW/intro.php delete mode 100644 resources/lang/zh_TW/list.php delete mode 100644 resources/lang/zh_TW/pagination.php delete mode 100644 resources/lang/zh_TW/passwords.php delete mode 100644 resources/lang/zh_TW/validation.php diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 0a1723a383..741797c47d 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -1,4 +1,15 @@ command('inspire') - // ->hourly(); - } + protected $commands + = [ + // + ]; /** * Register the commands for the application. @@ -35,8 +35,21 @@ class Kernel extends ConsoleKernel */ protected function commands() { - $this->load(__DIR__.'/Commands'); + $this->load(__DIR__ . '/Commands'); require base_path('routes/console.php'); } + + /** + * Define the application's command schedule. + * + * @param \Illuminate\Console\Scheduling\Schedule $schedule + * + * @return void + */ + protected function schedule(Schedule $schedule) + { + // $schedule->command('inspire') + // ->hourly(); + } } diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index 3121687a6e..7ae31ad35c 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -1,4 +1,15 @@ addProperty($start); @@ -412,7 +412,7 @@ class AccountController extends Controller } Log::debug('Going to get period expenses and incomes.'); - while ($end >= $start) { + while ($end >= $start && $count < 90) { $end = Navigation::startOfPeriod($end, $range); $currentEnd = Navigation::endOfPeriod($end, $range); @@ -442,7 +442,7 @@ class AccountController extends Controller 'date' => clone $end] ); $end = Navigation::subtractPeriod($end, $range, 1); - + $count++; } $cache->store($entries); diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php index 33e4637060..b299e51e9a 100644 --- a/app/Http/Controllers/Auth/ForgotPasswordController.php +++ b/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -1,4 +1,15 @@ middleware('guest'); } - /** - * Get a validator for an incoming registration request. - * - * @param array $data - * @return \Illuminate\Contracts\Validation\Validator - */ - protected function validator(array $data) - { - return Validator::make($data, [ - 'email' => 'required|string|email|max:255|unique:users', - 'password' => 'required|string|min:6|confirmed', - ]); - } - /** * Create a new user instance after a valid registration. * - * @param array $data + * @param array $data + * * @return \FireflyIII\User */ protected function create(array $data) { - return User::create([ - 'email' => $data['email'], - 'password' => bcrypt($data['password']), - ]); + return User::create( + [ + 'email' => $data['email'], + 'password' => bcrypt($data['password']), + ] + ); + } + + /** + * Get a validator for an incoming registration request. + * + * @param array $data + * + * @return \Illuminate\Contracts\Validation\Validator + */ + protected function validator(array $data) + { + return Validator::make( + $data, [ + 'email' => 'required|string|email|max:255|unique:users', + 'password' => 'required|string|min:6|confirmed', + ] + ); } } diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php index edf956e03f..c154d4af5b 100644 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -1,4 +1,15 @@ setAllAssetAccounts()->setRange($start, $end)->setLimit($pageSize)->setPage($page)->withoutCategory()->withOpposingAccount() - ->setTypes([TransactionType::WITHDRAWAL,TransactionType::DEPOSIT, TransactionType::TRANSFER]); + ->setTypes([TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::TRANSFER]); $collector->removeFilter(InternalTransferFilter::class); $journals = $collector->getPaginatedJournals(); $journals->setPath(route('categories.no-category')); @@ -363,7 +363,7 @@ class CategoryController extends Controller /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); $collector->setAllAssetAccounts()->setRange($end, $currentEnd)->withoutCategory() - ->withOpposingAccount()->setTypes([TransactionType::WITHDRAWAL,TransactionType::DEPOSIT, TransactionType::TRANSFER]); + ->withOpposingAccount()->setTypes([TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::TRANSFER]); $collector->removeFilter(InternalTransferFilter::class); $count = $collector->getJournals()->count(); @@ -428,6 +428,7 @@ class CategoryController extends Controller $first = Navigation::startOfPeriod($first, $range); $end = Navigation::endOfX(new Carbon, $range, null); $entries = new Collection; + $count = 0; // properties for entries with their amounts. $cache = new CacheProperties(); @@ -439,7 +440,7 @@ class CategoryController extends Controller if ($cache->has()) { return $cache->get(); // @codeCoverageIgnore } - while ($end >= $first) { + while ($end >= $first && $count < 90) { $end = Navigation::startOfPeriod($end, $range); $currentEnd = Navigation::endOfPeriod($end, $range); $spent = $repository->spentInPeriod(new Collection([$category]), $accounts, $end, $currentEnd); @@ -467,6 +468,7 @@ class CategoryController extends Controller ] ); $end = Navigation::subtractPeriod($end, $range, 1); + $count++; } $cache->store($entries); diff --git a/app/Http/Controllers/RuleController.php b/app/Http/Controllers/RuleController.php index d87d817128..a8fc1b5e4f 100644 --- a/app/Http/Controllers/RuleController.php +++ b/app/Http/Controllers/RuleController.php @@ -196,9 +196,9 @@ class RuleController extends Controller return view( 'rules.rule.edit', compact( - 'rule', 'subTitle', - 'primaryTrigger', 'oldTriggers', 'oldActions', 'triggerCount', 'actionCount', 'ruleGroups' - ) + 'rule', 'subTitle', + 'primaryTrigger', 'oldTriggers', 'oldActions', 'triggerCount', 'actionCount', 'ruleGroups' + ) ); } diff --git a/app/Http/Controllers/Transaction/LinkController.php b/app/Http/Controllers/Transaction/LinkController.php index e455bac1e1..10a9555433 100644 --- a/app/Http/Controllers/Transaction/LinkController.php +++ b/app/Http/Controllers/Transaction/LinkController.php @@ -94,8 +94,8 @@ class LinkController extends Controller public function store( JournalLinkRequest $request, LinkTypeRepositoryInterface $repository, JournalRepositoryInterface $journalRepository, TransactionJournal $journal ) { - $linkInfo = $request->getLinkInfo(); - if($linkInfo['transaction_journal_id'] === 0) { + $linkInfo = $request->getLinkInfo(); + if ($linkInfo['transaction_journal_id'] === 0) { Session::flash('error', trans('firefly.invalid_link_selection')); return redirect(route('transactions.show', [$journal->id])); diff --git a/app/Http/Controllers/Transaction/SplitController.php b/app/Http/Controllers/Transaction/SplitController.php index 1d3ce72711..1d35c2a45f 100644 --- a/app/Http/Controllers/Transaction/SplitController.php +++ b/app/Http/Controllers/Transaction/SplitController.php @@ -184,7 +184,7 @@ class SplitController extends Controller */ private function arrayFromInput(SplitJournalFormRequest $request): array { - $tags = is_null($request->get('tags')) ? '' : $request->get('tags'); + $tags = is_null($request->get('tags')) ? '' : $request->get('tags'); $array = [ 'journal_description' => $request->get('journal_description'), 'journal_source_account_id' => $request->get('journal_source_account_id'), diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 18ea0bc8c6..13a6da81ac 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -1,4 +1,15 @@ 'FORWARDED', + Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR', + Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST', + Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT', + Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO', + ]; /** * The trusted proxies for this application. * * @var array */ protected $proxies; - - /** - * The current proxy header mappings. - * - * @var array - */ - protected $headers = [ - Request::HEADER_FORWARDED => 'FORWARDED', - Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR', - Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST', - Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT', - Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO', - ]; } diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php index 0ac15cddd2..0629fe38e5 100644 --- a/app/Http/Middleware/VerifyCsrfToken.php +++ b/app/Http/Middleware/VerifyCsrfToken.php @@ -1,4 +1,15 @@ find(intval($this->get('id')))->id)) { $nameRule = 'required|between:1,100|uniqueObjectForUser:categories,name,' . intval($this->get('id')); } + // fixed return [ 'name' => $nameRule, diff --git a/app/Http/Requests/JournalLinkRequest.php b/app/Http/Requests/JournalLinkRequest.php index e0082eaf0e..0e509a726a 100644 --- a/app/Http/Requests/JournalLinkRequest.php +++ b/app/Http/Requests/JournalLinkRequest.php @@ -64,6 +64,7 @@ class JournalLinkRequest extends Request $combinations[] = sprintf('%d_outward', $type->id); } $string = join(',', $combinations); + // fixed return [ 'link_type' => sprintf('required|in:%s', $string), diff --git a/app/Http/Requests/PiggyBankFormRequest.php b/app/Http/Requests/PiggyBankFormRequest.php index 3be864344c..132cacf3a8 100644 --- a/app/Http/Requests/PiggyBankFormRequest.php +++ b/app/Http/Requests/PiggyBankFormRequest.php @@ -53,7 +53,7 @@ class PiggyBankFormRequest extends Request public function rules() { - $nameRule = 'required|between:1,255|uniquePiggyBankForUser'; + $nameRule = 'required|between:1,255|uniquePiggyBankForUser'; if (intval($this->get('id'))) { $nameRule = 'required|between:1,255|uniquePiggyBankForUser:' . intval($this->get('id')); } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 0057d3afe5..3f50341318 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -13,9 +13,8 @@ declare(strict_types=1); namespace FireflyIII\Providers; -use Illuminate\Support\ServiceProvider; -use URL; use Illuminate\Support\Facades\Schema; +use Illuminate\Support\ServiceProvider; /** * Class AppServiceProvider diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 6297ae0dad..7ea8ef4210 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -1,8 +1,18 @@ 'FireflyIII\Policies\ModelPolicy', - ]; + protected $policies + = [ + 'FireflyIII\Model' => 'FireflyIII\Policies\ModelPolicy', + ]; /** * Register any authentication / authorization services. diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php index c4c92d7d76..f9998ee930 100644 --- a/app/Providers/BroadcastServiceProvider.php +++ b/app/Providers/BroadcastServiceProvider.php @@ -1,9 +1,20 @@ namespace($this->namespace) - ->group(base_path('routes/web.php')); - } - /** * Define the "api" routes for the application. * @@ -70,4 +67,18 @@ class RouteServiceProvider extends ServiceProvider ->namespace($this->namespace) ->group(base_path('routes/api.php')); } + + /** + * Define the "web" routes for the application. + * + * These routes all receive session state, CSRF protection, etc. + * + * @return void + */ + protected function mapWebRoutes() + { + Route::middleware('web') + ->namespace($this->namespace) + ->group(base_path('routes/web.php')); + } } diff --git a/app/Repositories/Category/CategoryRepository.php b/app/Repositories/Category/CategoryRepository.php index 7363d575f4..bf551a2b44 100644 --- a/app/Repositories/Category/CategoryRepository.php +++ b/app/Repositories/Category/CategoryRepository.php @@ -453,7 +453,7 @@ class CategoryRepository implements CategoryRepositoryInterface } /** - * @param Category $category + * @param Category $category * * @return Carbon|null */ @@ -470,7 +470,7 @@ class CategoryRepository implements CategoryRepositoryInterface } /** - * @param Category $category + * @param Category $category * * @return Carbon|null */ diff --git a/app/Support/ExpandedForm.php b/app/Support/ExpandedForm.php index b9e2936448..dd645a1d2d 100644 --- a/app/Support/ExpandedForm.php +++ b/app/Support/ExpandedForm.php @@ -17,7 +17,6 @@ use Amount as Amt; use Carbon\Carbon; use Eloquent; use Illuminate\Support\Collection; -use Illuminate\Support\Facades\Request; use Illuminate\Support\MessageBag; use Input; use RuntimeException; diff --git a/app/TransactionRules/Factory/ActionFactory.php b/app/TransactionRules/Factory/ActionFactory.php index d72942d33e..c69fe01470 100644 --- a/app/TransactionRules/Factory/ActionFactory.php +++ b/app/TransactionRules/Factory/ActionFactory.php @@ -15,8 +15,8 @@ namespace FireflyIII\TransactionRules\Factory; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\RuleAction; -use FireflyIII\TransactionRules\Actions\ActionInterface; use FireflyIII\Support\Domain; +use FireflyIII\TransactionRules\Actions\ActionInterface; use Log; /** diff --git a/app/TransactionRules/Factory/TriggerFactory.php b/app/TransactionRules/Factory/TriggerFactory.php index 1d3a5df727..5bbe7faff5 100644 --- a/app/TransactionRules/Factory/TriggerFactory.php +++ b/app/TransactionRules/Factory/TriggerFactory.php @@ -15,9 +15,9 @@ namespace FireflyIII\TransactionRules\Factory; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\RuleTrigger; +use FireflyIII\Support\Domain; use FireflyIII\TransactionRules\Triggers\AbstractTrigger; use FireflyIII\TransactionRules\Triggers\TriggerInterface; -use FireflyIII\Support\Domain; use Log; /** diff --git a/app/Validation/FireflyValidator.php b/app/Validation/FireflyValidator.php index 8dc62ba0fd..5fb59cbeca 100644 --- a/app/Validation/FireflyValidator.php +++ b/app/Validation/FireflyValidator.php @@ -23,8 +23,8 @@ use FireflyIII\Models\Budget; use FireflyIII\Models\PiggyBank; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; -use FireflyIII\TransactionRules\Triggers\TriggerInterface; use FireflyIII\Services\Password\Verifier; +use FireflyIII\TransactionRules\Triggers\TriggerInterface; use FireflyIII\User; use Google2FA; use Illuminate\Contracts\Encryption\DecryptException; diff --git a/bootstrap/app.php b/bootstrap/app.php index a1a50466dd..33b7ac22aa 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -1,4 +1,6 @@ env('APP_NAME', 'Firefly III'), diff --git a/config/auth.php b/config/auth.php index b5b14893ec..61d879cfc1 100644 --- a/config/auth.php +++ b/config/auth.php @@ -1,4 +1,6 @@ env('SESSION_DRIVER', 'file'), diff --git a/resources/lang/zh_TW/auth.php b/resources/lang/zh_TW/auth.php deleted file mode 100644 index 31adf168b6..0000000000 --- a/resources/lang/zh_TW/auth.php +++ /dev/null @@ -1,30 +0,0 @@ - '帳號或密碼錯誤。', - 'throttle' => '登入失敗次數過多,請等待 :seconds 秒後再試。', - -]; \ No newline at end of file diff --git a/resources/lang/zh_TW/breadcrumbs.php b/resources/lang/zh_TW/breadcrumbs.php deleted file mode 100644 index a99899ab8a..0000000000 --- a/resources/lang/zh_TW/breadcrumbs.php +++ /dev/null @@ -1,44 +0,0 @@ - '首頁', - 'edit_currency' => '編輯貨幣 ":name"', - 'delete_currency' => '刪除貨幣 ":name"', - 'newPiggyBank' => '創建一個新的存錢筒', - 'edit_piggyBank' => '編輯存錢筒 ":name"', - 'preferences' => '設定', - 'profile' => '個人設定', - 'changePassword' => '更改密碼', - 'bills' => '賬單', - 'newBill' => '新增賬單', - 'edit_bill' => '編輯賬單 ":name"', - 'delete_bill' => '刪除賬單 ":name"', - 'reports' => '報表', - 'search_result' => 'Search results for ":query"', - 'withdrawal_list' => '支出', - 'deposit_list' => '收入、薪金與存款', - 'transfer_list' => '轉帳', - 'transfers_list' => '轉帳', - 'create_withdrawal' => '新增提款', - 'create_deposit' => '新增存款', - 'create_transfer' => '新增轉帳', - 'edit_journal' => '編緝交易 ":description"', - 'delete_journal' => '刪除交易 ":description"', - 'tags' => '標籤', - 'createTag' => '建立新標籤', - 'edit_tag' => '編輯標籤 ":tag"', - 'delete_tag' => '刪除標籤 ":tag"', - 'delete_journal_link' => 'Delete link between transactions', -]; \ No newline at end of file diff --git a/resources/lang/zh_TW/config.php b/resources/lang/zh_TW/config.php deleted file mode 100644 index a0f1890833..0000000000 --- a/resources/lang/zh_TW/config.php +++ /dev/null @@ -1,25 +0,0 @@ - 'en, English, en_US, en_US.utf8, en_US.UTF-8', - 'month' => '%B %Y', - 'month_and_day' => '%B %e, %Y', - 'date_time' => '%B %e, %Y, @ %T', - 'specific_day' => '%e %B %Y', - 'week_in_year' => 'Week %W, %Y', - 'quarter_of_year' => '%B %Y', - 'year' => '%Y', - 'half_year' => '%B %Y', - -]; \ No newline at end of file diff --git a/resources/lang/zh_TW/csv.php b/resources/lang/zh_TW/csv.php deleted file mode 100644 index 7d9cc46f46..0000000000 --- a/resources/lang/zh_TW/csv.php +++ /dev/null @@ -1,83 +0,0 @@ - 'Import setup (1/3) - Basic CSV import setup', - 'initial_text' => 'To be able to import your file correctly, please validate the options below.', - 'initial_box' => 'Basic CSV import setup', - 'initial_box_title' => 'Basic CSV import setup options', - 'initial_header_help' => 'Check this box if the first row of your CSV file are the column titles.', - 'initial_date_help' => 'Date time format in your CSV. Follow the format like this page indicates. The default value will parse dates that look like this: :dateExample.', - 'initial_delimiter_help' => 'Choose the field delimiter that is used in your input file. If not sure, comma is the safest option.', - 'initial_import_account_help' => 'If your CSV file does NOT contain information about your asset account(s), use this dropdown to select to which account the transactions in the CSV belong to.', - 'initial_submit' => 'Continue with step 2/3', - - // roles config - 'roles_title' => 'Import setup (2/3) - Define each column\'s role', - 'roles_text' => 'Each column in your CSV file contains certain data. Please indicate what kind of data the importer should expect. The option to "map" data means that you will link each entry found in the column to a value in your database. An often mapped column is the column that contains the IBAN of the opposing account. That can be easily matched to IBAN\'s present in your database already.', - 'roles_table' => 'Table', - 'roles_column_name' => 'Name of column', - 'roles_column_example' => 'Column example data', - 'roles_column_role' => 'Column data meaning', - 'roles_do_map_value' => 'Map these values', - 'roles_column' => 'Column', - 'roles_no_example_data' => 'No example data available', - 'roles_submit' => 'Continue with step 3/3', - 'roles_warning' => 'At the very least, mark one column as the amount-column. It is advisable to also select a column for the description, date and the opposing account.', - - // map data - 'map_title' => 'Import setup (3/3) - Connect import data to Firefly III data', - 'map_text' => '在下表中,左邊的是在你的CSV 檔中的資料。而你現在要把這些資料配對到資料庫中的資料(如有的話)。如果沒有資料能夠進行配對,或者你不想進行配對,請選擇不進行配對。', - 'map_field_value' => 'Field value', - 'map_field_mapped_to' => 'Mapped to', - 'map_do_not_map' => '(do not map)', - 'map_submit' => 'Start the import', - - // map things. - 'column__ignore' => '(忽略此欄)', - 'column_account-iban' => '資產帳戶 (IBAN)', - 'column_account-id' => '資產帳戶 ID (與 Firefly 匹配)', - 'column_account-name' => '資產帳戶 (名稱)', - 'column_amount' => '金額', - 'column_amount-comma-separated' => '金額 (逗號作為小數分隔符號)', - 'column_bill-id' => '帳單 ID (與 Firefly 匹配)', - 'column_bill-name' => '帳單名稱', - 'column_budget-id' => '預算 ID (與 Firefly 匹配)', - 'column_budget-name' => '預算名稱', - 'column_category-id' => '類別 ID (與 Firefly 匹配)', - 'column_category-name' => '類別名稱', - 'column_currency-code' => '貨幣代碼 (ISO 4217)', - 'column_currency-id' => '貨幣 ID (與 Firefly 匹配)', - 'column_currency-name' => '貨幣名稱(與 Firefly 匹配)', - 'column_currency-symbol' => '貨幣符號 (與 Firefly 匹配)', - 'column_date-interest' => '利息計算日', - 'column_date-book' => 'Transaction booking date', - 'column_date-process' => '交易處理日期', - 'column_date-transaction' => '日期', - 'column_description' => '描述', - 'column_opposing-iban' => '抵銷的帳戶 (IBAN)', - 'column_opposing-id' => '抵銷的帳戶 ID (與 Firefly 匹配)', - 'column_external-id' => '外部 ID', - 'column_opposing-name' => '抵銷的帳戶 (名稱)', - 'column_rabo-debet-credit' => '荷蘭合作銀行獨有的借記/貸記指標', - 'column_ing-debet-credit' => 'ING 集團獨有的借記/貸記指標', - 'column_sepa-ct-id' => 'SEPA Credit Transfer end-to-end ID', - 'column_sepa-ct-op' => 'SEPA 貸記劃撥抵銷的帳戶', - 'column_sepa-db' => 'SEPA 直接付款', - 'column_tags-comma' => '標籤 (逗號分隔)', - 'column_tags-space' => '標籤 (空格分隔)', - 'column_account-number' => '資產帳戶 (帳號號碼)', - 'column_opposing-number' => '抵銷的帳戶 (帳號號碼)', -]; \ No newline at end of file diff --git a/resources/lang/zh_TW/demo.php b/resources/lang/zh_TW/demo.php deleted file mode 100644 index 8b442add2d..0000000000 --- a/resources/lang/zh_TW/demo.php +++ /dev/null @@ -1,26 +0,0 @@ - 'Sorry, there is no extra demo-explanation text for this page.', - 'see_help_icon' => 'However, the -icon in the top right corner may tell you more.', - 'index' => 'Welcome to Firefly III! On this page you get a quick overview of your finances. For more information, check out Accounts → Asset Accounts and of course the Budgets and Reports pages. Or just take a look around and see where you end up.', - 'accounts-index' => 'Asset accounts are your personal bank accounts. Expense accounts are the accounts you spend money at, such as stores and friends. Revenue accounts are accounts you receive money from, such as your job, the government or other sources of income. On this page you can edit or remove them.', - 'budgets-index' => 'This page shows you an overview of your budgets. The top bar shows the amount that is available to be budgeted. This can be customized for any period by clicking the amount on the right. The amount you\'ve actually spent is shown in the bar below. Below that are the expenses per budget and what you\'ve budgeted for them.', - 'reports-index-start' => 'Firefly III supports four types of reports. Read about them by clicking on the -icon in the top right corner.', - 'reports-index-examples' => 'Be sure to check out these examples: a monthly financial overview, a yearly financial overview and a budget overview.', - 'currencies-index' => 'Firefly III supports multiple currencies. Although it defaults to the Euro it can be set to the US Dollar and many other currencies. As you can see a small selection of currencies has been included but you can add your own if you wish to. Changing the default currency will not change the currency of existing transactions however: Firefly III supports the use of multiple currencies at the same time.', - 'transactions-index' => 'These expenses, deposits and transfers are not particularly imaginative. They have been generated automatically.', - 'piggy-banks-index' => 'As you can see, there are three piggy banks. Use the plus and minus buttons to influence the amount of money in each piggy bank. Click the name of the piggy bank to see the administration for each piggy bank.', - 'import-index' => 'Of course, any CSV file can be imported into Firefly III ', - 'import-configure-security' => 'Because of security concerns, your upload has been replaced with a local file.', - 'import-configure-configuration' => 'The configuration you see below is correct for the local file.', -]; \ No newline at end of file diff --git a/resources/lang/zh_TW/firefly.php b/resources/lang/zh_TW/firefly.php deleted file mode 100644 index 3ea696070e..0000000000 --- a/resources/lang/zh_TW/firefly.php +++ /dev/null @@ -1,1012 +0,0 @@ - '關閉', - 'actions' => '操作', - 'edit' => '編輯', - 'delete' => '刪除', - 'welcomeBack' => '情況如何?', - 'everything' => '顯示所有', - 'customRange' => '自訂範圍', - 'apply' => '套用', - 'select_date' => 'Select date..', - 'cancel' => '取消', - 'from' => '從', - 'to' => '到', - 'showEverything' => '全部顯示', - 'never' => '從來沒有', - 'no_results_for_empty_search' => 'Your search was empty, so nothing was found.', - 'removed_amount' => '移除了 :amount', - 'added_amount' => '添加了 :amount', - 'asset_account_role_help' => '你可以稍後再設置其他選項。', - 'Opening balance' => '開戶金額', - 'create_new_stuff' => '創建新的東西', - 'new_withdrawal' => '新提款', - 'new_deposit' => '新存款', - 'new_transfer' => '新的轉帳', - 'new_asset_account' => '新增資產帳戶', - 'new_expense_account' => '新的支出帳戶', - 'new_revenue_account' => '新的收入帳戶', - 'new_budget' => '新增預算', - 'new_bill' => '新增賬單', - 'block_account_logout' => '你已被登出。被封禁的帳戶不能使用本網站。你沒有以有效的電子郵件地址註冊嗎?', - 'flash_success' => '成功!', - 'flash_info' => '訊息', - 'flash_warning' => '警告!', - 'flash_error' => '錯誤!', - 'flash_info_multiple' => '有一個訊息|有 :count 個訊息', - 'flash_error_multiple' => '出現了一個錯誤|出現了 :count 個錯誤', - 'net_worth' => '淨值', - 'route_has_no_help' => '目前還沒有說明。', - 'two_factor_welcome' => '哈囉, :user !', - 'two_factor_enter_code' => '若要繼續,請輸入你的雙重身份驗證 (2FA) 應用程序內顯示的驗證代碼。', - 'two_factor_code_here' => '在此輸入代碼', - 'two_factor_title' => '雙重身份驗證', - 'authenticate' => '認證', - 'two_factor_forgot_title' => '丟失雙重身份驗證', - 'two_factor_forgot' => '我忘記了我的雙重身份驗證 (2FA) 。', - 'two_factor_lost_header' => '丟失了雙重身份驗證 (2FA) 嗎?', - 'two_factor_lost_intro' => '很不幸,這不可以從 web 介面中重置。你有兩個選擇。', - 'two_factor_lost_fix_self' => '如果你在自己的伺服器上運行 Firefly III,請檢查 storage/logs 中的日誌。', - 'two_factor_lost_fix_owner' => '否則,請電郵網站擁有者,:site_owner 並要求他們重置你的雙重身份驗證。', - 'warning_much_data' => ':days 天的資料需要一點時間載入。', - 'registered' => '您已成功註冊 !', - 'Default asset account' => 'Default asset account', - 'no_budget_pointer' => '你還沒有預算。你可以在預算頁來建立預算。預算可以幫助你跟蹤支出情況。', - 'Savings account' => 'Savings account', - 'Credit card' => 'Credit card', - 'source_accounts' => '來源帳戶', - 'destination_accounts' => '目標帳戶', - 'user_id_is' => 'Your user id is :user', - 'field_supports_markdown' => 'This field supports Markdown.', - 'need_more_help' => 'If you need more help using Firefly III, please open a ticket on Github.', - 'reenable_intro_text' => 'You can also reenable the introduction guidance.', - 'intro_boxes_after_refresh' => 'The introduction boxes will reappear when you refresh the page.', - 'show_all_no_filter' => 'Show all transactions without grouping them by date.', - 'expenses_by_category' => 'Expenses by category', - 'expenses_by_budget' => 'Expenses by budget', - 'income_by_category' => 'Income by category', - 'expenses_by_asset_account' => 'Expenses by asset account', - 'expenses_by_expense_account' => 'Expenses by expense account', - 'cannot_redirect_to_account' => 'Firefly III cannot redirect you to the correct page. Apologies.', - 'sum_of_expenses' => 'Sum of expenses', - 'sum_of_income' => 'Sum of income', - 'total_sum' => 'Total sum', - 'spent_in_specific_budget' => 'Spent in budget ":budget"', - 'sum_of_expenses_in_budget' => 'Spent total in budget ":budget"', - 'left_in_budget_limit' => 'Left to spend according to budgeting', - 'cannot_reset_demo_user' => 'You cannot reset the password of the demonstration account', - 'current_period' => 'Current period', - 'show_the_current_period_and_overview' => 'Show the current period and overview', - 'pref_languages_locale' => 'For a language other than English to work properly, your operating system must be equipped with the correct locale-information. If these are not present, currency data, dates and amounts may be formatted wrong.', - 'budget_in_period' => 'All transactions for budget ":name" between :start and :end', - 'chart_budget_in_period' => 'Chart for all transactions for budget ":name" between :start and :end', - 'chart_account_in_period' => 'Chart for all transactions for account ":name" between :start and :end', - 'chart_category_in_period' => 'Chart for all transactions for category ":name" between :start and :end', - 'chart_category_all' => 'Chart for all transactions for category ":name"', - 'clone_withdrawal' => 'Clone this withdrawal', - 'clone_deposit' => 'Clone this deposit', - 'clone_transfer' => 'Clone this transfer', - 'multi_select_no_selection' => 'None selected', - 'multi_select_all_selected' => 'All selected', - 'multi_select_filter_placeholder' => 'Find..', - 'between_dates_breadcrumb' => 'Between :start and :end', - 'all_journals_without_budget' => 'All transactions without a budget', - 'journals_without_budget' => 'Transactions without a budget', - 'all_journals_without_category' => 'All transactions without a category', - 'journals_without_category' => 'Transactions without a category', - 'all_journals_for_account' => 'All transactions for account :name', - 'chart_all_journals_for_account' => 'Chart of all transactions for account :name', - 'journals_in_period_for_account' => 'All transactions for account :name between :start and :end', - 'transferred' => 'Transferred', - 'all_withdrawal' => 'All expenses', - 'all_transactions' => 'All transactions', - 'title_withdrawal_between' => 'All expenses between :start and :end', - 'all_deposit' => 'All revenue', - 'title_deposit_between' => 'All revenue between :start and :end', - 'all_transfers' => 'All transfers', - 'title_transfers_between' => 'All transfers between :start and :end', - 'all_transfer' => 'All transfers', - 'all_journals_for_tag' => 'All transactions for tag ":tag"', - 'title_transfer_between' => 'All transfers between :start and :end', - 'all_journals_for_category' => 'All transactions for category :name', - 'all_journals_for_budget' => 'All transactions for budget :name', - 'chart_all_journals_for_budget' => 'Chart of all transactions for budget :name', - 'journals_in_period_for_category' => 'All transactions for category :name between :start and :end', - 'journals_in_period_for_tag' => 'All transactions for tag :tag between :start and :end', - 'not_available_demo_user' => 'The feature you try to access is not available to demo users.', - 'exchange_rate_instructions' => 'Asset account "@name" only accepts transactions in @native_currency. If you wish to use @foreign_currency instead, make sure that the amount in @native_currency is known as well:', - 'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.', - 'transaction_data' => 'Transaction data', - - // search - 'search' => '搜尋', - 'search_found_transactions' => 'Number of transactions found:', - 'general_search_error' => 'An error occured while searching. Please check the log files for more information.', - 'search_box' => 'Search', - 'search_box_intro' => 'Welcome to the search function of Firefly III. Enter your search query in the box. Make sure you check out the help file because the search is pretty advanced.', - 'search_error' => 'Error while searching', - 'search_searching' => 'Searching ...', - - // repeat frequencies: - 'repeat_freq_yearly' => 'yearly', - 'repeat_freq_monthly' => '每月', - 'weekly' => '每週', - 'quarterly' => '每季', - 'half-year' => '每半年', - 'yearly' => '每年', - - // export data: - 'import_and_export' => '匯入與匯出', - 'export_data' => 'Export data', - 'export_data_intro' => 'For backup purposes, when migrating to another system or when migrating to another Firefly III installation.', - 'export_format' => 'Export format', - 'export_format_csv' => 'Comma separated values (CSV file)', - 'export_format_mt940' => 'MT940 相容格式', - 'export_included_accounts' => '從這些帳戶匯出交易記錄', - 'include_old_uploads_help' => 'Firefly III 不會扔掉過去已導入的原始 CSV 檔。你可以將它們包含在匯出的檔案中。', - 'do_export' => '匯出', - 'export_status_never_started' => '匯出尚未開始', - 'export_status_make_exporter' => 'Creating exporter thing...', - 'export_status_collecting_journals' => '正在收集你的交易資料...', - 'export_status_collected_journals' => '你的交易資料已經收集成功!', - 'export_status_converting_to_export_format' => '正在轉換您的交易資料...', - 'export_status_converted_to_export_format' => 'Converted your transactions!', - 'export_status_creating_journal_file' => 'Creating the export file...', - 'export_status_created_journal_file' => 'Created the export file!', - 'export_status_collecting_attachments' => 'Collecting all your attachments...', - 'export_status_collected_attachments' => 'Collected all your attachments!', - 'export_status_collecting_old_uploads' => 'Collecting all your previous uploads...', - 'export_status_collected_old_uploads' => 'Collected all your previous uploads!', - 'export_status_creating_config_file' => 'Creating a configuration file...', - 'export_status_created_config_file' => 'Created a configuration file!', - 'export_status_creating_zip_file' => 'Creating a zip file...', - 'export_status_created_zip_file' => 'Created a zip file!', - 'export_status_finished' => 'Export has succesfully finished! Yay!', - 'export_data_please_wait' => 'Please wait...', - - // rules - 'rules' => 'Rules', - 'rule_name' => 'Name of rule', - 'rule_triggers' => 'Rule triggers when', - 'rule_actions' => 'Rule will', - 'new_rule' => 'New rule', - 'new_rule_group' => 'New rule group', - 'rule_priority_up' => 'Give rule more priority', - 'rule_priority_down' => 'Give rule less priority', - 'make_new_rule_group' => 'Make new rule group', - 'store_new_rule_group' => 'Store new rule group', - 'created_new_rule_group' => 'New rule group ":title" stored!', - 'updated_rule_group' => 'Successfully updated rule group ":title".', - 'edit_rule_group' => 'Edit rule group ":title"', - 'delete_rule_group' => 'Delete rule group ":title"', - 'deleted_rule_group' => 'Deleted rule group ":title"', - 'update_rule_group' => 'Update rule group', - 'no_rules_in_group' => 'There are no rules in this group', - 'move_rule_group_up' => 'Move rule group up', - 'move_rule_group_down' => 'Move rule group down', - 'save_rules_by_moving' => 'Save these rule(s) by moving them to another rule group:', - 'make_new_rule' => 'Make new rule in rule group ":title"', - 'rule_help_stop_processing' => 'When you check this box, later rules in this group will not be executed.', - 'rule_help_active' => 'Inactive rules will never fire.', - 'stored_new_rule' => 'Stored new rule with title ":title"', - 'deleted_rule' => 'Deleted rule with title ":title"', - 'store_new_rule' => 'Store new rule', - 'updated_rule' => 'Updated rule with title ":title"', - 'default_rule_group_name' => 'Default rules', - 'default_rule_group_description' => '所有不屬於任何組別的規則', - 'default_rule_name' => 'Your first default rule', - 'default_rule_description' => '這是一個例子。你可以把這個規則刪除。', - 'default_rule_trigger_description' => '賣世界的小男孩', - 'default_rule_trigger_from_account' => 'David Bowie', - 'default_rule_action_prepend' => '買下了整個世界。錢給了', - 'default_rule_action_set_category' => 'Large expenses', - 'trigger' => 'Trigger', - 'trigger_value' => 'Trigger on value', - 'stop_processing_other_triggers' => 'Stop processing other triggers', - 'add_rule_trigger' => 'Add new trigger', - 'action' => 'Action', - 'action_value' => 'Action value', - 'stop_executing_other_actions' => 'Stop executing other actions', - 'add_rule_action' => 'Add new action', - 'edit_rule' => 'Edit rule ":title"', - 'delete_rule' => 'Delete rule ":title"', - 'update_rule' => 'Update rule', - 'test_rule_triggers' => 'See matching transactions', - 'warning_transaction_subset' => 'For performance reasons this list is limited to :max_num_transactions and may only show a subset of matching transactions', - 'warning_no_matching_transactions' => 'No matching transactions found. Please note that for performance reasons, only the last :num_transactions transactions have been checked.', - 'warning_no_valid_triggers' => 'No valid triggers provided.', - 'apply_rule_selection' => 'Apply rule ":title" to a selection of your transactions', - 'apply_rule_selection_intro' => 'Rules like ":title" are normally only applied to new or updated transactions, but you can tell Firefly III to run it on a selection of your existing transactions. This can be useful when you have updated a rule and you need the changes to be applied to all of your other transactions.', - 'include_transactions_from_accounts' => 'Include transactions from these accounts', - 'applied_rule_selection' => 'Rule ":title" has been applied to your selection.', - 'execute' => 'Execute', - 'apply_rule_group_selection' => 'Apply rule group ":title" to a selection of your transactions', - 'apply_rule_group_selection_intro' => 'Rule groups like ":title" are normally only applied to new or updated transactions, but you can tell Firefly III to run all the rules in this group on a selection of your existing transactions. This can be useful when you have updated a group of rules and you need the changes to be applied to all of your other transactions.', - 'applied_rule_group_selection' => 'Rule group ":title" has been applied to your selection.', - - // actions and triggers - 'rule_trigger_user_action' => 'User action is ":trigger_value"', - 'rule_trigger_from_account_starts' => '以 ":trigger_value" 開頭的來源帳戶', - 'rule_trigger_from_account_ends' => '以 ":trigger_value" 為結尾的來源帳戶', - 'rule_trigger_from_account_is' => '來源帳戶是 ":trigger_value"', - 'rule_trigger_from_account_contains' => '含 ":trigger_value" 的來源帳戶', - 'rule_trigger_to_account_starts' => 'Destination account starts with ":trigger_value"', - 'rule_trigger_to_account_ends' => 'Destination account ends with ":trigger_value"', - 'rule_trigger_to_account_is' => 'Destination account is ":trigger_value"', - 'rule_trigger_to_account_contains' => 'Destination account contains ":trigger_value"', - 'rule_trigger_transaction_type' => 'Transaction is of type ":trigger_value"', - 'rule_trigger_category_is' => 'Category is ":trigger_value"', - 'rule_trigger_amount_less' => 'Amount is less than :trigger_value', - 'rule_trigger_amount_exactly' => 'Amount is :trigger_value', - 'rule_trigger_amount_more' => 'Amount is more than :trigger_value', - 'rule_trigger_description_starts' => '以 ":trigger_value" 開頭的描述', - 'rule_trigger_description_ends' => '以 ":trigger_value" 為結尾的描述', - 'rule_trigger_description_contains' => '含 ":trigger_value" 的描述', - 'rule_trigger_description_is' => '描述是 ":trigger_value"', - 'rule_trigger_from_account_starts_choice' => '來源帳戶以…開頭', - 'rule_trigger_from_account_ends_choice' => '來源帳戶以…結尾', - 'rule_trigger_from_account_is_choice' => '來源帳戶是…', - 'rule_trigger_from_account_contains_choice' => '來源帳戶含有…', - 'rule_trigger_to_account_starts_choice' => 'Destination account starts with..', - 'rule_trigger_to_account_ends_choice' => 'Destination account ends with..', - 'rule_trigger_to_account_is_choice' => 'Destination account is..', - 'rule_trigger_to_account_contains_choice' => 'Destination account contains..', - 'rule_trigger_transaction_type_choice' => 'Transaction is of type..', - 'rule_trigger_amount_less_choice' => 'Amount is less than..', - 'rule_trigger_amount_exactly_choice' => 'Amount is..', - 'rule_trigger_amount_more_choice' => 'Amount is more than..', - 'rule_trigger_description_starts_choice' => '描述以…開頭', - 'rule_trigger_description_ends_choice' => '描述以…結尾', - 'rule_trigger_description_contains_choice' => '描述包含…', - 'rule_trigger_description_is_choice' => '描述是…', - 'rule_trigger_category_is_choice' => 'Category is..', - 'rule_trigger_budget_is_choice' => 'Budget is..', - 'rule_trigger_tag_is_choice' => '(A) tag is..', - 'rule_trigger_has_attachments_choice' => 'Has at least this many attachments', - 'rule_trigger_has_attachments' => 'Has at least :trigger_value attachment(s)', - 'rule_trigger_store_journal' => 'When a transaction is created', - 'rule_trigger_update_journal' => 'When a transaction is updated', - 'rule_action_set_category' => 'Set category to ":action_value"', - 'rule_action_clear_category' => 'Clear category', - 'rule_action_set_budget' => 'Set budget to ":action_value"', - 'rule_action_clear_budget' => 'Clear budget', - 'rule_action_add_tag' => '新增標籤 ":action_value"', - 'rule_action_remove_tag' => '刪除標籤 ":action_value"', - 'rule_action_remove_all_tags' => '移除所有標籤', - 'rule_action_set_description' => '設置描述為 ":action_value"', - 'rule_action_append_description' => '描述後加上 ":action_value"', - 'rule_action_prepend_description' => '描述前加上 ":action_value"', - 'rule_action_set_category_choice' => 'Set category to..', - 'rule_action_clear_category_choice' => 'Clear any category', - 'rule_action_set_budget_choice' => 'Set budget to..', - 'rule_action_clear_budget_choice' => 'Clear any budget', - 'rule_action_add_tag_choice' => '新增標籤…', - 'rule_action_remove_tag_choice' => '移除標籤…', - 'rule_action_remove_all_tags_choice' => '移除所有標籤', - 'rule_action_set_description_choice' => '把描述設置為…', - 'rule_action_append_description_choice' => '描述後加上…', - 'rule_action_prepend_description_choice' => '描述前加上…', - 'rule_action_set_source_account_choice' => '把來源帳戶設置為...', - 'rule_action_set_source_account' => '將來源帳戶設置為 :action_value', - 'rule_action_set_destination_account_choice' => 'Set destination account to...', - 'rule_action_set_destination_account' => 'Set destination account to :action_value', - - // tags - 'store_new_tag' => '儲存新的標籤', - 'update_tag' => '更新標籤', - 'no_location_set' => 'No location set.', - 'meta_data' => 'Meta data', - 'location' => 'Location', - - // preferences - 'pref_home_screen_accounts' => 'Home screen accounts', - 'pref_home_screen_accounts_help' => 'Which accounts should be displayed on the home page?', - 'pref_view_range' => 'View range', - 'pref_view_range_help' => 'Some charts are automatically grouped in periods. What period would you prefer?', - 'pref_1D' => 'One day', - 'pref_1W' => 'One week', - 'pref_1M' => 'One month', - 'pref_3M' => 'Three months (quarter)', - 'pref_6M' => 'Six months', - 'pref_1Y' => 'One year', - 'pref_languages' => 'Languages', - 'pref_languages_help' => 'Firefly III supports several languages. Which one do you prefer?', - 'pref_custom_fiscal_year' => 'Fiscal year settings', - 'pref_custom_fiscal_year_label' => 'Enabled', - 'pref_custom_fiscal_year_help' => 'In countries that use a financial year other than January 1 to December 31, you can switch this on and specify start / end days of the fiscal year', - 'pref_fiscal_year_start_label' => 'Fiscal year start date', - 'pref_two_factor_auth' => '雙重身份驗證', - 'pref_two_factor_auth_help' => '當您啟用二步驗證 (也稱為雙重身份驗證) 時,你的帳戶安全性將會更上一層樓。你需要以您知道的東西(密碼)和你擁有的東西(驗證碼)來進行登錄。驗證碼是由您的手機上的應用程式生成的,如 Authy 或 Google Authenticator 。', - 'pref_enable_two_factor_auth' => '啟用雙重身份驗證', - 'pref_two_factor_auth_disabled' => '成功刪除和禁用雙重身份驗證', - 'pref_two_factor_auth_remove_it' => '別忘了從你的身份驗證程式(例如 Authy 或 Google Authenticator)中刪除帳戶 !', - 'pref_two_factor_auth_code' => '驗證代碼', - 'pref_two_factor_auth_code_help' => '請以你的手機上的身份驗證應用程式(例如 Authy 或 Google Authenticator)掃描 QR 代碼,然後輸入其所生成的代碼。', - 'pref_two_factor_auth_reset_code' => '重置驗證代碼', - 'pref_two_factor_auth_remove_code' => '刪除驗證代碼', - 'pref_two_factor_auth_remove_will_disable' => '(這也會禁用雙重身份驗證)', - 'pref_save_settings' => 'Save settings', - 'saved_preferences' => 'Preferences saved!', - 'preferences_general' => 'General', - 'preferences_frontpage' => 'Home screen', - 'preferences_security' => 'Security', - 'preferences_layout' => 'Layout', - 'pref_home_show_deposits' => 'Show deposits on the home screen', - 'pref_home_show_deposits_info' => 'The home screen already shows your expense accounts. Should it also show your revenue accounts?', - 'pref_home_do_show_deposits' => 'Yes, show them', - 'successful_count' => 'of which :count successful', - 'transaction_page_size_title' => 'Page size', - 'transaction_page_size_help' => 'Any list of transactions shows at most this many transactions', - 'transaction_page_size_label' => 'Page size', - 'between_dates' => '(:start and :end)', - 'pref_optional_fields_transaction' => 'Optional fields for transactions', - 'pref_optional_fields_transaction_help' => 'By default not all fields are enabled when creating a new transaction (because of the clutter). Below, you can enable these fields if you think they could be useful for you. Of course, any field that is disabled, but already filled in, will be visible regardless of the setting.', - 'optional_tj_date_fields' => 'Date fields', - 'optional_tj_business_fields' => 'Business fields', - 'optional_tj_attachment_fields' => 'Attachment fields', - 'pref_optional_tj_interest_date' => 'Interest date', - 'pref_optional_tj_book_date' => 'Book date', - 'pref_optional_tj_process_date' => 'Processing date', - 'pref_optional_tj_due_date' => '到期日', - 'pref_optional_tj_payment_date' => 'Payment date', - 'pref_optional_tj_invoice_date' => 'Invoice date', - 'pref_optional_tj_internal_reference' => 'Internal reference', - 'pref_optional_tj_notes' => 'Notes', - 'pref_optional_tj_attachments' => 'Attachments', - 'optional_field_meta_dates' => 'Dates', - 'optional_field_meta_business' => 'Business', - 'optional_field_attachments' => 'Attachments', - 'optional_field_meta_data' => 'Optional meta data', - - - // profile: - 'change_your_password' => 'Change your password', - 'delete_account' => 'Delete account', - 'current_password' => 'Current password', - 'new_password' => 'New password', - 'new_password_again' => 'New password (again)', - 'delete_your_account' => 'Delete your account', - 'delete_your_account_help' => 'Deleting your account will also delete any accounts, transactions, anything you might have saved into Firefly III. It\'ll be GONE.', - 'delete_your_account_password' => 'Enter your password to continue.', - 'password' => 'Password', - 'are_you_sure' => 'Are you sure? You cannot undo this.', - 'delete_account_button' => 'DELETE your account', - 'invalid_current_password' => 'Invalid current password!', - 'password_changed' => 'Password changed!', - 'should_change' => 'The idea is to change your password.', - 'invalid_password' => 'Invalid password!', - 'what_is_pw_security' => 'What is "verify password security"?', - 'secure_pw_title' => 'How to choose a secure password', - 'secure_pw_history' => 'In August 2017 well known security researcher Troy Hunt released a list of 306 million stolen passwords. These passwords were stolen during breakins at companies like LinkedIn, Adobe and NeoPets (and many more).', - 'secure_pw_check_box' => 'By checking the box, Firefly III will send the SHA1 hash of your password to the website of Troy Hunt to see if it is on the list. This will stop you from using unsafe passwords as is recommended in the latest NIST Special Publication on this subject.', - 'secure_pw_sha1' => 'But I thought SHA1 was broken?', - 'secure_pw_hash_speed' => 'Yes, but not in this context. As you can read on the website detailing how they broke SHA1, it is now slightly easier to find a "collision": another string that results in the same SHA1-hash. It now only takes 10,000 years using a single-GPU machine.', - 'secure_pw_hash_security' => 'This collision would not be equal to your password, nor would it be useful on (a site like) Firefly III. This application does not use SHA1 for password verification. So it is safe to check this box. Your password is hashed and sent over HTTPS.', - 'secure_pw_should' => 'Should I check the box?', - 'secure_pw_long_password' => 'If you just generated a long, single-use password for Firefly III using some kind of password generator: no.', - 'secure_pw_short' => 'If you just entered the password you always use: Please yes.', - - - // attachments - 'nr_of_attachments' => 'One attachment|:count attachments', - 'attachments' => 'Attachments', - 'edit_attachment' => 'Edit attachment ":name"', - 'update_attachment' => 'Update attachment', - 'delete_attachment' => 'Delete attachment ":name"', - 'attachment_deleted' => 'Deleted attachment ":name"', - 'attachment_updated' => 'Updated attachment ":name"', - 'upload_max_file_size' => 'Maximum file size: :size', - - // transaction index - 'title_expenses' => 'Expenses', - 'title_withdrawal' => 'Expenses', - 'title_revenue' => 'Revenue / income', - 'title_deposit' => 'Revenue / income', - 'title_transfer' => 'Transfers', - 'title_transfers' => 'Transfers', - - // convert stuff: - 'convert_is_already_type_Withdrawal' => 'This transaction is already a withdrawal', - 'convert_is_already_type_Deposit' => 'This transaction is already a deposit', - 'convert_is_already_type_Transfer' => 'This transaction is already a transfer', - 'convert_to_Withdrawal' => 'Convert ":description" to a withdrawal', - 'convert_to_Deposit' => 'Convert ":description" to a deposit', - 'convert_to_Transfer' => 'Convert ":description" to a transfer', - 'convert_options_WithdrawalDeposit' => 'Convert a withdrawal into a deposit', - 'convert_options_WithdrawalTransfer' => 'Convert a withdrawal into a transfer', - 'convert_options_DepositTransfer' => 'Convert a deposit into a transfer', - 'convert_options_DepositWithdrawal' => 'Convert a deposit into a withdrawal', - 'convert_options_TransferWithdrawal' => 'Convert a transfer into a withdrawal', - 'convert_options_TransferDeposit' => 'Convert a transfer into a deposit', - 'transaction_journal_convert_options' => 'Convert this transaction', - 'convert_Withdrawal_to_deposit' => 'Convert this withdrawal to a deposit', - 'convert_Withdrawal_to_transfer' => 'Convert this withdrawal to a transfer', - 'convert_Deposit_to_withdrawal' => 'Convert this deposit to a withdrawal', - 'convert_Deposit_to_transfer' => 'Convert this deposit to a transfer', - 'convert_Transfer_to_deposit' => 'Convert this transfer to a deposit', - 'convert_Transfer_to_withdrawal' => 'Convert this transfer to a withdrawal', - 'convert_please_set_revenue_source' => 'Please pick the revenue account where the money will come from.', - 'convert_please_set_asset_destination' => 'Please pick the asset account where the money will go to.', - 'convert_please_set_expense_destination' => 'Please pick the expense account where the money will go to.', - 'convert_please_set_asset_source' => 'Please pick the asset account where the money will come from.', - 'convert_explanation_withdrawal_deposit' => 'If you convert this withdrawal into a deposit, :amount will be deposited into :sourceName instead of taken from it.', - 'convert_explanation_withdrawal_transfer' => '如果你把這個提款(支出)轉換為轉帳, :amount 會從 :sourceName 轉帳到新的資產帳戶,而不會付款到 :destinationName 。', - 'convert_explanation_deposit_withdrawal' => 'If you convert this deposit into a withdrawal, :amount will be removed from :destinationName instead of added to it.', - 'convert_explanation_deposit_transfer' => 'If you convert this deposit into a transfer, :amount will be transferred from an asset account of your choice into :destinationName.', - 'convert_explanation_transfer_withdrawal' => 'If you convert this transfer into a withdrawal, :amount will go from :sourceName to a new destination as an expense, instead of to :destinationName as a transfer.', - 'convert_explanation_transfer_deposit' => 'If you convert this transfer into a deposit, :amount will be deposited into account :destinationName instead of being transferred there.', - 'converted_to_Withdrawal' => 'The transaction has been converted to a withdrawal', - 'converted_to_Deposit' => 'The transaction has been converted to a deposit', - 'converted_to_Transfer' => 'The transaction has been converted to a transfer', - - - // create new stuff: - 'create_new_withdrawal' => 'Create new withdrawal', - 'create_new_deposit' => 'Create new deposit', - 'create_new_transfer' => 'Create new transfer', - 'create_new_asset' => '建立新的資產帳戶', - 'create_new_expense' => 'Create new expense account', - 'create_new_revenue' => 'Create new revenue account', - 'create_new_piggy_bank' => 'Create new piggy bank', - 'create_new_bill' => '建立新賬單', - - // currencies: - 'create_currency' => 'Create a new currency', - 'store_currency' => 'Store new currency', - 'update_currency' => 'Update currency', - 'new_default_currency' => ':name is now the default currency.', - 'cannot_delete_currency' => 'Cannot delete :name because it is still in use.', - 'deleted_currency' => 'Currency :name deleted', - 'created_currency' => 'Currency :name created', - 'updated_currency' => 'Currency :name updated', - 'ask_site_owner' => 'Please ask :owner to add, remove or edit currencies.', - 'currencies_intro' => 'Firefly III supports various currencies which you can set and enable here.', - 'make_default_currency' => 'make default', - 'default_currency' => 'default', - - // forms: - 'mandatoryFields' => 'Mandatory fields', - 'optionalFields' => 'Optional fields', - 'options' => 'Options', - - // budgets: - 'create_new_budget' => 'Create a new budget', - 'store_new_budget' => 'Store new budget', - 'stored_new_budget' => 'Stored new budget ":name"', - 'available_between' => 'Available between :start and :end', - 'transactionsWithoutBudget' => 'Expenses without budget', - 'transactions_no_budget' => 'Expenses without budget between :start and :end', - 'spent_between' => 'Spent between :start and :end', - 'createBudget' => 'New budget', - 'inactiveBudgets' => 'Inactive budgets', - 'without_budget_between' => 'Transactions without a budget between :start and :end', - 'delete_budget' => 'Delete budget ":name"', - 'deleted_budget' => 'Deleted budget ":name"', - 'edit_budget' => 'Edit budget ":name"', - 'updated_budget' => 'Updated budget ":name"', - 'update_amount' => 'Update amount', - 'update_budget' => 'Update budget', - 'update_budget_amount_range' => 'Update (expected) available amount between :start and :end', - 'budget_period_navigator' => 'Period navigator', - - // bills: - 'matching_on' => 'Matching on', - 'between_amounts' => 'between :low and :high.', - 'repeats' => 'Repeats', - 'connected_journals' => 'Connected transactions', - 'auto_match_on' => 'Automatically matched by Firefly', - 'auto_match_off' => 'Not automatically matched by Firefly', - 'next_expected_match' => 'Next expected match', - 'delete_bill' => '刪除賬單 ":name"', - 'deleted_bill' => '成功刪除賬單 ":name"', - 'edit_bill' => '編輯賬單 ":name"', - 'more' => 'More', - 'rescan_old' => 'Rescan old transactions', - 'update_bill' => '更新賬單', - 'updated_bill' => '更新了帳單 ":name"', - 'store_new_bill' => '儲存新的賬單', - 'stored_new_bill' => '儲存了新的賬單 ":name"', - 'cannot_scan_inactive_bill' => 'Inactive bills cannot be scanned.', - 'rescanned_bill' => 'Rescanned everything.', - 'average_bill_amount_year' => '平均賬單金額 (:year)', - 'average_bill_amount_overall' => '平均賬單金額 (總計)', - 'not_or_not_yet' => 'Not (yet)', - 'not_expected_period' => 'Not expected this period', - 'bill_is_active' => 'Bill is active', - 'bill_will_automatch' => 'Bill will automatically linked to matching transactions', - // accounts: - 'details_for_asset' => '資產帳戶的詳細資訊 ":name"', - 'details_for_expense' => 'Details for expense account ":name"', - 'details_for_revenue' => 'Details for revenue account ":name"', - 'details_for_cash' => 'Details for cash account ":name"', - 'store_new_asset_account' => '儲存新的資產帳戶', - 'store_new_expense_account' => 'Store new expense account', - 'store_new_revenue_account' => 'Store new revenue account', - 'edit_asset_account' => '編輯資產帳戶 ":name"', - 'edit_expense_account' => 'Edit expense account ":name"', - 'edit_revenue_account' => 'Edit revenue account ":name"', - 'delete_asset_account' => '刪除資產帳戶 ":name"', - 'delete_expense_account' => 'Delete expense account ":name"', - 'delete_revenue_account' => 'Delete revenue account ":name"', - 'asset_deleted' => '成功刪除資產帳戶 ":name"', - 'expense_deleted' => 'Successfully deleted expense account ":name"', - 'revenue_deleted' => 'Successfully deleted revenue account ":name"', - 'update_asset_account' => '更新資產帳戶資訊', - 'update_expense_account' => 'Update expense account', - 'update_revenue_account' => 'Update revenue account', - 'make_new_asset_account' => '建立新的資產帳戶', - 'make_new_expense_account' => 'Create a new expense account', - 'make_new_revenue_account' => 'Create a new revenue account', - 'asset_accounts' => '資產帳戶', - 'expense_accounts' => 'Expense accounts', - 'revenue_accounts' => 'Revenue accounts', - 'cash_accounts' => 'Cash accounts', - 'Cash account' => 'Cash account', - 'account_type' => 'Account type', - 'save_transactions_by_moving' => 'Save these transaction(s) by moving them to another account:', - 'stored_new_account' => 'New account ":name" stored!', - 'updated_account' => 'Updated account ":name"', - 'credit_card_options' => 'Credit card options', - 'no_transactions_account' => 'There are no transactions (in this period) for asset account ":name".', - 'no_data_for_chart' => 'There is not enough information (yet) to generate this chart.', - 'select_more_than_one_account' => 'Please select more than one account', - 'select_more_than_one_category' => 'Please select more than one category', - 'select_more_than_one_budget' => 'Please select more than one budget', - 'select_more_than_one_tag' => 'Please select more than one tag', - 'account_default_currency' => 'If you select another currency, new transactions from this account will have this currency pre-selected.', - - // categories: - 'new_category' => 'New category', - 'create_new_category' => 'Create a new category', - 'without_category' => 'Without a category', - 'update_category' => 'Update category', - 'updated_category' => 'Updated category ":name"', - 'categories' => 'Categories', - 'edit_category' => 'Edit category ":name"', - 'no_category' => '(no category)', - 'category' => 'Category', - 'delete_category' => 'Delete category ":name"', - 'deleted_category' => 'Deleted category ":name"', - 'store_category' => 'Store new category', - 'stored_category' => 'Stored new category ":name"', - 'without_category_between' => 'Without category between :start and :end', - - // transactions: - 'update_withdrawal' => 'Update withdrawal', - 'update_deposit' => 'Update deposit', - 'update_transfer' => 'Update transfer', - 'updated_withdrawal' => '成功更新提款 ":description"', - 'updated_deposit' => '成功更新存款 ":description"', - 'updated_transfer' => '成功更新轉帳 ":description"', - 'delete_withdrawal' => '刪除提款 ":description"', - 'delete_deposit' => '刪除存款 ":description"', - 'delete_transfer' => '刪除轉帳 ":description"', - 'deleted_withdrawal' => '成功刪除提款 ":description"', - 'deleted_deposit' => '成功刪除存款 ":description"', - 'deleted_transfer' => '成功刪除轉帳 ":description"', - 'stored_journal' => '成功建立交易 ":description"', - 'select_transactions' => 'Select transactions', - 'stop_selection' => 'Stop selecting transactions', - 'edit_selected' => 'Edit selected', - 'delete_selected' => 'Delete selected', - 'mass_delete_journals' => 'Delete a number of transactions', - 'mass_edit_journals' => 'Edit a number of transactions', - 'cannot_edit_other_fields' => 'You cannot mass-edit other fields than the ones here, because there is no room to show them. Please follow the link and edit them by one-by-one, if you need to edit these fields.', - 'perm-delete-many' => 'Deleting many items in one go can be very disruptive. Please be cautious.', - 'mass_deleted_transactions_success' => 'Deleted :amount transaction(s).', - 'mass_edited_transactions_success' => 'Updated :amount transaction(s)', - - - // new user: - 'welcome' => 'Welcome to Firefly!', - 'submit' => 'Submit', - 'getting_started' => 'Getting started', - 'to_get_started' => 'It is good to see you have successfully installed Firefly III. To get started with this tool please enter your bank\'s name and the balance of your main checking account. Do not worry yet if you have multiple accounts. You can add those later. It\'s just that Firefly III needs something to start with.', - 'savings_balance_text' => 'Firefly III will automatically create a savings account for you. By default, there will be no money in your savings account, but if you tell Firefly III the balance it will be stored as such.', - 'finish_up_new_user' => 'That\'s it! You can continue by pressing Submit. You will be taken to the index of Firefly III.', - 'stored_new_accounts_new_user' => 'Yay! Your new accounts have been stored.', - - // home page: - 'yourAccounts' => 'Your accounts', - 'budgetsAndSpending' => 'Budgets and spending', - 'savings' => 'Savings', - 'newWithdrawal' => 'New expense', - 'newDeposit' => 'New deposit', - 'newTransfer' => 'New transfer', - 'moneyIn' => 'Money in', - 'moneyOut' => 'Money out', - 'billsToPay' => '待付賬單', - 'billsPaid' => '已付賬單', - - // menu and titles, should be recycled as often as possible: - 'currency' => 'Currency', - 'preferences' => 'Preferences', - 'logout' => 'Logout', - 'searchPlaceholder' => 'Search...', - 'dashboard' => 'Dashboard', - 'currencies' => 'Currencies', - 'accounts' => 'Accounts', - 'Asset account' => '資產帳戶', - 'Default account' => '資產帳戶', - 'Expense account' => 'Expense account', - 'Revenue account' => 'Revenue account', - 'Initial balance account' => '初始帳戶', - 'budgets' => 'Budgets', - 'tags' => '標籤', - 'reports' => 'Reports', - 'transactions' => 'Transactions', - 'expenses' => 'Expenses', - 'income' => 'Revenue / income', - 'transfers' => 'Transfers', - 'moneyManagement' => 'Money management', - 'piggyBanks' => 'Piggy banks', - 'bills' => '賬單', - 'withdrawal' => 'Withdrawal', - 'deposit' => 'Deposit', - 'account' => 'Account', - 'transfer' => 'Transfer', - 'Withdrawal' => 'Withdrawal', - 'Deposit' => 'Deposit', - 'Transfer' => 'Transfer', - 'bill' => '賬單', - 'yes' => 'Yes', - 'no' => 'No', - 'amount' => 'Amount', - 'overview' => 'Overview', - 'saveOnAccount' => 'Save on account', - 'unknown' => 'Unknown', - 'daily' => 'Daily', - 'monthly' => 'Monthly', - 'profile' => 'Profile', - 'errors' => 'Errors', - - // reports: - 'report_default' => 'Default financial report between :start and :end', - 'report_audit' => 'Transaction history overview between :start and :end', - 'report_category' => 'Category report between :start and :end', - 'report_budget' => 'Budget report between :start and :end', - 'report_tag' => 'Tag report between :start and :end', - 'quick_link_reports' => 'Quick links', - 'quick_link_default_report' => 'Default financial report', - 'quick_link_audit_report' => 'Transaction history overview', - 'report_this_month_quick' => 'Current month, all accounts', - 'report_this_year_quick' => 'Current year, all accounts', - 'report_this_fiscal_year_quick' => 'Current fiscal year, all accounts', - 'report_all_time_quick' => 'All-time, all accounts', - 'reports_can_bookmark' => 'Remember that reports can be bookmarked.', - 'incomeVsExpenses' => 'Income vs. expenses', - 'accountBalances' => '帳戶餘額', - 'balanceStart' => '期間之初的結餘', - 'balanceEnd' => '期間之未的結餘', - 'splitByAccount' => '以帳號來分割', - 'coveredWithTags' => 'Covered with tags', - 'leftUnbalanced' => 'Left unbalanced', - 'leftInBudget' => 'Left in budget', - 'sumOfSums' => 'Sum of sums', - 'noCategory' => '(no category)', - 'notCharged' => 'Not charged (yet)', - 'inactive' => 'Inactive', - 'active' => 'Active', - 'difference' => 'Difference', - 'in' => 'In', - 'out' => 'Out', - 'topX' => 'top :number', - 'show_full_list' => 'Show entire list', - 'show_only_top' => 'Show only top :number', - 'report_type' => 'Report type', - 'report_type_default' => 'Default financial report', - 'report_type_audit' => 'Transaction history overview (audit)', - 'report_type_category' => 'Category report', - 'report_type_budget' => 'Budget report', - 'report_type_tag' => 'Tag report', - 'more_info_help' => 'More information about these types of reports can be found in the help pages. Press the (?) icon in the top right corner.', - 'report_included_accounts' => 'Included accounts', - 'report_date_range' => 'Date range', - 'report_preset_ranges' => 'Pre-set ranges', - 'shared' => 'Shared', - 'fiscal_year' => 'Fiscal year', - 'income_entry' => 'Income from account ":name" between :start and :end', - 'expense_entry' => 'Expenses to account ":name" between :start and :end', - 'category_entry' => 'Expenses in category ":name" between :start and :end', - 'budget_spent_amount' => 'Expenses in budget ":budget" between :start and :end', - 'balance_amount' => '與 :start 和 :end 之間由帳號 ":account" 支付的預算 ":budget" 的支出', - 'no_audit_activity' => 'No activity was recorded on account :account_name between :start and :end.', - 'audit_end_balance' => ':account_name 在 :end 後的餘額是: :balance', - 'reports_extra_options' => 'Extra options', - 'report_has_no_extra_options' => 'This report has no extra options', - 'reports_submit' => 'View report', - 'end_after_start_date' => 'End date of report must be after start date.', - 'select_category' => 'Select category(ies)', - 'select_budget' => 'Select budget(s).', - 'select_tag' => 'Select tag(s).', - 'income_per_category' => 'Income per category', - 'expense_per_category' => 'Expense per category', - 'expense_per_budget' => 'Expense per budget', - 'income_per_account' => 'Income per account', - 'expense_per_account' => 'Expense per account', - 'expense_per_tag' => 'Expense per tag', - 'income_per_tag' => 'Income per tag', - 'include_expense_not_in_budget' => 'Included expenses not in the selected budget(s)', - 'include_expense_not_in_account' => 'Included expenses not in the selected account(s)', - 'include_expense_not_in_category' => 'Included expenses not in the selected category(ies)', - 'include_income_not_in_category' => 'Included income not in the selected category(ies)', - 'include_income_not_in_account' => 'Included income not in the selected account(s)', - 'include_income_not_in_tags' => 'Included income not in the selected tag(s)', - 'include_expense_not_in_tags' => 'Included expenses not in the selected tag(s)', - 'everything_else' => 'Everything else', - 'income_and_expenses' => 'Income and expenses', - 'spent_average' => 'Spent (average)', - 'income_average' => 'Income (average)', - 'transaction_count' => 'Transaction count', - 'average_spending_per_account' => 'Average spending per account', - 'average_income_per_account' => 'Average income per account', - 'total' => 'Total', - 'description' => 'Description', - 'sum_of_period' => 'Sum of period', - 'average_in_period' => 'Average in period', - 'account_role_defaultAsset' => 'Default asset account', - 'account_role_sharedAsset' => 'Shared asset account', - 'account_role_savingAsset' => 'Savings account', - 'account_role_ccAsset' => 'Credit card', - - // charts: - 'chart' => 'Chart', - 'month' => 'Month', - 'budget' => 'Budget', - 'spent' => 'Spent', - 'spent_in_budget' => 'Spent in budget', - 'left_to_spend' => 'Left to spend', - 'earned' => 'Earned', - 'overspent' => 'Overspent', - 'left' => 'Left', - 'no_budget' => '(no budget)', - 'max-amount' => 'Maximum amount', - 'min-amount' => 'Minumum amount', - 'journal-amount' => 'Current bill entry', - 'name' => 'Name', - 'date' => 'Date', - 'paid' => 'Paid', - 'unpaid' => 'Unpaid', - 'day' => 'Day', - 'budgeted' => 'Budgeted', - 'period' => 'Period', - 'balance' => '餘額', - 'sum' => 'Sum', - 'average' => 'Average', - 'balanceFor' => ':name 的餘額', - - // piggy banks: - 'add_money_to_piggy' => 'Add money to piggy bank ":name"', - 'piggy_bank' => 'Piggy bank', - 'new_piggy_bank' => 'New piggy bank', - 'store_piggy_bank' => 'Store new piggy bank', - 'stored_piggy_bank' => 'Store new piggy bank ":name"', - 'account_status' => 'Account status', - 'left_for_piggy_banks' => 'Left for piggy banks', - 'sum_of_piggy_banks' => 'Sum of piggy banks', - 'saved_so_far' => 'Saved so far', - 'left_to_save' => 'Left to save', - 'suggested_amount' => 'Suggested monthly amount to save', - 'add_money_to_piggy_title' => 'Add money to piggy bank ":name"', - 'remove_money_from_piggy_title' => 'Remove money from piggy bank ":name"', - 'add' => 'Add', - - 'remove' => 'Remove', - 'max_amount_add' => 'The maximum amount you can add is', - 'max_amount_remove' => 'The maximum amount you can remove is', - 'update_piggy_button' => 'Update piggy bank', - 'update_piggy_title' => 'Update piggy bank ":name"', - 'updated_piggy_bank' => 'Updated piggy bank ":name"', - 'details' => 'Details', - 'events' => 'Events', - 'target_amount' => 'Target amount', - 'start_date' => 'Start date', - 'target_date' => '儲蓄目標日期', - 'no_target_date' => '沒有儲蓄目標日期', - 'table' => 'Table', - 'delete_piggy_bank' => 'Delete piggy bank ":name"', - 'cannot_add_amount_piggy' => 'Could not add :amount to ":name".', - 'cannot_remove_from_piggy' => 'Could not remove :amount from ":name".', - 'deleted_piggy_bank' => 'Deleted piggy bank ":name"', - 'added_amount_to_piggy' => 'Added :amount to ":name"', - 'removed_amount_from_piggy' => 'Removed :amount from ":name"', - - // tags - 'regular_tag' => '只是一個普通的標籤。', - 'balancing_act' => '這標籤最多會有兩項交易:一個支出和一個轉帳,而他們會互相抵消。', - 'advance_payment' => '這種標籤容許一個支出和多個存款以抵銷原本的支出。', - 'delete_tag' => '刪除標籤 ":tag"', - 'deleted_tag' => '刪除了標籤 ":tag"', - 'new_tag' => '建立新標籤', - 'edit_tag' => '編輯標籤 ":tag"', - 'updated_tag' => '更新了標籤 ":tag"', - 'created_tag' => '成功創建標籤 ":tag" !', - - 'transaction_journal_information' => 'Transaction information', - 'transaction_journal_meta' => 'Meta information', - 'total_amount' => 'Total amount', - 'number_of_decimals' => 'Number of decimals', - - // administration - 'administration' => 'Administration', - 'user_administration' => 'User administration', - 'list_all_users' => 'All users', - 'all_users' => 'All users', - 'instance_configuration' => 'Configuration', - 'firefly_instance_configuration' => 'Configuration options for Firefly III', - 'setting_single_user_mode' => 'Single user mode', - 'setting_single_user_mode_explain' => 'By default, Firefly III only accepts one (1) registration: you. This is a security measure, preventing others from using your instance unless you allow them to. Future registrations are blocked. When you uncheck this box, others can use your instance as wel, assuming they can reach it (when it is connected to the internet).', - 'store_configuration' => 'Store configuration', - 'single_user_administration' => 'User administration for :email', - 'edit_user' => 'Edit user :email', - 'hidden_fields_preferences' => 'Not all fields are visible right now. You must enable them in your settings.', - 'user_data_information' => 'User data', - 'user_information' => 'User information', - 'total_size' => 'total size', - 'budget_or_budgets' => 'budget(s)', - 'budgets_with_limits' => 'budget(s) with configured amount', - 'rule_or_rules' => 'rule(s)', - 'rulegroup_or_groups' => 'rule group(s)', - 'configuration_updated' => 'The configuration has been updated', - 'setting_is_demo_site' => 'Demo site', - 'setting_is_demo_site_explain' => 'If you check this box, this installation will behave as if it is the demo site, which can have weird side effects.', - 'block_code_bounced' => 'Email message(s) bounced', - 'block_code_expired' => 'Demo account expired', - 'no_block_code' => 'No reason for block or user not blocked', - // links - 'journal_link_configuration' => 'Transaction links configuration', - 'create_new_link_type' => 'Create new link type', - 'store_new_link_type' => 'Store new link type', - 'update_link_type' => 'Update link type', - 'edit_link_type' => 'Edit link type ":name"', - 'updated_link_type' => 'Updated link type ":name"', - 'delete_link_type' => 'Delete link type ":name"', - 'deleted_link_type' => 'Deleted link type ":name"', - 'stored_new_link_type' => 'Store new link type ":name"', - 'cannot_edit_link_type' => 'Cannot edit link type ":name"', - 'link_type_help_name' => 'Ie. "Duplicates"', - 'link_type_help_inward' => 'Ie. "duplicates"', - 'link_type_help_outward' => 'Ie. "is duplicated by"', - 'save_connections_by_moving' => 'Save the link between these transaction(s) by moving them to another link type:', - 'do_not_save_connection' => '(do not save connection)', - 'link_transaction' => 'Link transaction', - 'link_to_other_transaction' => 'Link this transaction to another transaction', - 'select_transaction_to_link' => 'Select a transaction to link this transaction to', - 'this_transaction' => 'This transaction', - 'transaction' => 'Transaction', - 'comments' => 'Comments', - 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', - 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', - 'journals_linked' => 'Transactions are linked.', - 'journals_error_linked' => 'These transactions are already linked.', - 'journal_links' => 'Transaction links', - 'this_withdrawal' => 'This withdrawal', - 'this_deposit' => 'This deposit', - 'this_transfer' => 'This transfer', - 'overview_for_link' => 'Overview for link type ":name"', - 'delete_journal_link' => 'Delete the link between :source and :destination', - 'deleted_link' => 'Deleted link', - - - // split a transaction: - 'splits' => '分割', - 'add_another_split' => 'Add another split', - 'split-transactions' => 'Split transactions', - 'do_split' => 'Do a split', - 'split_this_withdrawal' => 'Split this withdrawal', - 'split_this_deposit' => 'Split this deposit', - 'split_this_transfer' => 'Split this transfer', - 'cannot_edit_multiple_source' => '你不能修改描述為 ":description" 的分割交易 #:id 因為他有多個來源帳號。', - 'cannot_edit_multiple_dest' => '你不能修改描述為 ":description" 的分割交易 #:id 因為他有多個目標帳號。', - 'cannot_edit_opening_balance' => 'You cannot edit the opening balance of an account.', - 'no_edit_multiple_left' => 'You have selected no valid transactions to edit.', - - // import bread crumbs and titles: - 'import' => '匯入', - 'import_data' => '匯入資料', - - // import index page: - 'import_index_title' => 'Import data into Firefly III', - 'import_index_sub_title' => 'Index', - 'import_general_index_intro' => 'Welcome to Firefly\'s import routine. There are a few ways of importing data into Firefly III, displayed here as buttons.', - 'import_index_intro' => 'This routine will help you import files from your bank into Firefly III. Please check out the help pages in the top right corner.', - 'import_index_file' => 'Select your file', - 'import_index_config' => 'If you have previously imported data into Firefly III, you may have a configuration file, which will pre-set configuration values for you. For some banks, other users have kindly provided their configuration file.', - 'import_index_type' => 'Select the type of file you will upload', - 'import_index_start' => 'Start importing', - - // supported file types: - 'import_file_type_csv' => 'CSV (comma separated values)', - - // import configuration routine: - 'import_config_sub_title' => 'Set up your import file', - 'import_config_bread_crumb' => 'Set up your import file', - - // import status page: - 'import_status_bread_crumb' => 'Import status', - 'import_status_sub_title' => 'Import status', - 'import_status_wait_title' => 'Please hold...', - 'import_status_wait_text' => 'This box will disappear in a moment.', - 'import_status_ready_title' => 'Import is ready to start', - 'import_status_ready_text' => 'The import is ready to start. All the configuration you needed to do has been done. Please download the configuration file. It will help you with the import should it not go as planned. To actually run the import, you can either execute the following command in your console, or run the web-based import. Depending on your configuration, the console import will give you more feedback.', - 'import_status_ready_config' => 'Download configuration', - 'import_status_ready_start' => 'Start the import', - 'import_status_ready_share' => 'Please consider downloading your configuration and sharing it at the import configuration center. This will allow other users of Firefly III to import their files more easily.', - 'import_status_running_title' => 'The import is running', - 'import_status_running_placeholder' => 'Please hold for an update...', - 'import_status_errors_title' => 'Errors during the import', - 'import_status_errors_single' => 'An error has occured during the import. It does not appear to be fatal.', - 'import_status_errors_multi' => 'Some errors occured during the import. These do not appear to be fatal.', - 'import_status_fatal_title' => 'A fatal error occurred', - 'import_status_fatal_text' => 'A fatal error occurred, which the import-routine cannot recover from. Please see the explanation in red below.', - 'import_status_fatal_more' => 'If the error is a time-out, the import will have stopped half-way. For some server configurations, it is merely the server that stopped while the import keeps running in the background. To verify this, check out the log files. If the problem persists, consider importing over the command line instead.', - 'import_status_finished_title' => 'Import routine finished', - 'import_status_finished_text' => 'The import routine has imported your file.', - 'import_status_finished_job' => 'The transactions imported can be found in tag :tag.', - 'import_with_key' => '以鍵 \':key\' 作匯入', - - // sandstorm.io errors and messages: - 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', - - // empty lists? no objects? instructions: - 'no_transactions_in_period' => 'There are no transactions in this period.', - 'no_accounts_title_asset' => 'Let\'s create an asset account!', - 'no_accounts_intro_asset' => 'You have no asset accounts yet. Asset accounts are your main accounts: your checking account, savings account, shared account or even your credit card.', - 'no_accounts_imperative_asset' => 'To start using Firefly III you must create at least one asset account. Let\'s do so now:', - 'no_accounts_create_asset' => 'Create an asset account', - 'no_accounts_title_expense' => 'Let\'s create an expense account!', - 'no_accounts_intro_expense' => 'You have no expense accounts yet. Expense accounts are the places where you spend money, such as shops and supermarkets.', - 'no_accounts_imperative_expense' => 'Expense accounts are created automatically when you create transactions, but you can create one manually too, if you want. Let\'s create one now:', - 'no_accounts_create_expense' => 'Create an expense account', - 'no_accounts_title_revenue' => 'Let\'s create a revenue account!', - 'no_accounts_intro_revenue' => 'You have no revenue accounts yet. Revenue accounts are the places where you receive money from, such as your employer.', - 'no_accounts_imperative_revenue' => 'Revenue accounts are created automatically when you create transactions, but you can create one manually too, if you want. Let\'s create one now:', - 'no_accounts_create_revenue' => 'Create a revenue account', - 'no_budgets_title_default' => 'Let\'s create a budget', - 'no_budgets_intro_default' => 'You have no budgets yet. Budgets are used to organise your expenses into logical groups, which you can give a soft-cap to limit your expenses.', - 'no_budgets_imperative_default' => 'Budgets are the basic tools of financial management. Let\'s create one now:', - 'no_budgets_create_default' => 'Create a budget', - 'no_categories_title_default' => 'Let\'s create a category!', - 'no_categories_intro_default' => 'You have no categories yet. Categories are used to fine tune your transactions and label them with their designated category.', - 'no_categories_imperative_default' => 'Categories are created automatically when you create transactions, but you can create one manually too. Let\'s create one now:', - 'no_categories_create_default' => 'Create a category', - 'no_tags_title_default' => 'Let\'s create a tag!', - 'no_tags_intro_default' => 'You have no tags yet. Tags are used to fine tune your transactions and label them with specific keywords.', - 'no_tags_imperative_default' => 'Tags are created automatically when you create transactions, but you can create one manually too. Let\'s create one now:', - 'no_tags_create_default' => 'Create a tag', - 'no_transactions_title_withdrawal' => 'Let\'s create an expense!', - 'no_transactions_intro_withdrawal' => 'You have no expenses yet. You should create expenses to start managing your finances.', - 'no_transactions_imperative_withdrawal' => 'Have you spent some money? Then you should write it down:', - 'no_transactions_create_withdrawal' => 'Create an expense', - 'no_transactions_title_deposit' => 'Let\'s create some income!', - 'no_transactions_intro_deposit' => 'You have no recorded income yet. You should create income entries to start managing your finances.', - 'no_transactions_imperative_deposit' => 'Have you received some money? Then you should write it down:', - 'no_transactions_create_deposit' => 'Create a deposit', - 'no_transactions_title_transfers' => 'Let\'s create a transfer!', - 'no_transactions_intro_transfers' => 'You have no transfers yet. When you move money between asset accounts, it is recorded as a transfer.', - 'no_transactions_imperative_transfers' => 'Have you moved some money around? Then you should write it down:', - 'no_transactions_create_transfers' => 'Create a transfer', - 'no_piggies_title_default' => 'Let\'s create a piggy bank!', - 'no_piggies_intro_default' => 'You have no piggy banks yet. You can create piggy banks to divide your savings and keep track of what you\'re saving up for.', - 'no_piggies_imperative_default' => 'Do you have things you\'re saving money for? Create a piggy bank and keep track:', - 'no_piggies_create_default' => 'Create a new piggy bank', - 'no_bills_title_default' => 'Let\'s create a bill!', - 'no_bills_intro_default' => 'You have no bills yet. You can create bills to keep track of regular expenses, like your rent of insurance.', - 'no_bills_imperative_default' => 'Do you have such regular bills? Create a bill and keep track of your payments:', - 'no_bills_create_default' => 'Create a bill', - - -]; \ No newline at end of file diff --git a/resources/lang/zh_TW/form.php b/resources/lang/zh_TW/form.php deleted file mode 100644 index 2889759d75..0000000000 --- a/resources/lang/zh_TW/form.php +++ /dev/null @@ -1,199 +0,0 @@ - '銀行名稱', - 'bank_balance' => '餘額', - 'savings_balance' => '儲蓄帳戶的餘額', - 'credit_card_limit' => '信用卡額度', - 'automatch' => '自動匹配', - 'skip' => '略過', - 'name' => '名稱', - 'active' => '啟用', - 'amount_min' => '最小金額', - 'amount_max' => '最大值', - 'match' => '匹配於', - 'repeat_freq' => '循環週期', - 'journal_currency_id' => '貨幣', - 'currency_id' => 'Currency', - 'attachments' => 'Attachments', - 'journal_amount' => '金額', - 'journal_asset_source_account' => '資產帳戶 (源頭)', - 'journal_source_account_name' => '收入帳戶 (源頭)', - 'journal_source_account_id' => '資產帳戶 (源頭)', - 'BIC' => 'BIC', - 'verify_password' => 'Verify password security', - 'account_from_id' => '從帳戶', - 'account_to_id' => '到帳戶', - 'source_account' => '來源帳戶', - 'destination_account' => '目標帳戶', - 'journal_destination_account_id' => '資產帳戶 (目標)', - 'asset_destination_account' => '資產帳戶 (目標)', - 'asset_source_account' => '資產帳戶 (來源)', - 'journal_description' => '描述', - 'note' => '備註', - 'split_journal' => '分割此交易', - 'split_journal_explanation' => '分割這個交易為幾個部分', - 'currency' => '貨幣', - 'account_id' => '資產帳戶', - 'budget_id' => '預算', - 'openingBalance' => '開戶金額', - 'tagMode' => '標記模式', - 'tagPosition' => '標籤位置', - 'virtualBalance' => '虛擬金額', - 'longitude_latitude' => '位置', - 'targetamount' => '目標金額', - 'accountRole' => '帳戶角色', - 'openingBalanceDate' => '開戶日期', - 'ccType' => '信用卡付款計畫', - 'ccMonthlyPaymentDate' => '信用卡每月付款日期', - 'piggy_bank_id' => '存錢筒', - 'returnHere' => '回到這裡', - 'returnHereExplanation' => '儲存後,回到這裡創建另一個記錄。', - 'returnHereUpdateExplanation' => '更新後,回到這裡。', - 'description' => '描述', - 'expense_account' => '支出帳戶', - 'revenue_account' => '收入帳戶', - 'decimal_places' => 'Decimal places', - 'exchange_rate_instruction' => 'Foreign currencies', - 'exchanged_amount' => 'Exchanged amount', - 'source_amount' => 'Amount (source)', - 'destination_amount' => 'Amount (destination)', - 'native_amount' => 'Native amount', - - 'revenue_account_source' => '收入帳戶 (源頭)', - 'source_account_asset' => '來源帳戶 (資產帳戶)', - 'destination_account_expense' => 'Destination account (expense account)', - 'destination_account_asset' => 'Destination account (asset account)', - 'source_account_revenue' => '來源帳戶 (收入帳戶)', - 'type' => 'Type', - 'convert_Withdrawal' => 'Convert withdrawal', - 'convert_Deposit' => 'Convert deposit', - 'convert_Transfer' => 'Convert transfer', - - - 'amount' => '金額', - 'date' => '日期', - 'interest_date' => '付息日', - 'book_date' => 'Book date', - 'process_date' => '處理日期', - 'category' => '類別', - 'tags' => '標籤', - 'deletePermanently' => '永久刪除', - 'cancel' => '取消', - 'targetdate' => '儲蓄目標日期', - 'tag' => '標籤', - 'under' => '低於', - 'symbol' => 'Symbol', - 'code' => 'Code', - 'iban' => 'IBAN', - 'accountNumber' => '帳戶號碼', - 'has_headers' => '標頭', - 'date_format' => '日期格式', - 'specifix' => 'Bank- or file specific fixes', - 'attachments[]' => '附檔', - 'store_new_withdrawal' => '存儲新提款', - 'store_new_deposit' => '存儲新存款', - 'store_new_transfer' => '存儲新轉帳', - 'add_new_withdrawal' => '新增提款', - 'add_new_deposit' => '新增新存款', - 'add_new_transfer' => 'Add a new transfer', - 'noPiggybank' => '(no piggy bank)', - 'title' => '標題', - 'notes' => '備註', - 'filename' => '檔案名稱', - 'mime' => 'Mime type', - 'size' => 'Size', - 'trigger' => 'Trigger', - 'stop_processing' => 'Stop processing', - 'start_date' => 'Start of range', - 'end_date' => 'End of range', - 'export_start_range' => 'Start of export range', - 'export_end_range' => 'End of export range', - 'export_format' => '檔案格式', - 'include_attachments' => '包括上傳的附件', - 'include_old_uploads' => '包含導入的資料', - 'accounts' => '從這些帳戶匯出交易記錄', - 'delete_account' => '刪除帳號 ":name"', - 'delete_bill' => '刪除帳單 ":name"', - 'delete_budget' => '刪除預算 ":name"', - 'delete_category' => '刪除類別 ":name"', - 'delete_currency' => '刪除貨幣 ":name"', - 'delete_journal' => '刪除包含描述 ":description" 的交易', - 'delete_attachment' => 'Delete attachment ":name"', - 'delete_rule' => 'Delete rule ":title"', - 'delete_rule_group' => 'Delete rule group ":title"', - 'delete_link_type' => 'Delete link type ":name"', - 'attachment_areYouSure' => 'Are you sure you want to delete the attachment named ":name"?', - 'account_areYouSure' => 'Are you sure you want to delete the account named ":name"?', - 'bill_areYouSure' => '你確定要刪除賬單 ":name" 嗎?', - 'rule_areYouSure' => 'Are you sure you want to delete the rule titled ":title"?', - 'ruleGroup_areYouSure' => 'Are you sure you want to delete the rule group titled ":title"?', - 'budget_areYouSure' => 'Are you sure you want to delete the budget named ":name"?', - 'category_areYouSure' => 'Are you sure you want to delete the category named ":name"?', - 'currency_areYouSure' => 'Are you sure you want to delete the currency named ":name"?', - 'piggyBank_areYouSure' => 'Are you sure you want to delete the piggy bank named ":name"?', - 'journal_areYouSure' => '你真的要刪除這個描述為 ":description" 的交易嗎?', - 'mass_journal_are_you_sure' => 'Are you sure you want to delete these transactions?', - 'tag_areYouSure' => '你真的要要刪除標籤 ":tag" 嗎?', - 'journal_link_areYouSure' => 'Are you sure you want to delete the link between :source and :destination?', - 'linkType_areYouSure' => 'Are you sure you want to delete the link type ":name" (":inward" / ":outward")?', - 'permDeleteWarning' => 'Deleting stuff from Firely is permanent and cannot be undone.', - 'mass_make_selection' => 'You can still prevent items from being deleted by removing the checkbox.', - 'delete_all_permanently' => 'Delete selected permanently', - 'update_all_journals' => 'Update these transactions', - 'also_delete_transactions' => 'The only transaction connected to this account will be deleted as well.|All :count transactions connected to this account will be deleted as well.', - 'also_delete_connections' => 'The only transaction linked with this link type will lose this connection.|All :count transactions linked with this link type will lose their connection.', - 'also_delete_rules' => 'The only rule connected to this rule group will be deleted as well.|All :count rules connected to this rule group will be deleted as well.', - 'also_delete_piggyBanks' => 'The only piggy bank connected to this account will be deleted as well.|All :count piggy bank connected to this account will be deleted as well.', - 'bill_keep_transactions' => 'The only transaction connected to this bill will not be deleted.|All :count transactions connected to this bill will spared deletion.', - 'budget_keep_transactions' => 'The only transaction connected to this budget will not be deleted.|All :count transactions connected to this budget will spared deletion.', - 'category_keep_transactions' => 'The only transaction connected to this category will not be deleted.|All :count transactions connected to this category will spared deletion.', - 'tag_keep_transactions' => 'The only transaction connected to this tag will not be deleted.|All :count transactions connected to this tag will spared deletion.', - - 'email' => 'Email address', - 'password' => 'Password', - 'password_confirmation' => 'Password (again)', - 'blocked' => 'Is blocked?', - 'blocked_code' => 'Reason for block', - - - // admin - 'domain' => 'Domain', - 'single_user_mode' => 'Single user mode', - 'must_confirm_account' => 'New users must activate account', - 'is_demo_site' => 'Is demo site', - - - // import - 'import_file' => '匯入檔案', - 'configuration_file' => 'Configuration file', - 'import_file_type' => '匯入檔案類型', - 'csv_comma' => 'A comma (,)', - 'csv_semicolon' => 'A semicolon (;)', - 'csv_tab' => 'A tab (invisible)', - 'csv_delimiter' => 'CSV field delimiter', - 'csv_import_account' => 'Default import account', - 'csv_config' => 'CSV import configuration', - - - 'due_date' => '到期日', - 'payment_date' => 'Payment date', - 'invoice_date' => 'Invoice date', - 'internal_reference' => 'Internal reference', - - 'inward' => 'Inward description', - 'outward' => 'Outward description', -]; \ No newline at end of file diff --git a/resources/lang/zh_TW/help.php b/resources/lang/zh_TW/help.php deleted file mode 100644 index 71107cced6..0000000000 --- a/resources/lang/zh_TW/help.php +++ /dev/null @@ -1,35 +0,0 @@ - '歡迎來到 Firefly III', - 'main-content-text' => '來看看這個簡單的教學來學習使用 Firefly III 吧!', - 'sidebar-toggle-title' => '按側欄來建立新的東西', - 'sidebar-toggle-text' => '按一下加號圖案來創建新物件。帳號、交易、任何東西都可以!', - 'account-menu-title' => '所有帳戶', - 'account-menu-text' => '你能在這裡找到你所有的帳戶。', - 'budget-menu-title' => '預算', - 'budget-menu-text' => '本頁可以幫助你管理財產及降低支出。', - 'report-menu-title' => '報表', - 'report-menu-text' => '如果你需要一個財務狀況的簡報,來看看這個吧。', - 'transaction-menu-title' => '交易', - 'transaction-menu-text' => '你可以在這裡找到所有交易記錄。', - 'option-menu-title' => '設定', - 'option-menu-text' => '相當不言而喻吧。', - 'main-content-end-title' => '完', - 'main-content-end-text' => '每一頁在右上方有一個小問號。按一下它可以取得與頁面相關説明。', - 'index' => '首頁', - 'home' => '首頁', -]; \ No newline at end of file diff --git a/resources/lang/zh_TW/intro.php b/resources/lang/zh_TW/intro.php deleted file mode 100644 index c161cef362..0000000000 --- a/resources/lang/zh_TW/intro.php +++ /dev/null @@ -1,121 +0,0 @@ - 'Welcome to the index page of Firefly III. Please take the time to walk through this intro to get a feeling of how Firefly III works.', - 'index_accounts-chart' => 'This chart shows the current balance of your asset accounts. You can select the accounts visible here in your preferences.', - 'index_box_out_holder' => 'This little box and the boxes next to this one will give you a quick overview of your financial situation.', - 'index_help' => 'If you ever need help with a page or a form, press this button.', - 'index_outro' => 'Most pages of Firefly III will start with a little tour like this one. Please contact me when you have questions or comments. Enjoy!', - 'index_sidebar-toggle' => 'To create new transactions, accounts or other things, use the menu under this icon.', - - // create account: - 'accounts_create_iban' => 'Give your accounts a valid IBAN. This could make a data import very easy in the future.', - 'accounts_create_asset_opening_balance' => 'Assets accounts may have an "opening balance", indicating the start of this account\'s history in Firefly.', - 'accounts_create_asset_currency' => 'Firefly III supports multiple currencies. Asset accounts have one main currency, which you must set here.', - 'accounts_create_asset_virtual' => 'It can sometimes help to give your account a virtual balance: an extra amount always added to or removed from the actual balance.', - - // budgets index - 'budgets_index_intro' => 'Budgets are used to manage your finances and form one of the core functions of Firefly III.', - 'budgets_index_set_budget' => 'Set your total budget for every period so Firefly can tell you if you have budgeted all available money.', - 'budgets_index_see_expenses_bar' => 'Spending money will slowly fill this bar.', - 'budgets_index_navigate_periods' => 'Navigate through periods to easily set budgets ahead of time.', - 'budgets_index_new_budget' => 'Create new budgets as you see fit.', - 'budgets_index_list_of_budgets' => 'Use this table to set the amounts for each budget and see how you are doing.', - - // reports (index) - 'reports_index_intro' => 'Use these reports to get detailed insights in your finances.', - 'reports_index_inputReportType' => 'Pick a report type. Check out the help pages to see what each report shows you.', - 'reports_index_inputAccountsSelect' => 'You can exclude or include asset accounts as you see fit.', - 'reports_index_inputDateRange' => 'The selected date range is entirely up to you: from one day to 10 years.', - 'reports_index_extra-options-box' => 'Depending on the report you have selected, you can select extra filters and options here. Watch this box when you change report types.', - - // reports (reports) - 'reports_report_default_intro' => 'This report will give you a quick and comprehensive overview of your finances. If you wish to see anything else, please don\'t hestitate to contact me!', - 'reports_report_audit_intro' => 'This report will give you detailed insights in your asset accounts.', - 'reports_report_audit_optionsBox' => 'Use these check boxes to show or hide the columns you are interested in.', - - 'reports_report_category_intro' => 'This report will give you insight in one or multiple categories.', - 'reports_report_category_pieCharts' => 'These charts will give you insight in expenses and income per category or per account.', - 'reports_report_category_incomeAndExpensesChart' => 'This chart shows your expenses and income per category.', - - 'reports_report_tag_intro' => 'This report will give you insight in one or multiple tags.', - 'reports_report_tag_pieCharts' => 'These charts will give you insight in expenses and income per tag, account, category or budget.', - 'reports_report_tag_incomeAndExpensesChart' => 'This chart shows your expenses and income per tag.', - - 'reports_report_budget_intro' => 'This report will give you insight in one or multiple budgets.', - 'reports_report_budget_pieCharts' => 'These charts will give you insight in expenses per budget or per account.', - 'reports_report_budget_incomeAndExpensesChart' => 'This chart shows your expenses per budget.', - - // create transaction - 'transactions_create_switch_box' => 'Use these buttons to quickly switch the type of transaction you wish to save.', - 'transactions_create_ffInput_category' => 'You can freely type in this field. Previously created categories will be suggested.', - 'transactions_create_withdrawal_ffInput_budget' => 'Link your withdrawal to a budget for better financial control.', - 'transactions_create_withdrawal_currency_dropdown_amount' => 'Use this dropdown when your withdrawal is in another currency.', - 'transactions_create_deposit_currency_dropdown_amount' => 'Use this dropdown when your deposit is in another currency.', - 'transactions_create_transfer_ffInput_piggy_bank_id' => 'Select a piggy bank and link this transfer to your savings.', - - // piggy banks index: - 'piggy-banks_index_saved' => 'This field shows you how much you\'ve saved in each piggy bank.', - 'piggy-banks_index_button' => 'Next to this progress bar are two buttons (+ and -) to add or remove money from each piggy bank.', - 'piggy-banks_index_accountStatus' => 'For each asset account with at least one piggy bank the status is listed in this table.', - - // create piggy - 'piggy-banks_create_name' => 'What is your goal? A new couch, a camera, money for emergencies?', - 'piggy-banks_create_date' => 'You can set a target date or a deadline for your piggy bank.', - - // show piggy - 'piggy-banks_show_piggyChart' => 'This chart will show the history of this piggy bank.', - 'piggy-banks_show_piggyDetails' => 'Some details about your piggy bank', - 'piggy-banks_show_piggyEvents' => 'Any additions or removals are also listed here.', - - // bill index - 'bills_index_paid_in_period' => 'This field indicates when the bill was last paid.', - 'bills_index_expected_in_period' => 'This field indicates for each bill if and when the next bill is expected to hit.', - - // show bill - 'bills_show_billInfo' => 'This table shows some general information about this bill.', - 'bills_show_billButtons' => 'Use this button to re-scan old transactions so they will be matched to this bill.', - 'bills_show_billChart' => 'This chart shows the transactions linked to this bill.', - - // create bill - 'bills_create_name' => 'Use a descriptive name such as "Rent" or "Health insurance".', - 'bills_create_match' => 'To match transactions, use terms from those transactions or the expense account involved. All words must match.', - 'bills_create_amount_min_holder' => 'Select a minimum and maximum amount for this bill.', - 'bills_create_repeat_freq_holder' => 'Most bills repeat monthly, but you can set another frequency here.', - 'bills_create_skip_holder' => 'If a bill repeats every 2 weeks for example, the "skip"-field should be set to "1" to skip every other week.', - - // rules index - 'rules_index_intro' => 'Firefly III allows you to manage rules, that will automagically be applied to any transaction you create or edit.', - 'rules_index_new_rule_group' => 'You can combine rules in groups for easier management.', - 'rules_index_new_rule' => 'Create as many rules as you like.', - 'rules_index_prio_buttons' => 'Order them any way you see fit.', - 'rules_index_test_buttons' => 'You can test your rules or apply them to existing transactions.', - 'rules_index_rule-triggers' => 'Rules have "triggers" and "actions" that you can order by drag-and-drop.', - 'rules_index_outro' => 'Be sure to check out the help pages using the (?) icon in the top right!', - - // create rule: - 'rules_create_mandatory' => 'Choose a descriptive title, and set when the rule should be fired.', - 'rules_create_ruletriggerholder' => 'Add as many triggers as you like, but remember that ALL triggers must match before any actions are fired.', - 'rules_create_test_rule_triggers' => 'Use this button to see which transactions would match your rule.', - 'rules_create_actions' => 'Set as many actions as you like.', - - // preferences - 'preferences_index_tabs' => 'More options are available behind these tabs.', - - // currencies - 'currencies_index_intro' => 'Firefly III supports multiple currencies, which you can change on this page.', - 'currencies_index_default' => 'Firefly III has one default currency. You can always switch of course using these buttons.', - - // create currency - 'currencies_create_code' => 'This code should be ISO compliant (Google it for your new currency).', -]; \ No newline at end of file diff --git a/resources/lang/zh_TW/list.php b/resources/lang/zh_TW/list.php deleted file mode 100644 index 60c67ed53a..0000000000 --- a/resources/lang/zh_TW/list.php +++ /dev/null @@ -1,94 +0,0 @@ - '按鈕', - 'icon' => '圖標', - 'id' => 'ID', - 'create_date' => '建立於', - 'update_date' => '更新於', - 'balance_before' => '交易前餘額', - 'balance_after' => '交易後餘額', - 'name' => '名稱', - 'role' => '角色', - 'currentBalance' => '目前餘額', - 'active' => '是否有效?', - 'lastActivity' => '最後的活動', - 'balanceDiff' => ':start 和 :end 之間的餘額差', - 'matchedOn' => '匹配於', - 'matchesOn' => '匹配於', - 'account_type' => '帳戶類型', - 'created_at' => '建立於', - 'new_balance' => '新餘額', - 'account' => '帳戶', - 'matchingAmount' => '金額', - 'lastMatch' => '最後出現', - 'split_number' => '分割編號 #', - 'destination' => '到', - 'source' => '來源', - 'next_expected_match' => 'Next expected match', - 'automatch' => '自動匹配?', - 'repeat_freq' => '重複', - 'description' => '描述', - 'amount' => '金額', - 'internal_reference' => '內部參考', - 'date' => '日期', - 'interest_date' => '付息日', - 'book_date' => 'Book date', - 'process_date' => '處理日期', - 'due_date' => '到期日', - 'payment_date' => '付款日期', - 'invoice_date' => '發票日期', - 'interal_reference' => '內部參考', - 'notes' => '備註', - 'from' => '從', - 'piggy_bank' => '存錢筒', - 'to' => '至', - 'budget' => '預算', - 'category' => '類別', - 'bill' => '賬單', - 'withdrawal' => '取款', - 'deposit' => '存款', - 'transfer' => '轉帳', - 'type' => '類型', - 'completed' => '已完成', - 'iban' => '國際銀行賬戶號碼(IBAN)', - 'paid_current_period' => '在這期間已付', - 'email' => '電子郵件', - 'registered_at' => '註冊於', - 'is_activated' => '已經啟動', - 'is_blocked' => '被阻止', - 'is_admin' => '是管理員', - 'has_two_factor' => '有雙重身份驗證 (2FA)', - 'confirmed_from' => 'Confirmed from', - 'registered_from' => 'Registered from', - 'blocked_code' => 'Block code', - 'domain' => 'Domain', - 'registration_attempts' => 'Registration attempts', - 'source_account' => '來源帳戶', - 'destination_account' => 'Destination account', - - 'accounts_count' => 'Number of accounts', - 'journals_count' => 'Number of transactions', - 'attachments_count' => 'Number of attachments', - 'bills_count' => 'Number of bills', - 'categories_count' => 'Number of categories', - 'export_jobs_count' => 'Number of export jobs', - 'import_jobs_count' => 'Number of import jobs', - 'budget_count' => 'Number of budgets', - 'rule_and_groups_count' => 'Number of rules and rule groups', - 'tags_count' => 'Number of tags', - 'inward' => 'Inward description', - 'outward' => 'Outward description', - 'number_of_transactions' => 'Number of transactions', -]; \ No newline at end of file diff --git a/resources/lang/zh_TW/pagination.php b/resources/lang/zh_TW/pagination.php deleted file mode 100644 index 4f0750541e..0000000000 --- a/resources/lang/zh_TW/pagination.php +++ /dev/null @@ -1,19 +0,0 @@ - '« 上一頁', - 'next' => '下一頁 »', - -]; \ No newline at end of file diff --git a/resources/lang/zh_TW/passwords.php b/resources/lang/zh_TW/passwords.php deleted file mode 100644 index 44a451c955..0000000000 --- a/resources/lang/zh_TW/passwords.php +++ /dev/null @@ -1,21 +0,0 @@ - '密碼至少需要六個字元,並與確認欄中的密碼相同。', - 'user' => '我們找不到使用該電郵地址的用戶。', - 'token' => '該密碼重置碼已經失效。', - 'sent' => '我們已經將密碼重置連結發送至您的電郵!', - 'reset' => '你的密碼已經被重置!', - 'blocked' => '好一個嘗試。', -]; \ No newline at end of file diff --git a/resources/lang/zh_TW/validation.php b/resources/lang/zh_TW/validation.php deleted file mode 100644 index 0c42f0ff72..0000000000 --- a/resources/lang/zh_TW/validation.php +++ /dev/null @@ -1,94 +0,0 @@ - '這不是有效的 IBAN。', - 'unique_account_number_for_user' => '此帳號號碼已經存在。', - 'deleted_user' => 'Due to security constraints, you cannot register using this email address.', - 'rule_trigger_value' => '此值不能用於所選擇的事件。', - 'rule_action_value' => '此值不能用於所選擇的動作。', - 'invalid_domain' => '基於安全理由,你無法使用此域名註冊。', - 'file_already_attached' => '檔案 ":name" 已附加到該物件上。', - 'file_attached' => '已成功上傳檔案 ":name"。', - 'file_invalid_mime' => '檔案 ":name" 的類型為 ":mime",並不容許上載此類型的檔案。', - 'file_too_large' => '檔案 ":name" 過大。', - 'belongs_to_user' => ':attribute 的值是未知的。', - 'accepted' => ':attribute 必須被接受。', - 'bic' => 'This is not a valid BIC.', - 'more' => ':attribute must be larger than zero.', - 'active_url' => ':attribute 不是有效的URL。', - 'after' => ':attribute 必須是一個在 :date 之後的日期。', - 'alpha' => ':attribute 只允許包含字母。', - 'alpha_dash' => ':attribute 只允許數字,字母,和下劃線。', - 'alpha_num' => ':attribute 只允許包含數字和字母。', - 'array' => ':attribute 必須是一個陣列。', - 'unique_for_user' => ':attribute 已存在。', - 'before' => ':attribute 必須是一個在 :date 之前的日期。', - 'unique_object_for_user' => '這個名稱已被使用。', - 'unique_account_for_user' => '這個帳號名稱已被使用。', - 'between.numeric' => ':attribute 必須在 :min 和 :max 之間。', - 'between.file' => ':attribute 必須在 :min kB到 :max kB之間。', - 'between.string' => ':attribute 包含的字符數量必須在 :min 到 :max 之間。', - 'between.array' => ':attribute 的數目必須在 :min 到 :max 之間。', - 'boolean' => ':attribute 必須為 true 或 false。', - 'confirmed' => ':attribute 的屬性不相符', - 'date' => ':attribute 不是有效的日期。', - 'date_format' => ':attribute 不符合格式 :format 。', - 'different' => ':attribute 和 :other 不能相同。', - 'digits' => ':attribute 必須是 :digits 位數字。', - 'digits_between' => ':attribute 必須在 :min 位和 :max 位數字之間。', - 'email' => ':attribute 必須是一個有效的電子郵件地址。', - 'filled' => ':attribute 欄位是必填的。', - 'exists' => '所選的 :attribute 無效。', - 'image' => ':attribute 必須是圖片。', - 'in' => '所選的 :attribute 無效。', - 'integer' => ':attribute 必須是整數。', - 'ip' => ':attribute 必須是一個有效的 IP 地址。', - 'json' => ':attribute 必須是一個有效的 JSON 字符串。', - 'max.numeric' => ':attribute 不能大於 :max。', - 'max.file' => ':attribute 不能大於 :max kB。', - 'max.string' => ':attribute 不能大於 :max 字元。', - 'max.array' => ':attribute 的數量不能超過 :max 個。', - 'mimes' => ':attribute 的文件類型必須是 :values 。', - 'min.numeric' => ':attribute 至少需要 :min。', - 'min.file' => ':attribute 大小至少為 :min KB。', - 'min.string' => ':attribute 最少需要有 :min 個字符。', - 'min.array' => ':attribute 至少需要有 :min 項。', - 'not_in' => '所選的 :attribute 無效。', - 'numeric' => ':attribute 必須是數字。', - 'regex' => ':attribute 格式無效。', - 'required' => ':attribute 欄位是必填的。', - 'required_if' => ':attribute 欄位在 :other 是 :value 時是必填的。', - 'required_unless' => '除非 :other 是 :value ,否則 :attribute 是必填的。', - 'required_with' => '當 :values​​ 存在時, :attribute 是必填的。', - 'required_with_all' => '當 :values​​ 存在時, :attribute 是必填的。', - 'required_without' => '當 :values​​ 不存在時, :attribute 是必填的。', - 'required_without_all' => '當沒有任何 :values​​ 存在時, :attribute 為必填項。', - 'same' => ':attribute 和 :other 必須匹配。', - 'size.numeric' => ':attribute 必須是 :size 位。', - 'size.file' => ':attribute 必須為 :size KB。', - 'size.string' => ':attribute 必須包含 :size 個字符。', - 'size.array' => ':attribute 必須包含 :size 個項目。', - 'unique' => ':attribute 已經存在。', - 'string' => ':attribute 必須是一個字符串。', - 'url' => ':attribute 格式無效。', - 'timezone' => ':attribute 必須是有效的區域。', - '2fa_code' => ':attribute 格式無效。', - 'dimensions' => 'The :attribute has invalid image dimensions.', - 'distinct' => 'The :attribute field has a duplicate value.', - 'file' => 'The :attribute must be a file.', - 'in_array' => 'The :attribute field does not exist in :other.', - 'present' => 'The :attribute field must be present.', - 'amount_zero' => 'The total amount cannot be zero', - 'secure_password' => 'This is not a secure password. Please try again. For more information, visit https://goo.gl/NCh2tN', -]; \ No newline at end of file diff --git a/tests/CreatesApplication.php b/tests/CreatesApplication.php index 547152f6a9..f98c920838 100644 --- a/tests/CreatesApplication.php +++ b/tests/CreatesApplication.php @@ -1,4 +1,6 @@ Date: Thu, 14 Sep 2017 17:42:35 +0200 Subject: [PATCH 119/349] New translations list.php (Russian) --- resources/lang/ru_RU/list.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/ru_RU/list.php b/resources/lang/ru_RU/list.php index d4cc569d3e..69095af44f 100644 --- a/resources/lang/ru_RU/list.php +++ b/resources/lang/ru_RU/list.php @@ -82,4 +82,6 @@ return [ 'inward' => 'Inward description', 'outward' => 'Outward description', 'number_of_transactions' => 'Number of transactions', + 'total_amount' => 'Total amount', + ]; From e196ff7281067b5ad7f2e156add1a1161be7ebfe Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:42:38 +0200 Subject: [PATCH 120/349] New translations list.php (Spanish) --- resources/lang/es_ES/list.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/es_ES/list.php b/resources/lang/es_ES/list.php index 2298a800b4..30812efe1c 100644 --- a/resources/lang/es_ES/list.php +++ b/resources/lang/es_ES/list.php @@ -82,4 +82,6 @@ return [ 'inward' => 'Descripción interna', 'outward' => 'Descripción externa', 'number_of_transactions' => 'Número de transacciones', + 'total_amount' => 'Total amount', + ]; From 96b2184d27f626e3ffd6d2cf8a590227b8d767ef Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:42:39 +0200 Subject: [PATCH 121/349] New translations list.php (Slovenian) --- resources/lang/sl_SI/list.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/sl_SI/list.php b/resources/lang/sl_SI/list.php index 873926640b..f80a7ad393 100644 --- a/resources/lang/sl_SI/list.php +++ b/resources/lang/sl_SI/list.php @@ -82,4 +82,6 @@ return [ 'inward' => 'Inward description', 'outward' => 'Outward description', 'number_of_transactions' => 'Number of transactions', + 'total_amount' => 'Total amount', + ]; From f4ac589eabaf087192bb0fa94f6e6c3bce1306b0 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:42:48 +0200 Subject: [PATCH 122/349] New translations list.php (Dutch) --- resources/lang/nl_NL/list.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/nl_NL/list.php b/resources/lang/nl_NL/list.php index 4084a9ecf0..772475535a 100644 --- a/resources/lang/nl_NL/list.php +++ b/resources/lang/nl_NL/list.php @@ -82,4 +82,6 @@ return [ 'inward' => 'Binnenwaartse beschrijving', 'outward' => 'Buitenwaartse beschrijving', 'number_of_transactions' => 'Aantal transacties', + 'total_amount' => 'Total amount', + ]; From 64194da2f2464947686d6dc55c6d3da802a5796c Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:42:49 +0200 Subject: [PATCH 123/349] New translations list.php (Portuguese, Brazilian) --- resources/lang/pt_BR/list.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/pt_BR/list.php b/resources/lang/pt_BR/list.php index 64404bc46f..c96c6ba0be 100644 --- a/resources/lang/pt_BR/list.php +++ b/resources/lang/pt_BR/list.php @@ -82,4 +82,6 @@ return [ 'inward' => 'Inward description', 'outward' => 'Outward description', 'number_of_transactions' => 'Number of transactions', + 'total_amount' => 'Total amount', + ]; From d0f1509a9e3bfc9845420ea36150e882055f9b06 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:42:50 +0200 Subject: [PATCH 124/349] New translations list.php (Polish) --- resources/lang/pl_PL/list.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/pl_PL/list.php b/resources/lang/pl_PL/list.php index 647697e6f9..c3468c07d3 100644 --- a/resources/lang/pl_PL/list.php +++ b/resources/lang/pl_PL/list.php @@ -82,4 +82,6 @@ return [ 'inward' => 'Inward description', 'outward' => 'Outward description', 'number_of_transactions' => 'Liczba transakcji', + 'total_amount' => 'Total amount', + ]; From a626f71b9f37dc2a8098e1122dc647c6ee55714c Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:42:52 +0200 Subject: [PATCH 125/349] New translations list.php (German) --- resources/lang/de_DE/list.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/de_DE/list.php b/resources/lang/de_DE/list.php index a88dec7a08..d907a9c832 100644 --- a/resources/lang/de_DE/list.php +++ b/resources/lang/de_DE/list.php @@ -82,4 +82,6 @@ return [ 'inward' => 'Inward description', 'outward' => 'Outward description', 'number_of_transactions' => 'Anzahl der Zahlungsvorgänge', + 'total_amount' => 'Total amount', + ]; From ca861e2a5d467372f64d93cd4a669e8229c43178 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:42:53 +0200 Subject: [PATCH 126/349] New translations list.php (French) --- resources/lang/fr_FR/list.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/fr_FR/list.php b/resources/lang/fr_FR/list.php index ea5e26188f..b33f9e8c76 100644 --- a/resources/lang/fr_FR/list.php +++ b/resources/lang/fr_FR/list.php @@ -82,4 +82,6 @@ return [ 'inward' => 'Description vers l’intérieur', 'outward' => 'Description de l’extérieur', 'number_of_transactions' => 'Nombre de transactions', + 'total_amount' => 'Total amount', + ]; From fc67c9a47688161215623502fdc427babd536ec2 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:45:43 +0200 Subject: [PATCH 127/349] Add missing translation for #843 --- resources/lang/en_US/firefly.php | 2 ++ resources/views/partials/menu-sidebar.twig | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index d083d2045c..bdb8e8657c 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -153,6 +153,7 @@ return [ // export data: 'import_and_export' => 'Import and export', 'export_data' => 'Export data', + 'export_and_backup_data' => 'Export and backup', 'export_data_intro' => 'For backup purposes, when migrating to another system or when migrating to another Firefly III installation.', 'export_format' => 'Export format', 'export_format_csv' => 'Comma separated values (CSV file)', @@ -326,6 +327,7 @@ return [ 'location' => 'Location', 'without_date' => 'Without date', 'result' => 'Result', + 'total_result' => 'Total result', // preferences 'pref_home_screen_accounts' => 'Home screen accounts', diff --git a/resources/views/partials/menu-sidebar.twig b/resources/views/partials/menu-sidebar.twig index f35d8770f0..b73ae95836 100644 --- a/resources/views/partials/menu-sidebar.twig +++ b/resources/views/partials/menu-sidebar.twig @@ -129,7 +129,7 @@ {{ 'import_data'|_ }}
  • - {{ 'export_data'|_ }} + {{ 'export_and_backup_data'|_ }}
  • From 48bd80d4c49090c8156977e4b658b02ad73c28c5 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:50:28 +0200 Subject: [PATCH 128/349] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index cea75b6f65..6d56d67943 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -153,6 +153,7 @@ return [ // export data: 'import_and_export' => 'Импорт и экспорт', 'export_data' => 'Экспорт данных', + 'export_and_backup_data' => 'Export and backup', 'export_data_intro' => 'For backup purposes, when migrating to another system or when migrating to another Firefly III installation.', 'export_format' => 'Формат для экспорта', 'export_format_csv' => 'Comma separated values (CSV file)', @@ -326,6 +327,7 @@ return [ 'location' => 'Location', 'without_date' => 'Without date', 'result' => 'Result', + 'total_result' => 'Total result', // preferences 'pref_home_screen_accounts' => 'Счета, отображаемые в сводке', From b43e197dde66120f343477a1d57e958384c2c185 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:50:44 +0200 Subject: [PATCH 129/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index 34ea2effa0..4224c4e9b6 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -153,6 +153,7 @@ return [ // export data: 'import_and_export' => 'Import en export', 'export_data' => 'Exporteren', + 'export_and_backup_data' => 'Export and backup', 'export_data_intro' => 'Om te backuppen, of wanneer je naar een ander systeem verhuist.', 'export_format' => 'Exporteerformaat', 'export_format_csv' => 'Komma-gescheiden bestand (CSV)', @@ -326,6 +327,7 @@ return [ 'location' => 'Plaats', 'without_date' => 'Zonder datum', 'result' => 'Resultaat', + 'total_result' => 'Total result', // preferences 'pref_home_screen_accounts' => 'Voorpaginarekeningen', From 7ecf5804bc11be934e2a0e6ed671a3a8aac63917 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:50:48 +0200 Subject: [PATCH 130/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 1f3e85f60c..ccec87296e 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -153,6 +153,7 @@ return [ // export data: 'import_and_export' => 'Importer et Exporter', 'export_data' => 'Exporter les données', + 'export_and_backup_data' => 'Export and backup', 'export_data_intro' => 'À des fins de sauvegarde, lors de la migration vers un autre système ou lors de la migration sur une autre installation de Firefly III.', 'export_format' => 'Format d\'export', 'export_format_csv' => 'Valeurs séparées par des virgules (fichier CSV)', @@ -326,6 +327,7 @@ return [ 'location' => 'Emplacement', 'without_date' => 'Sans date', 'result' => 'Résultat', + 'total_result' => 'Total result', // preferences 'pref_home_screen_accounts' => 'Comptes de l’écran d’accueil', From c16bcf7b5711932940b31c15fb397f0b7a1e3bf6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:50:51 +0200 Subject: [PATCH 131/349] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index f0f70124f2..0fc6a73780 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -153,6 +153,7 @@ return [ // export data: 'import_and_export' => 'Import und Export', 'export_data' => 'Daten exportieren', + 'export_and_backup_data' => 'Export and backup', 'export_data_intro' => 'Zum Backup, zum Migrieren auf ein anderes System oder zum Migrieren in eine andere Firefly III Installation.', 'export_format' => 'Export-Format', 'export_format_csv' => 'Durch Komma getrennte Werte (CSV-Datei)', @@ -326,6 +327,7 @@ return [ 'location' => 'Standort', 'without_date' => 'Ohne Datum', 'result' => 'Ergebnis', + 'total_result' => 'Total result', // preferences 'pref_home_screen_accounts' => 'Konten auf dem Startbildschirm', From ad2c6390a6e13a6da9da6551ac8682a4343cac2f Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:50:56 +0200 Subject: [PATCH 132/349] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index a1b5d462d5..4af0b95455 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -153,6 +153,7 @@ return [ // export data: 'import_and_export' => 'Importar y exportar', 'export_data' => 'Exportar datos', + 'export_and_backup_data' => 'Export and backup', 'export_data_intro' => 'For backup purposes, when migrating to another system or when migrating to another Firefly III installation.', 'export_format' => 'Formato de exportación', 'export_format_csv' => 'Comma separated values (CSV file)', @@ -326,6 +327,7 @@ return [ 'location' => 'Location', 'without_date' => 'Without date', 'result' => 'Result', + 'total_result' => 'Total result', // preferences 'pref_home_screen_accounts' => 'Cuentas de la pantalla de inicio', From 1d1b3afab586e0db3716d75a3c1f72c7916fd716 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:50:59 +0200 Subject: [PATCH 133/349] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index 407bf873ae..3282087d30 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -153,6 +153,7 @@ return [ // export data: 'import_and_export' => 'Import and export', 'export_data' => 'Export data', + 'export_and_backup_data' => 'Export and backup', 'export_data_intro' => 'For backup purposes, when migrating to another system or when migrating to another Firefly III installation.', 'export_format' => 'Export format', 'export_format_csv' => 'Comma separated values (CSV file)', @@ -326,6 +327,7 @@ return [ 'location' => 'Location', 'without_date' => 'Without date', 'result' => 'Result', + 'total_result' => 'Total result', // preferences 'pref_home_screen_accounts' => 'Home screen accounts', From acac5f8ea2c0aa6c0b50a575ae616a3a7223ed6e Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:51:02 +0200 Subject: [PATCH 134/349] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index 5ec72b60fc..3bb731e7f3 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -153,6 +153,7 @@ return [ // export data: 'import_and_export' => 'Importar / Exportar', 'export_data' => 'Exportar dados', + 'export_and_backup_data' => 'Export and backup', 'export_data_intro' => 'Para fins de backup, ao migrar para outro sistema ou ao migrar para outra instalação de Firefly III.', 'export_format' => 'Formato de exportação', 'export_format_csv' => 'Valores separados por vírgula (arquivo CSV)', @@ -326,6 +327,7 @@ return [ 'location' => 'Localização', 'without_date' => 'Without date', 'result' => 'Result', + 'total_result' => 'Total result', // preferences 'pref_home_screen_accounts' => 'Conta da tela inicial', From 3d27f22d2e57c27f2ca015d2c3eb4dbabca172ee Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 17:51:05 +0200 Subject: [PATCH 135/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index f5c64c201f..b79b2b003f 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -153,6 +153,7 @@ return [ // export data: 'import_and_export' => 'Import / eksport', 'export_data' => 'Eksportuj dane', + 'export_and_backup_data' => 'Export and backup', 'export_data_intro' => 'For backup purposes, when migrating to another system or when migrating to another Firefly III installation.', 'export_format' => 'Format eksportu', 'export_format_csv' => 'Wartości oddzielone przecinkami (plik CSV)', @@ -326,6 +327,7 @@ return [ 'location' => 'Lokalizacja', 'without_date' => 'Bez daty', 'result' => 'Wynik', + 'total_result' => 'Total result', // preferences 'pref_home_screen_accounts' => 'Konta na stronie domowej', From 6badf101d72ff20aa7d03622402bc89e059d71bd Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Sep 2017 18:03:39 +0200 Subject: [PATCH 136/349] Small cosmetic changes to export routine. --- app/Http/Controllers/ExportController.php | 2 +- public/js/ff/export/index.js | 18 +++++++----------- resources/views/export/index.twig | 5 +---- 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/app/Http/Controllers/ExportController.php b/app/Http/Controllers/ExportController.php index 5cdd3bed06..c60452c653 100644 --- a/app/Http/Controllers/ExportController.php +++ b/app/Http/Controllers/ExportController.php @@ -46,7 +46,7 @@ class ExportController extends Controller $this->middleware( function ($request, $next) { View::share('mainTitleIcon', 'fa-file-archive-o'); - View::share('title', trans('firefly.export_data')); + View::share('title', trans('firefly.export_and_backup_data')); return $next($request); } diff --git a/public/js/ff/export/index.js b/public/js/ff/export/index.js index 4dd745a078..4cb60463a2 100644 --- a/public/js/ff/export/index.js +++ b/public/js/ff/export/index.js @@ -58,7 +58,8 @@ function hideForm() { function showForm() { "use strict"; $('#form-body').show(); - $('#do-export-button').show(); + $('#do-export-button').show().prop('disabled', false); + // enable button again: } function showLoading() { @@ -88,7 +89,7 @@ function callExport() { // call status, keep calling it until response is "finished"? intervalId = window.setInterval(checkStatus, 500); - $.post('export/submit', data).done(function () { + $.post('export/submit', data, null, 'json').done(function () { // stop polling: window.clearTimeout(intervalId); @@ -103,18 +104,13 @@ function callExport() { // show download showDownload(); - }).fail(function (data) { + }).fail(function (jqXHR, textStatus, errorThrown) { // show error. // show form again. - + var response = jqXHR.responseJSON; var errorText = 'The export failed. Please check the log files to find out why.'; - if (typeof data.responseJSON === 'object') { - errorText = ''; - for (var propt in data.responseJSON) { - if (data.responseJSON.hasOwnProperty(propt)) { - errorText += propt + ': ' + data.responseJSON[propt][0]; - } - } + if (typeof response === 'object') { + errorText =response.message; } showError(errorText); diff --git a/resources/views/export/index.twig b/resources/views/export/index.twig index 16df684ab0..b857b84b4d 100644 --- a/resources/views/export/index.twig +++ b/resources/views/export/index.twig @@ -5,9 +5,6 @@ {% endblock %} {% block content %} - - -
    @@ -17,7 +14,7 @@
    -

    {{ 'export_data'|_ }}

    +

    {{ 'export_and_backup_data'|_ }}

    {# OPTIONAL REVENUE ACCOUNTS #} - {% if showDepositsFrontpage %} + {% if showDeps %}

    {{ 'revenue_accounts'|_ }}

    diff --git a/resources/views/preferences/index.twig b/resources/views/preferences/index.twig index e2ade7cc6d..f04a9669e3 100644 --- a/resources/views/preferences/index.twig +++ b/resources/views/preferences/index.twig @@ -128,7 +128,7 @@
    -
    - - {% if tag.description %} -

    - {{ tag.description }} -

    - {% endif %} - - {% if tag.date %} -

    {{ 'date'|_ }}: {{ tag.date.formatLocalized(monthAndDayFormat) }}

    - {% endif %} - {% if moment == 'all' %} -

    - {{ 'total_sum'|_ }}: {{ sum|formatAmount }}
    - {{ 'total_result'|_ }}: {{ result|formatAmount }}
    -

    - {% else %} -

    - {{ 'sum'|_ }}: {{ sum|formatAmount }}
    - {{ 'result'|_ }}: {{ result|formatAmount }}
    -

    - {% endif %} -
    - - {{ trans('firefly.edit_tag',{tag: tag.tag}) }} - {{ trans('firefly.delete_tag',{tag: tag.tag}) }} +
    + + {% if tag.description %} + + + + + {% endif %} + {% if tag.date %} + + + + + {% endif %} + + + + + + + + + + + + + + + + + + + + +
    + {{ trans('list.description') }} + {{ tag.description }}
    + {{ trans('list.date') }} + + {{ tag.date.formatLocalized(monthAndDayFormat) }} +
    {{ trans('list.sum') }} {{ (sums.Withdrawal + sums.Transfer + sums.Deposit)|formatAmount }}
    {{ trans('list.sum_excluding_transfers') }} {{ (sums.Withdrawal + sums.Deposit)|formatAmount }}
    {{ trans('list.sum_withdrawals') }} {{ sums.Withdrawal|formatAmount }}
    {{ trans('list.sum_deposits') }} {{ sums.Deposit|formatAmount }}
    {{ trans('list.sum_transfers') }} {{ sums.Transfer|formatAmount }}
    +
    +
    From a475c99987a98f34ba36f6d7ddd2a61162d5810f Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:21 +0200 Subject: [PATCH 188/349] New translations list.php (Russian) --- resources/lang/ru_RU/list.php | 148 +++++++++++++++++----------------- 1 file changed, 76 insertions(+), 72 deletions(-) diff --git a/resources/lang/ru_RU/list.php b/resources/lang/ru_RU/list.php index 69095af44f..424e6304ea 100644 --- a/resources/lang/ru_RU/list.php +++ b/resources/lang/ru_RU/list.php @@ -12,76 +12,80 @@ declare(strict_types=1); */ return [ - 'buttons' => 'Кнопки', - 'icon' => 'Значок', - 'id' => 'ID', - 'create_date' => 'Создан', - 'update_date' => 'Обновлён', - 'balance_before' => 'Баланс до', - 'balance_after' => 'Баланс после', - 'name' => 'Имя', - 'role' => 'Роль', - 'currentBalance' => 'Текущий баланс', - 'active' => 'Активен?', - 'lastActivity' => 'Последняя активность', - 'balanceDiff' => 'Разница баланса между :start и :end', - 'matchesOn' => 'Matched on', - 'account_type' => 'Тип профиля', - 'created_at' => 'Created at', - 'account' => 'Account', - 'matchingAmount' => 'Amount', - 'split_number' => 'Split #', - 'destination' => 'Destination', - 'source' => 'Source', - 'next_expected_match' => 'Next expected match', - 'automatch' => 'Auto match?', - 'repeat_freq' => 'Repeats', - 'description' => 'Описание', - 'amount' => 'Сумма', - 'internal_reference' => 'Internal reference', - 'date' => 'Дата', - 'interest_date' => 'Interest date', - 'book_date' => 'Book date', - 'process_date' => 'Processing date', - 'due_date' => 'Due date', - 'payment_date' => 'Payment date', - 'invoice_date' => 'Invoice date', - 'interal_reference' => 'Internal reference', - 'notes' => 'Заметки', - 'from' => 'Откуда', - 'piggy_bank' => 'Копилка', - 'to' => 'Куда', - 'budget' => 'Бюджет', - 'category' => 'Категория', - 'bill' => 'Счет к оплате', - 'withdrawal' => 'Расход', - 'deposit' => 'Доход', - 'transfer' => 'Перевод', - 'type' => 'Type', - 'completed' => 'Completed', - 'iban' => 'IBAN', - 'paid_current_period' => 'Paid this period', - 'email' => 'E-mail', - 'registered_at' => 'Дата регистрации', - 'is_blocked' => 'Заблокирован?', - 'is_admin' => 'Администратор?', - 'has_two_factor' => 'Защита (2FA)?', - 'blocked_code' => 'Block code', - 'source_account' => 'Source account', - 'destination_account' => 'Destination account', - 'accounts_count' => 'Всего счетов', - 'journals_count' => 'Всего транзакций', - 'attachments_count' => 'Всего вложений', - 'bills_count' => 'Всего счетов к оплате', - 'categories_count' => 'Всего категорий', - 'export_jobs_count' => 'Задачи по экспорту', - 'import_jobs_count' => 'Задачи по импорту', - 'budget_count' => 'Всего категорий бюджета', - 'rule_and_groups_count' => 'Всего правил и групп правил', - 'tags_count' => 'Всего меток', - 'inward' => 'Inward description', - 'outward' => 'Outward description', - 'number_of_transactions' => 'Number of transactions', - 'total_amount' => 'Total amount', - + 'buttons' => 'Кнопки', + 'icon' => 'Значок', + 'id' => 'ID', + 'create_date' => 'Создан', + 'update_date' => 'Обновлён', + 'balance_before' => 'Баланс до', + 'balance_after' => 'Баланс после', + 'name' => 'Имя', + 'role' => 'Роль', + 'currentBalance' => 'Текущий баланс', + 'active' => 'Активен?', + 'lastActivity' => 'Последняя активность', + 'balanceDiff' => 'Разница баланса между :start и :end', + 'matchesOn' => 'Matched on', + 'account_type' => 'Тип профиля', + 'created_at' => 'Created at', + 'account' => 'Account', + 'matchingAmount' => 'Amount', + 'split_number' => 'Split #', + 'destination' => 'Destination', + 'source' => 'Source', + 'next_expected_match' => 'Next expected match', + 'automatch' => 'Auto match?', + 'repeat_freq' => 'Repeats', + 'description' => 'Описание', + 'amount' => 'Сумма', + 'internal_reference' => 'Internal reference', + 'date' => 'Дата', + 'interest_date' => 'Interest date', + 'book_date' => 'Book date', + 'process_date' => 'Processing date', + 'due_date' => 'Due date', + 'payment_date' => 'Payment date', + 'invoice_date' => 'Invoice date', + 'interal_reference' => 'Internal reference', + 'notes' => 'Заметки', + 'from' => 'Откуда', + 'piggy_bank' => 'Копилка', + 'to' => 'Куда', + 'budget' => 'Бюджет', + 'category' => 'Категория', + 'bill' => 'Счет к оплате', + 'withdrawal' => 'Расход', + 'deposit' => 'Доход', + 'transfer' => 'Перевод', + 'type' => 'Type', + 'completed' => 'Completed', + 'iban' => 'IBAN', + 'paid_current_period' => 'Paid this period', + 'email' => 'E-mail', + 'registered_at' => 'Дата регистрации', + 'is_blocked' => 'Заблокирован?', + 'is_admin' => 'Администратор?', + 'has_two_factor' => 'Защита (2FA)?', + 'blocked_code' => 'Block code', + 'source_account' => 'Source account', + 'destination_account' => 'Destination account', + 'accounts_count' => 'Всего счетов', + 'journals_count' => 'Всего транзакций', + 'attachments_count' => 'Всего вложений', + 'bills_count' => 'Всего счетов к оплате', + 'categories_count' => 'Всего категорий', + 'export_jobs_count' => 'Задачи по экспорту', + 'import_jobs_count' => 'Задачи по импорту', + 'budget_count' => 'Всего категорий бюджета', + 'rule_and_groups_count' => 'Всего правил и групп правил', + 'tags_count' => 'Всего меток', + 'inward' => 'Inward description', + 'outward' => 'Outward description', + 'number_of_transactions' => 'Number of transactions', + 'total_amount' => 'Total amount', + 'sum' => 'Sum', + 'sum_excluding_transfers' => 'Sum (excluding transfers)', + 'sum_withdrawals' => 'Sum of withdrawals', + 'sum_deposits' => 'Sum of deposits', + 'sum_transfers' => 'Sum of transfers', ]; From 42898846c6752e729189cadf2ade827d29d2bc11 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:24 +0200 Subject: [PATCH 189/349] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index ecddda706e..17341087d6 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -329,6 +329,7 @@ return [ 'without_date' => 'Without date', 'result' => 'Result', 'total_result' => 'Total result', + 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences 'pref_home_screen_accounts' => 'Счета, отображаемые в сводке', From fde2dd1c921a67b3023de76846f02ce222e81f18 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:25 +0200 Subject: [PATCH 190/349] New translations list.php (Spanish) --- resources/lang/es_ES/list.php | 148 +++++++++++++++++----------------- 1 file changed, 76 insertions(+), 72 deletions(-) diff --git a/resources/lang/es_ES/list.php b/resources/lang/es_ES/list.php index 30812efe1c..c94e804c7b 100644 --- a/resources/lang/es_ES/list.php +++ b/resources/lang/es_ES/list.php @@ -12,76 +12,80 @@ declare(strict_types=1); */ return [ - 'buttons' => 'Botones', - 'icon' => 'Icono', - 'id' => 'ID', - 'create_date' => 'Fecha de creación', - 'update_date' => 'Fecha de modificación', - 'balance_before' => 'Balance antes de ', - 'balance_after' => 'Balance después de la', - 'name' => 'Nombre', - 'role' => 'Rol', - 'currentBalance' => 'Balance actual', - 'active' => '¿Está Activo?', - 'lastActivity' => 'Actividad más reciente', - 'balanceDiff' => 'Diferencia de saldo entre :start y :end', - 'matchesOn' => 'Encontrado en', - 'account_type' => 'Tipo de cuenta', - 'created_at' => 'Fecha de creación', - 'account' => 'Cuenta', - 'matchingAmount' => 'Monto', - 'split_number' => 'División #', - 'destination' => 'Destino', - 'source' => 'Origen', - 'next_expected_match' => 'Próxima coincidencia esperada', - 'automatch' => '¿Buscar coincidencia automaticamente?', - 'repeat_freq' => 'Repetición:', - 'description' => 'Descripción', - 'amount' => 'Monto', - 'internal_reference' => 'Referencia interna', - 'date' => 'Fecha', - 'interest_date' => 'Tasa de interés', - 'book_date' => 'Libro fecha', - 'process_date' => 'Fecha de procesamiento', - 'due_date' => 'Fecha de vencimiento', - 'payment_date' => 'Fecha de pago', - 'invoice_date' => 'Fecha de facturación', - 'interal_reference' => 'Referencia interna', - 'notes' => 'Notas', - 'from' => 'Desde', - 'piggy_bank' => 'Alcancilla', - 'to' => 'Hasta', - 'budget' => 'Presupuesto', - 'category' => 'Categoría', - 'bill' => 'Factura', - 'withdrawal' => 'Retiro', - 'deposit' => 'Depósito', - 'transfer' => 'Trasferencia', - 'type' => 'Tipo', - 'completed' => 'Completado', - 'iban' => 'IBAN', - 'paid_current_period' => 'Pagado este período', - 'email' => 'Email', - 'registered_at' => 'Registrado el', - 'is_blocked' => 'Está bloqueado', - 'is_admin' => '¿Es el administrador?', - 'has_two_factor' => 'Tiene 2FA', - 'blocked_code' => 'Bloque de código', - 'source_account' => 'Cuenta origen', - 'destination_account' => 'Cuenta destino', - 'accounts_count' => 'Número de cuentas', - 'journals_count' => 'Número de transacciones', - 'attachments_count' => 'Núm. de datos adjuntos', - 'bills_count' => 'Número de facturas', - 'categories_count' => 'Número de categorías', - 'export_jobs_count' => 'Número de operaciones de exportación', - 'import_jobs_count' => 'Número de operaciones de importación', - 'budget_count' => 'Número de presupuestos', - 'rule_and_groups_count' => 'Número de reglas y grupos de reglas', - 'tags_count' => 'Número de etiquetas', - 'inward' => 'Descripción interna', - 'outward' => 'Descripción externa', - 'number_of_transactions' => 'Número de transacciones', - 'total_amount' => 'Total amount', - + 'buttons' => 'Botones', + 'icon' => 'Icono', + 'id' => 'ID', + 'create_date' => 'Fecha de creación', + 'update_date' => 'Fecha de modificación', + 'balance_before' => 'Balance antes de ', + 'balance_after' => 'Balance después de la', + 'name' => 'Nombre', + 'role' => 'Rol', + 'currentBalance' => 'Balance actual', + 'active' => '¿Está Activo?', + 'lastActivity' => 'Actividad más reciente', + 'balanceDiff' => 'Diferencia de saldo entre :start y :end', + 'matchesOn' => 'Encontrado en', + 'account_type' => 'Tipo de cuenta', + 'created_at' => 'Fecha de creación', + 'account' => 'Cuenta', + 'matchingAmount' => 'Monto', + 'split_number' => 'División #', + 'destination' => 'Destino', + 'source' => 'Origen', + 'next_expected_match' => 'Próxima coincidencia esperada', + 'automatch' => '¿Buscar coincidencia automaticamente?', + 'repeat_freq' => 'Repetición:', + 'description' => 'Descripción', + 'amount' => 'Monto', + 'internal_reference' => 'Referencia interna', + 'date' => 'Fecha', + 'interest_date' => 'Tasa de interés', + 'book_date' => 'Libro fecha', + 'process_date' => 'Fecha de procesamiento', + 'due_date' => 'Fecha de vencimiento', + 'payment_date' => 'Fecha de pago', + 'invoice_date' => 'Fecha de facturación', + 'interal_reference' => 'Referencia interna', + 'notes' => 'Notas', + 'from' => 'Desde', + 'piggy_bank' => 'Alcancilla', + 'to' => 'Hasta', + 'budget' => 'Presupuesto', + 'category' => 'Categoría', + 'bill' => 'Factura', + 'withdrawal' => 'Retiro', + 'deposit' => 'Depósito', + 'transfer' => 'Trasferencia', + 'type' => 'Tipo', + 'completed' => 'Completado', + 'iban' => 'IBAN', + 'paid_current_period' => 'Pagado este período', + 'email' => 'Email', + 'registered_at' => 'Registrado el', + 'is_blocked' => 'Está bloqueado', + 'is_admin' => '¿Es el administrador?', + 'has_two_factor' => 'Tiene 2FA', + 'blocked_code' => 'Bloque de código', + 'source_account' => 'Cuenta origen', + 'destination_account' => 'Cuenta destino', + 'accounts_count' => 'Número de cuentas', + 'journals_count' => 'Número de transacciones', + 'attachments_count' => 'Núm. de datos adjuntos', + 'bills_count' => 'Número de facturas', + 'categories_count' => 'Número de categorías', + 'export_jobs_count' => 'Número de operaciones de exportación', + 'import_jobs_count' => 'Número de operaciones de importación', + 'budget_count' => 'Número de presupuestos', + 'rule_and_groups_count' => 'Número de reglas y grupos de reglas', + 'tags_count' => 'Número de etiquetas', + 'inward' => 'Descripción interna', + 'outward' => 'Descripción externa', + 'number_of_transactions' => 'Número de transacciones', + 'total_amount' => 'Total amount', + 'sum' => 'Sum', + 'sum_excluding_transfers' => 'Sum (excluding transfers)', + 'sum_withdrawals' => 'Sum of withdrawals', + 'sum_deposits' => 'Sum of deposits', + 'sum_transfers' => 'Sum of transfers', ]; From 388c886552755fc47ecba223ee3391f5f4b7ac8e Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:26 +0200 Subject: [PATCH 191/349] New translations list.php (Slovenian) --- resources/lang/sl_SI/list.php | 148 +++++++++++++++++----------------- 1 file changed, 76 insertions(+), 72 deletions(-) diff --git a/resources/lang/sl_SI/list.php b/resources/lang/sl_SI/list.php index f80a7ad393..2b5db98f9b 100644 --- a/resources/lang/sl_SI/list.php +++ b/resources/lang/sl_SI/list.php @@ -12,76 +12,80 @@ declare(strict_types=1); */ return [ - 'buttons' => 'Gumbi', - 'icon' => 'Ikona', - 'id' => 'ID', - 'create_date' => 'Ustvarjeno', - 'update_date' => 'Posodobljeno', - 'balance_before' => 'Stanje prej', - 'balance_after' => 'Stanje potem', - 'name' => 'ime', - 'role' => 'vloga', - 'currentBalance' => 'trenutno stanje', - 'active' => 'Aktiviran?', - 'lastActivity' => 'zadnja aktivnost', - 'balanceDiff' => 'Razlika stanja med :start in :end', - 'matchesOn' => 'Povezano', - 'account_type' => 'vrsta računa', - 'created_at' => 'ustvarjeno', - 'account' => 'račun', - 'matchingAmount' => 'znesek', - 'split_number' => 'Delitev #', - 'destination' => 'Ciljni račun', - 'source' => 'Izvor', - 'next_expected_match' => 'Naslenje pričakovano ujemanje', - 'automatch' => 'Samodejno poveži?', - 'repeat_freq' => 'Ponovitev', - 'description' => 'Opis', - 'amount' => 'Znesek', - 'internal_reference' => 'Notranji sklic', - 'date' => 'datum', - 'interest_date' => 'datum obresti', - 'book_date' => 'datum knjiženja', - 'process_date' => 'datum izvedbe', - 'due_date' => 'rok plačila', - 'payment_date' => 'Datum plačila', - 'invoice_date' => 'datum računa', - 'interal_reference' => 'Notranji sklic', - 'notes' => 'Zabeležke', - 'from' => 'Pošiljatelj', - 'piggy_bank' => 'Pujsek', - 'to' => 'Prejemnik', - 'budget' => 'Budžet', - 'category' => 'Kategorija', - 'bill' => 'Trajnik', - 'withdrawal' => 'Odhodek', - 'deposit' => 'Prihodek', - 'transfer' => 'Prenos', - 'type' => 'Vrsta', - 'completed' => 'Dokončano', - 'iban' => 'IBAN', - 'paid_current_period' => 'Plačano v tem obdobju', - 'email' => 'E-pošta', - 'registered_at' => 'Registriran pri', - 'is_blocked' => 'Je blokiran', - 'is_admin' => 'Je administrator', - 'has_two_factor' => 'Ima dvostopenjsko overovitev', - 'blocked_code' => 'Koda vzroka blokade', - 'source_account' => 'Izvorni račun', - 'destination_account' => 'Ciljni račun', - 'accounts_count' => 'Število računov', - 'journals_count' => 'Število transakcij', - 'attachments_count' => 'Število prilog', - 'bills_count' => 'Število trajnikov', - 'categories_count' => 'Število kategorij', - 'export_jobs_count' => 'Število izvozov', - 'import_jobs_count' => 'Število uvozov', - 'budget_count' => 'Število budžetov', - 'rule_and_groups_count' => 'Število pravil in skupin pravil', - 'tags_count' => 'Število značk', - 'inward' => 'Inward description', - 'outward' => 'Outward description', - 'number_of_transactions' => 'Number of transactions', - 'total_amount' => 'Total amount', - + 'buttons' => 'Gumbi', + 'icon' => 'Ikona', + 'id' => 'ID', + 'create_date' => 'Ustvarjeno', + 'update_date' => 'Posodobljeno', + 'balance_before' => 'Stanje prej', + 'balance_after' => 'Stanje potem', + 'name' => 'ime', + 'role' => 'vloga', + 'currentBalance' => 'trenutno stanje', + 'active' => 'Aktiviran?', + 'lastActivity' => 'zadnja aktivnost', + 'balanceDiff' => 'Razlika stanja med :start in :end', + 'matchesOn' => 'Povezano', + 'account_type' => 'vrsta računa', + 'created_at' => 'ustvarjeno', + 'account' => 'račun', + 'matchingAmount' => 'znesek', + 'split_number' => 'Delitev #', + 'destination' => 'Ciljni račun', + 'source' => 'Izvor', + 'next_expected_match' => 'Naslenje pričakovano ujemanje', + 'automatch' => 'Samodejno poveži?', + 'repeat_freq' => 'Ponovitev', + 'description' => 'Opis', + 'amount' => 'Znesek', + 'internal_reference' => 'Notranji sklic', + 'date' => 'datum', + 'interest_date' => 'datum obresti', + 'book_date' => 'datum knjiženja', + 'process_date' => 'datum izvedbe', + 'due_date' => 'rok plačila', + 'payment_date' => 'Datum plačila', + 'invoice_date' => 'datum računa', + 'interal_reference' => 'Notranji sklic', + 'notes' => 'Zabeležke', + 'from' => 'Pošiljatelj', + 'piggy_bank' => 'Pujsek', + 'to' => 'Prejemnik', + 'budget' => 'Budžet', + 'category' => 'Kategorija', + 'bill' => 'Trajnik', + 'withdrawal' => 'Odhodek', + 'deposit' => 'Prihodek', + 'transfer' => 'Prenos', + 'type' => 'Vrsta', + 'completed' => 'Dokončano', + 'iban' => 'IBAN', + 'paid_current_period' => 'Plačano v tem obdobju', + 'email' => 'E-pošta', + 'registered_at' => 'Registriran pri', + 'is_blocked' => 'Je blokiran', + 'is_admin' => 'Je administrator', + 'has_two_factor' => 'Ima dvostopenjsko overovitev', + 'blocked_code' => 'Koda vzroka blokade', + 'source_account' => 'Izvorni račun', + 'destination_account' => 'Ciljni račun', + 'accounts_count' => 'Število računov', + 'journals_count' => 'Število transakcij', + 'attachments_count' => 'Število prilog', + 'bills_count' => 'Število trajnikov', + 'categories_count' => 'Število kategorij', + 'export_jobs_count' => 'Število izvozov', + 'import_jobs_count' => 'Število uvozov', + 'budget_count' => 'Število budžetov', + 'rule_and_groups_count' => 'Število pravil in skupin pravil', + 'tags_count' => 'Število značk', + 'inward' => 'Inward description', + 'outward' => 'Outward description', + 'number_of_transactions' => 'Number of transactions', + 'total_amount' => 'Total amount', + 'sum' => 'Sum', + 'sum_excluding_transfers' => 'Sum (excluding transfers)', + 'sum_withdrawals' => 'Sum of withdrawals', + 'sum_deposits' => 'Sum of deposits', + 'sum_transfers' => 'Sum of transfers', ]; From 1d362216075c3767f62511bc2024a38eee73006d Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:34 +0200 Subject: [PATCH 192/349] New translations list.php (Dutch) --- resources/lang/nl_NL/list.php | 148 +++++++++++++++++----------------- 1 file changed, 76 insertions(+), 72 deletions(-) diff --git a/resources/lang/nl_NL/list.php b/resources/lang/nl_NL/list.php index 90c3695b3b..ae54b8e165 100644 --- a/resources/lang/nl_NL/list.php +++ b/resources/lang/nl_NL/list.php @@ -12,76 +12,80 @@ declare(strict_types=1); */ return [ - 'buttons' => 'Knoppen', - 'icon' => 'Icoon', - 'id' => 'ID', - 'create_date' => 'Aangemaakt op', - 'update_date' => 'Bijgewerkt op', - 'balance_before' => 'Saldo voor', - 'balance_after' => 'Saldo na', - 'name' => 'Naam', - 'role' => 'Rol', - 'currentBalance' => 'Huidig saldo', - 'active' => 'Actief?', - 'lastActivity' => 'Laatste activiteit', - 'balanceDiff' => 'Saldoverschil tussen :start en :end', - 'matchesOn' => 'Wordt herkend', - 'account_type' => 'Accounttype', - 'created_at' => 'Gemaakt op', - 'account' => 'Rekening', - 'matchingAmount' => 'Bedrag', - 'split_number' => 'Split #', - 'destination' => 'Doel', - 'source' => 'Bron', - 'next_expected_match' => 'Volgende verwachte match', - 'automatch' => 'Automatisch herkennen?', - 'repeat_freq' => 'Herhaling', - 'description' => 'Omschrijving', - 'amount' => 'Bedrag', - 'internal_reference' => 'Interne referentie', - 'date' => 'Datum', - 'interest_date' => 'Rentedatum', - 'book_date' => 'Boekdatum', - 'process_date' => 'Verwerkingsdatum', - 'due_date' => 'Vervaldatum', - 'payment_date' => 'Betalingsdatum', - 'invoice_date' => 'Factuurdatum', - 'interal_reference' => 'Interne verwijzing', - 'notes' => 'Notities', - 'from' => 'Van', - 'piggy_bank' => 'Spaarpotje', - 'to' => 'Naar', - 'budget' => 'Budget', - 'category' => 'Categorie', - 'bill' => 'Contract', - 'withdrawal' => 'Uitgave', - 'deposit' => 'Inkomsten', - 'transfer' => 'Overschrijving', - 'type' => 'Type', - 'completed' => 'Opgeslagen', - 'iban' => 'IBAN', - 'paid_current_period' => 'Betaald deze periode', - 'email' => 'E-mail', - 'registered_at' => 'Geregistreerd op', - 'is_blocked' => 'Is geblokkeerd', - 'is_admin' => 'Is beheerder', - 'has_two_factor' => 'Heeft 2FA', - 'blocked_code' => 'Reden voor blokkade', - 'source_account' => 'Bronrekening', - 'destination_account' => 'Doelrekening', - 'accounts_count' => 'Aantal rekeningen', - 'journals_count' => 'Aantal transacties', - 'attachments_count' => 'Aantal bijlagen', - 'bills_count' => 'Aantal contracten', - 'categories_count' => 'Aantal categorieën', - 'export_jobs_count' => 'Aantal export-jobs', - 'import_jobs_count' => 'Aantal import-jobs', - 'budget_count' => 'Aantal budgetten', - 'rule_and_groups_count' => 'Aantal regels en regelgroepen', - 'tags_count' => 'Aantal tags', - 'inward' => 'Binnenwaartse beschrijving', - 'outward' => 'Buitenwaartse beschrijving', - 'number_of_transactions' => 'Aantal transacties', - 'total_amount' => 'Totaalbedrag', - + 'buttons' => 'Knoppen', + 'icon' => 'Icoon', + 'id' => 'ID', + 'create_date' => 'Aangemaakt op', + 'update_date' => 'Bijgewerkt op', + 'balance_before' => 'Saldo voor', + 'balance_after' => 'Saldo na', + 'name' => 'Naam', + 'role' => 'Rol', + 'currentBalance' => 'Huidig saldo', + 'active' => 'Actief?', + 'lastActivity' => 'Laatste activiteit', + 'balanceDiff' => 'Saldoverschil tussen :start en :end', + 'matchesOn' => 'Wordt herkend', + 'account_type' => 'Accounttype', + 'created_at' => 'Gemaakt op', + 'account' => 'Rekening', + 'matchingAmount' => 'Bedrag', + 'split_number' => 'Split #', + 'destination' => 'Doel', + 'source' => 'Bron', + 'next_expected_match' => 'Volgende verwachte match', + 'automatch' => 'Automatisch herkennen?', + 'repeat_freq' => 'Herhaling', + 'description' => 'Omschrijving', + 'amount' => 'Bedrag', + 'internal_reference' => 'Interne referentie', + 'date' => 'Datum', + 'interest_date' => 'Rentedatum', + 'book_date' => 'Boekdatum', + 'process_date' => 'Verwerkingsdatum', + 'due_date' => 'Vervaldatum', + 'payment_date' => 'Betalingsdatum', + 'invoice_date' => 'Factuurdatum', + 'interal_reference' => 'Interne verwijzing', + 'notes' => 'Notities', + 'from' => 'Van', + 'piggy_bank' => 'Spaarpotje', + 'to' => 'Naar', + 'budget' => 'Budget', + 'category' => 'Categorie', + 'bill' => 'Contract', + 'withdrawal' => 'Uitgave', + 'deposit' => 'Inkomsten', + 'transfer' => 'Overschrijving', + 'type' => 'Type', + 'completed' => 'Opgeslagen', + 'iban' => 'IBAN', + 'paid_current_period' => 'Betaald deze periode', + 'email' => 'E-mail', + 'registered_at' => 'Geregistreerd op', + 'is_blocked' => 'Is geblokkeerd', + 'is_admin' => 'Is beheerder', + 'has_two_factor' => 'Heeft 2FA', + 'blocked_code' => 'Reden voor blokkade', + 'source_account' => 'Bronrekening', + 'destination_account' => 'Doelrekening', + 'accounts_count' => 'Aantal rekeningen', + 'journals_count' => 'Aantal transacties', + 'attachments_count' => 'Aantal bijlagen', + 'bills_count' => 'Aantal contracten', + 'categories_count' => 'Aantal categorieën', + 'export_jobs_count' => 'Aantal export-jobs', + 'import_jobs_count' => 'Aantal import-jobs', + 'budget_count' => 'Aantal budgetten', + 'rule_and_groups_count' => 'Aantal regels en regelgroepen', + 'tags_count' => 'Aantal tags', + 'inward' => 'Binnenwaartse beschrijving', + 'outward' => 'Buitenwaartse beschrijving', + 'number_of_transactions' => 'Aantal transacties', + 'total_amount' => 'Totaalbedrag', + 'sum' => 'Sum', + 'sum_excluding_transfers' => 'Sum (excluding transfers)', + 'sum_withdrawals' => 'Sum of withdrawals', + 'sum_deposits' => 'Sum of deposits', + 'sum_transfers' => 'Sum of transfers', ]; From 2dfc37c1d86009675ad73be41189285d146a5647 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:35 +0200 Subject: [PATCH 193/349] New translations list.php (Portuguese, Brazilian) --- resources/lang/pt_BR/list.php | 148 +++++++++++++++++----------------- 1 file changed, 76 insertions(+), 72 deletions(-) diff --git a/resources/lang/pt_BR/list.php b/resources/lang/pt_BR/list.php index c96c6ba0be..fe4e1bf44f 100644 --- a/resources/lang/pt_BR/list.php +++ b/resources/lang/pt_BR/list.php @@ -12,76 +12,80 @@ declare(strict_types=1); */ return [ - 'buttons' => 'Botões', - 'icon' => 'Ícone', - 'id' => 'ID', - 'create_date' => 'Criado em', - 'update_date' => 'Atualizado em', - 'balance_before' => 'Saldo Antes', - 'balance_after' => 'Saldo depois', - 'name' => 'Nome', - 'role' => 'Papel', - 'currentBalance' => 'Saldo atual', - 'active' => 'Está ativo?', - 'lastActivity' => 'Última atividade', - 'balanceDiff' => 'Saldo diferente entre :start e :end', - 'matchesOn' => 'Correspondido em', - 'account_type' => 'Tipo de conta', - 'created_at' => 'Criado em', - 'account' => 'Conta', - 'matchingAmount' => 'Total', - 'split_number' => 'Dividir #', - 'destination' => 'Destino', - 'source' => 'Fonte', - 'next_expected_match' => 'Próximo correspondente esperado', - 'automatch' => 'Auto match?', - 'repeat_freq' => 'Repetições', - 'description' => 'Descrição', - 'amount' => 'Total', - 'internal_reference' => 'Referência interna', - 'date' => 'Data', - 'interest_date' => 'Data de interesse', - 'book_date' => 'Data reserva', - 'process_date' => 'Data de processamento', - 'due_date' => 'Prazo', - 'payment_date' => 'Data de pagamento', - 'invoice_date' => 'Data da Fatura', - 'interal_reference' => 'Referência interna', - 'notes' => 'Notas', - 'from' => 'De', - 'piggy_bank' => 'Cofrinho', - 'to' => 'Até', - 'budget' => 'Orçamento', - 'category' => 'Categoria', - 'bill' => 'Fatura', - 'withdrawal' => 'Retirada', - 'deposit' => 'Depósito', - 'transfer' => 'Transferência', - 'type' => 'Tipo', - 'completed' => 'Completo', - 'iban' => 'IBAN', - 'paid_current_period' => 'Pago este período', - 'email' => 'Email', - 'registered_at' => 'Registrado em', - 'is_blocked' => 'Está bloqueado', - 'is_admin' => 'É admin', - 'has_two_factor' => 'Tem 2FA', - 'blocked_code' => 'Bloco de código', - 'source_account' => 'Conta de origem', - 'destination_account' => 'Conta de destino', - 'accounts_count' => 'Número de Contas', - 'journals_count' => 'Number of transactions', - 'attachments_count' => 'Número de anexos', - 'bills_count' => 'Número de contas', - 'categories_count' => 'Número de categorias', - 'export_jobs_count' => 'Número de jobs de exportação', - 'import_jobs_count' => 'Número de jobs de importação', - 'budget_count' => 'Número de orçamentos', - 'rule_and_groups_count' => 'Número de regras e grupos de regras', - 'tags_count' => 'Número de tags', - 'inward' => 'Inward description', - 'outward' => 'Outward description', - 'number_of_transactions' => 'Number of transactions', - 'total_amount' => 'Total amount', - + 'buttons' => 'Botões', + 'icon' => 'Ícone', + 'id' => 'ID', + 'create_date' => 'Criado em', + 'update_date' => 'Atualizado em', + 'balance_before' => 'Saldo Antes', + 'balance_after' => 'Saldo depois', + 'name' => 'Nome', + 'role' => 'Papel', + 'currentBalance' => 'Saldo atual', + 'active' => 'Está ativo?', + 'lastActivity' => 'Última atividade', + 'balanceDiff' => 'Saldo diferente entre :start e :end', + 'matchesOn' => 'Correspondido em', + 'account_type' => 'Tipo de conta', + 'created_at' => 'Criado em', + 'account' => 'Conta', + 'matchingAmount' => 'Total', + 'split_number' => 'Dividir #', + 'destination' => 'Destino', + 'source' => 'Fonte', + 'next_expected_match' => 'Próximo correspondente esperado', + 'automatch' => 'Auto match?', + 'repeat_freq' => 'Repetições', + 'description' => 'Descrição', + 'amount' => 'Total', + 'internal_reference' => 'Referência interna', + 'date' => 'Data', + 'interest_date' => 'Data de interesse', + 'book_date' => 'Data reserva', + 'process_date' => 'Data de processamento', + 'due_date' => 'Prazo', + 'payment_date' => 'Data de pagamento', + 'invoice_date' => 'Data da Fatura', + 'interal_reference' => 'Referência interna', + 'notes' => 'Notas', + 'from' => 'De', + 'piggy_bank' => 'Cofrinho', + 'to' => 'Até', + 'budget' => 'Orçamento', + 'category' => 'Categoria', + 'bill' => 'Fatura', + 'withdrawal' => 'Retirada', + 'deposit' => 'Depósito', + 'transfer' => 'Transferência', + 'type' => 'Tipo', + 'completed' => 'Completo', + 'iban' => 'IBAN', + 'paid_current_period' => 'Pago este período', + 'email' => 'Email', + 'registered_at' => 'Registrado em', + 'is_blocked' => 'Está bloqueado', + 'is_admin' => 'É admin', + 'has_two_factor' => 'Tem 2FA', + 'blocked_code' => 'Bloco de código', + 'source_account' => 'Conta de origem', + 'destination_account' => 'Conta de destino', + 'accounts_count' => 'Número de Contas', + 'journals_count' => 'Number of transactions', + 'attachments_count' => 'Número de anexos', + 'bills_count' => 'Número de contas', + 'categories_count' => 'Número de categorias', + 'export_jobs_count' => 'Número de jobs de exportação', + 'import_jobs_count' => 'Número de jobs de importação', + 'budget_count' => 'Número de orçamentos', + 'rule_and_groups_count' => 'Número de regras e grupos de regras', + 'tags_count' => 'Número de tags', + 'inward' => 'Inward description', + 'outward' => 'Outward description', + 'number_of_transactions' => 'Number of transactions', + 'total_amount' => 'Total amount', + 'sum' => 'Sum', + 'sum_excluding_transfers' => 'Sum (excluding transfers)', + 'sum_withdrawals' => 'Sum of withdrawals', + 'sum_deposits' => 'Sum of deposits', + 'sum_transfers' => 'Sum of transfers', ]; From 9c17594c3438ef6706ed0472ee8dfdaaa4712541 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:36 +0200 Subject: [PATCH 194/349] New translations list.php (Polish) --- resources/lang/pl_PL/list.php | 148 +++++++++++++++++----------------- 1 file changed, 76 insertions(+), 72 deletions(-) diff --git a/resources/lang/pl_PL/list.php b/resources/lang/pl_PL/list.php index c3468c07d3..1467cf6227 100644 --- a/resources/lang/pl_PL/list.php +++ b/resources/lang/pl_PL/list.php @@ -12,76 +12,80 @@ declare(strict_types=1); */ return [ - 'buttons' => 'Przyciski', - 'icon' => 'Ikona', - 'id' => 'ID', - 'create_date' => 'Utworzono', - 'update_date' => 'Zaktualizowano', - 'balance_before' => 'Saldo przed', - 'balance_after' => 'Saldo po', - 'name' => 'Nazwa', - 'role' => 'Rola', - 'currentBalance' => 'Bieżące saldo', - 'active' => 'Jest aktywny?', - 'lastActivity' => 'Ostatnia aktywność', - 'balanceDiff' => 'Różnica salda między :start oraz :end', - 'matchesOn' => 'Dopasowanie', - 'account_type' => 'Typ konta', - 'created_at' => 'Utworzono', - 'account' => 'Konto', - 'matchingAmount' => 'Kwota', - 'split_number' => '# podziału', - 'destination' => 'Cel', - 'source' => 'Źródło', - 'next_expected_match' => 'Następne oczekiwane dopasowanie', - 'automatch' => 'Auto dopasowanie?', - 'repeat_freq' => 'Powtarza się', - 'description' => 'Opis', - 'amount' => 'Kwota', - 'internal_reference' => 'Wewnętrzny numer', - 'date' => 'Data', - 'interest_date' => 'Stopa procentowa', - 'book_date' => 'Data księgowania', - 'process_date' => 'Przetworzono', - 'due_date' => 'Termin realizacji', - 'payment_date' => 'Data płatności', - 'invoice_date' => 'Data faktury', - 'interal_reference' => 'Wewnętrzny numer', - 'notes' => 'Notatki', - 'from' => 'Z', - 'piggy_bank' => 'Skarbonka', - 'to' => 'Do', - 'budget' => 'Budżet', - 'category' => 'Kategoria', - 'bill' => 'Rachunek', - 'withdrawal' => 'Wypłata', - 'deposit' => 'Wpłata', - 'transfer' => 'Transfer', - 'type' => 'Typ', - 'completed' => 'Zakończone', - 'iban' => 'IBAN', - 'paid_current_period' => 'Zapłacono w tym okresie', - 'email' => 'Adres E-Mail', - 'registered_at' => 'Zarejestrowano', - 'is_blocked' => 'Jest zablokowany', - 'is_admin' => 'Jest administratorem', - 'has_two_factor' => 'Ma dwustopniową autoryzację', - 'blocked_code' => 'Kod blokady', - 'source_account' => 'Konto źródłowe', - 'destination_account' => 'Konto docelowe', - 'accounts_count' => 'Liczba kont', - 'journals_count' => 'Liczba transakcji', - 'attachments_count' => 'Liczba załączników', - 'bills_count' => 'Liczba rachunków', - 'categories_count' => 'Liczba kategorii', - 'export_jobs_count' => 'Liczba zadań eksportu', - 'import_jobs_count' => 'Liczba zadań importu', - 'budget_count' => 'Liczba budżetów', - 'rule_and_groups_count' => 'Liczba reguł i grup reguł', - 'tags_count' => 'Liczba tagów', - 'inward' => 'Inward description', - 'outward' => 'Outward description', - 'number_of_transactions' => 'Liczba transakcji', - 'total_amount' => 'Total amount', - + 'buttons' => 'Przyciski', + 'icon' => 'Ikona', + 'id' => 'ID', + 'create_date' => 'Utworzono', + 'update_date' => 'Zaktualizowano', + 'balance_before' => 'Saldo przed', + 'balance_after' => 'Saldo po', + 'name' => 'Nazwa', + 'role' => 'Rola', + 'currentBalance' => 'Bieżące saldo', + 'active' => 'Jest aktywny?', + 'lastActivity' => 'Ostatnia aktywność', + 'balanceDiff' => 'Różnica salda między :start oraz :end', + 'matchesOn' => 'Dopasowanie', + 'account_type' => 'Typ konta', + 'created_at' => 'Utworzono', + 'account' => 'Konto', + 'matchingAmount' => 'Kwota', + 'split_number' => '# podziału', + 'destination' => 'Cel', + 'source' => 'Źródło', + 'next_expected_match' => 'Następne oczekiwane dopasowanie', + 'automatch' => 'Auto dopasowanie?', + 'repeat_freq' => 'Powtarza się', + 'description' => 'Opis', + 'amount' => 'Kwota', + 'internal_reference' => 'Wewnętrzny numer', + 'date' => 'Data', + 'interest_date' => 'Stopa procentowa', + 'book_date' => 'Data księgowania', + 'process_date' => 'Przetworzono', + 'due_date' => 'Termin realizacji', + 'payment_date' => 'Data płatności', + 'invoice_date' => 'Data faktury', + 'interal_reference' => 'Wewnętrzny numer', + 'notes' => 'Notatki', + 'from' => 'Z', + 'piggy_bank' => 'Skarbonka', + 'to' => 'Do', + 'budget' => 'Budżet', + 'category' => 'Kategoria', + 'bill' => 'Rachunek', + 'withdrawal' => 'Wypłata', + 'deposit' => 'Wpłata', + 'transfer' => 'Transfer', + 'type' => 'Typ', + 'completed' => 'Zakończone', + 'iban' => 'IBAN', + 'paid_current_period' => 'Zapłacono w tym okresie', + 'email' => 'Adres E-Mail', + 'registered_at' => 'Zarejestrowano', + 'is_blocked' => 'Jest zablokowany', + 'is_admin' => 'Jest administratorem', + 'has_two_factor' => 'Ma dwustopniową autoryzację', + 'blocked_code' => 'Kod blokady', + 'source_account' => 'Konto źródłowe', + 'destination_account' => 'Konto docelowe', + 'accounts_count' => 'Liczba kont', + 'journals_count' => 'Liczba transakcji', + 'attachments_count' => 'Liczba załączników', + 'bills_count' => 'Liczba rachunków', + 'categories_count' => 'Liczba kategorii', + 'export_jobs_count' => 'Liczba zadań eksportu', + 'import_jobs_count' => 'Liczba zadań importu', + 'budget_count' => 'Liczba budżetów', + 'rule_and_groups_count' => 'Liczba reguł i grup reguł', + 'tags_count' => 'Liczba tagów', + 'inward' => 'Inward description', + 'outward' => 'Outward description', + 'number_of_transactions' => 'Liczba transakcji', + 'total_amount' => 'Total amount', + 'sum' => 'Sum', + 'sum_excluding_transfers' => 'Sum (excluding transfers)', + 'sum_withdrawals' => 'Sum of withdrawals', + 'sum_deposits' => 'Sum of deposits', + 'sum_transfers' => 'Sum of transfers', ]; From 456ec4ee0a1dd624dc187f82eab31bd85328ade9 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:37 +0200 Subject: [PATCH 195/349] New translations list.php (German) --- resources/lang/de_DE/list.php | 148 +++++++++++++++++----------------- 1 file changed, 76 insertions(+), 72 deletions(-) diff --git a/resources/lang/de_DE/list.php b/resources/lang/de_DE/list.php index d907a9c832..cc1862388f 100644 --- a/resources/lang/de_DE/list.php +++ b/resources/lang/de_DE/list.php @@ -12,76 +12,80 @@ declare(strict_types=1); */ return [ - 'buttons' => 'Schaltfläche', - 'icon' => 'Icon', - 'id' => 'Id', - 'create_date' => 'Erstellt am', - 'update_date' => 'Aktualisiert am', - 'balance_before' => 'Bilanz vor', - 'balance_after' => 'Bilanz nach', - 'name' => 'Name', - 'role' => 'Rolle', - 'currentBalance' => 'Aktueller Kontostand', - 'active' => 'Aktiv?', - 'lastActivity' => 'Letzte Aktivität', - 'balanceDiff' => 'Differenz des Kontostandes zwischen :start und :end', - 'matchesOn' => 'Übereinstimmung am', - 'account_type' => 'Art des Kontos', - 'created_at' => 'Erstellt am', - 'account' => 'Konto', - 'matchingAmount' => 'Betrag', - 'split_number' => 'Geteilt #', - 'destination' => 'Empfänger', - 'source' => 'Quelle', - 'next_expected_match' => 'Nächste erwartete Übereinstimmung', - 'automatch' => 'Automatisch erkennen?', - 'repeat_freq' => 'Wiederholungen', - 'description' => 'Beschreibung', - 'amount' => 'Betrag', - 'internal_reference' => 'Interne Referenz', - 'date' => 'Datum', - 'interest_date' => 'Zinstermin', - 'book_date' => 'Buchungsdatum', - 'process_date' => 'Bearbeitungsdatum', - 'due_date' => 'Fälligkeitstermin', - 'payment_date' => 'Zahlungsdatum', - 'invoice_date' => 'Rechnungsdatum', - 'interal_reference' => 'Interner Verweis', - 'notes' => 'Notizen', - 'from' => 'Von', - 'piggy_bank' => 'Sparschwein', - 'to' => 'An', - 'budget' => 'Budget', - 'category' => 'Kategorie', - 'bill' => 'Rechnung', - 'withdrawal' => 'Ausgabe', - 'deposit' => 'Einlage', - 'transfer' => 'Überweisung', - 'type' => 'Typ', - 'completed' => 'Abgeschlossen', - 'iban' => 'IBAN', - 'paid_current_period' => 'Diese Periode bezahlt', - 'email' => 'E-Mail', - 'registered_at' => 'Registriert am', - 'is_blocked' => 'Ist blockiert', - 'is_admin' => 'Ist Admin', - 'has_two_factor' => 'Hat 2FA', - 'blocked_code' => 'Blockcode', - 'source_account' => 'Quellkonto', - 'destination_account' => 'Zielkonto', - 'accounts_count' => 'Anzahl Konten', - 'journals_count' => 'Anzahl der Zahlungsvorgänge', - 'attachments_count' => 'Anzahl Anhänge', - 'bills_count' => 'Anzahl Rechnungen', - 'categories_count' => 'Anzahl Kategorien', - 'export_jobs_count' => 'Anzahl exportierter Jobs', - 'import_jobs_count' => 'Anzahl importierter Jobs', - 'budget_count' => 'Anzahl Budgets', - 'rule_and_groups_count' => 'Anzahl Regeln und Regelgruppen', - 'tags_count' => 'Anzahl Tags', - 'inward' => 'Inward description', - 'outward' => 'Outward description', - 'number_of_transactions' => 'Anzahl der Zahlungsvorgänge', - 'total_amount' => 'Total amount', - + 'buttons' => 'Schaltfläche', + 'icon' => 'Icon', + 'id' => 'Id', + 'create_date' => 'Erstellt am', + 'update_date' => 'Aktualisiert am', + 'balance_before' => 'Bilanz vor', + 'balance_after' => 'Bilanz nach', + 'name' => 'Name', + 'role' => 'Rolle', + 'currentBalance' => 'Aktueller Kontostand', + 'active' => 'Aktiv?', + 'lastActivity' => 'Letzte Aktivität', + 'balanceDiff' => 'Differenz des Kontostandes zwischen :start und :end', + 'matchesOn' => 'Übereinstimmung am', + 'account_type' => 'Art des Kontos', + 'created_at' => 'Erstellt am', + 'account' => 'Konto', + 'matchingAmount' => 'Betrag', + 'split_number' => 'Geteilt #', + 'destination' => 'Empfänger', + 'source' => 'Quelle', + 'next_expected_match' => 'Nächste erwartete Übereinstimmung', + 'automatch' => 'Automatisch erkennen?', + 'repeat_freq' => 'Wiederholungen', + 'description' => 'Beschreibung', + 'amount' => 'Betrag', + 'internal_reference' => 'Interne Referenz', + 'date' => 'Datum', + 'interest_date' => 'Zinstermin', + 'book_date' => 'Buchungsdatum', + 'process_date' => 'Bearbeitungsdatum', + 'due_date' => 'Fälligkeitstermin', + 'payment_date' => 'Zahlungsdatum', + 'invoice_date' => 'Rechnungsdatum', + 'interal_reference' => 'Interner Verweis', + 'notes' => 'Notizen', + 'from' => 'Von', + 'piggy_bank' => 'Sparschwein', + 'to' => 'An', + 'budget' => 'Budget', + 'category' => 'Kategorie', + 'bill' => 'Rechnung', + 'withdrawal' => 'Ausgabe', + 'deposit' => 'Einlage', + 'transfer' => 'Überweisung', + 'type' => 'Typ', + 'completed' => 'Abgeschlossen', + 'iban' => 'IBAN', + 'paid_current_period' => 'Diese Periode bezahlt', + 'email' => 'E-Mail', + 'registered_at' => 'Registriert am', + 'is_blocked' => 'Ist blockiert', + 'is_admin' => 'Ist Admin', + 'has_two_factor' => 'Hat 2FA', + 'blocked_code' => 'Blockcode', + 'source_account' => 'Quellkonto', + 'destination_account' => 'Zielkonto', + 'accounts_count' => 'Anzahl Konten', + 'journals_count' => 'Anzahl der Zahlungsvorgänge', + 'attachments_count' => 'Anzahl Anhänge', + 'bills_count' => 'Anzahl Rechnungen', + 'categories_count' => 'Anzahl Kategorien', + 'export_jobs_count' => 'Anzahl exportierter Jobs', + 'import_jobs_count' => 'Anzahl importierter Jobs', + 'budget_count' => 'Anzahl Budgets', + 'rule_and_groups_count' => 'Anzahl Regeln und Regelgruppen', + 'tags_count' => 'Anzahl Tags', + 'inward' => 'Inward description', + 'outward' => 'Outward description', + 'number_of_transactions' => 'Anzahl der Zahlungsvorgänge', + 'total_amount' => 'Total amount', + 'sum' => 'Sum', + 'sum_excluding_transfers' => 'Sum (excluding transfers)', + 'sum_withdrawals' => 'Sum of withdrawals', + 'sum_deposits' => 'Sum of deposits', + 'sum_transfers' => 'Sum of transfers', ]; From ee68f1df3ed0a7634143b13f54697d98b486643d Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:39 +0200 Subject: [PATCH 196/349] New translations list.php (French) --- resources/lang/fr_FR/list.php | 148 +++++++++++++++++----------------- 1 file changed, 76 insertions(+), 72 deletions(-) diff --git a/resources/lang/fr_FR/list.php b/resources/lang/fr_FR/list.php index b33f9e8c76..f79c9fd948 100644 --- a/resources/lang/fr_FR/list.php +++ b/resources/lang/fr_FR/list.php @@ -12,76 +12,80 @@ declare(strict_types=1); */ return [ - 'buttons' => 'Boutons', - 'icon' => 'Icône', - 'id' => 'Identifiant', - 'create_date' => 'Créé le', - 'update_date' => 'Mis à jour le', - 'balance_before' => 'Solde avant', - 'balance_after' => 'Solde après', - 'name' => 'Nom', - 'role' => 'Rôle', - 'currentBalance' => 'Solde courant', - 'active' => 'Actif ?', - 'lastActivity' => 'Activité récente', - 'balanceDiff' => 'Difference solde entre :start et :end', - 'matchesOn' => 'Correspond à', - 'account_type' => 'Type de compte', - 'created_at' => 'Créé le', - 'account' => 'Compte', - 'matchingAmount' => 'Montant', - 'split_number' => 'Segmenter en', - 'destination' => 'Destination', - 'source' => 'Source', - 'next_expected_match' => 'Prochaine association attendue', - 'automatch' => 'Correspondance automatique ?', - 'repeat_freq' => 'Répétitions', - 'description' => 'Description', - 'amount' => 'Montant', - 'internal_reference' => 'Référence interne', - 'date' => 'Date', - 'interest_date' => 'Date des intérêts', - 'book_date' => 'Date de réservation', - 'process_date' => 'Date de traitement', - 'due_date' => 'Échéance', - 'payment_date' => 'Date de paiement', - 'invoice_date' => 'Date de facturation', - 'interal_reference' => 'Référence interne', - 'notes' => 'Notes', - 'from' => 'Depuis', - 'piggy_bank' => 'Tirelire', - 'to' => 'À', - 'budget' => 'Budget', - 'category' => 'Catégorie', - 'bill' => 'Facture', - 'withdrawal' => 'Retrait', - 'deposit' => 'Dépôt', - 'transfer' => 'Transfert', - 'type' => 'Type', - 'completed' => 'Terminé', - 'iban' => 'Numéro IBAN', - 'paid_current_period' => 'Payé cette période', - 'email' => 'E-mail', - 'registered_at' => 'Enregistré le', - 'is_blocked' => 'Est bloqué', - 'is_admin' => 'Est admin', - 'has_two_factor' => 'A 2FA', - 'blocked_code' => 'Code de blocage', - 'source_account' => 'Compte d\'origine', - 'destination_account' => 'Compte destinataire', - 'accounts_count' => 'Nombre de comptes', - 'journals_count' => 'Nombre d\'opérations', - 'attachments_count' => 'Nombre de pièces jointes', - 'bills_count' => 'Nombre de factures', - 'categories_count' => 'Nombre de catégories', - 'export_jobs_count' => 'Nombre de travaux exportés', - 'import_jobs_count' => 'Nombre de travaux importés', - 'budget_count' => 'Nombre de budgets', - 'rule_and_groups_count' => 'Nombre de règles et de groupes de règles', - 'tags_count' => 'Nombre d’étiquettes', - 'inward' => 'Description vers l’intérieur', - 'outward' => 'Description de l’extérieur', - 'number_of_transactions' => 'Nombre de transactions', - 'total_amount' => 'Total amount', - + 'buttons' => 'Boutons', + 'icon' => 'Icône', + 'id' => 'Identifiant', + 'create_date' => 'Créé le', + 'update_date' => 'Mis à jour le', + 'balance_before' => 'Solde avant', + 'balance_after' => 'Solde après', + 'name' => 'Nom', + 'role' => 'Rôle', + 'currentBalance' => 'Solde courant', + 'active' => 'Actif ?', + 'lastActivity' => 'Activité récente', + 'balanceDiff' => 'Difference solde entre :start et :end', + 'matchesOn' => 'Correspond à', + 'account_type' => 'Type de compte', + 'created_at' => 'Créé le', + 'account' => 'Compte', + 'matchingAmount' => 'Montant', + 'split_number' => 'Segmenter en', + 'destination' => 'Destination', + 'source' => 'Source', + 'next_expected_match' => 'Prochaine association attendue', + 'automatch' => 'Correspondance automatique ?', + 'repeat_freq' => 'Répétitions', + 'description' => 'Description', + 'amount' => 'Montant', + 'internal_reference' => 'Référence interne', + 'date' => 'Date', + 'interest_date' => 'Date des intérêts', + 'book_date' => 'Date de réservation', + 'process_date' => 'Date de traitement', + 'due_date' => 'Échéance', + 'payment_date' => 'Date de paiement', + 'invoice_date' => 'Date de facturation', + 'interal_reference' => 'Référence interne', + 'notes' => 'Notes', + 'from' => 'Depuis', + 'piggy_bank' => 'Tirelire', + 'to' => 'À', + 'budget' => 'Budget', + 'category' => 'Catégorie', + 'bill' => 'Facture', + 'withdrawal' => 'Retrait', + 'deposit' => 'Dépôt', + 'transfer' => 'Transfert', + 'type' => 'Type', + 'completed' => 'Terminé', + 'iban' => 'Numéro IBAN', + 'paid_current_period' => 'Payé cette période', + 'email' => 'E-mail', + 'registered_at' => 'Enregistré le', + 'is_blocked' => 'Est bloqué', + 'is_admin' => 'Est admin', + 'has_two_factor' => 'A 2FA', + 'blocked_code' => 'Code de blocage', + 'source_account' => 'Compte d\'origine', + 'destination_account' => 'Compte destinataire', + 'accounts_count' => 'Nombre de comptes', + 'journals_count' => 'Nombre d\'opérations', + 'attachments_count' => 'Nombre de pièces jointes', + 'bills_count' => 'Nombre de factures', + 'categories_count' => 'Nombre de catégories', + 'export_jobs_count' => 'Nombre de travaux exportés', + 'import_jobs_count' => 'Nombre de travaux importés', + 'budget_count' => 'Nombre de budgets', + 'rule_and_groups_count' => 'Nombre de règles et de groupes de règles', + 'tags_count' => 'Nombre d’étiquettes', + 'inward' => 'Description vers l’intérieur', + 'outward' => 'Description de l’extérieur', + 'number_of_transactions' => 'Nombre de transactions', + 'total_amount' => 'Total amount', + 'sum' => 'Sum', + 'sum_excluding_transfers' => 'Sum (excluding transfers)', + 'sum_withdrawals' => 'Sum of withdrawals', + 'sum_deposits' => 'Sum of deposits', + 'sum_transfers' => 'Sum of transfers', ]; From e51ff88671e2a146112d01716c753ab92c4f0213 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:42 +0200 Subject: [PATCH 197/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index e9c9c904d6..0fd4a648e5 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -329,6 +329,7 @@ return [ 'without_date' => 'Zonder datum', 'result' => 'Resultaat', 'total_result' => 'Totaalresultaat', + 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences 'pref_home_screen_accounts' => 'Voorpaginarekeningen', @@ -473,7 +474,7 @@ return [ 'converted_to_Withdrawal' => 'De transactie is veranderd in een uitgave', 'converted_to_Deposit' => 'De transactie is veranderd in inkomsten', 'converted_to_Transfer' => 'De transactie is veranderd in een overschrijving', - 'invalid_convert_selection' => 'The account you have selected is already used in this transaction or does not exist.', + 'invalid_convert_selection' => 'De rekening die je hebt geselecteerd wordt al gebruikt in deze transactie, of bestaat niet.', // create new stuff: 'create_new_withdrawal' => 'Nieuwe uitgave', From f069ee1b0f56f10bb2e64054498539e8394ef0d0 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:44 +0200 Subject: [PATCH 198/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index cbf9f3067c..5ee20f0d4a 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -329,6 +329,7 @@ return [ 'without_date' => 'Sans date', 'result' => 'Résultat', 'total_result' => 'Total result', + 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences 'pref_home_screen_accounts' => 'Comptes de l’écran d’accueil', From 11b01f0cd8f617e6a2a3d52eaf43518480620cda Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:47 +0200 Subject: [PATCH 199/349] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index 7764a984c4..b14eff405b 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -329,6 +329,7 @@ return [ 'without_date' => 'Ohne Datum', 'result' => 'Ergebnis', 'total_result' => 'Total result', + 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences 'pref_home_screen_accounts' => 'Konten auf dem Startbildschirm', From 467571d3bb0fc11bd4479e12e6b57b8e1a37d775 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:50 +0200 Subject: [PATCH 200/349] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index 22d4206243..e5b015887a 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -329,6 +329,7 @@ return [ 'without_date' => 'Without date', 'result' => 'Result', 'total_result' => 'Total result', + 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences 'pref_home_screen_accounts' => 'Cuentas de la pantalla de inicio', From e7e512e2f89fdd68f679dc8907a2de977d982624 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:52 +0200 Subject: [PATCH 201/349] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index 981b797c61..9d382878d2 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -329,6 +329,7 @@ return [ 'without_date' => 'Without date', 'result' => 'Result', 'total_result' => 'Total result', + 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences 'pref_home_screen_accounts' => 'Home screen accounts', From fafa0bfeefdfbb7461fe1da4bdb096c006ae8c78 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:55 +0200 Subject: [PATCH 202/349] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index 10d060dafb..d12564fc2f 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -329,6 +329,7 @@ return [ 'without_date' => 'Without date', 'result' => 'Result', 'total_result' => 'Total result', + 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences 'pref_home_screen_accounts' => 'Conta da tela inicial', From 0dc5282898546528d987a8e737765d94072e1dfb Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Sep 2017 21:20:58 +0200 Subject: [PATCH 203/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index a837e14487..7ab67d106b 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -329,6 +329,7 @@ return [ 'without_date' => 'Bez daty', 'result' => 'Wynik', 'total_result' => 'Total result', + 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences 'pref_home_screen_accounts' => 'Konta na stronie domowej', From 73df3040ca1e55e173fd5fde1bda32ec7bc95047 Mon Sep 17 00:00:00 2001 From: James Cole Date: Mon, 25 Sep 2017 06:04:37 +0200 Subject: [PATCH 204/349] Fix list overview [skip ci] --- app/Repositories/Tag/TagRepository.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Repositories/Tag/TagRepository.php b/app/Repositories/Tag/TagRepository.php index 9593851b99..d33c1639c8 100644 --- a/app/Repositories/Tag/TagRepository.php +++ b/app/Repositories/Tag/TagRepository.php @@ -16,6 +16,7 @@ namespace FireflyIII\Repositories\Tag; use Carbon\Carbon; use FireflyIII\Helpers\Collector\JournalCollectorInterface; +use FireflyIII\Helpers\Filter\InternalTransferFilter; use FireflyIII\Models\Tag; use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionType; @@ -279,6 +280,7 @@ class TagRepository implements TagRepositoryInterface } $collector->setAllAssetAccounts()->setTag($tag); + $collector->removeFilter(InternalTransferFilter::class); $journals = $collector->getJournals(); $sums = [ From 4ec830a2e3dd16b9222cfded55ec9bbf37d5cc42 Mon Sep 17 00:00:00 2001 From: James Cole Date: Mon, 25 Sep 2017 06:10:04 +0200 Subject: [PATCH 205/349] Fix list overview [skip ci] --- app/Repositories/Tag/TagRepository.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/Repositories/Tag/TagRepository.php b/app/Repositories/Tag/TagRepository.php index d33c1639c8..965ec6092e 100644 --- a/app/Repositories/Tag/TagRepository.php +++ b/app/Repositories/Tag/TagRepository.php @@ -17,6 +17,7 @@ namespace FireflyIII\Repositories\Tag; use Carbon\Carbon; use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Helpers\Filter\InternalTransferFilter; +use FireflyIII\Helpers\Filter\TransferFilter; use FireflyIII\Models\Tag; use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionType; @@ -268,7 +269,7 @@ class TagRepository implements TagRepositoryInterface * @param Carbon|null $start * @param Carbon|null $end * - * @return string + * @return array */ public function sumsOfTag(Tag $tag, ?Carbon $start, ?Carbon $end): array { @@ -279,7 +280,7 @@ class TagRepository implements TagRepositoryInterface $collector->setRange($start, $end); } - $collector->setAllAssetAccounts()->setTag($tag); + $collector->setAllAssetAccounts()->setTag($tag)->withOpposingAccount(); $collector->removeFilter(InternalTransferFilter::class); $journals = $collector->getJournals(); From 613437210149bff02756feb5eacd7e4f4125dedb Mon Sep 17 00:00:00 2001 From: James Cole Date: Mon, 25 Sep 2017 06:10:05 +0200 Subject: [PATCH 206/349] New translations list.php (Dutch) --- resources/lang/nl_NL/list.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/lang/nl_NL/list.php b/resources/lang/nl_NL/list.php index ae54b8e165..912b1c05c8 100644 --- a/resources/lang/nl_NL/list.php +++ b/resources/lang/nl_NL/list.php @@ -83,9 +83,9 @@ return [ 'outward' => 'Buitenwaartse beschrijving', 'number_of_transactions' => 'Aantal transacties', 'total_amount' => 'Totaalbedrag', - 'sum' => 'Sum', - 'sum_excluding_transfers' => 'Sum (excluding transfers)', - 'sum_withdrawals' => 'Sum of withdrawals', - 'sum_deposits' => 'Sum of deposits', - 'sum_transfers' => 'Sum of transfers', + 'sum' => 'Som', + 'sum_excluding_transfers' => 'Som (zonder overschrijvingen)', + 'sum_withdrawals' => 'Som van uitgaven', + 'sum_deposits' => 'Som van inkomsten', + 'sum_transfers' => 'Som van overschrijvingen', ]; From 1a81cd45f2c7c6169c503ff0f1c1f71a78a8dd47 Mon Sep 17 00:00:00 2001 From: James Cole Date: Mon, 25 Sep 2017 06:14:37 +0200 Subject: [PATCH 207/349] Fix #866 --- resources/views/popup/list/journals.twig | 8 +++++++- resources/views/popup/report/expense-entry.twig | 1 + resources/views/popup/report/income-entry.twig | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/resources/views/popup/list/journals.twig b/resources/views/popup/list/journals.twig index 1ab88a9f32..1829dfe1c5 100644 --- a/resources/views/popup/list/journals.twig +++ b/resources/views/popup/list/journals.twig @@ -81,7 +81,13 @@ {{ 'sum'|_ }}: - {{ sum|formatAmount }} + + {% if inverseAmount %} + {{ (sum*-1)|formatAmount }} + {% else %} + {{ sum|formatAmount }} + {% endif %} + diff --git a/resources/views/popup/report/expense-entry.twig b/resources/views/popup/report/expense-entry.twig index 0cbc7cfe90..e2d660dbe5 100644 --- a/resources/views/popup/report/expense-entry.twig +++ b/resources/views/popup/report/expense-entry.twig @@ -8,6 +8,7 @@
    {% endif %} + {# show links: #} {% if links.count > 0 %}
    @@ -333,13 +334,13 @@ {{ ('this_'~(what|lower))|_ }} {% if link.source.id == journal.id %} - {{ journalLinkTranslation(link.link_type_id,'outward', link.linkType.outward) }} + {{ journalLinkTranslation('outward', link.linkType.outward) }} #{{ link.destination.id }}: {{ link.destination.description }} ({{ journalAmount(link.destination) }}) {% else %} - {{ journalLinkTranslation(link.link_type_id,'inward', link.linkType.inward) }} + {{ journalLinkTranslation('inward', link.linkType.inward) }} #{{ link.source.id }}: {{ link.source.description }} ({{ journalAmount(link.source) }}) From ed7119bae5cd842e108b4ebf5bc359e05e1ce0c4 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 14:51:30 +0200 Subject: [PATCH 269/349] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index 8710adc578..d8c3fb083c 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -662,10 +662,6 @@ return [ 'newWithdrawal' => 'Новый расход', 'newDeposit' => 'Новый доход', 'newTransfer' => 'Новый перевод', - 'moneyIn' => 'Доходы', - 'moneyOut' => 'Расходы', - 'billsToPay' => 'Счета к оплате', - 'billsPaid' => 'Оплаченные счета', 'bills_to_pay' => 'Bills to pay', 'per_day' => 'Per day', @@ -946,15 +942,6 @@ return [ 'overview_for_link' => 'Overview for link type ":name"', 'delete_journal_link' => 'Delete the link between :source and :destination', 'deleted_link' => 'Deleted link', - '1_outward' => 'relates to', - '2_outward' => '(partially) refunds', - '3_outward' => '(partially) pays for', - '4_outward' => '(partially) reimburses', - '1_inward' => 'relates to', - '2_inward' => 'is (partially) refunded by', - '3_inward' => 'is (partially) paid for by', - '4_inward' => 'is (partially) reimbursed by', - // split a transaction: 'splits' => 'Splits', From c60c0a93a420f081f32e973816359371121b30e6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 14:52:02 +0200 Subject: [PATCH 270/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index 41c1abb58d..98126d549a 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -662,10 +662,6 @@ return [ 'newWithdrawal' => 'Nieuwe uitgave', 'newDeposit' => 'Nieuwe inkomsten', 'newTransfer' => 'Nieuwe overschrijving', - 'moneyIn' => 'Inkomsten', - 'moneyOut' => 'Uitgaven', - 'billsToPay' => 'Openstaande contracten', - 'billsPaid' => 'Betaalde contracten', 'bills_to_pay' => 'Bills to pay', 'per_day' => 'Per day', @@ -946,15 +942,6 @@ return [ 'overview_for_link' => 'Overzicht voor koppeltype ":name"', 'delete_journal_link' => 'Verwijder de koppeling tussen :source en :destination', 'deleted_link' => 'Koppeling verwijderd', - '1_outward' => 'is gerelateerd aan', - '2_outward' => 'is een (gedeeltelijke) terugbetaling voor', - '3_outward' => 'betaalt (deels voor)', - '4_outward' => 'vergoedt (deels)', - '1_inward' => 'is gerelateerd aan', - '2_inward' => 'wordt (deels) terugbetaald door', - '3_inward' => 'wordt (deels) betaald door', - '4_inward' => 'wordt (deels) vergoed door', - // split a transaction: 'splits' => 'Splitten', From c5737c7fc9a87b4ca4a26484b91ecc8093be6d45 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 14:52:12 +0200 Subject: [PATCH 271/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index d32a217b74..fccb9615a1 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -662,10 +662,6 @@ return [ 'newWithdrawal' => 'Nouvelle dépense', 'newDeposit' => 'Nouveau dépôt', 'newTransfer' => 'Nouveau transfert', - 'moneyIn' => 'Argent entrant', - 'moneyOut' => 'Argent sortant', - 'billsToPay' => 'Factures à payer', - 'billsPaid' => 'Factures payées', 'bills_to_pay' => 'Bills to pay', 'per_day' => 'Per day', @@ -946,15 +942,6 @@ return [ 'overview_for_link' => 'Aperçu pour le type de lien ":name"', 'delete_journal_link' => 'Supprimez le lien entre :source et :destination', 'deleted_link' => 'Lien supprimé', - '1_outward' => 'lié à', - '2_outward' => 'remboursements (partiellement)', - '3_outward' => '(partiellement) paie pour', - '4_outward' => '(partiellement) remboursé', - '1_inward' => 'se rapporte à', - '2_inward' => 'est (partiellement) remboursé par', - '3_inward' => 'est (partiellement) payé par', - '4_inward' => 'est (partiellement) remboursé par', - // split a transaction: 'splits' => 'Scinder', From 6d538dc568c79ee5745f490b0433545cac1d362a Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 14:52:20 +0200 Subject: [PATCH 272/349] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index 343a0967a4..e80b236376 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -663,10 +663,6 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'newWithdrawal' => 'Neue Ausgabe', 'newDeposit' => 'Neue Einnahme', 'newTransfer' => 'Neue Überweisung', - 'moneyIn' => 'Geldeingang', - 'moneyOut' => 'Geldausgang', - 'billsToPay' => 'Rechnungen zu bezahlen', - 'billsPaid' => 'Rechnungen bezahlt', 'bills_to_pay' => 'Bills to pay', 'per_day' => 'Per day', @@ -947,15 +943,6 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'overview_for_link' => 'Overview for link type ":name"', 'delete_journal_link' => 'Delete the link between :source and :destination', 'deleted_link' => 'Deleted link', - '1_outward' => 'relates to', - '2_outward' => '(partially) refunds', - '3_outward' => '(partially) pays for', - '4_outward' => '(partially) reimburses', - '1_inward' => 'relates to', - '2_inward' => 'is (partially) refunded by', - '3_inward' => 'is (partially) paid for by', - '4_inward' => 'is (partially) reimbursed by', - // split a transaction: 'splits' => 'Geteilte', From 866bcbf70255c801f1e14de42ffb701a00c4d7f5 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 14:52:27 +0200 Subject: [PATCH 273/349] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index 871614c542..439ce77498 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -662,10 +662,6 @@ return [ 'newWithdrawal' => 'New expense', 'newDeposit' => 'New deposit', 'newTransfer' => 'New transfer', - 'moneyIn' => 'Money in', - 'moneyOut' => 'Money out', - 'billsToPay' => 'Facturas a pagar', - 'billsPaid' => 'Facturas pagadas', 'bills_to_pay' => 'Bills to pay', 'per_day' => 'Per day', @@ -946,15 +942,6 @@ return [ 'overview_for_link' => 'Overview for link type ":name"', 'delete_journal_link' => 'Delete the link between :source and :destination', 'deleted_link' => 'Deleted link', - '1_outward' => 'relates to', - '2_outward' => '(partially) refunds', - '3_outward' => '(partially) pays for', - '4_outward' => '(partially) reimburses', - '1_inward' => 'relates to', - '2_inward' => 'is (partially) refunded by', - '3_inward' => 'is (partially) paid for by', - '4_inward' => 'is (partially) reimbursed by', - // split a transaction: 'splits' => 'Splits', From b2a9128b2baaae7a4fff6836c481fff51d15f0f6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 14:52:33 +0200 Subject: [PATCH 274/349] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index 54e584334c..3441054c4b 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -662,10 +662,6 @@ return [ 'newWithdrawal' => 'New expense', 'newDeposit' => 'New deposit', 'newTransfer' => 'New transfer', - 'moneyIn' => 'Money in', - 'moneyOut' => 'Money out', - 'billsToPay' => 'Bills to pay', - 'billsPaid' => 'Bills paid', 'bills_to_pay' => 'Bills to pay', 'per_day' => 'Per day', @@ -946,15 +942,6 @@ return [ 'overview_for_link' => 'Overview for link type ":name"', 'delete_journal_link' => 'Delete the link between :source and :destination', 'deleted_link' => 'Deleted link', - '1_outward' => 'relates to', - '2_outward' => '(partially) refunds', - '3_outward' => '(partially) pays for', - '4_outward' => '(partially) reimburses', - '1_inward' => 'relates to', - '2_inward' => 'is (partially) refunded by', - '3_inward' => 'is (partially) paid for by', - '4_inward' => 'is (partially) reimbursed by', - // split a transaction: 'splits' => 'Splits', From e564a4a0d3eac5588c192a520ff9f18502b3606f Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 14:52:40 +0200 Subject: [PATCH 275/349] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index fe34fa5e96..b9410cf725 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -662,10 +662,6 @@ return [ 'newWithdrawal' => 'Nova despesa', 'newDeposit' => 'Novo depósito', 'newTransfer' => 'Nova transferência', - 'moneyIn' => 'Dinheiro entra', - 'moneyOut' => 'Dinheiro sai', - 'billsToPay' => 'Faturas a pagar', - 'billsPaid' => 'Faturas pagas', 'bills_to_pay' => 'Bills to pay', 'per_day' => 'Per day', @@ -946,15 +942,6 @@ return [ 'overview_for_link' => 'Overview for link type ":name"', 'delete_journal_link' => 'Delete the link between :source and :destination', 'deleted_link' => 'Deleted link', - '1_outward' => 'relates to', - '2_outward' => '(partially) refunds', - '3_outward' => '(partially) pays for', - '4_outward' => '(partially) reimburses', - '1_inward' => 'relates to', - '2_inward' => 'is (partially) refunded by', - '3_inward' => 'is (partially) paid for by', - '4_inward' => 'is (partially) reimbursed by', - // split a transaction: 'splits' => 'Divide-se', From 12df3d7b8e0a4e9699e850739c39ad0b81bf7926 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 14:52:47 +0200 Subject: [PATCH 276/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index b33ea9e894..69ec7d9e7b 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -662,10 +662,6 @@ return [ 'newWithdrawal' => 'Nowy wydatek', 'newDeposit' => 'Nowa wpłata', 'newTransfer' => 'Nowy transfer', - 'moneyIn' => 'Uznania', - 'moneyOut' => 'Obciążenia', - 'billsToPay' => 'Rachunki do zapłacenia', - 'billsPaid' => 'Zapłacone rachunki', 'bills_to_pay' => 'Bills to pay', 'per_day' => 'Per day', @@ -946,15 +942,6 @@ return [ 'overview_for_link' => 'Overview for link type ":name"', 'delete_journal_link' => 'Usuń powiązanie między :source a :destination', 'deleted_link' => 'Usunięto powiązanie', - '1_outward' => 'relates to', - '2_outward' => '(partially) refunds', - '3_outward' => '(partially) pays for', - '4_outward' => '(partially) reimburses', - '1_inward' => 'relates to', - '2_inward' => 'is (partially) refunded by', - '3_inward' => 'is (partially) paid for by', - '4_inward' => 'is (partially) reimbursed by', - // split a transaction: 'splits' => 'Podziały', From a1a93d9bbbe2d8c8fc810f5d7a6418ac93f51b6a Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 15:45:55 +0200 Subject: [PATCH 277/349] Send test message from admin. --- app/Events/AdminRequestedTestMessage.php | 44 +++++++++++++++ app/Handlers/Events/AdminEventHandler.php | 55 +++++++++++++++++++ app/Http/Controllers/Admin/HomeController.php | 18 ++++++ app/Mail/AdminTestMail.php | 53 ++++++++++++++++++ app/Providers/EventServiceProvider.php | 4 ++ resources/lang/en_US/firefly.php | 6 +- resources/views/admin/index.twig | 22 ++++++++ resources/views/emails/admin-test-html.twig | 5 ++ resources/views/emails/admin-test-text.twig | 3 + routes/web.php | 1 + 10 files changed, 210 insertions(+), 1 deletion(-) create mode 100644 app/Events/AdminRequestedTestMessage.php create mode 100644 app/Handlers/Events/AdminEventHandler.php create mode 100644 app/Mail/AdminTestMail.php create mode 100644 resources/views/emails/admin-test-html.twig create mode 100644 resources/views/emails/admin-test-text.twig diff --git a/app/Events/AdminRequestedTestMessage.php b/app/Events/AdminRequestedTestMessage.php new file mode 100644 index 0000000000..ce783fc8ef --- /dev/null +++ b/app/Events/AdminRequestedTestMessage.php @@ -0,0 +1,44 @@ +id, $user->email, $ipAddress)); + $this->user = $user; + $this->ipAddress = $ipAddress; + } +} diff --git a/app/Handlers/Events/AdminEventHandler.php b/app/Handlers/Events/AdminEventHandler.php new file mode 100644 index 0000000000..55b83abadf --- /dev/null +++ b/app/Handlers/Events/AdminEventHandler.php @@ -0,0 +1,55 @@ +user->email; + $ipAddress = $event->ipAddress; + + Log::debug(sprintf('Now in sendTestMessage event handler. Email is %s, IP is %s', $email, $ipAddress)); + try { + Log::debug('Trying to send message...'); + Mail::to($email)->send(new AdminTestMail($email, $ipAddress)); + // @codeCoverageIgnoreStart + } catch (Swift_TransportException $e) { + Log::debug('Send message failed! :('); + Log::error($e->getMessage()); + Log::error($e->getTraceAsString()); + Session::flash('error', 'Possible email error: ' . $e->getMessage()); + } + Log::debug('If no error above this line, message was sent.'); + // @codeCoverageIgnoreEnd + return true; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/HomeController.php b/app/Http/Controllers/Admin/HomeController.php index 6cc7090a62..66da4a214c 100644 --- a/app/Http/Controllers/Admin/HomeController.php +++ b/app/Http/Controllers/Admin/HomeController.php @@ -14,7 +14,11 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Admin; +use FireflyIII\Events\AdminRequestedTestMessage; use FireflyIII\Http\Controllers\Controller; +use Illuminate\Http\Request; +use Session; +use Log; /** * Class HomeController @@ -34,4 +38,18 @@ class HomeController extends Controller return view('admin.index', compact('title', 'mainTitleIcon')); } + /** + * @param Request $request + * + * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + */ + public function testMessage(Request $request) + { + $ipAddress = $request->ip(); + Log::debug(sprintf('Now in testMessage() controller. IP is %s', $ipAddress)); + event(new AdminRequestedTestMessage(auth()->user(), $ipAddress)); + Session::flash('info', strval(trans('firefly.send_test_triggered'))); + return redirect(route('admin.index')); + } + } diff --git a/app/Mail/AdminTestMail.php b/app/Mail/AdminTestMail.php new file mode 100644 index 0000000000..b75495ff9e --- /dev/null +++ b/app/Mail/AdminTestMail.php @@ -0,0 +1,53 @@ +email = $email; + $this->ipAddress = $ipAddress; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + return $this->view('emails.admin-test-html')->text('emails.admin-test-text') + ->subject('A test message from your Firefly III installation'); + } +} diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 4e7aa2068b..943e879183 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -51,6 +51,10 @@ class EventServiceProvider extends ServiceProvider 'FireflyIII\Handlers\Events\UserEventHandler@sendEmailChangeConfirmMail', 'FireflyIII\Handlers\Events\UserEventHandler@sendEmailChangeUndoMail', ], + // admin related + 'FireflyIII\Events\AdminRequestedTestMessage' => [ + 'FireflyIII\Handlers\Events\AdminEventHandler@sendTestMessage', + ], // is a Transaction Journal related event. 'FireflyIII\Events\StoredTransactionJournal' => [ diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index 964414594a..d610a122c6 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -425,7 +425,7 @@ return [ 'regenerate_access_token' => 'Regenerate access token', 'token_regenerated' => 'A new token was generated', 'change_your_email' => 'Change your email address', - 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. You can test this in the Administration.', + 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the Administration.', 'email_changed_logout' => 'Until you verify your email address, you cannot login.', 'login_with_new_email' => 'You can now login with your new email address.', 'login_with_old_email' => 'You can now login with your old email address again.', @@ -907,6 +907,10 @@ return [ 'updated_user' => 'User data has been changed.', 'delete_user' => 'Delete user :email', 'user_deleted' => 'The user has been deleted', + 'send_test_email' => 'Send test email message', + 'send_test_email_text' => 'To see if your installation is capable of sending email, please press this button. You will not see an error here (if any), the log files will reflect any errors. You can press this button as many times as you like. There is no spam control. The message will be sent to :email and should arrive shortly.', + 'send_message' => 'Send message', + 'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.', // links 'journal_link_configuration' => 'Transaction links configuration', diff --git a/resources/views/admin/index.twig b/resources/views/admin/index.twig index 1de89abcc3..a12c21d151 100644 --- a/resources/views/admin/index.twig +++ b/resources/views/admin/index.twig @@ -18,6 +18,28 @@
    + +
    +
    +
    +

    {{ 'send_test_email'|_ }}

    +
    +
    +
    +

    + {{ trans('firefly.send_test_email_text', {email:Auth.user.email})|raw }} +

    + + +
    + +
    +
    +
    diff --git a/resources/views/emails/admin-test-html.twig b/resources/views/emails/admin-test-html.twig new file mode 100644 index 0000000000..0862786993 --- /dev/null +++ b/resources/views/emails/admin-test-html.twig @@ -0,0 +1,5 @@ +{% include 'emails.header-html' %} +

    + This is a test message from your Firefly III instance. It was sent to {{ email }}. +

    +{% include 'emails.footer-html' %} diff --git a/resources/views/emails/admin-test-text.twig b/resources/views/emails/admin-test-text.twig new file mode 100644 index 0000000000..23c246e694 --- /dev/null +++ b/resources/views/emails/admin-test-text.twig @@ -0,0 +1,3 @@ +{% include 'emails.header-text' %} + This is a test message from your Firefly III instance. It was sent to {{ email }}. +{% include 'emails.footer-text' %} diff --git a/routes/web.php b/routes/web.php index a6cbcdfc63..026774b8b5 100755 --- a/routes/web.php +++ b/routes/web.php @@ -777,6 +777,7 @@ Route::group( // admin home Route::get('', ['uses' => 'HomeController@index', 'as' => 'index']); + Route::post('test-message', ['uses' => 'HomeController@testMessage', 'as' => 'test-message']); // user manager Route::get('users', ['uses' => 'UserController@index', 'as' => 'users']); From b80b026246d69f5bceb7bd5d89302d8a6d092f9d Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 15:46:08 +0200 Subject: [PATCH 278/349] Fix tests. --- .../Controllers/Admin/UserControllerTest.php | 1 + .../Controllers/BudgetControllerTest.php | 26 +++++- .../Controllers/JsonControllerTest.php | 92 ------------------- 3 files changed, 26 insertions(+), 93 deletions(-) diff --git a/tests/Feature/Controllers/Admin/UserControllerTest.php b/tests/Feature/Controllers/Admin/UserControllerTest.php index 8202f219ef..2cbfee9975 100644 --- a/tests/Feature/Controllers/Admin/UserControllerTest.php +++ b/tests/Feature/Controllers/Admin/UserControllerTest.php @@ -84,6 +84,7 @@ class UserControllerTest extends TestCase $repository = $this->mock(UserRepositoryInterface::class); $repository->shouldReceive('changePassword')->once(); $repository->shouldReceive('changeStatus')->once(); + $repository->shouldReceive('updateEmail')->once(); $data = [ 'id' => 1, 'email' => 'test@example.com', diff --git a/tests/Feature/Controllers/BudgetControllerTest.php b/tests/Feature/Controllers/BudgetControllerTest.php index a345f04790..acb687037c 100644 --- a/tests/Feature/Controllers/BudgetControllerTest.php +++ b/tests/Feature/Controllers/BudgetControllerTest.php @@ -151,6 +151,13 @@ class BudgetControllerTest extends TestCase // set budget limit to current month: $budgetLimit->start_date = Carbon::now()->startOfMonth(); $budgetLimit->end_date = Carbon::now()->endOfMonth(); + $budgetInfo = [ + $budget->id => [ + 'spent' => '0', + 'budgeted' => '0', + 'currentRep' => false, + ], + ]; $accountRepos = $this->mock(AccountRepositoryInterface::class); $repository = $this->mock(BudgetRepositoryInterface::class); @@ -163,6 +170,7 @@ class BudgetControllerTest extends TestCase $repository->shouldReceive('getInactiveBudgets')->andReturn(new Collection); $repository->shouldReceive('getAvailableBudget')->andReturn('100.123'); $repository->shouldReceive('spentInPeriod')->andReturn('-1'); + $repository->shouldReceive('collectBudgetInformation')->andReturn($budgetInfo); $repository->shouldReceive('getBudgetLimits')->andReturn(new Collection([$budgetLimit])); @@ -187,6 +195,13 @@ class BudgetControllerTest extends TestCase // mock stuff $budget = factory(Budget::class)->make(); $budgetLimit = factory(BudgetLimit::class)->make(); + $budgetInfo = [ + $budget->id => [ + 'spent' => '0', + 'budgeted' => '0', + 'currentRep' => false, + ], + ]; // set budget limit to current month: $budgetLimit->start_date = Carbon::now()->startOfMonth(); @@ -204,6 +219,7 @@ class BudgetControllerTest extends TestCase $repository->shouldReceive('getAvailableBudget')->andReturn('100.123'); $repository->shouldReceive('spentInPeriod')->andReturn('-1'); $repository->shouldReceive('getBudgetLimits')->andReturn(new Collection([$budgetLimit])); + $repository->shouldReceive('collectBudgetInformation')->andReturn($budgetInfo); $this->be($this->user()); @@ -231,6 +247,13 @@ class BudgetControllerTest extends TestCase // set budget limit to current month: $budgetLimit->start_date = Carbon::now()->startOfMonth(); $budgetLimit->end_date = Carbon::now()->endOfMonth(); + $budgetInfo = [ + $budget->id => [ + 'spent' => '0', + 'budgeted' => '0', + 'currentRep' => false, + ], + ]; $accountRepos = $this->mock(AccountRepositoryInterface::class); $repository = $this->mock(BudgetRepositoryInterface::class); @@ -244,6 +267,7 @@ class BudgetControllerTest extends TestCase $repository->shouldReceive('getAvailableBudget')->andReturn('100.123'); $repository->shouldReceive('spentInPeriod')->andReturn('-1'); $repository->shouldReceive('getBudgetLimits')->andReturn(new Collection([$budgetLimit])); + $repository->shouldReceive('collectBudgetInformation')->andReturn($budgetInfo); $this->be($this->user()); @@ -373,7 +397,7 @@ class BudgetControllerTest extends TestCase $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('setAvailableBudget'); - $data = ['amount' => '200','start' => '2017-01-01','end' => '2017-01-31']; + $data = ['amount' => '200', 'start' => '2017-01-01', 'end' => '2017-01-31']; $this->be($this->user()); $response = $this->post(route('budgets.income.post'), $data); $response->assertStatus(302); diff --git a/tests/Feature/Controllers/JsonControllerTest.php b/tests/Feature/Controllers/JsonControllerTest.php index a4a7c3cf94..b42fd0b8bf 100644 --- a/tests/Feature/Controllers/JsonControllerTest.php +++ b/tests/Feature/Controllers/JsonControllerTest.php @@ -52,98 +52,6 @@ class JsonControllerTest extends TestCase $response->assertStatus(200); } - /** - * @covers \FireflyIII\Http\Controllers\JsonController::boxBillsPaid - */ - public function testBoxBillsPaid() - { - // mock stuff - - $billRepos = $this->mock(BillRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); - $billRepos->shouldReceive('getBillsPaidInRange')->andReturn('-100'); - - $this->be($this->user()); - $currency = Amount::getDefaultCurrency(); - $response = $this->get(route('json.box.paid')); - $response->assertStatus(200); - $response->assertExactJson(['amount' => Amount::formatAnything($currency, '100', false), 'amount_raw' => '100', 'box' => 'bills-paid']); - } - - /** - * @covers \FireflyIII\Http\Controllers\JsonController::boxBillsUnpaid - */ - public function testBoxBillsUnpaid() - { - // mock stuff - - $billRepos = $this->mock(BillRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); - $billRepos->shouldReceive('getBillsUnpaidInRange')->andReturn('100'); - - - $this->be($this->user()); - $currency = Amount::getDefaultCurrency(); - $response = $this->get(route('json.box.unpaid')); - $response->assertStatus(200); - $response->assertExactJson(['amount' => Amount::formatAnything($currency, '100', false), 'amount_raw' => '100', 'box' => 'bills-unpaid']); - } - - /** - * @covers \FireflyIII\Http\Controllers\JsonController::boxIn - */ - public function testBoxIn() - { - // mock stuff - - $collector = $this->mock(JournalCollectorInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); - $transaction = factory(Transaction::class)->make(); - $transaction->transaction_amount = '100.00'; - - $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf()->once(); - $collector->shouldReceive('setRange')->andReturnSelf()->once(); - $collector->shouldReceive('getJournals')->andReturn(new Collection([$transaction]))->once(); - $collector->shouldReceive('setTypes')->withArgs([[TransactionType::DEPOSIT]])->andReturnSelf()->once(); - $collector->shouldReceive('withOpposingAccount')->andReturnSelf()->once(); - - - $this->be($this->user()); - $currency = Amount::getDefaultCurrency(); - $response = $this->get(route('json.box.in')); - $response->assertStatus(200); - $response->assertExactJson(['amount' => Amount::formatAnything($currency, '100', false), 'amount_raw' => '100', 'box' => 'in']); - } - - /** - * @covers \FireflyIII\Http\Controllers\JsonController::boxOut - */ - public function testBoxOut() - { - // mock stuff - - $collector = $this->mock(JournalCollectorInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); - $transaction = factory(Transaction::class)->make(); - $transaction->transaction_amount = '100.00'; - - $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf()->once(); - $collector->shouldReceive('setRange')->andReturnSelf()->once(); - $collector->shouldReceive('getJournals')->andReturn(new Collection([$transaction]))->once(); - $collector->shouldReceive('setTypes')->withArgs([[TransactionType::WITHDRAWAL]])->andReturnSelf()->once(); - $collector->shouldReceive('withOpposingAccount')->andReturnSelf()->once(); - - $this->be($this->user()); - $currency = Amount::getDefaultCurrency(); - $response = $this->get(route('json.box.out')); - $response->assertStatus(200); - $response->assertExactJson(['amount' => Amount::formatAnything($currency, '100', false), 'amount_raw' => '100', 'box' => 'out']); - } - /** * @covers \FireflyIII\Http\Controllers\JsonController::budgets */ From a7969dd4b4ca76a33c44c977866a396c81a9df1d Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 15:51:06 +0200 Subject: [PATCH 279/349] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index d8c3fb083c..2d4e20e586 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -425,7 +425,7 @@ return [ 'regenerate_access_token' => 'Regenerate access token', 'token_regenerated' => 'A new token was generated', 'change_your_email' => 'Change your email address', - 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. You can test this in the Administration.', + 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the Administration.', 'email_changed_logout' => 'Until you verify your email address, you cannot login.', 'login_with_new_email' => 'You can now login with your new email address.', 'login_with_old_email' => 'You can now login with your old email address again.', @@ -907,6 +907,10 @@ return [ 'updated_user' => 'User data has been changed.', 'delete_user' => 'Delete user :email', 'user_deleted' => 'The user has been deleted', + 'send_test_email' => 'Send test email message', + 'send_test_email_text' => 'To see if your installation is capable of sending email, please press this button. You will not see an error here (if any), the log files will reflect any errors. You can press this button as many times as you like. There is no spam control. The message will be sent to :email and should arrive shortly.', + 'send_message' => 'Send message', + 'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.', // links 'journal_link_configuration' => 'Transaction links configuration', From 13a6dd56a325bd8c628f98349ffa80b5514ae41c Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 15:51:35 +0200 Subject: [PATCH 280/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index 98126d549a..80c56c0ebe 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -425,7 +425,7 @@ return [ 'regenerate_access_token' => 'Genereer nieuw token', 'token_regenerated' => 'Er is een nieuw token gegenereerd', 'change_your_email' => 'Change your email address', - 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. You can test this in the Administration.', + 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the Administration.', 'email_changed_logout' => 'Until you verify your email address, you cannot login.', 'login_with_new_email' => 'You can now login with your new email address.', 'login_with_old_email' => 'You can now login with your old email address again.', @@ -907,6 +907,10 @@ return [ 'updated_user' => 'User data has been changed.', 'delete_user' => 'Delete user :email', 'user_deleted' => 'The user has been deleted', + 'send_test_email' => 'Send test email message', + 'send_test_email_text' => 'To see if your installation is capable of sending email, please press this button. You will not see an error here (if any), the log files will reflect any errors. You can press this button as many times as you like. There is no spam control. The message will be sent to :email and should arrive shortly.', + 'send_message' => 'Send message', + 'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.', // links 'journal_link_configuration' => 'Instellingen voor transactiekoppelingen', From 2608e1ae74aaeaaa8281e8436c21bf599bc9fcb9 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 15:51:43 +0200 Subject: [PATCH 281/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index fccb9615a1..281438f250 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -425,7 +425,7 @@ return [ 'regenerate_access_token' => 'Regenerate access token', 'token_regenerated' => 'A new token was generated', 'change_your_email' => 'Change your email address', - 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. You can test this in the Administration.', + 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the Administration.', 'email_changed_logout' => 'Until you verify your email address, you cannot login.', 'login_with_new_email' => 'You can now login with your new email address.', 'login_with_old_email' => 'You can now login with your old email address again.', @@ -907,6 +907,10 @@ return [ 'updated_user' => 'User data has been changed.', 'delete_user' => 'Delete user :email', 'user_deleted' => 'The user has been deleted', + 'send_test_email' => 'Send test email message', + 'send_test_email_text' => 'To see if your installation is capable of sending email, please press this button. You will not see an error here (if any), the log files will reflect any errors. You can press this button as many times as you like. There is no spam control. The message will be sent to :email and should arrive shortly.', + 'send_message' => 'Send message', + 'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.', // links 'journal_link_configuration' => 'Configuration des liens de transaction', From 7963e511b92768044cad84b402af49d38685ac50 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 15:51:50 +0200 Subject: [PATCH 282/349] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index e80b236376..c4ffa19a8c 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -426,7 +426,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'regenerate_access_token' => 'Regenerate access token', 'token_regenerated' => 'A new token was generated', 'change_your_email' => 'Change your email address', - 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. You can test this in the Administration.', + 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the Administration.', 'email_changed_logout' => 'Until you verify your email address, you cannot login.', 'login_with_new_email' => 'You can now login with your new email address.', 'login_with_old_email' => 'You can now login with your old email address again.', @@ -908,6 +908,10 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'updated_user' => 'User data has been changed.', 'delete_user' => 'Delete user :email', 'user_deleted' => 'The user has been deleted', + 'send_test_email' => 'Send test email message', + 'send_test_email_text' => 'To see if your installation is capable of sending email, please press this button. You will not see an error here (if any), the log files will reflect any errors. You can press this button as many times as you like. There is no spam control. The message will be sent to :email and should arrive shortly.', + 'send_message' => 'Send message', + 'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.', // links 'journal_link_configuration' => 'Transaction links configuration', From 95a185ec39d531f94040e5e43ec29ca8412b99c1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 15:51:55 +0200 Subject: [PATCH 283/349] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index 439ce77498..9f7e77e1ae 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -425,7 +425,7 @@ return [ 'regenerate_access_token' => 'Regenerate access token', 'token_regenerated' => 'A new token was generated', 'change_your_email' => 'Change your email address', - 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. You can test this in the Administration.', + 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the Administration.', 'email_changed_logout' => 'Until you verify your email address, you cannot login.', 'login_with_new_email' => 'You can now login with your new email address.', 'login_with_old_email' => 'You can now login with your old email address again.', @@ -907,6 +907,10 @@ return [ 'updated_user' => 'User data has been changed.', 'delete_user' => 'Delete user :email', 'user_deleted' => 'The user has been deleted', + 'send_test_email' => 'Send test email message', + 'send_test_email_text' => 'To see if your installation is capable of sending email, please press this button. You will not see an error here (if any), the log files will reflect any errors. You can press this button as many times as you like. There is no spam control. The message will be sent to :email and should arrive shortly.', + 'send_message' => 'Send message', + 'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.', // links 'journal_link_configuration' => 'Transaction links configuration', From f157eff2c3143a3de71f8c7b6b5565954662dd79 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 15:52:01 +0200 Subject: [PATCH 284/349] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index 3441054c4b..8a92142d2c 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -425,7 +425,7 @@ return [ 'regenerate_access_token' => 'Regenerate access token', 'token_regenerated' => 'A new token was generated', 'change_your_email' => 'Change your email address', - 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. You can test this in the Administration.', + 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the Administration.', 'email_changed_logout' => 'Until you verify your email address, you cannot login.', 'login_with_new_email' => 'You can now login with your new email address.', 'login_with_old_email' => 'You can now login with your old email address again.', @@ -907,6 +907,10 @@ return [ 'updated_user' => 'User data has been changed.', 'delete_user' => 'Delete user :email', 'user_deleted' => 'The user has been deleted', + 'send_test_email' => 'Send test email message', + 'send_test_email_text' => 'To see if your installation is capable of sending email, please press this button. You will not see an error here (if any), the log files will reflect any errors. You can press this button as many times as you like. There is no spam control. The message will be sent to :email and should arrive shortly.', + 'send_message' => 'Send message', + 'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.', // links 'journal_link_configuration' => 'Transaction links configuration', From 75f64225ee222dcf4478f4a3dfbdd274139ce0f4 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 15:52:07 +0200 Subject: [PATCH 285/349] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index b9410cf725..bf6942f817 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -425,7 +425,7 @@ return [ 'regenerate_access_token' => 'Regenerate access token', 'token_regenerated' => 'A new token was generated', 'change_your_email' => 'Change your email address', - 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. You can test this in the Administration.', + 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the Administration.', 'email_changed_logout' => 'Until you verify your email address, you cannot login.', 'login_with_new_email' => 'You can now login with your new email address.', 'login_with_old_email' => 'You can now login with your old email address again.', @@ -907,6 +907,10 @@ return [ 'updated_user' => 'User data has been changed.', 'delete_user' => 'Delete user :email', 'user_deleted' => 'The user has been deleted', + 'send_test_email' => 'Send test email message', + 'send_test_email_text' => 'To see if your installation is capable of sending email, please press this button. You will not see an error here (if any), the log files will reflect any errors. You can press this button as many times as you like. There is no spam control. The message will be sent to :email and should arrive shortly.', + 'send_message' => 'Send message', + 'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.', // links 'journal_link_configuration' => 'Transaction links configuration', From 12ceecd57b0a0e4e35b20111ba27700d299407a6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 27 Sep 2017 15:52:11 +0200 Subject: [PATCH 286/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index 69ec7d9e7b..f4ad1dd74d 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -425,7 +425,7 @@ return [ 'regenerate_access_token' => 'Regenerate access token', 'token_regenerated' => 'A new token was generated', 'change_your_email' => 'Change your email address', - 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. You can test this in the Administration.', + 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the Administration.', 'email_changed_logout' => 'Until you verify your email address, you cannot login.', 'login_with_new_email' => 'You can now login with your new email address.', 'login_with_old_email' => 'You can now login with your old email address again.', @@ -907,6 +907,10 @@ return [ 'updated_user' => 'User data has been changed.', 'delete_user' => 'Delete user :email', 'user_deleted' => 'The user has been deleted', + 'send_test_email' => 'Send test email message', + 'send_test_email_text' => 'To see if your installation is capable of sending email, please press this button. You will not see an error here (if any), the log files will reflect any errors. You can press this button as many times as you like. There is no spam control. The message will be sent to :email and should arrive shortly.', + 'send_message' => 'Send message', + 'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.', // links 'journal_link_configuration' => 'Transaction links configuration', From c19c7c680bd7df2798330e9c742cb2bc4f5db7f8 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 08:17:32 +0200 Subject: [PATCH 287/349] Small improvements to bunq import. --- app/Services/Bunq/Request/BunqRequest.php | 9 +++++++++ app/Support/Import/Prerequisites/BunqPrerequisites.php | 1 - resources/lang/en_US/bank.php | 6 ++++++ resources/lang/en_US/form.php | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 resources/lang/en_US/bank.php diff --git a/app/Services/Bunq/Request/BunqRequest.php b/app/Services/Bunq/Request/BunqRequest.php index 7ee19f807c..fc67efaf0f 100644 --- a/app/Services/Bunq/Request/BunqRequest.php +++ b/app/Services/Bunq/Request/BunqRequest.php @@ -40,6 +40,15 @@ abstract class BunqRequest 'x-bunq-client-request-id' => 'X-Bunq-Client-Request-Id', ]; + /** + * @return ServerPublicKey + */ + public function getServerPublicKey(): ServerPublicKey + { + return $this->serverPublicKey; + } + + /** * BunqRequest constructor. */ diff --git a/app/Support/Import/Prerequisites/BunqPrerequisites.php b/app/Support/Import/Prerequisites/BunqPrerequisites.php index 2171b76203..8cd8da9697 100644 --- a/app/Support/Import/Prerequisites/BunqPrerequisites.php +++ b/app/Support/Import/Prerequisites/BunqPrerequisites.php @@ -68,7 +68,6 @@ class BunqPrerequisites implements PrerequisitesInterface { $apiKey = Preferences::getForUser($this->user, 'bunq_api_key', false); - return ($apiKey->data === false || is_null($apiKey->data)); } diff --git a/resources/lang/en_US/bank.php b/resources/lang/en_US/bank.php new file mode 100644 index 0000000000..11f05b3785 --- /dev/null +++ b/resources/lang/en_US/bank.php @@ -0,0 +1,6 @@ + 'Prerequisites for an import from bunq', + 'bunq_prerequisites_text' => 'In order to import from bunq, you need to obtain an API key. You can do this through the app.', +]; \ No newline at end of file diff --git a/resources/lang/en_US/form.php b/resources/lang/en_US/form.php index 890a940ead..9f8562113c 100644 --- a/resources/lang/en_US/form.php +++ b/resources/lang/en_US/form.php @@ -69,6 +69,7 @@ return [ 'native_amount' => 'Native amount', 'new_email_address' => 'New email address', 'verification' => 'Verification', + 'api_key' => 'API key', 'source_account_asset' => 'Source account (asset account)', 'destination_account_expense' => 'Destination account (expense account)', From 69b454da7d6639d71791f6b162af27033f5354ef Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 08:20:17 +0200 Subject: [PATCH 288/349] New translations form.php (Russian) --- resources/lang/ru_RU/form.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/ru_RU/form.php b/resources/lang/ru_RU/form.php index f68d1ea240..076ee6a02c 100644 --- a/resources/lang/ru_RU/form.php +++ b/resources/lang/ru_RU/form.php @@ -69,6 +69,7 @@ return [ 'native_amount' => 'Native amount', 'new_email_address' => 'New email address', 'verification' => 'Verification', + 'api_key' => 'API key', 'source_account_asset' => 'Source account (asset account)', 'destination_account_expense' => 'Destination account (expense account)', From b1ea6f559555cdb8c7ef53f5686469513af1396e Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 08:20:30 +0200 Subject: [PATCH 289/349] New translations form.php (Spanish) --- resources/lang/es_ES/form.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/es_ES/form.php b/resources/lang/es_ES/form.php index 51e2e9dc8a..dcd1ac31d5 100644 --- a/resources/lang/es_ES/form.php +++ b/resources/lang/es_ES/form.php @@ -69,6 +69,7 @@ return [ 'native_amount' => 'Native amount', 'new_email_address' => 'New email address', 'verification' => 'Verification', + 'api_key' => 'API key', 'source_account_asset' => 'Source account (asset account)', 'destination_account_expense' => 'Destination account (expense account)', From e9afd2137565eed8b656cb0a2627288a9bac3fc1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 08:20:31 +0200 Subject: [PATCH 290/349] New translations form.php (Slovenian) --- resources/lang/sl_SI/form.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/sl_SI/form.php b/resources/lang/sl_SI/form.php index 1ed865e738..29500b6af4 100644 --- a/resources/lang/sl_SI/form.php +++ b/resources/lang/sl_SI/form.php @@ -69,6 +69,7 @@ return [ 'native_amount' => 'Native amount', 'new_email_address' => 'New email address', 'verification' => 'Verification', + 'api_key' => 'API key', 'source_account_asset' => 'vir (premoženjski račun)', 'destination_account_expense' => 'ciljni konto (stroški)', From 07e2c1000c03c8a408c29e7ad2992b6dff30cb0b Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 08:20:34 +0200 Subject: [PATCH 291/349] New translations form.php (Portuguese, Brazilian) --- resources/lang/pt_BR/form.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/pt_BR/form.php b/resources/lang/pt_BR/form.php index 6281d0d01f..d7522bcf9d 100644 --- a/resources/lang/pt_BR/form.php +++ b/resources/lang/pt_BR/form.php @@ -69,6 +69,7 @@ return [ 'native_amount' => 'Native amount', 'new_email_address' => 'New email address', 'verification' => 'Verification', + 'api_key' => 'API key', 'source_account_asset' => 'Conta de origem (conta de ativo)', 'destination_account_expense' => 'Conta de destino (conta de despesa)', From c8bf7e9c28afda9e9501b929efd16db8df56fa14 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 08:20:35 +0200 Subject: [PATCH 292/349] New translations form.php (Polish) --- resources/lang/pl_PL/form.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/pl_PL/form.php b/resources/lang/pl_PL/form.php index c70816c3e9..24abfeea89 100644 --- a/resources/lang/pl_PL/form.php +++ b/resources/lang/pl_PL/form.php @@ -69,6 +69,7 @@ return [ 'native_amount' => 'Źródłowa kwota', 'new_email_address' => 'New email address', 'verification' => 'Verification', + 'api_key' => 'API key', 'source_account_asset' => 'Konto źródłowe (konto aktywów)', 'destination_account_expense' => 'Konto docelowe (konto wydatków)', From eee4909755009ddf329315b3c84f31d3f852950f Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 08:20:48 +0200 Subject: [PATCH 293/349] New translations form.php (German) --- resources/lang/de_DE/form.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/de_DE/form.php b/resources/lang/de_DE/form.php index 28f4efdc54..184fadfce0 100644 --- a/resources/lang/de_DE/form.php +++ b/resources/lang/de_DE/form.php @@ -69,6 +69,7 @@ return [ 'native_amount' => 'Nativer Betrag', 'new_email_address' => 'New email address', 'verification' => 'Verification', + 'api_key' => 'API key', 'source_account_asset' => 'Quellkonto (Bestandskonto)', 'destination_account_expense' => 'Zielkonto (Unkostenkonto)', From 04efdf75db7f7d34758eb540314a58f9d0ccf3a6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 08:20:49 +0200 Subject: [PATCH 294/349] New translations form.php (French) --- resources/lang/fr_FR/form.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/fr_FR/form.php b/resources/lang/fr_FR/form.php index 1369a1b7e0..9397f238af 100644 --- a/resources/lang/fr_FR/form.php +++ b/resources/lang/fr_FR/form.php @@ -69,6 +69,7 @@ return [ 'native_amount' => 'Montant natif', 'new_email_address' => 'New email address', 'verification' => 'Verification', + 'api_key' => 'API key', 'source_account_asset' => 'Compte source (compte d\'actif)', 'destination_account_expense' => 'Compte de destination (compte de dépenses)', From 1fc54f520701b594f9386d0a228f7ad5685922ef Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 08:20:50 +0200 Subject: [PATCH 295/349] New translations form.php (Dutch) --- resources/lang/nl_NL/form.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/nl_NL/form.php b/resources/lang/nl_NL/form.php index e18dbd7b36..bc4143791e 100644 --- a/resources/lang/nl_NL/form.php +++ b/resources/lang/nl_NL/form.php @@ -69,6 +69,7 @@ return [ 'native_amount' => 'Origineel bedrag', 'new_email_address' => 'New email address', 'verification' => 'Verification', + 'api_key' => 'API key', 'source_account_asset' => 'Bronrekening (betaalrekening)', 'destination_account_expense' => 'Doelrekening (crediteur)', From fd1feadc67fd7ce5c98b67e48c2a2e96a0437b75 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 08:59:40 +0200 Subject: [PATCH 296/349] Fix #826 --- resources/lang/en_US/firefly.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index d610a122c6..ccf0183f78 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -947,6 +947,17 @@ return [ 'delete_journal_link' => 'Delete the link between :source and :destination', 'deleted_link' => 'Deleted link', + // link translations: + 'relates to_inward' => 'relates to', + 'is (partially) refunded by_inward' => 'is (partially) refunded by', + 'is (partially) paid for by_inward' => 'is (partially) paid for by', + 'is (partially) reimbursed by_inward' => 'is (partially) reimbursed by', + 'relates to_outward' => 'relates to', + '(partially) refunds_outward' => '(partially) refunds', + '(partially) pays for_outward' => '(partially) pays for', + '(partially) reimburses_outward' => '(partially) reimburses', + + // split a transaction: 'splits' => 'Splits', 'add_another_split' => 'Add another split', From aaac47ebfc24f718840e0d2a161a970c215e15ef Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 08:59:59 +0200 Subject: [PATCH 297/349] Icons will not break [skip ci] --- resources/views/list/bills.twig | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/resources/views/list/bills.twig b/resources/views/list/bills.twig index 0a090d656d..85c2c05431 100644 --- a/resources/views/list/bills.twig +++ b/resources/views/list/bills.twig @@ -16,10 +16,7 @@ {% for entry in bills %} -
    - - -
    +
    {{ entry.name }} From f8a1e9b6d5d1a7e7ae6865ff7929ebc8fc86161a Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:00:17 +0200 Subject: [PATCH 298/349] New translations bank.php (Dutch) --- resources/lang/nl_NL/bank.php | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 resources/lang/nl_NL/bank.php diff --git a/resources/lang/nl_NL/bank.php b/resources/lang/nl_NL/bank.php new file mode 100644 index 0000000000..11f05b3785 --- /dev/null +++ b/resources/lang/nl_NL/bank.php @@ -0,0 +1,6 @@ + 'Prerequisites for an import from bunq', + 'bunq_prerequisites_text' => 'In order to import from bunq, you need to obtain an API key. You can do this through the app.', +]; \ No newline at end of file From b70861df302a5bd30a40c4f5939071b133923ff8 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:00:18 +0200 Subject: [PATCH 299/349] New translations bank.php (French) --- resources/lang/fr_FR/bank.php | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 resources/lang/fr_FR/bank.php diff --git a/resources/lang/fr_FR/bank.php b/resources/lang/fr_FR/bank.php new file mode 100644 index 0000000000..11f05b3785 --- /dev/null +++ b/resources/lang/fr_FR/bank.php @@ -0,0 +1,6 @@ + 'Prerequisites for an import from bunq', + 'bunq_prerequisites_text' => 'In order to import from bunq, you need to obtain an API key. You can do this through the app.', +]; \ No newline at end of file From 9a86b907d7ece12cb01b3dd2ff40e298f9e85b6f Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:00:19 +0200 Subject: [PATCH 300/349] New translations bank.php (German) --- resources/lang/de_DE/bank.php | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 resources/lang/de_DE/bank.php diff --git a/resources/lang/de_DE/bank.php b/resources/lang/de_DE/bank.php new file mode 100644 index 0000000000..11f05b3785 --- /dev/null +++ b/resources/lang/de_DE/bank.php @@ -0,0 +1,6 @@ + 'Prerequisites for an import from bunq', + 'bunq_prerequisites_text' => 'In order to import from bunq, you need to obtain an API key. You can do this through the app.', +]; \ No newline at end of file From 8c116862e2c433b464d49eafb3b731af0eff702a Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:00:20 +0200 Subject: [PATCH 301/349] New translations bank.php (Polish) --- resources/lang/pl_PL/bank.php | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 resources/lang/pl_PL/bank.php diff --git a/resources/lang/pl_PL/bank.php b/resources/lang/pl_PL/bank.php new file mode 100644 index 0000000000..11f05b3785 --- /dev/null +++ b/resources/lang/pl_PL/bank.php @@ -0,0 +1,6 @@ + 'Prerequisites for an import from bunq', + 'bunq_prerequisites_text' => 'In order to import from bunq, you need to obtain an API key. You can do this through the app.', +]; \ No newline at end of file From dee681ed2a3947c63d01a56b154d45158dd0fbe6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:00:22 +0200 Subject: [PATCH 302/349] New translations bank.php (Spanish) --- resources/lang/es_ES/bank.php | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 resources/lang/es_ES/bank.php diff --git a/resources/lang/es_ES/bank.php b/resources/lang/es_ES/bank.php new file mode 100644 index 0000000000..11f05b3785 --- /dev/null +++ b/resources/lang/es_ES/bank.php @@ -0,0 +1,6 @@ + 'Prerequisites for an import from bunq', + 'bunq_prerequisites_text' => 'In order to import from bunq, you need to obtain an API key. You can do this through the app.', +]; \ No newline at end of file From 366a618d00a488fc2179de16db53b2a42ce231b1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:00:22 +0200 Subject: [PATCH 303/349] New translations bank.php (Slovenian) --- resources/lang/sl_SI/bank.php | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 resources/lang/sl_SI/bank.php diff --git a/resources/lang/sl_SI/bank.php b/resources/lang/sl_SI/bank.php new file mode 100644 index 0000000000..11f05b3785 --- /dev/null +++ b/resources/lang/sl_SI/bank.php @@ -0,0 +1,6 @@ + 'Prerequisites for an import from bunq', + 'bunq_prerequisites_text' => 'In order to import from bunq, you need to obtain an API key. You can do this through the app.', +]; \ No newline at end of file From 9823603a0c35c89f9d9b28a96225a2ff59f20b03 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:00:23 +0200 Subject: [PATCH 304/349] New translations bank.php (Russian) --- resources/lang/ru_RU/bank.php | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 resources/lang/ru_RU/bank.php diff --git a/resources/lang/ru_RU/bank.php b/resources/lang/ru_RU/bank.php new file mode 100644 index 0000000000..11f05b3785 --- /dev/null +++ b/resources/lang/ru_RU/bank.php @@ -0,0 +1,6 @@ + 'Prerequisites for an import from bunq', + 'bunq_prerequisites_text' => 'In order to import from bunq, you need to obtain an API key. You can do this through the app.', +]; \ No newline at end of file From b11ea13b1d417f84163ce7cd4a445011add567a8 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:00:24 +0200 Subject: [PATCH 305/349] New translations bank.php (Portuguese, Brazilian) --- resources/lang/pt_BR/bank.php | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 resources/lang/pt_BR/bank.php diff --git a/resources/lang/pt_BR/bank.php b/resources/lang/pt_BR/bank.php new file mode 100644 index 0000000000..11f05b3785 --- /dev/null +++ b/resources/lang/pt_BR/bank.php @@ -0,0 +1,6 @@ + 'Prerequisites for an import from bunq', + 'bunq_prerequisites_text' => 'In order to import from bunq, you need to obtain an API key. You can do this through the app.', +]; \ No newline at end of file From c5fdeacc872594fef58e19150217ebfd59d6b275 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:00:30 +0200 Subject: [PATCH 306/349] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index 2d4e20e586..9f7001e0e6 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -947,6 +947,17 @@ return [ 'delete_journal_link' => 'Delete the link between :source and :destination', 'deleted_link' => 'Deleted link', + // link translations: + 'relates to_inward' => 'relates to', + 'is (partially) refunded by_inward' => 'is (partially) refunded by', + 'is (partially) paid for by_inward' => 'is (partially) paid for by', + 'is (partially) reimbursed by_inward' => 'is (partially) reimbursed by', + 'relates to_outward' => 'relates to', + '(partially) refunds_outward' => '(partially) refunds', + '(partially) pays for_outward' => '(partially) pays for', + '(partially) reimburses_outward' => '(partially) reimburses', + + // split a transaction: 'splits' => 'Splits', 'add_another_split' => 'Add another split', From 0514258290ccf35b9f978161de3db0e64c77c0af Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:00:54 +0200 Subject: [PATCH 307/349] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index c4ffa19a8c..96aa7449c7 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -948,6 +948,17 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'delete_journal_link' => 'Delete the link between :source and :destination', 'deleted_link' => 'Deleted link', + // link translations: + 'relates to_inward' => 'relates to', + 'is (partially) refunded by_inward' => 'is (partially) refunded by', + 'is (partially) paid for by_inward' => 'is (partially) paid for by', + 'is (partially) reimbursed by_inward' => 'is (partially) reimbursed by', + 'relates to_outward' => 'relates to', + '(partially) refunds_outward' => '(partially) refunds', + '(partially) pays for_outward' => '(partially) pays for', + '(partially) reimburses_outward' => '(partially) reimburses', + + // split a transaction: 'splits' => 'Geteilte', 'add_another_split' => 'Eine weitere Aufteilung hinzufügen', From dae3c4ccc79139a433f9bd2d1a9e6b3a9e6f5e38 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:00:57 +0200 Subject: [PATCH 308/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index f4ad1dd74d..6f0985bf49 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -947,6 +947,17 @@ return [ 'delete_journal_link' => 'Usuń powiązanie między :source a :destination', 'deleted_link' => 'Usunięto powiązanie', + // link translations: + 'relates to_inward' => 'relates to', + 'is (partially) refunded by_inward' => 'is (partially) refunded by', + 'is (partially) paid for by_inward' => 'is (partially) paid for by', + 'is (partially) reimbursed by_inward' => 'is (partially) reimbursed by', + 'relates to_outward' => 'relates to', + '(partially) refunds_outward' => '(partially) refunds', + '(partially) pays for_outward' => '(partially) pays for', + '(partially) reimburses_outward' => '(partially) reimburses', + + // split a transaction: 'splits' => 'Podziały', 'add_another_split' => 'Dodaj kolejny podział', From 8b36c17e30557f427305f58a978512ebcc080ccc Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:01:00 +0200 Subject: [PATCH 309/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 281438f250..59ce7ff571 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -947,6 +947,17 @@ return [ 'delete_journal_link' => 'Supprimez le lien entre :source et :destination', 'deleted_link' => 'Lien supprimé', + // link translations: + 'relates to_inward' => 'relates to', + 'is (partially) refunded by_inward' => 'is (partially) refunded by', + 'is (partially) paid for by_inward' => 'is (partially) paid for by', + 'is (partially) reimbursed by_inward' => 'is (partially) reimbursed by', + 'relates to_outward' => 'relates to', + '(partially) refunds_outward' => '(partially) refunds', + '(partially) pays for_outward' => '(partially) pays for', + '(partially) reimburses_outward' => '(partially) reimburses', + + // split a transaction: 'splits' => 'Scinder', 'add_another_split' => 'Ajouter une autre fraction', From 2a2c6335a5664b93f432b628b6ad376e83b8e7bc Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:01:04 +0200 Subject: [PATCH 310/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index 80c56c0ebe..c66749819f 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -947,6 +947,17 @@ return [ 'delete_journal_link' => 'Verwijder de koppeling tussen :source en :destination', 'deleted_link' => 'Koppeling verwijderd', + // link translations: + 'relates to_inward' => 'relates to', + 'is (partially) refunded by_inward' => 'is (partially) refunded by', + 'is (partially) paid for by_inward' => 'is (partially) paid for by', + 'is (partially) reimbursed by_inward' => 'is (partially) reimbursed by', + 'relates to_outward' => 'relates to', + '(partially) refunds_outward' => '(partially) refunds', + '(partially) pays for_outward' => '(partially) pays for', + '(partially) reimburses_outward' => '(partially) reimburses', + + // split a transaction: 'splits' => 'Splitten', 'add_another_split' => 'Voeg een split toe', From ffe9eaaae52be11a7bfe42d10ae989f701c4b1a2 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:01:07 +0200 Subject: [PATCH 311/349] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index bf6942f817..6b37a94b67 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -947,6 +947,17 @@ return [ 'delete_journal_link' => 'Delete the link between :source and :destination', 'deleted_link' => 'Deleted link', + // link translations: + 'relates to_inward' => 'relates to', + 'is (partially) refunded by_inward' => 'is (partially) refunded by', + 'is (partially) paid for by_inward' => 'is (partially) paid for by', + 'is (partially) reimbursed by_inward' => 'is (partially) reimbursed by', + 'relates to_outward' => 'relates to', + '(partially) refunds_outward' => '(partially) refunds', + '(partially) pays for_outward' => '(partially) pays for', + '(partially) reimburses_outward' => '(partially) reimburses', + + // split a transaction: 'splits' => 'Divide-se', 'add_another_split' => 'Adicionar outra divisão', From 2a4f6d6f1f6f24ac7919ba74ac3f6130cc7d4a15 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:01:10 +0200 Subject: [PATCH 312/349] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index 8a92142d2c..34542d1864 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -947,6 +947,17 @@ return [ 'delete_journal_link' => 'Delete the link between :source and :destination', 'deleted_link' => 'Deleted link', + // link translations: + 'relates to_inward' => 'relates to', + 'is (partially) refunded by_inward' => 'is (partially) refunded by', + 'is (partially) paid for by_inward' => 'is (partially) paid for by', + 'is (partially) reimbursed by_inward' => 'is (partially) reimbursed by', + 'relates to_outward' => 'relates to', + '(partially) refunds_outward' => '(partially) refunds', + '(partially) pays for_outward' => '(partially) pays for', + '(partially) reimburses_outward' => '(partially) reimburses', + + // split a transaction: 'splits' => 'Splits', 'add_another_split' => 'Add another split', From 0b36facec3dfc11cb515bc31e6ce25102fcb19b0 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Sep 2017 09:01:14 +0200 Subject: [PATCH 313/349] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index 9f7e77e1ae..ca95ecbfe8 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -947,6 +947,17 @@ return [ 'delete_journal_link' => 'Delete the link between :source and :destination', 'deleted_link' => 'Deleted link', + // link translations: + 'relates to_inward' => 'relates to', + 'is (partially) refunded by_inward' => 'is (partially) refunded by', + 'is (partially) paid for by_inward' => 'is (partially) paid for by', + 'is (partially) reimbursed by_inward' => 'is (partially) reimbursed by', + 'relates to_outward' => 'relates to', + '(partially) refunds_outward' => '(partially) refunds', + '(partially) pays for_outward' => '(partially) pays for', + '(partially) reimburses_outward' => '(partially) reimburses', + + // split a transaction: 'splits' => 'Splits', 'add_another_split' => 'Add another split', From 76ed261441ce9120f42cf078560c735b935163d8 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 08:52:15 +0200 Subject: [PATCH 314/349] A basic box for #786 --- app/Http/Controllers/BudgetController.php | 53 ++++++++++++++++ config/intro.php | 1 + public/js/ff/budgets/index.js | 76 ++++++++++++++--------- resources/lang/en_US/firefly.php | 7 +++ resources/lang/en_US/intro.php | 1 + resources/views/budgets/index.twig | 8 ++- resources/views/budgets/info.twig | 46 ++++++++++++++ routes/web.php | 3 +- 8 files changed, 163 insertions(+), 32 deletions(-) create mode 100644 resources/views/budgets/info.twig diff --git a/app/Http/Controllers/BudgetController.php b/app/Http/Controllers/BudgetController.php index 20dc8e3311..647e5d9ffc 100644 --- a/app/Http/Controllers/BudgetController.php +++ b/app/Http/Controllers/BudgetController.php @@ -245,6 +245,59 @@ class BudgetController extends Controller ); } + /** + * @param Carbon $start + * @param Carbon $end + * + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public function infoIncome(Carbon $start, Carbon $end) + { + // properties for cache + $cache = new CacheProperties; + $cache->addProperty($start); + $cache->addProperty($end); + $cache->addProperty('info-income'); + + if ($cache->has()) { + $result = $cache->get(); // @codeCoverageIgnore + } + if (!$cache->has()) { + $result = [ + 'available' => '0', + 'earned' => '0', + 'suggested' => '0', + ]; + $currency = Amount::getDefaultCurrency(); + $range = Preferences::get('viewRange', '1M')->data; + $begin = Navigation::subtractPeriod($start, $range, 3); + + // get average amount available. + $total = '0'; + $count = 0; + $currentStart = clone $begin; + while ($currentStart < $start) { + $currentEnd = Navigation::endOfPeriod($currentStart, $range); + $total = bcadd($total, $this->repository->getAvailableBudget($currency, $currentStart, $currentEnd)); + $currentStart = Navigation::addPeriod($currentStart, $range, 0); + $count++; + } + $result['available'] = bcdiv($total, strval($count)); + + // amount earned in this period: + $subDay = clone $end; + $subDay->subDay(); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class); + $collector->setAllAssetAccounts()->setRange($begin, $subDay)->setTypes([TransactionType::DEPOSIT])->withOpposingAccount(); + $result['earned'] = bcdiv(strval($collector->getJournals()->sum('transaction_amount')),strval($count)); + $cache->store($result); + } + + + return view('budgets.info', compact('result', 'begin', 'currentEnd')); + } + /** * @param Request $request * @param JournalRepositoryInterface $repository diff --git a/config/intro.php b/config/intro.php index 05c861e4d6..99205178b2 100644 --- a/config/intro.php +++ b/config/intro.php @@ -42,6 +42,7 @@ return [ 'navigate_periods' => ['element' => '#periodNavigator'], 'new_budget' => ['element' => '#createBudgetBox'], 'list_of_budgets' => ['element' => '#budgetList'], + 'outro' => [], ], // reports: index, default report, audit, budget, cat, tag diff --git a/public/js/ff/budgets/index.js b/public/js/ff/budgets/index.js index e855f441c7..79cfd64722 100644 --- a/public/js/ff/budgets/index.js +++ b/public/js/ff/budgets/index.js @@ -10,6 +10,37 @@ /** global: spent, budgeted, available, currencySymbol, budgetIndexUri, updateIncomeUri, periodStart, periodEnd, budgetAmountUri, accounting */ +/** + * + */ +$(function () { + "use strict"; + + $('.updateIncome').on('click', updateIncome); + $('.infoIncome').on('click', infoIncome); + + /* + On start, fill the "spent"-bar using the content from the page. + */ + drawSpentBar(); + drawBudgetedBar(); + + /* + When the input changes, update the percentages for the budgeted bar: + */ + $('input[type="number"]').on('input', updateBudgetedAmounts); + + // + $('.selectPeriod').change(function (e) { + var sel = $(e.target).val(); + if (sel !== "x") { + var newUri = budgetIndexUri.replace("REPLACE", sel); + window.location.assign(newUri); + } + }); + +}); + function drawSpentBar() { "use strict"; if ($('.spentBar').length > 0) { @@ -55,6 +86,10 @@ function drawBudgetedBar() { } } +/** + * + * @param e + */ function updateBudgetedAmounts(e) { "use strict"; var target = $(e.target); @@ -90,7 +125,7 @@ function updateBudgetedAmounts(e) { // send a post to Firefly to update the amount: var newUri = budgetAmountUri.replace("REPLACE", id); - $.post(newUri, {amount: value,start: periodStart, end: periodEnd}).done(function (data) { + $.post(newUri, {amount: value, start: periodStart, end: periodEnd}).done(function (data) { // update the link if relevant: if (data.repetition > 0) { $('.budget-link[data-id="' + id + '"]').attr('href', 'budgets/show/' + id + '/' + data.repetition); @@ -101,33 +136,10 @@ function updateBudgetedAmounts(e) { } } -$(function () { - "use strict"; - - $('.updateIncome').on('click', updateIncome); - - /* - On start, fill the "spent"-bar using the content from the page. - */ - drawSpentBar(); - drawBudgetedBar(); - - /* - When the input changes, update the percentages for the budgeted bar: - */ - $('input[type="number"]').on('input', updateBudgetedAmounts); - - // - $('.selectPeriod').change(function (e) { - var sel = $(e.target).val(); - if (sel !== "x") { - var newUri = budgetIndexUri.replace("REPLACE", sel); - window.location.assign(newUri); - } - }); - -}); - +/** + * + * @returns {boolean} + */ function updateIncome() { "use strict"; $('#defaultModal').empty().load(updateIncomeUri, function () { @@ -136,3 +148,11 @@ function updateIncome() { return false; } + +function infoIncome() { + $('#defaultModal').empty().load(infoIncomeUri, function () { + $('#defaultModal').modal('show'); + }); + + return false; +} diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index ccf0183f78..792f93d839 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -532,6 +532,13 @@ return [ 'update_budget' => 'Update budget', 'update_budget_amount_range' => 'Update (expected) available amount between :start and :end', 'budget_period_navigator' => 'Period navigator', + 'info_on_available_amount' => 'What do I have available?', + 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', + 'amount_budgeted' => 'Amount budgeted', + 'amount_earned' => 'Amount earned', + 'suggested' => 'Suggested', + 'average_between' => 'Average between :start and :end', + // bills: 'matching_on' => 'Matching on', diff --git a/resources/lang/en_US/intro.php b/resources/lang/en_US/intro.php index 02a0eead23..0fe735125b 100644 --- a/resources/lang/en_US/intro.php +++ b/resources/lang/en_US/intro.php @@ -31,6 +31,7 @@ return [ 'budgets_index_navigate_periods' => 'Navigate through periods to easily set budgets ahead of time.', 'budgets_index_new_budget' => 'Create new budgets as you see fit.', 'budgets_index_list_of_budgets' => 'Use this table to set the amounts for each budget and see how you are doing.', + 'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.', // reports (index) 'reports_index_intro' => 'Use these reports to get detailed insights in your finances.', diff --git a/resources/views/budgets/index.twig b/resources/views/budgets/index.twig index 74a26a5e5b..f150edb26a 100644 --- a/resources/views/budgets/index.twig +++ b/resources/views/budgets/index.twig @@ -16,10 +16,11 @@
    {{ 'budgeted'|_ }}: {{ budgeted|formatAmountPlain }}
    -
    +
    {{ trans('firefly.available_between',{start : periodStart, end: periodEnd }) }}: - {{ available|formatAmountPlain }} + {{ available|formatAmountPlain }} + +
    @@ -232,6 +233,7 @@ var budgetIndexUri = "{{ route('budgets.index','REPLACE') }}"; var budgetAmountUri = "{{ route('budgets.amount','REPLACE') }}"; var updateIncomeUri = "{{ route('budgets.income',[start.format('Y-m-d'),end.format('Y-m-d')]) }}"; + var infoIncomeUri = "{{ route('budgets.income.info',[start.format('Y-m-d'),end.format('Y-m-d')]) }}"; var periodStart = "{{ start.format('Y-m-d') }}"; var periodEnd = "{{ end.format('Y-m-d') }}"; diff --git a/resources/views/budgets/info.twig b/resources/views/budgets/info.twig new file mode 100644 index 0000000000..3531f65b39 --- /dev/null +++ b/resources/views/budgets/info.twig @@ -0,0 +1,46 @@ + + diff --git a/routes/web.php b/routes/web.php index 026774b8b5..1b9c1c48bb 100755 --- a/routes/web.php +++ b/routes/web.php @@ -140,7 +140,8 @@ Route::group( Route::group( ['middleware' => 'user-full-auth', 'prefix' => 'budgets', 'as' => 'budgets.'], function () { - Route::get('income/{start_date}/{end_date}', ['uses' => 'BudgetController@updateIncome', 'as' => 'income']); + Route::get('income/{start_date}/{end_date}', ['uses' => 'BudgetController@updateIncome', 'as' => 'income']); + Route::get('info/{start_date}/{end_date}', ['uses' => 'BudgetController@infoIncome', 'as' => 'income.info']); Route::get('create', ['uses' => 'BudgetController@create', 'as' => 'create']); Route::get('edit/{budget}', ['uses' => 'BudgetController@edit', 'as' => 'edit']); Route::get('delete/{budget}', ['uses' => 'BudgetController@delete', 'as' => 'delete']); From 3104ee126324eea9157c9b7b3d94a5cc2e6ba31a Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:00:53 +0200 Subject: [PATCH 315/349] New translations intro.php (Spanish) --- resources/lang/es_ES/intro.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/es_ES/intro.php b/resources/lang/es_ES/intro.php index dc1c7ed940..dad9854174 100644 --- a/resources/lang/es_ES/intro.php +++ b/resources/lang/es_ES/intro.php @@ -31,6 +31,7 @@ return [ 'budgets_index_navigate_periods' => 'Navega a través de períodos para configurar fácilmente presupuestos con anticipación.', 'budgets_index_new_budget' => 'Crea nuevos presupuestos como mejor te parezca.', 'budgets_index_list_of_budgets' => 'Use this table to set the amounts for each budget and see how you are doing.', + 'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.', // reports (index) 'reports_index_intro' => 'Use these reports to get detailed insights in your finances.', From 5c8ed110f513392dac24d9c1dec18a84c410c0fe Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:00:54 +0200 Subject: [PATCH 316/349] New translations intro.php (Slovenian) --- resources/lang/sl_SI/intro.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/sl_SI/intro.php b/resources/lang/sl_SI/intro.php index 02a0eead23..0fe735125b 100644 --- a/resources/lang/sl_SI/intro.php +++ b/resources/lang/sl_SI/intro.php @@ -31,6 +31,7 @@ return [ 'budgets_index_navigate_periods' => 'Navigate through periods to easily set budgets ahead of time.', 'budgets_index_new_budget' => 'Create new budgets as you see fit.', 'budgets_index_list_of_budgets' => 'Use this table to set the amounts for each budget and see how you are doing.', + 'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.', // reports (index) 'reports_index_intro' => 'Use these reports to get detailed insights in your finances.', From 77cc04d9b3109451dc51271dbc23071e78ebf83e Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:00:56 +0200 Subject: [PATCH 317/349] New translations intro.php (Russian) --- resources/lang/ru_RU/intro.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/ru_RU/intro.php b/resources/lang/ru_RU/intro.php index 02a0eead23..0fe735125b 100644 --- a/resources/lang/ru_RU/intro.php +++ b/resources/lang/ru_RU/intro.php @@ -31,6 +31,7 @@ return [ 'budgets_index_navigate_periods' => 'Navigate through periods to easily set budgets ahead of time.', 'budgets_index_new_budget' => 'Create new budgets as you see fit.', 'budgets_index_list_of_budgets' => 'Use this table to set the amounts for each budget and see how you are doing.', + 'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.', // reports (index) 'reports_index_intro' => 'Use these reports to get detailed insights in your finances.', From c0ce65e71f294fee50208701b3cbc96c24a18054 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:00:59 +0200 Subject: [PATCH 318/349] New translations intro.php (Portuguese, Brazilian) --- resources/lang/pt_BR/intro.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/pt_BR/intro.php b/resources/lang/pt_BR/intro.php index 02a0eead23..0fe735125b 100644 --- a/resources/lang/pt_BR/intro.php +++ b/resources/lang/pt_BR/intro.php @@ -31,6 +31,7 @@ return [ 'budgets_index_navigate_periods' => 'Navigate through periods to easily set budgets ahead of time.', 'budgets_index_new_budget' => 'Create new budgets as you see fit.', 'budgets_index_list_of_budgets' => 'Use this table to set the amounts for each budget and see how you are doing.', + 'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.', // reports (index) 'reports_index_intro' => 'Use these reports to get detailed insights in your finances.', From 67c4ae5d49b53fade5dbf821d40b834c6c9c1889 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:01:01 +0200 Subject: [PATCH 319/349] New translations intro.php (Polish) --- resources/lang/pl_PL/intro.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/pl_PL/intro.php b/resources/lang/pl_PL/intro.php index 02a0eead23..0fe735125b 100644 --- a/resources/lang/pl_PL/intro.php +++ b/resources/lang/pl_PL/intro.php @@ -31,6 +31,7 @@ return [ 'budgets_index_navigate_periods' => 'Navigate through periods to easily set budgets ahead of time.', 'budgets_index_new_budget' => 'Create new budgets as you see fit.', 'budgets_index_list_of_budgets' => 'Use this table to set the amounts for each budget and see how you are doing.', + 'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.', // reports (index) 'reports_index_intro' => 'Use these reports to get detailed insights in your finances.', From 7e96f212c60b95e00d6cd4b49fb55573b617c82b Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:01:08 +0200 Subject: [PATCH 320/349] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index 9f7001e0e6..4ae40d9796 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -532,6 +532,13 @@ return [ 'update_budget' => 'Update budget', 'update_budget_amount_range' => 'Update (expected) available amount between :start and :end', 'budget_period_navigator' => 'Period navigator', + 'info_on_available_amount' => 'What do I have available?', + 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', + 'amount_budgeted' => 'Amount budgeted', + 'amount_earned' => 'Amount earned', + 'suggested' => 'Suggested', + 'average_between' => 'Average between :start and :end', + // bills: 'matching_on' => 'Matching on', From f6a162def1119de0a29fd55a1152ec84f1b5ca09 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:01:11 +0200 Subject: [PATCH 321/349] New translations intro.php (German) --- resources/lang/de_DE/intro.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/de_DE/intro.php b/resources/lang/de_DE/intro.php index 02a0eead23..0fe735125b 100644 --- a/resources/lang/de_DE/intro.php +++ b/resources/lang/de_DE/intro.php @@ -31,6 +31,7 @@ return [ 'budgets_index_navigate_periods' => 'Navigate through periods to easily set budgets ahead of time.', 'budgets_index_new_budget' => 'Create new budgets as you see fit.', 'budgets_index_list_of_budgets' => 'Use this table to set the amounts for each budget and see how you are doing.', + 'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.', // reports (index) 'reports_index_intro' => 'Use these reports to get detailed insights in your finances.', From a3732a65c94869ec572055a261ce37c1d62a3a0f Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:01:13 +0200 Subject: [PATCH 322/349] New translations intro.php (French) --- resources/lang/fr_FR/intro.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/fr_FR/intro.php b/resources/lang/fr_FR/intro.php index 0999619431..938a6b7cbf 100644 --- a/resources/lang/fr_FR/intro.php +++ b/resources/lang/fr_FR/intro.php @@ -31,6 +31,7 @@ return [ 'budgets_index_navigate_periods' => 'Navigate through periods to easily set budgets ahead of time.', 'budgets_index_new_budget' => 'Create new budgets as you see fit.', 'budgets_index_list_of_budgets' => 'Use this table to set the amounts for each budget and see how you are doing.', + 'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.', // reports (index) 'reports_index_intro' => 'Use these reports to get detailed insights in your finances.', From a1b74eaa8e63af1f19dadee02d81e0fd7db35d0a Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:01:14 +0200 Subject: [PATCH 323/349] New translations intro.php (Dutch) --- resources/lang/nl_NL/intro.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/nl_NL/intro.php b/resources/lang/nl_NL/intro.php index 34c26c0755..66812e5811 100644 --- a/resources/lang/nl_NL/intro.php +++ b/resources/lang/nl_NL/intro.php @@ -31,6 +31,7 @@ return [ 'budgets_index_navigate_periods' => 'Navigeer door periodes heen om je budget vooraf te bepalen.', 'budgets_index_new_budget' => 'Maak nieuwe budgetten naar wens.', 'budgets_index_list_of_budgets' => 'Gebruik deze tabel om de bedragen voor elk budget vast te stellen en te zien hoe je er voor staat.', + 'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.', // reports (index) 'reports_index_intro' => 'Gebruik deze rapporten om gedetailleerde inzicht in je financiën te krijgen.', From ca9a4e44b49e3c2a063b254dea25838fcfaf02a5 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:01:35 +0200 Subject: [PATCH 324/349] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index 96aa7449c7..4ea03c7409 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -533,6 +533,13 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'update_budget' => 'Budget aktualisieren', 'update_budget_amount_range' => 'Aktualisiere (erwarteten) verfügbaren Betrag zwischen :start und :end', 'budget_period_navigator' => 'Zeitraum-navigator', + 'info_on_available_amount' => 'What do I have available?', + 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', + 'amount_budgeted' => 'Amount budgeted', + 'amount_earned' => 'Amount earned', + 'suggested' => 'Suggested', + 'average_between' => 'Average between :start and :end', + // bills: 'matching_on' => 'Reagiert auf', From 2c263d6e82ddc26cf558993c2f479a6dd4047ca7 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:01:41 +0200 Subject: [PATCH 325/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index 6f0985bf49..ca941991a6 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -532,6 +532,13 @@ return [ 'update_budget' => 'Aktualizuj budżet', 'update_budget_amount_range' => 'Update (expected) available amount between :start and :end', 'budget_period_navigator' => 'Period navigator', + 'info_on_available_amount' => 'What do I have available?', + 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', + 'amount_budgeted' => 'Amount budgeted', + 'amount_earned' => 'Amount earned', + 'suggested' => 'Suggested', + 'average_between' => 'Average between :start and :end', + // bills: 'matching_on' => 'Pasuje do', From 08dcd9407b698b083ffa94dfb7195b5eba264917 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:01:47 +0200 Subject: [PATCH 326/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 59ce7ff571..61f79d3170 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -532,6 +532,13 @@ return [ 'update_budget' => 'Mettre à jour le budget', 'update_budget_amount_range' => 'Mettre à jour le montant disponible (prévu) entre le :start et le :end', 'budget_period_navigator' => 'Navigateur d\'époque', + 'info_on_available_amount' => 'What do I have available?', + 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', + 'amount_budgeted' => 'Amount budgeted', + 'amount_earned' => 'Amount earned', + 'suggested' => 'Suggested', + 'average_between' => 'Average between :start and :end', + // bills: 'matching_on' => 'Correspond à', From aa7e6166c1e61bf4802b32b95ad1e5557eb9ac0d Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:01:51 +0200 Subject: [PATCH 327/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index c66749819f..0d8bffd506 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -532,6 +532,13 @@ return [ 'update_budget' => 'Budget bijwerken', 'update_budget_amount_range' => 'Update het verwacht beschikbare bedrag tussen :start en :end', 'budget_period_navigator' => 'Periodenavigator', + 'info_on_available_amount' => 'What do I have available?', + 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', + 'amount_budgeted' => 'Amount budgeted', + 'amount_earned' => 'Amount earned', + 'suggested' => 'Suggested', + 'average_between' => 'Average between :start and :end', + // bills: 'matching_on' => 'Wordt herkend', From 3a70a8528351080350b94a3bc4170a4da3a093b0 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:01:59 +0200 Subject: [PATCH 328/349] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index 6b37a94b67..ac31e48b18 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -532,6 +532,13 @@ return [ 'update_budget' => 'Atualizar Orçamento', 'update_budget_amount_range' => 'Atualizar quantia disponível (esperada) entre :start e :end', 'budget_period_navigator' => 'Period navigator', + 'info_on_available_amount' => 'What do I have available?', + 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', + 'amount_budgeted' => 'Amount budgeted', + 'amount_earned' => 'Amount earned', + 'suggested' => 'Suggested', + 'average_between' => 'Average between :start and :end', + // bills: 'matching_on' => 'Corresponde em', From 78b76d0f65455636370f668c984e01cb43b48372 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:02:05 +0200 Subject: [PATCH 329/349] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index 34542d1864..ef97c9aca0 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -532,6 +532,13 @@ return [ 'update_budget' => 'Update budget', 'update_budget_amount_range' => 'Update (expected) available amount between :start and :end', 'budget_period_navigator' => 'Period navigator', + 'info_on_available_amount' => 'What do I have available?', + 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', + 'amount_budgeted' => 'Amount budgeted', + 'amount_earned' => 'Amount earned', + 'suggested' => 'Suggested', + 'average_between' => 'Average between :start and :end', + // bills: 'matching_on' => 'Matching on', From 47bea97c961bd1e56913482cac94a54574ba0bc1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 09:02:15 +0200 Subject: [PATCH 330/349] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index ca95ecbfe8..54c11b7f51 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -532,6 +532,13 @@ return [ 'update_budget' => 'Update budget', 'update_budget_amount_range' => 'Update (expected) available amount between :start and :end', 'budget_period_navigator' => 'Period navigator', + 'info_on_available_amount' => 'What do I have available?', + 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', + 'amount_budgeted' => 'Amount budgeted', + 'amount_earned' => 'Amount earned', + 'suggested' => 'Suggested', + 'average_between' => 'Average between :start and :end', + // bills: 'matching_on' => 'Matching on', From aa4682af6acbae6495ae655fecf43463e08c9256 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:22:40 +0200 Subject: [PATCH 331/349] Expand budget box and clear some languages. --- app/Http/Controllers/BudgetController.php | 14 +++++++++++++- app/Http/Controllers/Json/BoxController.php | 4 +++- resources/lang/en_US/firefly.php | 8 -------- resources/views/budgets/index.twig | 10 +++++----- resources/views/budgets/info.twig | 14 +++++++++++--- 5 files changed, 32 insertions(+), 18 deletions(-) diff --git a/app/Http/Controllers/BudgetController.php b/app/Http/Controllers/BudgetController.php index 647e5d9ffc..e371aeeeab 100644 --- a/app/Http/Controllers/BudgetController.php +++ b/app/Http/Controllers/BudgetController.php @@ -290,7 +290,19 @@ class BudgetController extends Controller /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); $collector->setAllAssetAccounts()->setRange($begin, $subDay)->setTypes([TransactionType::DEPOSIT])->withOpposingAccount(); - $result['earned'] = bcdiv(strval($collector->getJournals()->sum('transaction_amount')),strval($count)); + $result['earned'] = bcdiv(strval($collector->getJournals()->sum('transaction_amount')), strval($count)); + + // amount spent in period + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class); + $collector->setAllAssetAccounts()->setRange($begin, $subDay)->setTypes([TransactionType::WITHDRAWAL])->withOpposingAccount(); + $result['spent'] = bcdiv(strval($collector->getJournals()->sum('transaction_amount')), strval($count)); + // suggestion starts with the amount spent + $result['suggested'] = bcmul($result['spent'], '-1'); + $result['suggested'] = bccomp($result['suggested'], $result['earned']) === 1 ? $result['earned'] : $result['suggested']; + // unless it's more than you earned. So min() of suggested/earned + + $cache->store($result); } diff --git a/app/Http/Controllers/Json/BoxController.php b/app/Http/Controllers/Json/BoxController.php index 3bfe30b6f8..b6c7751142 100644 --- a/app/Http/Controllers/Json/BoxController.php +++ b/app/Http/Controllers/Json/BoxController.php @@ -32,7 +32,9 @@ use Response; class BoxController extends Controller { /** + * @param BudgetRepositoryInterface $repository * + * @return \Illuminate\Http\JsonResponse */ public function available(BudgetRepositoryInterface $repository) { @@ -61,7 +63,7 @@ class BoxController extends Controller if (bccomp($left, '0') === -1) { $left = '0'; } - $days = $today->diffInDays($end); + $days = $today->diffInDays($end) + 1; $perDay = '0'; if ($days !== 0) { $perDay = bcdiv($left, strval($days)); diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index 792f93d839..6e4761571a 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -83,11 +83,9 @@ return [ 'cannot_redirect_to_account' => 'Firefly III cannot redirect you to the correct page. Apologies.', 'sum_of_expenses' => 'Sum of expenses', 'sum_of_income' => 'Sum of income', - 'total_sum' => 'Total sum', 'spent_in_specific_budget' => 'Spent in budget ":budget"', 'sum_of_expenses_in_budget' => 'Spent total in budget ":budget"', 'left_in_budget_limit' => 'Left to spend according to budgeting', - 'cannot_reset_demo_user' => 'You cannot reset the password of the demonstration account', 'current_period' => 'Current period', 'show_the_current_period_and_overview' => 'Show the current period and overview', 'pref_languages_locale' => 'For a language other than English to work properly, your operating system must be equipped with the correct locale-information. If these are not present, currency data, dates and amounts may be formatted wrong.', @@ -159,7 +157,6 @@ return [ 'export_format' => 'Export format', 'export_format_csv' => 'Comma separated values (CSV file)', 'export_format_mt940' => 'MT940 compatible format', - 'export_included_accounts' => 'Export transactions from these accounts', 'include_old_uploads_help' => 'Firefly III does not throw away the original CSV files you have imported in the past. You can include them in your export.', 'do_export' => 'Export', 'export_status_never_started' => 'The export has not started yet', @@ -330,7 +327,6 @@ return [ 'location' => 'Location', 'without_date' => 'Without date', 'result' => 'Result', - 'total_result' => 'Total result', 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences @@ -462,7 +458,6 @@ return [ 'convert_options_DepositWithdrawal' => 'Convert a deposit into a withdrawal', 'convert_options_TransferWithdrawal' => 'Convert a transfer into a withdrawal', 'convert_options_TransferDeposit' => 'Convert a transfer into a deposit', - 'transaction_journal_convert_options' => 'Convert this transaction', 'convert_Withdrawal_to_deposit' => 'Convert this withdrawal to a deposit', 'convert_Withdrawal_to_transfer' => 'Convert this withdrawal to a transfer', 'convert_Deposit_to_withdrawal' => 'Convert this deposit to a withdrawal', @@ -534,8 +529,6 @@ return [ 'budget_period_navigator' => 'Period navigator', 'info_on_available_amount' => 'What do I have available?', 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', - 'amount_budgeted' => 'Amount budgeted', - 'amount_earned' => 'Amount earned', 'suggested' => 'Suggested', 'average_between' => 'Average between :start and :end', @@ -942,7 +935,6 @@ return [ 'transaction' => 'Transaction', 'comments' => 'Comments', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', - 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transactions are linked.', 'journals_error_linked' => 'These transactions are already linked.', diff --git a/resources/views/budgets/index.twig b/resources/views/budgets/index.twig index f150edb26a..71ba5fd301 100644 --- a/resources/views/budgets/index.twig +++ b/resources/views/budgets/index.twig @@ -13,14 +13,14 @@
    -
    +
    {{ 'budgeted'|_ }}: {{ budgeted|formatAmountPlain }}
    -
    - {{ trans('firefly.available_between',{start : periodStart, end: periodEnd }) }}: - {{ available|formatAmountPlain }} +
    + {{ trans('firefly.available_between',{start : periodStart, end: periodEnd }) }}: + {{ available|formatAmountPlain }} - +
    diff --git a/resources/views/budgets/info.twig b/resources/views/budgets/info.twig index 3531f65b39..25a8104b47 100644 --- a/resources/views/budgets/info.twig +++ b/resources/views/budgets/info.twig @@ -16,7 +16,7 @@ @@ -25,16 +25,24 @@ - + + + + - +
    - {{ 'amount_budgeted'|_ }} + {{ 'budgeted'|_ }}
    {{ trans('firefly.average_between', {start:begin.formatLocalized(monthAndDayFormat), end:currentEnd.formatLocalized(monthAndDayFormat)}) }}
    {{ 'amount_earned'|_ }} + {{ 'earned'|_ }}
    {{ trans('firefly.average_between', {start:begin.formatLocalized(monthAndDayFormat), end:currentEnd.formatLocalized(monthAndDayFormat)}) }}
    {{ result.earned|formatAmount }}
    {{ 'spent'|_ }} +
    + {{ trans('firefly.average_between', {start:begin.formatLocalized(monthAndDayFormat), end:currentEnd.formatLocalized(monthAndDayFormat)}) }} +
    +
    {{ result.spent|formatAmount }}
    {{ 'suggested'|_ }}{{ ((result.available + result.earned) / 2)|formatAmount }}{{ result.suggested|formatAmount }}
    From 40d1011c3793d60a9d82aabdd3c0c44f157cff33 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:30:23 +0200 Subject: [PATCH 332/349] New translations firefly.php (Russian) --- resources/lang/ru_RU/firefly.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index 4ae40d9796..84da1ac279 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -83,11 +83,9 @@ return [ 'cannot_redirect_to_account' => 'Firefly III cannot redirect you to the correct page. Apologies.', 'sum_of_expenses' => 'Сумма расходов', 'sum_of_income' => 'Сумма дохода', - 'total_sum' => 'Итого', 'spent_in_specific_budget' => 'Spent in budget ":budget"', 'sum_of_expenses_in_budget' => 'Spent total in budget ":budget"', 'left_in_budget_limit' => 'Left to spend according to budgeting', - 'cannot_reset_demo_user' => 'Невозможно сбросить пароль демонстрационной учетной записи', 'current_period' => 'Текущий период', 'show_the_current_period_and_overview' => 'Показать текущий период и обзор', 'pref_languages_locale' => 'Для корректной работы с языками, отличными от английского, ваша операционная система должна отдавать корректную информацию о локали. Если это не так, валюты, даты и суммы могут отображаться некорректно.', @@ -159,7 +157,6 @@ return [ 'export_format' => 'Формат для экспорта', 'export_format_csv' => 'Comma separated values (CSV file)', 'export_format_mt940' => 'MT940 compatible format', - 'export_included_accounts' => 'Export transactions from these accounts', 'include_old_uploads_help' => 'Firefly III does not throw away the original CSV files you have imported in the past. You can include them in your export.', 'do_export' => 'Экспорт', 'export_status_never_started' => 'The export has not started yet', @@ -330,7 +327,6 @@ return [ 'location' => 'Location', 'without_date' => 'Without date', 'result' => 'Result', - 'total_result' => 'Total result', 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences @@ -462,7 +458,6 @@ return [ 'convert_options_DepositWithdrawal' => 'Convert a deposit into a withdrawal', 'convert_options_TransferWithdrawal' => 'Convert a transfer into a withdrawal', 'convert_options_TransferDeposit' => 'Convert a transfer into a deposit', - 'transaction_journal_convert_options' => 'Convert this transaction', 'convert_Withdrawal_to_deposit' => 'Convert this withdrawal to a deposit', 'convert_Withdrawal_to_transfer' => 'Convert this withdrawal to a transfer', 'convert_Deposit_to_withdrawal' => 'Convert this deposit to a withdrawal', @@ -534,8 +529,6 @@ return [ 'budget_period_navigator' => 'Period navigator', 'info_on_available_amount' => 'What do I have available?', 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', - 'amount_budgeted' => 'Amount budgeted', - 'amount_earned' => 'Amount earned', 'suggested' => 'Suggested', 'average_between' => 'Average between :start and :end', @@ -942,7 +935,6 @@ return [ 'transaction' => 'Transaction', 'comments' => 'Comments', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', - 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transactions are linked.', 'journals_error_linked' => 'These transactions are already linked.', From 9eec12a4ded00b3f2b19130b19269d13c83fd6ba Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:30:37 +0200 Subject: [PATCH 333/349] New translations firefly.php (German) --- resources/lang/de_DE/firefly.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index 4ea03c7409..dc33b9af86 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -83,11 +83,9 @@ return [ 'cannot_redirect_to_account' => 'Entschuldigung. Firefly III kann Sie nicht zur richtigen Seite weiterleiten.', 'sum_of_expenses' => 'Summe von Ausgaben', 'sum_of_income' => 'Summe von Einnahmen', - 'total_sum' => 'Gesamtsumme', 'spent_in_specific_budget' => 'Ausgegeben in Budget ":budget"', 'sum_of_expenses_in_budget' => 'Vollkommen ausgegeben in Budget ":budget"', 'left_in_budget_limit' => 'Übrig zum ausgeben aufgrund der Budgetierung', - 'cannot_reset_demo_user' => 'Sie können nicht das Kennwort des Demo-Kontos zurücksetzen', 'current_period' => 'Aktuelle Periode', 'show_the_current_period_and_overview' => 'Zeigen Sie die aktuelle Periode und die Übersicht', 'pref_languages_locale' => 'Damit eine andere Sprache als Englisch richtig funktioniert muss Ihr Betriebssystem mit den korrekten Gebietsschema-Informationen ausgestattet werden. Wenn diese nicht vorhanden sind, können die Währungsdaten, Terminen und Mengen falsch formatiert.', @@ -159,7 +157,6 @@ return [ 'export_format' => 'Export-Format', 'export_format_csv' => 'Durch Komma getrennte Werte (CSV-Datei)', 'export_format_mt940' => 'MT940 kompatibles Format', - 'export_included_accounts' => 'Exportiere die Überweisungen von diesem Konto', 'include_old_uploads_help' => 'Firefly III löscht nicht die originalen CSV-Dateien, welche zuvor importiert wurden. Sie können dem Export hinzugefügt werden.', 'do_export' => 'Export', 'export_status_never_started' => 'Der Export hat noch nicht begonnen', @@ -330,7 +327,6 @@ return [ 'location' => 'Standort', 'without_date' => 'Ohne Datum', 'result' => 'Ergebnis', - 'total_result' => 'Total result', 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences @@ -463,7 +459,6 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'convert_options_DepositWithdrawal' => 'Konvertieren Sie eine Einzahlung in eine Ausgabe', 'convert_options_TransferWithdrawal' => 'Konvertieren Sie eine Überweisung in eine Ausgabe', 'convert_options_TransferDeposit' => 'Konvertieren Sie eine Überweisung in eine Einzahlung', - 'transaction_journal_convert_options' => 'Diese Transaktion umwandeln', 'convert_Withdrawal_to_deposit' => 'Konvertieren Sie diese Ausgabe zu einer Einzahlung', 'convert_Withdrawal_to_transfer' => 'Konvertieren Sie diese Ausgabe zu einer Überweisung', 'convert_Deposit_to_withdrawal' => 'Konvertieren Sie diese Einzahlung zu einer Ausgabe', @@ -535,8 +530,6 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'budget_period_navigator' => 'Zeitraum-navigator', 'info_on_available_amount' => 'What do I have available?', 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', - 'amount_budgeted' => 'Amount budgeted', - 'amount_earned' => 'Amount earned', 'suggested' => 'Suggested', 'average_between' => 'Average between :start and :end', @@ -943,7 +936,6 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'transaction' => 'Transaction', 'comments' => 'Comments', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', - 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transactions are linked.', 'journals_error_linked' => 'These transactions are already linked.', From 4ffbc0932c4c9f735d51859c529afd170b1a420c Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:30:40 +0200 Subject: [PATCH 334/349] New translations firefly.php (Polish) --- resources/lang/pl_PL/firefly.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index ca941991a6..54e6afdad4 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -83,11 +83,9 @@ return [ 'cannot_redirect_to_account' => 'Firefly III nie może Cię przekierować na właściwą stronę. Przepraszamy.', 'sum_of_expenses' => 'Suma wydatków', 'sum_of_income' => 'Suma dochodów', - 'total_sum' => 'Suma ogółem', 'spent_in_specific_budget' => 'Wydatki w budżecie ":budget"', 'sum_of_expenses_in_budget' => 'Wydano łącznie w budżecie ":budget"', 'left_in_budget_limit' => 'Możliwe do wydania wg budżetu', - 'cannot_reset_demo_user' => 'Nie można zresetować hasła do konta demonstracyjnego', 'current_period' => 'Bieżący okres', 'show_the_current_period_and_overview' => 'Pokaż bieżący okres oraz przegląd', 'pref_languages_locale' => 'For a language other than English to work properly, your operating system must be equipped with the correct locale-information. If these are not present, currency data, dates and amounts may be formatted wrong.', @@ -159,7 +157,6 @@ return [ 'export_format' => 'Format eksportu', 'export_format_csv' => 'Wartości oddzielone przecinkami (plik CSV)', 'export_format_mt940' => 'Format kompatybilny z MT940', - 'export_included_accounts' => 'Eksportuj transakcje z tych kont', 'include_old_uploads_help' => 'Firefly III does not throw away the original CSV files you have imported in the past. You can include them in your export.', 'do_export' => 'Eksportuj', 'export_status_never_started' => 'Eksport nie został jeszcze rozpoczęty', @@ -330,7 +327,6 @@ return [ 'location' => 'Lokalizacja', 'without_date' => 'Bez daty', 'result' => 'Wynik', - 'total_result' => 'Total result', 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences @@ -462,7 +458,6 @@ return [ 'convert_options_DepositWithdrawal' => 'Konwertuj wpłatę na wypłatę', 'convert_options_TransferWithdrawal' => 'Konwertuj transfer na wypłatę', 'convert_options_TransferDeposit' => 'Konwertuj transfer na wpłatę', - 'transaction_journal_convert_options' => 'Konwertuj tę transakcję', 'convert_Withdrawal_to_deposit' => 'Konwertuj tę wypłatę na wpłatę', 'convert_Withdrawal_to_transfer' => 'Konwertuj tę wypłatę na transfer', 'convert_Deposit_to_withdrawal' => 'Konwertuj tę wpłatę na wypłatę', @@ -534,8 +529,6 @@ return [ 'budget_period_navigator' => 'Period navigator', 'info_on_available_amount' => 'What do I have available?', 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', - 'amount_budgeted' => 'Amount budgeted', - 'amount_earned' => 'Amount earned', 'suggested' => 'Suggested', 'average_between' => 'Average between :start and :end', @@ -942,7 +935,6 @@ return [ 'transaction' => 'Transakcja', 'comments' => 'Komentarze', 'to_link_not_found' => 'Jeśli nie widzisz transakcji, którą chcesz powiązać, po prostu wpisz jej identyfikator.', - 'invalid_link_data' => 'Wybrano błędny typ powiązania. Nie można powiązać transakcji.', 'invalid_link_selection' => 'Nie można powiązać tych transakcji', 'journals_linked' => 'Transakcje zostały powiązane.', 'journals_error_linked' => 'Wybrane transakcje są już powiązane.', From f98e24e4439d18655c4bc2e613195c1c9e0fa31d Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:30:43 +0200 Subject: [PATCH 335/349] New translations firefly.php (French) --- resources/lang/fr_FR/firefly.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 61f79d3170..986297b683 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -83,11 +83,9 @@ return [ 'cannot_redirect_to_account' => 'Firefly III n\'est pas en mesure de vous rediriger vers la bonne page. Veuillez nous en excuser.', 'sum_of_expenses' => 'Montant des dépenses', 'sum_of_income' => 'Montant des revenus', - 'total_sum' => 'Montant total ', 'spent_in_specific_budget' => 'Dépensé dans le budget ":budget"', 'sum_of_expenses_in_budget' => 'Total dépensé dans le budget ":budget"', 'left_in_budget_limit' => 'Reste à dépenser selon budget', - 'cannot_reset_demo_user' => 'Vous ne pouvez pas réinitialiser le mot de passe du compte démonstration', 'current_period' => 'Période en cours', 'show_the_current_period_and_overview' => 'Afficher l’exercice en cours et sa vue d’ensemble', 'pref_languages_locale' => 'Pour une langue autre que l’anglais pour fonctionner correctement, votre système d’exploitation doit être équipé avec les paramètres régionaux correctes. Si ils ne sont pas présents, les données de devises, les dates et les montants peuvent être mal formatés.', @@ -159,7 +157,6 @@ return [ 'export_format' => 'Format d\'export', 'export_format_csv' => 'Valeurs séparées par des virgules (fichier CSV)', 'export_format_mt940' => 'Format compatible MT940', - 'export_included_accounts' => 'Exporter les opérations depuis ces comptes', 'include_old_uploads_help' => 'Firefly III ne détruit pas les fichier CSV originaux que vous avez déjà importé dans le passé. Vous pouvez les inclure dans votre exportation.', 'do_export' => 'Exporter', 'export_status_never_started' => 'L’exportation n’a pas encore commencé', @@ -330,7 +327,6 @@ return [ 'location' => 'Emplacement', 'without_date' => 'Sans date', 'result' => 'Résultat', - 'total_result' => 'Total result', 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences @@ -462,7 +458,6 @@ return [ 'convert_options_DepositWithdrawal' => 'Convertir un dépôt en retrait', 'convert_options_TransferWithdrawal' => 'Convertir un transfert en retrait', 'convert_options_TransferDeposit' => 'Convertir un transfert en dépôt', - 'transaction_journal_convert_options' => 'Convertir cette transaction', 'convert_Withdrawal_to_deposit' => 'Convertir ce retrait en dépôt', 'convert_Withdrawal_to_transfer' => 'Convertir ce retrait en transfert', 'convert_Deposit_to_withdrawal' => 'Convertir ce dépôt en retrait', @@ -534,8 +529,6 @@ return [ 'budget_period_navigator' => 'Navigateur d\'époque', 'info_on_available_amount' => 'What do I have available?', 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', - 'amount_budgeted' => 'Amount budgeted', - 'amount_earned' => 'Amount earned', 'suggested' => 'Suggested', 'average_between' => 'Average between :start and :end', @@ -942,7 +935,6 @@ return [ 'transaction' => 'Transaction', 'comments' => 'Commentaires', 'to_link_not_found' => 'Si la transaction que vous souhaitez lier n\'est pas listée, entrez simplement son identifiant.', - 'invalid_link_data' => 'Type de lien sélectionné invalide. Impossible de lier la transaction.', 'invalid_link_selection' => 'Impossible de lier ces transactions', 'journals_linked' => 'Ces transactions sont liées.', 'journals_error_linked' => 'Ces transactions sont déjà liées.', From fe6cce7495eb72e92fdd8c97872cc83bb637aab1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:30:45 +0200 Subject: [PATCH 336/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 34 ++++++++++++-------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index 0d8bffd506..fd42a0f559 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -83,11 +83,9 @@ return [ 'cannot_redirect_to_account' => 'Firefly III kan je niet naar de goede pagina doorsturen. Sorry!', 'sum_of_expenses' => 'Som van uitgaven', 'sum_of_income' => 'Som van inkomsten', - 'total_sum' => 'Totaalbedrag', 'spent_in_specific_budget' => 'Uitgegeven in budget ":budget"', 'sum_of_expenses_in_budget' => 'Totaal uitgegeven in budget ":budget"', 'left_in_budget_limit' => 'Nog uit te geven volgens budgettering', - 'cannot_reset_demo_user' => 'Je kan het wachtwoord van de demonstratie-account niet resetten', 'current_period' => 'Huidige periode', 'show_the_current_period_and_overview' => 'Bekijk de huidige periode en overzicht', 'pref_languages_locale' => 'Als je hier een andere taal dan Engels hebt geselecteerd, zorg er dan voor dat je besturingssysteem ook in staat is om valuta, data en bedragen in die taal weer te geven.', @@ -159,7 +157,6 @@ return [ 'export_format' => 'Exporteerformaat', 'export_format_csv' => 'Komma-gescheiden bestand (CSV)', 'export_format_mt940' => 'MT940 bestand', - 'export_included_accounts' => 'Exporteer transacties van deze rekeningen', 'include_old_uploads_help' => 'Firefly III gooit je oude geïmporteerde CSV bestanden niet weg. Je kan ze meenemen in je exportbestand.', 'do_export' => 'Exporteren', 'export_status_never_started' => 'Het exporteren is nog niet begonnen', @@ -319,8 +316,8 @@ return [ 'rule_action_set_source_account' => 'Verander bronrekening naar ":action_value"', 'rule_action_set_destination_account_choice' => 'Verander doelrekening naar...', 'rule_action_set_destination_account' => 'Verander doelrekening naar ":action_value"', - 'rules_have_read_warning' => 'Have you read the warning?', - 'apply_rule_warning' => 'Warning: running a rule(group) on a large selection of transactions could take ages, and it could time-out. If it does, the rule(group) will only be applied to an unknown subset of your transactions. This might leave your financial administration in tatters. Please be careful.', + 'rules_have_read_warning' => 'Heb je de waarschuwing gelezen?', + 'apply_rule_warning' => 'Let op! Het kan heel lang duren voor een regel(groep) is toegepast op een grote selectie transacties. Er kan een time-out optreden. Als dat gebeurt is de regel(groep) niet toegepast op alle transacties, en dat kan je administratie behoorlijk verprutsen. Wees dus voorzichtig.', // tags 'store_new_tag' => 'Sla tag op', @@ -330,7 +327,6 @@ return [ 'location' => 'Plaats', 'without_date' => 'Zonder datum', 'result' => 'Resultaat', - 'total_result' => 'Totaalresultaat', 'sums_apply_to_range' => 'Alle sommen gelden voor het geselecteerde bereik', // preferences @@ -424,11 +420,11 @@ return [ 'explain_access_token' => 'Je hebt dit token nodig als je commando\'s op de commandline draait, zoals het invoeren of uitvoeren van data. Zonder dit token werken zulke gevoelige opdrachten niet. Deel je toegangstoken niet. Niemand zal hier naar vragen, zelfs ik niet. Als je bang bent dat-ie op straat ligt, genereer dan een nieuw token.', 'regenerate_access_token' => 'Genereer nieuw token', 'token_regenerated' => 'Er is een nieuw token gegenereerd', - 'change_your_email' => 'Change your email address', - 'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the Administration.', - 'email_changed_logout' => 'Until you verify your email address, you cannot login.', - 'login_with_new_email' => 'You can now login with your new email address.', - 'login_with_old_email' => 'You can now login with your old email address again.', + 'change_your_email' => 'Verander je emailadres', + 'email_verification' => 'Het systeem verstuurt een mailtje naar je oude EN nieuwe emailadres. Uit veiligheidsoverwegingen ben je zometeen uitgelogd en kan je pas weer inloggen als je je emailadres hebt bevestigd. Doe dit niet als je niet zeker weet of je Firefly III installatie wel mail kan versturen. Als je een admin bent, test dit dan eerst in de administratie.', + 'email_changed_logout' => 'Je kan niet inloggen tot je je emailadres bevestigd.', + 'login_with_new_email' => 'Je kan nu inloggen met je nieuwe emailadres.', + 'login_with_old_email' => 'Je kan nu weer inloggen met je oude emailadres.', // attachments @@ -462,7 +458,6 @@ return [ 'convert_options_DepositWithdrawal' => 'Verander inkomsten in een uitgave', 'convert_options_TransferWithdrawal' => 'Verander een overschrijving in een uitgave', 'convert_options_TransferDeposit' => 'Verander een overschrijving in inkomsten', - 'transaction_journal_convert_options' => 'Verander deze transactie', 'convert_Withdrawal_to_deposit' => 'Verander deze uitgave in inkomsten', 'convert_Withdrawal_to_transfer' => 'Verander deze uitgave in een overschrijving', 'convert_Deposit_to_withdrawal' => 'Verander deze inkomsten in een uitgave', @@ -532,12 +527,10 @@ return [ 'update_budget' => 'Budget bijwerken', 'update_budget_amount_range' => 'Update het verwacht beschikbare bedrag tussen :start en :end', 'budget_period_navigator' => 'Periodenavigator', - 'info_on_available_amount' => 'What do I have available?', - 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', - 'amount_budgeted' => 'Amount budgeted', - 'amount_earned' => 'Amount earned', - 'suggested' => 'Suggested', - 'average_between' => 'Average between :start and :end', + 'info_on_available_amount' => 'Wat heb ik beschikbaar?', + 'available_amount_indication' => 'Gebruik deze bedragen om een indruk te krijgen van wat je totale budget zou kunnen zijn.', + 'suggested' => 'Gesuggereerd', + 'average_between' => 'Gemiddelde tussen :start en :end', // bills: @@ -669,8 +662,8 @@ return [ 'newWithdrawal' => 'Nieuwe uitgave', 'newDeposit' => 'Nieuwe inkomsten', 'newTransfer' => 'Nieuwe overschrijving', - 'bills_to_pay' => 'Bills to pay', - 'per_day' => 'Per day', + 'bills_to_pay' => 'Openstaande contracten', + 'per_day' => 'Per dag', // menu and titles, should be recycled as often as possible: 'currency' => 'Valuta', @@ -942,7 +935,6 @@ return [ 'transaction' => 'Transactie', 'comments' => 'Opmerkingen', 'to_link_not_found' => 'Als de transactie die je wilt koppelen niet gevonden wordt, voer dan het ID in.', - 'invalid_link_data' => 'Ongeldige informatie, de transactie kan niet gekoppeld worden.', 'invalid_link_selection' => 'Deze transacties kunnen niet worden gekoppeld', 'journals_linked' => 'De transacties zijn gekoppeld.', 'journals_error_linked' => 'Deze transacties zijn al gekoppeld.', From 3a9cbcc56500cead87b39224532a7c19a94ad495 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:30:49 +0200 Subject: [PATCH 337/349] New translations firefly.php (Portuguese, Brazilian) --- resources/lang/pt_BR/firefly.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index ac31e48b18..5d42c45b0d 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -83,11 +83,9 @@ return [ 'cannot_redirect_to_account' => 'Firefly III não pode redirecioná-lo para a página correta. Minhas desculpas.', 'sum_of_expenses' => 'Sum of expenses', 'sum_of_income' => 'Sum of income', - 'total_sum' => 'Total sum', 'spent_in_specific_budget' => 'Spent in budget ":budget"', 'sum_of_expenses_in_budget' => 'Spent total in budget ":budget"', 'left_in_budget_limit' => 'Left to spend according to budgeting', - 'cannot_reset_demo_user' => 'You cannot reset the password of the demonstration account', 'current_period' => 'Current period', 'show_the_current_period_and_overview' => 'Show the current period and overview', 'pref_languages_locale' => 'For a language other than English to work properly, your operating system must be equipped with the correct locale-information. If these are not present, currency data, dates and amounts may be formatted wrong.', @@ -159,7 +157,6 @@ return [ 'export_format' => 'Formato de exportação', 'export_format_csv' => 'Valores separados por vírgula (arquivo CSV)', 'export_format_mt940' => 'Compatível com formato MT940', - 'export_included_accounts' => 'Operações de exportação destas contas', 'include_old_uploads_help' => 'O Firefly III não joga fora os arquivos CSV originais que você importou no passado. Você pode incluí-los em sua exportação.', 'do_export' => 'Exportar', 'export_status_never_started' => 'A exportação ainda não foi iniciada', @@ -330,7 +327,6 @@ return [ 'location' => 'Localização', 'without_date' => 'Without date', 'result' => 'Result', - 'total_result' => 'Total result', 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences @@ -462,7 +458,6 @@ return [ 'convert_options_DepositWithdrawal' => 'Converter um depósito em uma retirada', 'convert_options_TransferWithdrawal' => 'Converter uma transferência em uma retirada', 'convert_options_TransferDeposit' => 'Converter uma transferência em um depósito', - 'transaction_journal_convert_options' => 'Converter esta transação', 'convert_Withdrawal_to_deposit' => 'Converter esta retirada de um depósito', 'convert_Withdrawal_to_transfer' => 'Converter esta retirada para uma transferência', 'convert_Deposit_to_withdrawal' => 'Converter este depósito para uma retirada', @@ -534,8 +529,6 @@ return [ 'budget_period_navigator' => 'Period navigator', 'info_on_available_amount' => 'What do I have available?', 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', - 'amount_budgeted' => 'Amount budgeted', - 'amount_earned' => 'Amount earned', 'suggested' => 'Suggested', 'average_between' => 'Average between :start and :end', @@ -942,7 +935,6 @@ return [ 'transaction' => 'Transaction', 'comments' => 'Comments', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', - 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transactions are linked.', 'journals_error_linked' => 'These transactions are already linked.', From 1f4ec8211e99eb861ac04f2ae9295579763e4eb1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:30:51 +0200 Subject: [PATCH 338/349] New translations firefly.php (Slovenian) --- resources/lang/sl_SI/firefly.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index ef97c9aca0..bca6482104 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -83,11 +83,9 @@ return [ 'cannot_redirect_to_account' => 'Firefly III cannot redirect you to the correct page. Apologies.', 'sum_of_expenses' => 'vsota stroškov', 'sum_of_income' => 'Sum of income', - 'total_sum' => 'Total sum', 'spent_in_specific_budget' => 'Spent in budget ":budget"', 'sum_of_expenses_in_budget' => 'Spent total in budget ":budget"', 'left_in_budget_limit' => 'Left to spend according to budgeting', - 'cannot_reset_demo_user' => 'You cannot reset the password of the demonstration account', 'current_period' => 'Current period', 'show_the_current_period_and_overview' => 'Show the current period and overview', 'pref_languages_locale' => 'For a language other than English to work properly, your operating system must be equipped with the correct locale-information. If these are not present, currency data, dates and amounts may be formatted wrong.', @@ -159,7 +157,6 @@ return [ 'export_format' => 'Export format', 'export_format_csv' => 'Comma separated values (CSV file)', 'export_format_mt940' => 'MT940 compatible format', - 'export_included_accounts' => 'Export transactions from these accounts', 'include_old_uploads_help' => 'Firefly III does not throw away the original CSV files you have imported in the past. You can include them in your export.', 'do_export' => 'Export', 'export_status_never_started' => 'The export has not started yet', @@ -330,7 +327,6 @@ return [ 'location' => 'Location', 'without_date' => 'Without date', 'result' => 'Result', - 'total_result' => 'Total result', 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences @@ -462,7 +458,6 @@ return [ 'convert_options_DepositWithdrawal' => 'Convert a deposit into a withdrawal', 'convert_options_TransferWithdrawal' => 'Convert a transfer into a withdrawal', 'convert_options_TransferDeposit' => 'Convert a transfer into a deposit', - 'transaction_journal_convert_options' => 'Convert this transaction', 'convert_Withdrawal_to_deposit' => 'Convert this withdrawal to a deposit', 'convert_Withdrawal_to_transfer' => 'Convert this withdrawal to a transfer', 'convert_Deposit_to_withdrawal' => 'Convert this deposit to a withdrawal', @@ -534,8 +529,6 @@ return [ 'budget_period_navigator' => 'Period navigator', 'info_on_available_amount' => 'What do I have available?', 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', - 'amount_budgeted' => 'Amount budgeted', - 'amount_earned' => 'Amount earned', 'suggested' => 'Suggested', 'average_between' => 'Average between :start and :end', @@ -942,7 +935,6 @@ return [ 'transaction' => 'Transaction', 'comments' => 'Comments', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', - 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transactions are linked.', 'journals_error_linked' => 'These transactions are already linked.', From cc93e4442bff01adc2944fc2a76d55949ce8c38a Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:30:58 +0200 Subject: [PATCH 339/349] New translations firefly.php (Spanish) --- resources/lang/es_ES/firefly.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index 54c11b7f51..959ad1bf1e 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -83,11 +83,9 @@ return [ 'cannot_redirect_to_account' => 'Firefly III cannot redirect you to the correct page. Apologies.', 'sum_of_expenses' => 'Total gastos', 'sum_of_income' => 'Total ingresos', - 'total_sum' => 'Suma total', 'spent_in_specific_budget' => 'Spent in budget ":budget"', 'sum_of_expenses_in_budget' => 'Spent total in budget ":budget"', 'left_in_budget_limit' => 'Left to spend according to budgeting', - 'cannot_reset_demo_user' => 'You cannot reset the password of the demonstration account', 'current_period' => 'Período actual', 'show_the_current_period_and_overview' => 'Mostrar el período actual y el resumen', 'pref_languages_locale' => 'Para que un idioma distinto al inglés funcione correctamente, su sistema operativo debe disponer de la información regional correcta. Si no está disponible, los datos de divisas, fechas y cantidades pueden tener un formato incorrecto.', @@ -159,7 +157,6 @@ return [ 'export_format' => 'Formato de exportación', 'export_format_csv' => 'Comma separated values (CSV file)', 'export_format_mt940' => 'MT940 compatible format', - 'export_included_accounts' => 'Exportar transacciones de estas cuentas', 'include_old_uploads_help' => 'Firefly III does not throw away the original CSV files you have imported in the past. You can include them in your export.', 'do_export' => 'Exportar', 'export_status_never_started' => 'The export has not started yet', @@ -330,7 +327,6 @@ return [ 'location' => 'Location', 'without_date' => 'Without date', 'result' => 'Result', - 'total_result' => 'Total result', 'sums_apply_to_range' => 'All sums apply to the selected range', // preferences @@ -462,7 +458,6 @@ return [ 'convert_options_DepositWithdrawal' => 'Convertir un depósito en una retirada de efectivo', 'convert_options_TransferWithdrawal' => 'Convertir una transferencia en una retirada de efectivo', 'convert_options_TransferDeposit' => 'Convertir una transferencia en un depósito', - 'transaction_journal_convert_options' => 'Convertir esta transacción', 'convert_Withdrawal_to_deposit' => 'Convert this withdrawal to a deposit', 'convert_Withdrawal_to_transfer' => 'Convert this withdrawal to a transfer', 'convert_Deposit_to_withdrawal' => 'Convert this deposit to a withdrawal', @@ -534,8 +529,6 @@ return [ 'budget_period_navigator' => 'Period navigator', 'info_on_available_amount' => 'What do I have available?', 'available_amount_indication' => 'Use these amounts to get an indication of what your total budget could be.', - 'amount_budgeted' => 'Amount budgeted', - 'amount_earned' => 'Amount earned', 'suggested' => 'Suggested', 'average_between' => 'Average between :start and :end', @@ -942,7 +935,6 @@ return [ 'transaction' => 'Transaction', 'comments' => 'Comments', 'to_link_not_found' => 'If the transaction you want to link to is not listed, simply enter its ID.', - 'invalid_link_data' => 'Invalid link type selected. Cannot link transaction.', 'invalid_link_selection' => 'Cannot link these transactions', 'journals_linked' => 'Transactions are linked.', 'journals_error_linked' => 'These transactions are already linked.', From b60ad97150db5302bc0727178d55abe183294483 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:40:08 +0200 Subject: [PATCH 340/349] New translations firefly.php (Dutch) --- resources/lang/nl_NL/firefly.php | 36 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index fd42a0f559..20cefcc943 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -901,16 +901,16 @@ return [ 'block_code_bounced' => 'Email kwam niet aan', 'block_code_expired' => 'Demo-account verlopen', 'no_block_code' => 'Geen reden of gebruiker niet geblokkeerd', - 'block_code_email_changed' => 'User has not yet confirmed new email address', - 'admin_update_email' => 'Contrary to the profile page, the user will NOT be notified their email address has changed!', - 'update_user' => 'Update user', - 'updated_user' => 'User data has been changed.', - 'delete_user' => 'Delete user :email', - 'user_deleted' => 'The user has been deleted', - 'send_test_email' => 'Send test email message', - 'send_test_email_text' => 'To see if your installation is capable of sending email, please press this button. You will not see an error here (if any), the log files will reflect any errors. You can press this button as many times as you like. There is no spam control. The message will be sent to :email and should arrive shortly.', - 'send_message' => 'Send message', - 'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.', + 'block_code_email_changed' => 'De gebruiker heeft zijn nieuwe emailadres nog niet bevestigd', + 'admin_update_email' => 'Integendeel tot de profielpagina krijgt de gebruiker hier geen notificatie van!', + 'update_user' => 'Gebruiker bijwerken', + 'updated_user' => 'Gebruikersgegevens zijn gewijzigd.', + 'delete_user' => 'Verwijder gebruiker :email', + 'user_deleted' => 'De gebruiker is verwijderd', + 'send_test_email' => 'Stuur testmail', + 'send_test_email_text' => 'Druk op deze knop om te zien of je installatie mail kan versturen. Je ziet hier geen foutmeldingen (als ze er zijn), deze vind je in de logboeken. Je kan deze knop zo vaak indrukken als je wilt. Er is geen optie die spam voorkomt. Het testbericht wordt verstuurd naar :email en zou vrij vlot aan moeten komen.', + 'send_message' => 'Verstuur bericht', + 'send_test_triggered' => 'Testmail verstuurd. Check je inbox en de logboeken.', // links 'journal_link_configuration' => 'Instellingen voor transactiekoppelingen', @@ -947,14 +947,14 @@ return [ 'deleted_link' => 'Koppeling verwijderd', // link translations: - 'relates to_inward' => 'relates to', - 'is (partially) refunded by_inward' => 'is (partially) refunded by', - 'is (partially) paid for by_inward' => 'is (partially) paid for by', - 'is (partially) reimbursed by_inward' => 'is (partially) reimbursed by', - 'relates to_outward' => 'relates to', - '(partially) refunds_outward' => '(partially) refunds', - '(partially) pays for_outward' => '(partially) pays for', - '(partially) reimburses_outward' => '(partially) reimburses', + 'relates to_inward' => 'gerelateerd aan', + 'is (partially) refunded by_inward' => 'wordt (deels) terugbetaald door', + 'is (partially) paid for by_inward' => 'wordt (deels) betaald door', + 'is (partially) reimbursed by_inward' => 'wordt (deels) vergoed door', + 'relates to_outward' => 'gerelateerd aan', + '(partially) refunds_outward' => 'is een (gedeeltelijke) terugbetaling voor', + '(partially) pays for_outward' => 'betaalt (deels) voor', + '(partially) reimburses_outward' => 'vergoedt (deels)', // split a transaction: From ce8056424f848197dda816e6c64437e5d00c3b8d Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:50:23 +0200 Subject: [PATCH 341/349] New translations bank.php (Dutch) --- resources/lang/nl_NL/bank.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/lang/nl_NL/bank.php b/resources/lang/nl_NL/bank.php index 11f05b3785..ae18c976ad 100644 --- a/resources/lang/nl_NL/bank.php +++ b/resources/lang/nl_NL/bank.php @@ -1,6 +1,6 @@ 'Prerequisites for an import from bunq', - 'bunq_prerequisites_text' => 'In order to import from bunq, you need to obtain an API key. You can do this through the app.', + 'bunq_prerequisites_title' => 'Voorwaarden voor een import van bunq', + 'bunq_prerequisites_text' => 'Om transacties bij bunq te importeren heb je een API sleutel nodig. Dit kan via de app.', ]; \ No newline at end of file From b0b8a8cc253fd4c5cc4719dcf013b06563711323 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:50:24 +0200 Subject: [PATCH 342/349] New translations intro.php (Dutch) --- resources/lang/nl_NL/intro.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/nl_NL/intro.php b/resources/lang/nl_NL/intro.php index 66812e5811..b175eac5be 100644 --- a/resources/lang/nl_NL/intro.php +++ b/resources/lang/nl_NL/intro.php @@ -31,7 +31,7 @@ return [ 'budgets_index_navigate_periods' => 'Navigeer door periodes heen om je budget vooraf te bepalen.', 'budgets_index_new_budget' => 'Maak nieuwe budgetten naar wens.', 'budgets_index_list_of_budgets' => 'Gebruik deze tabel om de bedragen voor elk budget vast te stellen en te zien hoe je er voor staat.', - 'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.', + 'budgets_index_outro' => 'Om meer te leren over budgetteren, klik dan op het help-icoontje rechtsboven.', // reports (index) 'reports_index_intro' => 'Gebruik deze rapporten om gedetailleerde inzicht in je financiën te krijgen.', From 2932689c53d32fa9bb9a2c6339c7926203e67d4b Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 14:50:26 +0200 Subject: [PATCH 343/349] New translations form.php (Dutch) --- resources/lang/nl_NL/form.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/lang/nl_NL/form.php b/resources/lang/nl_NL/form.php index bc4143791e..bd068cb68c 100644 --- a/resources/lang/nl_NL/form.php +++ b/resources/lang/nl_NL/form.php @@ -67,9 +67,9 @@ return [ 'source_amount' => 'Bronbedrag', 'destination_amount' => 'Doelbedrag', 'native_amount' => 'Origineel bedrag', - 'new_email_address' => 'New email address', - 'verification' => 'Verification', - 'api_key' => 'API key', + 'new_email_address' => 'Nieuw emailadres', + 'verification' => 'Verificatie', + 'api_key' => 'API sleutel', 'source_account_asset' => 'Bronrekening (betaalrekening)', 'destination_account_expense' => 'Doelrekening (crediteur)', @@ -133,8 +133,8 @@ return [ 'delete_rule' => 'Verwijder regel ":title"', 'delete_rule_group' => 'Verwijder regelgroep ":title"', 'delete_link_type' => 'Verwijder linktype ":name"', - 'delete_user' => 'Delete user ":email"', - 'user_areYouSure' => 'If you delete user ":email", everything will be gone. There is no undo, undelete or anything. If you delete yourself, you will lose access to this instance of Firefly III.', + 'delete_user' => 'Verwijder gebruiker ":email"', + 'user_areYouSure' => 'Als je gebruiker ":email" verwijdert is alles weg. Je kan dit niet ongedaan maken of ont-verwijderen of wat dan ook. Als je jezelf verwijdert ben je ook je toegang tot deze installatie van Firefly III kwijt.', 'attachment_areYouSure' => 'Weet je zeker dat je de bijlage met naam ":name" wilt verwijderen?', 'account_areYouSure' => 'Weet je zeker dat je de rekening met naam ":name" wilt verwijderen?', 'bill_areYouSure' => 'Weet je zeker dat je het contract met naam ":name" wilt verwijderen?', From d306183c959e9ee658c825d68d454684d24cc3f3 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 15:32:35 +0200 Subject: [PATCH 344/349] Catch exceptions in FixerIO --- app/Services/Currency/FixerIO.php | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/app/Services/Currency/FixerIO.php b/app/Services/Currency/FixerIO.php index 7a3290bb96..abeaf1eadf 100644 --- a/app/Services/Currency/FixerIO.php +++ b/app/Services/Currency/FixerIO.php @@ -18,6 +18,7 @@ use FireflyIII\Models\TransactionCurrency; use FireflyIII\User; use Log; use Requests; +use Requests_Exception; /** * Class FixerIO @@ -31,16 +32,26 @@ class FixerIO implements ExchangeRateInterface public function getRate(TransactionCurrency $fromCurrency, TransactionCurrency $toCurrency, Carbon $date): CurrencyExchangeRate { - $uri = sprintf('https://api.fixer.io/%s?base=%s&symbols=%s', $date->format('Y-m-d'), $fromCurrency->code, $toCurrency->code); - $result = Requests::get($uri); + $uri = sprintf('https://api.fixer.io/%s?base=%s&symbols=%s', $date->format('Y-m-d'), $fromCurrency->code, $toCurrency->code); + $statusCode = -1; + $body = ''; + try { + $result = Requests::get($uri); + $statusCode = $result->status_code; + $body = $result->body; + } catch (Requests_Exception $e) { + // don't care about error + $body = sprintf('Requests_Exception: %s', $e->getMessage()); + } + // Requests_Exception $rate = 1.0; $content = null; - if ($result->status_code !== 200) { - Log::error(sprintf('Something went wrong. Received error code %d and body "%s" from FixerIO.', $result->status_code, $result->body)); + if ($statusCode !== 200) { + Log::error(sprintf('Something went wrong. Received error code %d and body "%s" from FixerIO.', $statusCode, $body)); } // get rate from body: - if ($result->status_code === 200) { - $content = json_decode($result->body, true); + if ($statusCode === 200) { + $content = json_decode($body, true); } if (!is_null($content)) { $code = $toCurrency->code; From 40f2659b917acc9908823680773cc487e62aedb2 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 15:32:47 +0200 Subject: [PATCH 345/349] Smooth error catching. --- app/Import/FileProcessor/CsvProcessor.php | 42 +++++++++-------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/app/Import/FileProcessor/CsvProcessor.php b/app/Import/FileProcessor/CsvProcessor.php index d671a65d63..7f301c277b 100644 --- a/app/Import/FileProcessor/CsvProcessor.php +++ b/app/Import/FileProcessor/CsvProcessor.php @@ -175,32 +175,24 @@ class CsvProcessor implements FileProcessorInterface */ private function getJsonError(int $jsonError): string { - switch ($jsonError) { - default: - return 'Unknown JSON error'; - case JSON_ERROR_NONE: - return 'No JSON error'; - case JSON_ERROR_DEPTH: - return 'JSON_ERROR_DEPTH'; - case JSON_ERROR_STATE_MISMATCH: - return 'JSON_ERROR_STATE_MISMATCH'; - case JSON_ERROR_CTRL_CHAR: - return 'JSON_ERROR_CTRL_CHAR'; - case JSON_ERROR_SYNTAX: - return 'JSON_ERROR_SYNTAX'; - case JSON_ERROR_UTF8: - return 'JSON_ERROR_UTF8'; - case JSON_ERROR_RECURSION: - return 'JSON_ERROR_RECURSION'; - case JSON_ERROR_INF_OR_NAN: - return 'JSON_ERROR_INF_OR_NAN'; - case JSON_ERROR_UNSUPPORTED_TYPE: - return 'JSON_ERROR_UNSUPPORTED_TYPE'; - case JSON_ERROR_INVALID_PROPERTY_NAME: - return 'JSON_ERROR_INVALID_PROPERTY_NAME'; - case JSON_ERROR_UTF16: - return 'JSON_ERROR_UTF16'; + $messages = [ + JSON_ERROR_NONE => 'No JSON error', + JSON_ERROR_DEPTH => 'The maximum stack depth has been exceeded.', + JSON_ERROR_STATE_MISMATCH => 'Invalid or malformed JSON.', + JSON_ERROR_CTRL_CHAR => 'Control character error, possibly incorrectly encoded.', + JSON_ERROR_SYNTAX => 'Syntax error.', + JSON_ERROR_UTF8 => 'Malformed UTF-8 characters, possibly incorrectly encoded.', + JSON_ERROR_RECURSION => 'One or more recursive references in the value to be encoded.', + JSON_ERROR_INF_OR_NAN => 'One or more NAN or INF values in the value to be encoded.', + JSON_ERROR_UNSUPPORTED_TYPE => 'A value of a type that cannot be encoded was given.', + JSON_ERROR_INVALID_PROPERTY_NAME => 'A property name that cannot be encoded was given.', + JSON_ERROR_UTF16 => 'Malformed UTF-16 characters, possibly incorrectly encoded.', + ]; + if (isset($messages[$jsonError])) { + return $messages[$jsonError]; } + + return 'Unknown JSON error'; } /** From cca29bcdfef0ed8989418c2c9be6d78af13bca0c Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 16:53:09 +0200 Subject: [PATCH 346/349] Take redirect uri from controller class. --- app/Http/Controllers/Controller.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 843c7bc8bd..87f254a110 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -44,6 +44,8 @@ class Controller extends BaseController protected $monthAndDayFormat; /** @var string */ protected $monthFormat; + /** @var string */ + protected $redirectUri = '/'; /** * Controller constructor. @@ -116,10 +118,10 @@ class Controller extends BaseController { $uri = strval(session($identifier)); if (!(strpos($identifier, 'delete') === false) && !(strpos($uri, '/show/') === false)) { - $uri = route('index'); + $uri = $this->redirectUri; } if (!(strpos($uri, 'jscript') === false)) { - $uri = route('index'); + $uri = $this->redirectUri; } return $uri; From 8678f9af65a80c77ec02f5d25b79f02f182a6ab0 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 29 Sep 2017 16:54:23 +0200 Subject: [PATCH 347/349] Add redirect for tag thing. See #875 --- app/Http/Controllers/TagController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Http/Controllers/TagController.php b/app/Http/Controllers/TagController.php index 018fa5a428..0c9ffcda95 100644 --- a/app/Http/Controllers/TagController.php +++ b/app/Http/Controllers/TagController.php @@ -53,6 +53,7 @@ class TagController extends Controller { parent::__construct(); View::share('hideTags', true); + $this->redirectUri = route('tags.index'); $this->middleware( function ($request, $next) { From d2e312e1c37b42ffa9846c7b08145f36d949ec4c Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 30 Sep 2017 08:40:36 +0200 Subject: [PATCH 348/349] Update changelog. [skip ci] --- CHANGELOG.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6849b2014b..fcfd509534 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,45 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [4.6.6] - 2015-05-25 +### Added +- #826, reported by @pkoziol. +- #855, by @ms32035 +- #786, by @SmilingWorlock +- #875, by @gavu +- #834, by @gavu (and others) + + +### Changed +- Upgraded to Laravel 5.5 +- Add version parameter to CSS and JS files +- #823, #824 fixed Docker config by @DieBauer + +### Fixed +- #830 +- #822, reported by @gazben +- #827, reported by @pkoziol +- #835, reported by @gavu +- #836, reported by @pkoziol +- #838, reported by @gavu +- #839, reported by @gavu +- #843, reported by @gavu +- #837, reported by @gavu +- #845, reported by @gavu +- #846, reported by @gavu +- #848, reported by @gavu +- #854, reported by @gavu +- #866, reported by @pkoziol +- #847, reported by @gavu +- #853, reported by @gavu +- #857, reported by @pkoziol +- #865, reported by @simonsmiley +- #826, reported by @pkoziol +- #856, reported by @ms32035 +- #860, reported by @gavu +- #861, reported by @gavu +- #870, reported by @gavu + ## [4.6.5] - 2017-09-09 ### Added From d0054e657e54bb7b2e634bb28f4f1c0564a96ae0 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 30 Sep 2017 09:03:13 +0200 Subject: [PATCH 349/349] Updated composer file. --- composer.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/composer.lock b/composer.lock index df4053da32..a3260f74ef 100644 --- a/composer.lock +++ b/composer.lock @@ -1365,16 +1365,16 @@ }, { "name": "paragonie/random_compat", - "version": "v2.0.10", + "version": "v2.0.11", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" + "reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/5da4d3c796c275c55f057af5a643ae297d96b4d8", + "reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8", "shasum": "" }, "require": { @@ -1409,7 +1409,7 @@ "pseudorandom", "random" ], - "time": "2017-03-13T16:27:32+00:00" + "time": "2017-09-27T21:40:39+00:00" }, { "name": "pragmarx/google2fa",