mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-12-01 02:21:45 +00:00
Final code for 5.3.3
This commit is contained in:
@@ -320,6 +320,7 @@ BROADCAST_DRIVER=log
|
|||||||
QUEUE_DRIVER=sync
|
QUEUE_DRIVER=sync
|
||||||
CACHE_PREFIX=firefly
|
CACHE_PREFIX=firefly
|
||||||
PUSHER_KEY=
|
PUSHER_KEY=
|
||||||
|
IPINFO_TOKEN=
|
||||||
PUSHER_SECRET=
|
PUSHER_SECRET=
|
||||||
PUSHER_ID=
|
PUSHER_ID=
|
||||||
DEMO_USERNAME=
|
DEMO_USERNAME=
|
||||||
|
|||||||
@@ -72,11 +72,12 @@ class MailError extends Job implements ShouldQueue
|
|||||||
*/
|
*/
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
$email = config('firefly.site_owner');
|
$email = config('firefly.site_owner');
|
||||||
$args = $this->exception;
|
$args = $this->exception;
|
||||||
$args['loggedIn'] = $this->userData['id'] > 0;
|
$args['loggedIn'] = $this->userData['id'] > 0;
|
||||||
$args['user'] = $this->userData;
|
$args['user'] = $this->userData;
|
||||||
$args['ipAddress'] = $this->ipAddress;
|
$args['ip'] = $this->ipAddress;
|
||||||
|
$args['token'] = config('firefly.ipinfo_token');
|
||||||
if ($this->attempts() < 3) {
|
if ($this->attempts() < 3) {
|
||||||
try {
|
try {
|
||||||
Mail::send(
|
Mail::send(
|
||||||
|
|||||||
@@ -123,6 +123,7 @@ return [
|
|||||||
'authentication_guard' => envNonEmpty('AUTHENTICATION_GUARD', 'web'),
|
'authentication_guard' => envNonEmpty('AUTHENTICATION_GUARD', 'web'),
|
||||||
'custom_logout_uri' => envNonEmpty('CUSTOM_LOGOUT_URI', ''),
|
'custom_logout_uri' => envNonEmpty('CUSTOM_LOGOUT_URI', ''),
|
||||||
'cer_provider' => envNonEmpty('CER_PROVIDER', 'fixer'),
|
'cer_provider' => envNonEmpty('CER_PROVIDER', 'fixer'),
|
||||||
|
'ipinfo_token' => env('IPINFO_TOKEN',''),
|
||||||
'update_endpoint' => 'https://version.firefly-iii.org/index.json',
|
'update_endpoint' => 'https://version.firefly-iii.org/index.json',
|
||||||
'send_telemetry' => env('SEND_TELEMETRY', false),
|
'send_telemetry' => env('SEND_TELEMETRY', false),
|
||||||
'allow_webhooks' => env('ALLOW_WEBHOOKS', false),
|
'allow_webhooks' => env('ALLOW_WEBHOOKS', false),
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ export default {
|
|||||||
]),
|
]),
|
||||||
'datesReady': function () {
|
'datesReady': function () {
|
||||||
return null !== this.start && null !== this.end && this.ready;
|
return null !== this.start && null !== this.end && this.ready;
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
datesReady: function (value) {
|
datesReady: function (value) {
|
||||||
@@ -137,7 +137,8 @@ export default {
|
|||||||
id: accountIds[key],
|
id: accountIds[key],
|
||||||
title: '',
|
title: '',
|
||||||
url: '',
|
url: '',
|
||||||
current_balance: '',
|
include: false,
|
||||||
|
current_balance: '0',
|
||||||
currency_code: 'EUR',
|
currency_code: 'EUR',
|
||||||
transactions: []
|
transactions: []
|
||||||
});
|
});
|
||||||
@@ -148,12 +149,15 @@ export default {
|
|||||||
loadSingleAccount(key, accountId) {
|
loadSingleAccount(key, accountId) {
|
||||||
axios.get('./api/v1/accounts/' + accountId)
|
axios.get('./api/v1/accounts/' + accountId)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
this.accounts[key].title = response.data.data.attributes.name;
|
let account = response.data.data;
|
||||||
this.accounts[key].url = './accounts/show/' + response.data.data.id;
|
if ('asset' === account.attributes.type || 'liabilities' === account.attributes.type) {
|
||||||
this.accounts[key].current_balance = response.data.data.attributes.current_balance;
|
this.accounts[key].title = account.attributes.name;
|
||||||
this.accounts[key].currency_code = response.data.data.attributes.currency_code;
|
this.accounts[key].url = './accounts/show/' + account.id;
|
||||||
|
this.accounts[key].current_balance = account.attributes.current_balance;
|
||||||
this.loadTransactions(key, accountId);
|
this.accounts[key].currency_code = account.attributes.currency_code;
|
||||||
|
this.accounts[key].include = true;
|
||||||
|
this.loadTransactions(key, accountId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
:errors="transaction.errors.source"
|
:errors="transaction.errors.source"
|
||||||
:index="index"
|
:index="index"
|
||||||
:source-allowed-types="sourceAllowedTypes"
|
:source-allowed-types="sourceAllowedTypes"
|
||||||
|
:transaction-type="transactionType"
|
||||||
direction="source"
|
direction="source"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -79,6 +80,7 @@
|
|||||||
:destination-allowed-types="destinationAllowedTypes"
|
:destination-allowed-types="destinationAllowedTypes"
|
||||||
:errors="transaction.errors.destination"
|
:errors="transaction.errors.destination"
|
||||||
:index="index"
|
:index="index"
|
||||||
|
:transaction-type="transactionType"
|
||||||
:source-allowed-types="sourceAllowedTypes"
|
:source-allowed-types="sourceAllowedTypes"
|
||||||
direction="destination"
|
direction="destination"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -96,6 +96,10 @@ export default {
|
|||||||
type: Object,
|
type: Object,
|
||||||
default: () => ({})
|
default: () => ({})
|
||||||
},
|
},
|
||||||
|
transactionType: {
|
||||||
|
type: String,
|
||||||
|
default: 'any'
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -234,10 +238,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
// 'transactionType',
|
|
||||||
// 'sourceAllowedTypes',
|
|
||||||
// 'destinationAllowedTypes',
|
|
||||||
// 'allowedOpposingTypes'
|
|
||||||
accountKey: {
|
accountKey: {
|
||||||
get() {
|
get() {
|
||||||
return 'source' === this.direction ? 'source_account' : 'destination_account';
|
return 'source' === this.direction ? 'source_account' : 'destination_account';
|
||||||
@@ -249,11 +249,13 @@ export default {
|
|||||||
if (0 === this.index) {
|
if (0 === this.index) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
// console.log('Direction of account ' + this.index + ' is ' + this.direction + '(' + this.transactionType + ')');
|
||||||
|
// console.log(this.transactionType);
|
||||||
if ('source' === this.direction) {
|
if ('source' === this.direction) {
|
||||||
return 'any' === this.transactionType || 'Deposit' === this.transactionType
|
return 'any' === this.transactionType || 'Deposit' === this.transactionType || typeof this.transactionType === 'undefined';
|
||||||
}
|
}
|
||||||
if ('destination' === this.direction) {
|
if ('destination' === this.direction) {
|
||||||
return 'any' === this.transactionType || 'Withdrawal' === this.transactionType;
|
return 'any' === this.transactionType || 'Withdrawal' === this.transactionType || typeof this.transactionType === 'undefined';
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,7 +66,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
localDate: this.date,
|
localDate: this.date,
|
||||||
localTime: this.time,
|
localTime: this.time,
|
||||||
timeZone: ''
|
timeZone: '',
|
||||||
|
timeString: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {},
|
methods: {},
|
||||||
@@ -98,6 +99,7 @@ export default {
|
|||||||
// console.log('Time is: ' + localStr);
|
// console.log('Time is: ' + localStr);
|
||||||
return localStr;
|
return localStr;
|
||||||
}
|
}
|
||||||
|
// console.log('Return empty string!');
|
||||||
return '';
|
return '';
|
||||||
},
|
},
|
||||||
set(value) {
|
set(value) {
|
||||||
@@ -115,9 +117,20 @@ export default {
|
|||||||
let parts = value.split(':');
|
let parts = value.split(':');
|
||||||
// console.log('Parts are:');
|
// console.log('Parts are:');
|
||||||
// console.log(parts);
|
// console.log(parts);
|
||||||
current.setHours(parseInt(parts[0] ?? 0));
|
|
||||||
current.setMinutes(parseInt(parts[1] ?? 0));
|
let hrs = parts[0] ?? '0';
|
||||||
current.setSeconds(parseInt(parts[2] ?? 0));
|
let min = parts[1] ?? '0';
|
||||||
|
let sec = parts[2] ?? '0';
|
||||||
|
hrs = 3 === hrs.length ? hrs.substr(1, 2) : hrs;
|
||||||
|
min = 3 === min.length ? min.substr(1, 2) : min;
|
||||||
|
sec = 3 === sec.length ? sec.substr(1, 2) : sec;
|
||||||
|
// console.log('Hrs: ' + hrs);
|
||||||
|
// console.log('Min: ' + min);
|
||||||
|
// console.log('Sec: ' + sec);
|
||||||
|
|
||||||
|
current.setHours(parseInt(hrs));
|
||||||
|
current.setMinutes(parseInt(min));
|
||||||
|
current.setSeconds(parseInt(sec));
|
||||||
this.localTime = current;
|
this.localTime = current;
|
||||||
this.$emit('set-time', {time: this.localTime});
|
this.$emit('set-time', {time: this.localTime});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
"spent": "Speso",
|
"spent": "Speso",
|
||||||
"Default asset account": "Conto attivit\u00e0 predefinito",
|
"Default asset account": "Conto attivit\u00e0 predefinito",
|
||||||
"search_results": "Risultati ricerca",
|
"search_results": "Risultati ricerca",
|
||||||
"include": "Include?",
|
"include": "Includere?",
|
||||||
"transaction": "Transazione",
|
"transaction": "Transazione",
|
||||||
"account_role_defaultAsset": "Conto attivit\u00e0 predefinito",
|
"account_role_defaultAsset": "Conto attivit\u00e0 predefinito",
|
||||||
"account_role_savingAsset": "Conto risparmio",
|
"account_role_savingAsset": "Conto risparmio",
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
"spent": "Gasto",
|
"spent": "Gasto",
|
||||||
"Default asset account": "Conta padr\u00e3o",
|
"Default asset account": "Conta padr\u00e3o",
|
||||||
"search_results": "Resultados da pesquisa",
|
"search_results": "Resultados da pesquisa",
|
||||||
"include": "Include?",
|
"include": "Incluir?",
|
||||||
"transaction": "Transa\u00e7\u00e3o",
|
"transaction": "Transa\u00e7\u00e3o",
|
||||||
"account_role_defaultAsset": "Conta padr\u00e3o",
|
"account_role_defaultAsset": "Conta padr\u00e3o",
|
||||||
"account_role_savingAsset": "Conta poupan\u00e7a",
|
"account_role_savingAsset": "Conta poupan\u00e7a",
|
||||||
|
|||||||
2
public/v2/js/accounts/index.js
vendored
2
public/v2/js/accounts/index.js
vendored
File diff suppressed because one or more lines are too long
2
public/v2/js/accounts/show.js
vendored
2
public/v2/js/accounts/show.js
vendored
File diff suppressed because one or more lines are too long
2
public/v2/js/dashboard.js
vendored
2
public/v2/js/dashboard.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
public/v2/js/transactions/create.js
vendored
2
public/v2/js/transactions/create.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
public/v2/js/transactions/edit.js
vendored
2
public/v2/js/transactions/edit.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
public/v2/js/transactions/index.js
vendored
2
public/v2/js/transactions/index.js
vendored
File diff suppressed because one or more lines are too long
@@ -423,7 +423,7 @@ return [
|
|||||||
'apply_rule_selection' => 'Applica la regola ":title" a una selezione delle tue transazioni',
|
'apply_rule_selection' => 'Applica la regola ":title" a una selezione delle tue transazioni',
|
||||||
'apply_rule_selection_intro' => 'Regole come ":title" sono normalmente applicate solo a transazioni nuove o aggiornate, ma puoi dire a Firefly III di eseguirle su una selezione delle tue transazioni esistenti. Questo può essere utile quando hai aggiornato una regola e hai bisogno che le modifiche vengano applicate a tutte le altre transazioni.',
|
'apply_rule_selection_intro' => 'Regole come ":title" sono normalmente applicate solo a transazioni nuove o aggiornate, ma puoi dire a Firefly III di eseguirle su una selezione delle tue transazioni esistenti. Questo può essere utile quando hai aggiornato una regola e hai bisogno che le modifiche vengano applicate a tutte le altre transazioni.',
|
||||||
'include_transactions_from_accounts' => 'Includi transazioni da questi conti',
|
'include_transactions_from_accounts' => 'Includi transazioni da questi conti',
|
||||||
'include' => 'Include?',
|
'include' => 'Includere?',
|
||||||
'applied_rule_selection' => '{0} Nessuna transazione della selezione è stata cambiata dalla regola ":title".|[1] Una transazione della selezione è stata modificata dalla regola ":title".|[2,*] :count transazioni della selezione sono state modificate dalla regola ":title".',
|
'applied_rule_selection' => '{0} Nessuna transazione della selezione è stata cambiata dalla regola ":title".|[1] Una transazione della selezione è stata modificata dalla regola ":title".|[2,*] :count transazioni della selezione sono state modificate dalla regola ":title".',
|
||||||
'execute' => 'Eseguire',
|
'execute' => 'Eseguire',
|
||||||
'apply_rule_group_selection' => 'Applica il gruppo di regole ":title" a una selezione delle tue transazioni',
|
'apply_rule_group_selection' => 'Applica il gruppo di regole ":title" a una selezione delle tue transazioni',
|
||||||
|
|||||||
@@ -423,7 +423,7 @@ return [
|
|||||||
'apply_rule_selection' => 'Aplicar a regra ":title" para uma seleção de suas transações',
|
'apply_rule_selection' => 'Aplicar a regra ":title" para uma seleção de suas transações',
|
||||||
'apply_rule_selection_intro' => 'As regras como ":title" normalmente são aplicadas apenas a transações novas ou atualizadas, mas você pode informar o Firefly III para executá-lo em uma seleção de suas transações existentes. Isso pode ser útil quando você atualizou uma regra e você precisa das alterações a serem aplicadas a todas as suas outras transações.',
|
'apply_rule_selection_intro' => 'As regras como ":title" normalmente são aplicadas apenas a transações novas ou atualizadas, mas você pode informar o Firefly III para executá-lo em uma seleção de suas transações existentes. Isso pode ser útil quando você atualizou uma regra e você precisa das alterações a serem aplicadas a todas as suas outras transações.',
|
||||||
'include_transactions_from_accounts' => 'Incluir as transações destas contas',
|
'include_transactions_from_accounts' => 'Incluir as transações destas contas',
|
||||||
'include' => 'Include?',
|
'include' => 'Incluir?',
|
||||||
'applied_rule_selection' => '{0} Nenhuma transação em sua seleção foi alterada pela regra ":title".|[1] Uma transação em sua seleção foi alterada pela regra ":title".|[2,*] :count transações em sua seleção foram alteradas pela regra ":title".',
|
'applied_rule_selection' => '{0} Nenhuma transação em sua seleção foi alterada pela regra ":title".|[1] Uma transação em sua seleção foi alterada pela regra ":title".|[2,*] :count transações em sua seleção foram alteradas pela regra ":title".',
|
||||||
'execute' => 'Executar',
|
'execute' => 'Executar',
|
||||||
'apply_rule_group_selection' => 'Aplicar grupo de regras ":title" para uma seleção de suas transações',
|
'apply_rule_group_selection' => 'Aplicar grupo de regras ":title" para uma seleção de suas transações',
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
|
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
|
||||||
{{ trans('email.error_ip', { ip: ip }) }}<br />
|
{{ trans('email.error_ip', { ip: ip }) }} (<a href="https://ipinfo.io/{{ ip }}/json?token={{ token }}">info</a>)<br />
|
||||||
{{ trans('email.error_url', {url :url }) }}<br />
|
{{ trans('email.error_url', {url :url }) }}<br />
|
||||||
{{ trans('email.error_user_agent', {userAgent: userAgent }) }}
|
{{ trans('email.error_user_agent', {userAgent: userAgent }) }}
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
Reference in New Issue
Block a user