Merge branch 'develop' of github.com:firefly-iii/firefly-iii into develop

This commit is contained in:
James Cole 2024-03-07 06:08:09 +01:00
commit 429e72e681
No known key found for this signature in database
GPG Key ID: B49A324B7EAD6D80
89 changed files with 827 additions and 824 deletions

View File

@ -28,7 +28,6 @@ use FireflyIII\Api\V2\Request\Model\Account\IndexRequest;
use FireflyIII\Api\V2\Request\Model\Transaction\InfiniteListRequest; use FireflyIII\Api\V2\Request\Model\Transaction\InfiniteListRequest;
use FireflyIII\Repositories\UserGroups\Account\AccountRepositoryInterface; use FireflyIII\Repositories\UserGroups\Account\AccountRepositoryInterface;
use FireflyIII\Transformers\V2\AccountTransformer; use FireflyIII\Transformers\V2\AccountTransformer;
use FireflyIII\Transformers\V2\BillTransformer;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Pagination\LengthAwarePaginator;
@ -64,11 +63,11 @@ class IndexController extends Controller
public function index(IndexRequest $request): JsonResponse public function index(IndexRequest $request): JsonResponse
{ {
$this->repository->resetAccountOrder(); $this->repository->resetAccountOrder();
$types = $request->getAccountTypes(); $types = $request->getAccountTypes();
$accounts = $this->repository->getAccountsByType($types); $accounts = $this->repository->getAccountsByType($types);
$pageSize = $this->parameters->get('limit'); $pageSize = $this->parameters->get('limit');
$count = $accounts->count(); $count = $accounts->count();
$accounts = $accounts->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize); $accounts = $accounts->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($accounts, $count, $pageSize, $this->parameters->get('page')); $paginator = new LengthAwarePaginator($accounts, $count, $pageSize, $this->parameters->get('page'));
$transformer = new AccountTransformer(); $transformer = new AccountTransformer();
$transformer->setParameters($this->parameters); // give params to transformer $transformer->setParameters($this->parameters); // give params to transformer
@ -76,7 +75,7 @@ class IndexController extends Controller
return response() return response()
->json($this->jsonApiList('accounts', $paginator, $transformer)) ->json($this->jsonApiList('accounts', $paginator, $transformer))
->header('Content-Type', self::CONTENT_TYPE) ->header('Content-Type', self::CONTENT_TYPE)
; ;
} }
public function infiniteList(InfiniteListRequest $request): JsonResponse public function infiniteList(InfiniteListRequest $request): JsonResponse

View File

@ -113,6 +113,7 @@ class TransactionController extends Controller
return response() return response()
->json($this->jsonApiList('transactions', $paginator, new TransactionGroupTransformer())) ->json($this->jsonApiList('transactions', $paginator, new TransactionGroupTransformer()))
->header('Content-Type', self::CONTENT_TYPE); ->header('Content-Type', self::CONTENT_TYPE)
;
} }
} }

View File

@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V2\Request\Model\Account; namespace FireflyIII\Api\V2\Request\Model\Account;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Support\Http\Api\AccountFilter; use FireflyIII\Support\Http\Api\AccountFilter;
use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ChecksLogin;
@ -37,9 +36,9 @@ use Illuminate\Foundation\Http\FormRequest;
*/ */
class IndexRequest extends FormRequest class IndexRequest extends FormRequest
{ {
use AccountFilter;
use ChecksLogin; use ChecksLogin;
use ConvertsDataTypes; use ConvertsDataTypes;
use AccountFilter;
/** /**
* Get all data from the request. * Get all data from the request.

View File

@ -47,7 +47,7 @@ class DeleteEmptyGroups extends Command
{ {
$groupIds $groupIds
= TransactionGroup::leftJoin('transaction_journals', 'transaction_groups.id', '=', 'transaction_journals.transaction_group_id') = TransactionGroup::leftJoin('transaction_journals', 'transaction_groups.id', '=', 'transaction_journals.transaction_group_id')
->whereNull('transaction_journals.id')->get(['transaction_groups.id'])->pluck('id')->toArray() ->whereNull('transaction_journals.id')->get(['transaction_groups.id'])->pluck('id')->toArray()
; ;
$total = count($groupIds); $total = count($groupIds);

View File

@ -74,19 +74,19 @@ class ForceDecimalSize extends Command
private string $regularExpression; private string $regularExpression;
private array $tables private array $tables
= [ = [
'accounts' => ['virtual_balance'], 'accounts' => ['virtual_balance'],
'auto_budgets' => ['amount'], 'auto_budgets' => ['amount'],
'available_budgets' => ['amount'], 'available_budgets' => ['amount'],
'bills' => ['amount_min', 'amount_max'], 'bills' => ['amount_min', 'amount_max'],
'budget_limits' => ['amount'], 'budget_limits' => ['amount'],
'currency_exchange_rates' => ['rate', 'user_rate'], 'currency_exchange_rates' => ['rate', 'user_rate'],
'limit_repetitions' => ['amount'], 'limit_repetitions' => ['amount'],
'piggy_bank_events' => ['amount'], 'piggy_bank_events' => ['amount'],
'piggy_bank_repetitions' => ['currentamount'], 'piggy_bank_repetitions' => ['currentamount'],
'piggy_banks' => ['targetamount'], 'piggy_banks' => ['targetamount'],
'recurrences_transactions' => ['amount', 'foreign_amount'], 'recurrences_transactions' => ['amount', 'foreign_amount'],
'transactions' => ['amount', 'foreign_amount'], 'transactions' => ['amount', 'foreign_amount'],
]; ];
/** /**
* Execute the console command. * Execute the console command.

View File

@ -1125,7 +1125,8 @@ class GroupCollector implements GroupCollectorInterface
// include budget ID + name (if any) // include budget ID + name (if any)
->withBudgetInformation() ->withBudgetInformation()
// include bill ID + name (if any) // include bill ID + name (if any)
->withBillInformation(); ->withBillInformation()
;
return $this; return $this;
} }

View File

@ -277,11 +277,11 @@ class IndexController extends Controller
// also calculate how much left from budgeted: // also calculate how much left from budgeted:
$sums['left'][$currencyId] $sums['left'][$currencyId]
??= [ ??= [
'amount' => '0', 'amount' => '0',
'currency_id' => $budgeted['currency_id'], 'currency_id' => $budgeted['currency_id'],
'currency_symbol' => $budgeted['currency_symbol'], 'currency_symbol' => $budgeted['currency_symbol'],
'currency_decimal_places' => $budgeted['currency_decimal_places'], 'currency_decimal_places' => $budgeted['currency_decimal_places'],
]; ];
} }
} }

View File

@ -192,11 +192,11 @@ class CategoryController extends Controller
$chartData[$inKey] $chartData[$inKey]
= [ = [
'label' => sprintf('%s (%s)', (string)trans('firefly.earned'), $currencyInfo['currency_name']), 'label' => sprintf('%s (%s)', (string)trans('firefly.earned'), $currencyInfo['currency_name']),
'entries' => [], 'entries' => [],
'type' => 'bar', 'type' => 'bar',
'backgroundColor' => 'rgba(0, 141, 76, 0.5)', // green 'backgroundColor' => 'rgba(0, 141, 76, 0.5)', // green
]; ];
// loop empty periods: // loop empty periods:
foreach (array_keys($periods) as $period) { foreach (array_keys($periods) as $period) {
$label = $periods[$period]; $label = $periods[$period];

View File

@ -144,6 +144,7 @@ class JavascriptController extends Controller
return response() return response()
->view('v2.javascript.variables', $data) ->view('v2.javascript.variables', $data)
->header('Content-Type', 'text/javascript'); ->header('Content-Type', 'text/javascript')
;
} }
} }

View File

@ -122,13 +122,13 @@ class Account extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'user_id' => 'integer', 'user_id' => 'integer',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'active' => 'boolean', 'active' => 'boolean',
'encrypted' => 'boolean', 'encrypted' => 'boolean',
]; ];
protected $fillable = ['user_id', 'user_group_id', 'account_type_id', 'name', 'active', 'virtual_balance', 'iban']; protected $fillable = ['user_id', 'user_group_id', 'account_type_id', 'name', 'active', 'virtual_balance', 'iban'];

View File

@ -59,9 +59,9 @@ class AccountMeta extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
]; ];
protected $fillable = ['account_id', 'name', 'data']; protected $fillable = ['account_id', 'name', 'data'];

View File

@ -72,9 +72,9 @@ class AccountType extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
]; ];
protected $fillable = ['type']; protected $fillable = ['type'];

View File

@ -97,11 +97,11 @@ class Attachment extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'uploaded' => 'boolean', 'uploaded' => 'boolean',
]; ];
protected $fillable = ['attachable_id', 'attachable_type', 'user_id', 'md5', 'filename', 'mime', 'title', 'description', 'size', 'uploaded']; protected $fillable = ['attachable_id', 'attachable_type', 'user_id', 'md5', 'filename', 'mime', 'title', 'description', 'size', 'uploaded'];

View File

@ -80,13 +80,13 @@ class AvailableBudget extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'start_date' => 'date', 'start_date' => 'date',
'end_date' => 'date', 'end_date' => 'date',
'transaction_currency_id' => 'int', 'transaction_currency_id' => 'int',
]; ];
protected $fillable = ['user_id', 'user_group_id', 'transaction_currency_id', 'amount', 'start_date', 'end_date']; protected $fillable = ['user_id', 'user_group_id', 'transaction_currency_id', 'amount', 'start_date', 'end_date'];

View File

@ -114,36 +114,36 @@ class Bill extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'date' => 'date', 'date' => 'date',
'end_date' => 'date', 'end_date' => 'date',
'extension_date' => 'date', 'extension_date' => 'date',
'skip' => 'int', 'skip' => 'int',
'automatch' => 'boolean', 'automatch' => 'boolean',
'active' => 'boolean', 'active' => 'boolean',
'name_encrypted' => 'boolean', 'name_encrypted' => 'boolean',
'match_encrypted' => 'boolean', 'match_encrypted' => 'boolean',
]; ];
protected $fillable protected $fillable
= [ = [
'name', 'name',
'match', 'match',
'amount_min', 'amount_min',
'user_id', 'user_id',
'user_group_id', 'user_group_id',
'amount_max', 'amount_max',
'date', 'date',
'repeat_freq', 'repeat_freq',
'skip', 'skip',
'automatch', 'automatch',
'active', 'active',
'transaction_currency_id', 'transaction_currency_id',
'end_date', 'end_date',
'extension_date', 'extension_date',
]; ];
protected $hidden = ['amount_min_encrypted', 'amount_max_encrypted', 'name_encrypted', 'match_encrypted']; protected $hidden = ['amount_min_encrypted', 'amount_max_encrypted', 'name_encrypted', 'match_encrypted'];

View File

@ -97,12 +97,12 @@ class Budget extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'active' => 'boolean', 'active' => 'boolean',
'encrypted' => 'boolean', 'encrypted' => 'boolean',
]; ];
protected $fillable = ['user_id', 'name', 'active', 'order', 'user_group_id']; protected $fillable = ['user_id', 'name', 'active', 'order', 'user_group_id'];

View File

@ -74,18 +74,18 @@ class BudgetLimit extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'start_date' => 'date', 'start_date' => 'date',
'end_date' => 'date', 'end_date' => 'date',
'auto_budget' => 'boolean', 'auto_budget' => 'boolean',
]; ];
protected $dispatchesEvents protected $dispatchesEvents
= [ = [
'created' => Created::class, 'created' => Created::class,
'updated' => Updated::class, 'updated' => Updated::class,
'deleted' => Deleted::class, 'deleted' => Deleted::class,
]; ];
protected $fillable = ['budget_id', 'start_date', 'end_date', 'amount', 'transaction_currency_id']; protected $fillable = ['budget_id', 'start_date', 'end_date', 'amount', 'transaction_currency_id'];

View File

@ -86,11 +86,11 @@ class Category extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'encrypted' => 'boolean', 'encrypted' => 'boolean',
]; ];
protected $fillable = ['user_id', 'user_group_id', 'name']; protected $fillable = ['user_id', 'user_group_id', 'name'];

View File

@ -62,10 +62,10 @@ class Configuration extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
]; ];
/** @var string The table to store the data in */ /** @var string The table to store the data in */
protected $table = 'configuration'; protected $table = 'configuration';

View File

@ -72,11 +72,11 @@ class LinkType extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'editable' => 'boolean', 'editable' => 'boolean',
]; ];
protected $fillable = ['name', 'inward', 'outward', 'editable']; protected $fillable = ['name', 'inward', 'outward', 'editable'];

View File

@ -74,13 +74,13 @@ class Location extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'zoomLevel' => 'int', 'zoomLevel' => 'int',
'latitude' => 'float', 'latitude' => 'float',
'longitude' => 'float', 'longitude' => 'float',
]; ];
protected $fillable = ['locatable_id', 'locatable_type', 'latitude', 'longitude', 'zoom_level']; protected $fillable = ['locatable_id', 'locatable_type', 'latitude', 'longitude', 'zoom_level'];

View File

@ -69,10 +69,10 @@ class Note extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
]; ];
protected $fillable = ['title', 'text', 'noteable_id', 'noteable_type']; protected $fillable = ['title', 'text', 'noteable_id', 'noteable_type'];

View File

@ -92,15 +92,15 @@ class PiggyBank extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'startdate' => 'date', 'startdate' => 'date',
'targetdate' => 'date', 'targetdate' => 'date',
'order' => 'int', 'order' => 'int',
'active' => 'boolean', 'active' => 'boolean',
'encrypted' => 'boolean', 'encrypted' => 'boolean',
]; ];
protected $fillable = ['name', 'account_id', 'order', 'targetamount', 'startdate', 'targetdate', 'active']; protected $fillable = ['name', 'account_id', 'order', 'targetamount', 'startdate', 'targetdate', 'active'];

View File

@ -63,10 +63,10 @@ class PiggyBankEvent extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'date' => 'date', 'date' => 'date',
]; ];
protected $fillable = ['piggy_bank_id', 'transaction_journal_id', 'date', 'amount']; protected $fillable = ['piggy_bank_id', 'transaction_journal_id', 'date', 'amount'];

View File

@ -64,11 +64,11 @@ class PiggyBankRepetition extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'startdate' => 'date', 'startdate' => 'date',
'targetdate' => 'date', 'targetdate' => 'date',
]; ];
protected $fillable = ['piggy_bank_id', 'startdate', 'targetdate', 'currentamount']; protected $fillable = ['piggy_bank_id', 'startdate', 'targetdate', 'currentamount'];

View File

@ -63,10 +63,10 @@ class Preference extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'data' => 'array', 'data' => 'array',
]; ];
protected $fillable = ['user_id', 'data', 'name']; protected $fillable = ['user_id', 'data', 'name'];

View File

@ -104,19 +104,19 @@ class Recurrence extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'title' => 'string', 'title' => 'string',
'id' => 'int', 'id' => 'int',
'description' => 'string', 'description' => 'string',
'first_date' => 'date', 'first_date' => 'date',
'repeat_until' => 'date', 'repeat_until' => 'date',
'latest_date' => 'date', 'latest_date' => 'date',
'repetitions' => 'int', 'repetitions' => 'int',
'active' => 'bool', 'active' => 'bool',
'apply_rules' => 'bool', 'apply_rules' => 'bool',
]; ];
protected $fillable protected $fillable
= ['user_id', 'transaction_type_id', 'title', 'description', 'first_date', 'repeat_until', 'latest_date', 'repetitions', 'apply_rules', 'active']; = ['user_id', 'transaction_type_id', 'title', 'description', 'first_date', 'repeat_until', 'latest_date', 'repetitions', 'apply_rules', 'active'];

View File

@ -67,12 +67,12 @@ class RecurrenceMeta extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'name' => 'string', 'name' => 'string',
'value' => 'string', 'value' => 'string',
]; ];
protected $fillable = ['recurrence_id', 'name', 'value']; protected $fillable = ['recurrence_id', 'name', 'value'];

View File

@ -76,14 +76,14 @@ class RecurrenceRepetition extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'repetition_type' => 'string', 'repetition_type' => 'string',
'repetition_moment' => 'string', 'repetition_moment' => 'string',
'repetition_skip' => 'int', 'repetition_skip' => 'int',
'weekend' => 'int', 'weekend' => 'int',
]; ];
protected $fillable = ['recurrence_id', 'weekend', 'repetition_type', 'repetition_moment', 'repetition_skip']; protected $fillable = ['recurrence_id', 'weekend', 'repetition_type', 'repetition_moment', 'repetition_skip'];

View File

@ -91,25 +91,25 @@ class RecurrenceTransaction extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'amount' => 'string', 'amount' => 'string',
'foreign_amount' => 'string', 'foreign_amount' => 'string',
'description' => 'string', 'description' => 'string',
]; ];
protected $fillable protected $fillable
= [ = [
'recurrence_id', 'recurrence_id',
'transaction_currency_id', 'transaction_currency_id',
'foreign_currency_id', 'foreign_currency_id',
'source_id', 'source_id',
'destination_id', 'destination_id',
'amount', 'amount',
'foreign_amount', 'foreign_amount',
'description', 'description',
]; ];
/** @var string The table to store the data in */ /** @var string The table to store the data in */
protected $table = 'recurrences_transactions'; protected $table = 'recurrences_transactions';

View File

@ -67,12 +67,12 @@ class RecurrenceTransactionMeta extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'name' => 'string', 'name' => 'string',
'value' => 'string', 'value' => 'string',
]; ];
protected $fillable = ['rt_id', 'name', 'value']; protected $fillable = ['rt_id', 'name', 'value'];

View File

@ -62,9 +62,9 @@ class Role extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
]; ];
protected $fillable = ['name', 'display_name', 'description']; protected $fillable = ['name', 'display_name', 'description'];

View File

@ -95,15 +95,15 @@ class Rule extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'active' => 'boolean', 'active' => 'boolean',
'order' => 'int', 'order' => 'int',
'stop_processing' => 'boolean', 'stop_processing' => 'boolean',
'id' => 'int', 'id' => 'int',
'strict' => 'boolean', 'strict' => 'boolean',
]; ];
protected $fillable = ['rule_group_id', 'order', 'active', 'title', 'description', 'user_id', 'strict']; protected $fillable = ['rule_group_id', 'order', 'active', 'title', 'description', 'user_id', 'strict'];

View File

@ -66,12 +66,12 @@ class RuleAction extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'active' => 'boolean', 'active' => 'boolean',
'order' => 'int', 'order' => 'int',
'stop_processing' => 'boolean', 'stop_processing' => 'boolean',
]; ];
protected $fillable = ['rule_id', 'action_type', 'action_value', 'order', 'active', 'stop_processing']; protected $fillable = ['rule_id', 'action_type', 'action_value', 'order', 'active', 'stop_processing'];

View File

@ -85,13 +85,13 @@ class RuleGroup extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'active' => 'boolean', 'active' => 'boolean',
'stop_processing' => 'boolean', 'stop_processing' => 'boolean',
'order' => 'int', 'order' => 'int',
]; ];
protected $fillable = ['user_id', 'user_group_id', 'stop_processing', 'order', 'title', 'description', 'active']; protected $fillable = ['user_id', 'user_group_id', 'stop_processing', 'order', 'title', 'description', 'active'];

View File

@ -66,12 +66,12 @@ class RuleTrigger extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'active' => 'boolean', 'active' => 'boolean',
'order' => 'int', 'order' => 'int',
'stop_processing' => 'boolean', 'stop_processing' => 'boolean',
]; ];
protected $fillable = ['rule_id', 'trigger_type', 'trigger_value', 'order', 'active', 'stop_processing']; protected $fillable = ['rule_id', 'trigger_type', 'trigger_value', 'order', 'active', 'stop_processing'];

View File

@ -93,14 +93,14 @@ class Tag extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'date' => 'date', 'date' => 'date',
'zoomLevel' => 'int', 'zoomLevel' => 'int',
'latitude' => 'float', 'latitude' => 'float',
'longitude' => 'float', 'longitude' => 'float',
]; ];
protected $fillable = ['user_id', 'user_group_id', 'tag', 'date', 'description', 'tagMode']; protected $fillable = ['user_id', 'user_group_id', 'tag', 'date', 'description', 'tagMode'];

View File

@ -99,28 +99,28 @@ class Transaction extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'identifier' => 'int', 'identifier' => 'int',
'encrypted' => 'boolean', // model does not have these fields though 'encrypted' => 'boolean', // model does not have these fields though
'bill_name_encrypted' => 'boolean', 'bill_name_encrypted' => 'boolean',
'reconciled' => 'boolean', 'reconciled' => 'boolean',
'date' => 'datetime', 'date' => 'datetime',
]; ];
protected $fillable protected $fillable
= [ = [
'account_id', 'account_id',
'transaction_journal_id', 'transaction_journal_id',
'description', 'description',
'amount', 'amount',
'identifier', 'identifier',
'transaction_currency_id', 'transaction_currency_id',
'foreign_currency_id', 'foreign_currency_id',
'foreign_amount', 'foreign_amount',
'reconciled', 'reconciled',
]; ];
protected $hidden = ['encrypted']; protected $hidden = ['encrypted'];

View File

@ -89,12 +89,12 @@ class TransactionCurrency extends Model
public ?bool $userGroupEnabled; public ?bool $userGroupEnabled;
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'decimal_places' => 'int', 'decimal_places' => 'int',
'enabled' => 'bool', 'enabled' => 'bool',
]; ];
protected $fillable = ['name', 'code', 'symbol', 'decimal_places', 'enabled']; protected $fillable = ['name', 'code', 'symbol', 'decimal_places', 'enabled'];

View File

@ -78,13 +78,13 @@ class TransactionGroup extends Model
protected $casts protected $casts
= [ = [
'id' => 'integer', 'id' => 'integer',
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'title' => 'string', 'title' => 'string',
'date' => 'datetime', 'date' => 'datetime',
]; ];
protected $fillable = ['user_id', 'user_group_id', 'title']; protected $fillable = ['user_id', 'user_group_id', 'title'];

View File

@ -138,32 +138,32 @@ class TransactionJournal extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
'date' => 'datetime', 'date' => 'datetime',
'interest_date' => 'date', 'interest_date' => 'date',
'book_date' => 'date', 'book_date' => 'date',
'process_date' => 'date', 'process_date' => 'date',
'order' => 'int', 'order' => 'int',
'tag_count' => 'int', 'tag_count' => 'int',
'encrypted' => 'boolean', 'encrypted' => 'boolean',
'completed' => 'boolean', 'completed' => 'boolean',
]; ];
protected $fillable protected $fillable
= [ = [
'user_id', 'user_id',
'user_group_id', 'user_group_id',
'transaction_type_id', 'transaction_type_id',
'bill_id', 'bill_id',
'tag_count', 'tag_count',
'transaction_currency_id', 'transaction_currency_id',
'description', 'description',
'completed', 'completed',
'order', 'order',
'date', 'date',
]; ];
protected $hidden = ['encrypted']; protected $hidden = ['encrypted'];

View File

@ -71,9 +71,9 @@ class TransactionJournalLink extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
]; ];
/** @var string The table to store the data in */ /** @var string The table to store the data in */
protected $table = 'journal_links'; protected $table = 'journal_links';

View File

@ -69,10 +69,10 @@ class TransactionJournalMeta extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
]; ];
protected $fillable = ['transaction_journal_id', 'name', 'data', 'hash']; protected $fillable = ['transaction_journal_id', 'name', 'data', 'hash'];

View File

@ -73,10 +73,10 @@ class TransactionType extends Model
protected $casts protected $casts
= [ = [
'created_at' => 'datetime', 'created_at' => 'datetime',
'updated_at' => 'datetime', 'updated_at' => 'datetime',
'deleted_at' => 'datetime', 'deleted_at' => 'datetime',
]; ];
protected $fillable = ['type']; protected $fillable = ['type'];
/** /**

View File

@ -75,9 +75,9 @@ class NoCategoryRepository implements NoCategoryRepositoryInterface
$journalId = (int)$journal['transaction_journal_id']; $journalId = (int)$journal['transaction_journal_id'];
$array[$currencyId]['categories'][0]['transaction_journals'][$journalId] $array[$currencyId]['categories'][0]['transaction_journals'][$journalId]
= [ = [
'amount' => app('steam')->negative($journal['amount']), 'amount' => app('steam')->negative($journal['amount']),
'date' => $journal['date'], 'date' => $journal['date'],
]; ];
} }
return $array; return $array;
@ -128,9 +128,9 @@ class NoCategoryRepository implements NoCategoryRepositoryInterface
$journalId = (int)$journal['transaction_journal_id']; $journalId = (int)$journal['transaction_journal_id'];
$array[$currencyId]['categories'][0]['transaction_journals'][$journalId] $array[$currencyId]['categories'][0]['transaction_journals'][$journalId]
= [ = [
'amount' => app('steam')->positive($journal['amount']), 'amount' => app('steam')->positive($journal['amount']),
'date' => $journal['date'], 'date' => $journal['date'],
]; ];
} }
return $array; return $array;

View File

@ -146,10 +146,10 @@ class UniqueIban implements ValidationRule
} }
$query $query
= auth()->user() = auth()->user()
->accounts() ->accounts()
->leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id') ->leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id')
->where('accounts.iban', $iban) ->where('accounts.iban', $iban)
->whereIn('account_types.type', $typesArray) ->whereIn('account_types.type', $typesArray)
; ;
if (null !== $this->account) { if (null !== $this->account) {

View File

@ -566,13 +566,13 @@ trait PeriodOverview
} }
$entries[] $entries[]
= [ = [
'title' => $title, 'title' => $title,
'route' => route('transactions.index', [$transactionType, $currentDate['start']->format('Y-m-d'), $currentDate['end']->format('Y-m-d')]), 'route' => route('transactions.index', [$transactionType, $currentDate['start']->format('Y-m-d'), $currentDate['end']->format('Y-m-d')]),
'total_transactions' => count($spent) + count($earned) + count($transferred), 'total_transactions' => count($spent) + count($earned) + count($transferred),
'spent' => $this->groupByCurrency($spent), 'spent' => $this->groupByCurrency($spent),
'earned' => $this->groupByCurrency($earned), 'earned' => $this->groupByCurrency($earned),
'transferred' => $this->groupByCurrency($transferred), 'transferred' => $this->groupByCurrency($transferred),
]; ];
} }
return $entries; return $entries;

View File

@ -213,16 +213,16 @@ class BudgetReportGenerator
// make sum information: // make sum information:
$this->report['sums'][$currencyId] $this->report['sums'][$currencyId]
??= [ ??= [
'budgeted' => '0', 'budgeted' => '0',
'spent' => '0', 'spent' => '0',
'left' => '0', 'left' => '0',
'overspent' => '0', 'overspent' => '0',
'currency_id' => $currencyId, 'currency_id' => $currencyId,
'currency_code' => $limitCurrency->code, 'currency_code' => $limitCurrency->code,
'currency_name' => $limitCurrency->name, 'currency_name' => $limitCurrency->name,
'currency_symbol' => $limitCurrency->symbol, 'currency_symbol' => $limitCurrency->symbol,
'currency_decimal_places' => $limitCurrency->decimal_places, 'currency_decimal_places' => $limitCurrency->decimal_places,
]; ];
$this->report['sums'][$currencyId]['budgeted'] = bcadd($this->report['sums'][$currencyId]['budgeted'], $limit->amount); $this->report['sums'][$currencyId]['budgeted'] = bcadd($this->report['sums'][$currencyId]['budgeted'], $limit->amount);
$this->report['sums'][$currencyId]['spent'] = bcadd($this->report['sums'][$currencyId]['spent'], $spent); $this->report['sums'][$currencyId]['spent'] = bcadd($this->report['sums'][$currencyId]['spent'], $spent);
$this->report['sums'][$currencyId]['left'] = bcadd($this->report['sums'][$currencyId]['left'], bcadd($limit->amount, $spent)); $this->report['sums'][$currencyId]['left'] = bcadd($this->report['sums'][$currencyId]['left'], bcadd($limit->amount, $spent));

View File

@ -824,7 +824,8 @@ class FireflyValidator extends Validator
->where('trigger', $trigger) ->where('trigger', $trigger)
->where('response', $response) ->where('response', $response)
->where('delivery', $delivery) ->where('delivery', $delivery)
->where('url', $url)->count(); ->where('url', $url)->count()
;
} }
return false; return false;

84
composer.lock generated
View File

@ -2014,16 +2014,16 @@
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v10.46.0", "version": "v10.47.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "5e95946a8283a8d5c015035793f9c61c297e937f" "reference": "fce29b8de62733cdecbe12e3bae801f83fff2ea4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/5e95946a8283a8d5c015035793f9c61c297e937f", "url": "https://api.github.com/repos/laravel/framework/zipball/fce29b8de62733cdecbe12e3bae801f83fff2ea4",
"reference": "5e95946a8283a8d5c015035793f9c61c297e937f", "reference": "fce29b8de62733cdecbe12e3bae801f83fff2ea4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2216,20 +2216,20 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2024-02-27T16:46:54+00:00" "time": "2024-03-05T15:18:36+00:00"
}, },
{ {
"name": "laravel/passport", "name": "laravel/passport",
"version": "v11.10.5", "version": "v11.10.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/passport.git", "url": "https://github.com/laravel/passport.git",
"reference": "4d81207941d6efc198857847d9e4c17520f28d75" "reference": "2642f360c51dfde3a6ea60f86ae5d9a8c0caf3cf"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/passport/zipball/4d81207941d6efc198857847d9e4c17520f28d75", "url": "https://api.github.com/repos/laravel/passport/zipball/2642f360c51dfde3a6ea60f86ae5d9a8c0caf3cf",
"reference": "4d81207941d6efc198857847d9e4c17520f28d75", "reference": "2642f360c51dfde3a6ea60f86ae5d9a8c0caf3cf",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2294,7 +2294,7 @@
"issues": "https://github.com/laravel/passport/issues", "issues": "https://github.com/laravel/passport/issues",
"source": "https://github.com/laravel/passport" "source": "https://github.com/laravel/passport"
}, },
"time": "2024-02-09T16:27:49+00:00" "time": "2024-03-01T11:11:18+00:00"
}, },
{ {
"name": "laravel/prompts", "name": "laravel/prompts",
@ -2546,16 +2546,16 @@
}, },
{ {
"name": "laravel/ui", "name": "laravel/ui",
"version": "v4.4.0", "version": "v4.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/ui.git", "url": "https://github.com/laravel/ui.git",
"reference": "7335d7049b2cde345c029e9d2de839b80af62bc0" "reference": "da3811f409297d13feccd5858ce748e7474b3d11"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/ui/zipball/7335d7049b2cde345c029e9d2de839b80af62bc0", "url": "https://api.github.com/repos/laravel/ui/zipball/da3811f409297d13feccd5858ce748e7474b3d11",
"reference": "7335d7049b2cde345c029e9d2de839b80af62bc0", "reference": "da3811f409297d13feccd5858ce748e7474b3d11",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2566,8 +2566,8 @@
"php": "^8.0" "php": "^8.0"
}, },
"require-dev": { "require-dev": {
"orchestra/testbench": "^7.0|^8.0|^9.0", "orchestra/testbench": "^7.35|^8.15|^9.0",
"phpunit/phpunit": "^9.3|^10.4" "phpunit/phpunit": "^9.3|^10.4|^11.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@ -2602,9 +2602,9 @@
"ui" "ui"
], ],
"support": { "support": {
"source": "https://github.com/laravel/ui/tree/v4.4.0" "source": "https://github.com/laravel/ui/tree/v4.5.0"
}, },
"time": "2024-01-12T15:56:45+00:00" "time": "2024-03-04T13:58:27+00:00"
}, },
{ {
"name": "lcobucci/clock", "name": "lcobucci/clock",
@ -6549,16 +6549,16 @@
}, },
{ {
"name": "symfony/http-client", "name": "symfony/http-client",
"version": "v7.0.4", "version": "v7.0.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-client.git", "url": "https://github.com/symfony/http-client.git",
"reference": "8384876f49a2316a63f88a9cd12436de6936bee6" "reference": "425f462a59d8030703ee04a9e1c666575ed5db3b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-client/zipball/8384876f49a2316a63f88a9cd12436de6936bee6", "url": "https://api.github.com/repos/symfony/http-client/zipball/425f462a59d8030703ee04a9e1c666575ed5db3b",
"reference": "8384876f49a2316a63f88a9cd12436de6936bee6", "reference": "425f462a59d8030703ee04a9e1c666575ed5db3b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6621,7 +6621,7 @@
"http" "http"
], ],
"support": { "support": {
"source": "https://github.com/symfony/http-client/tree/v7.0.4" "source": "https://github.com/symfony/http-client/tree/v7.0.5"
}, },
"funding": [ "funding": [
{ {
@ -6637,7 +6637,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-02-15T11:33:06+00:00" "time": "2024-03-02T12:46:12+00:00"
}, },
{ {
"name": "symfony/http-client-contracts", "name": "symfony/http-client-contracts",
@ -6796,16 +6796,16 @@
}, },
{ {
"name": "symfony/http-kernel", "name": "symfony/http-kernel",
"version": "v6.4.4", "version": "v6.4.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-kernel.git", "url": "https://github.com/symfony/http-kernel.git",
"reference": "7a186f64a7f02787c04e8476538624d6aa888e42" "reference": "f6947cb939d8efee137797382cb4db1af653ef75"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/7a186f64a7f02787c04e8476538624d6aa888e42", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f6947cb939d8efee137797382cb4db1af653ef75",
"reference": "7a186f64a7f02787c04e8476538624d6aa888e42", "reference": "f6947cb939d8efee137797382cb4db1af653ef75",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6889,7 +6889,7 @@
"description": "Provides a structured process for converting a Request into a Response", "description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/http-kernel/tree/v6.4.4" "source": "https://github.com/symfony/http-kernel/tree/v6.4.5"
}, },
"funding": [ "funding": [
{ {
@ -6905,7 +6905,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-02-27T06:32:13+00:00" "time": "2024-03-04T21:00:47+00:00"
}, },
{ {
"name": "symfony/mailer", "name": "symfony/mailer",
@ -8003,16 +8003,16 @@
}, },
{ {
"name": "symfony/routing", "name": "symfony/routing",
"version": "v6.4.3", "version": "v6.4.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/routing.git", "url": "https://github.com/symfony/routing.git",
"reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842" "reference": "7fe30068e207d9c31c0138501ab40358eb2d49a4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/3b2957ad54902f0f544df83e3d58b38d7e8e5842", "url": "https://api.github.com/repos/symfony/routing/zipball/7fe30068e207d9c31c0138501ab40358eb2d49a4",
"reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842", "reference": "7fe30068e207d9c31c0138501ab40358eb2d49a4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8066,7 +8066,7 @@
"url" "url"
], ],
"support": { "support": {
"source": "https://github.com/symfony/routing/tree/v6.4.3" "source": "https://github.com/symfony/routing/tree/v6.4.5"
}, },
"funding": [ "funding": [
{ {
@ -8082,7 +8082,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-30T13:55:02+00:00" "time": "2024-02-27T12:33:30+00:00"
}, },
{ {
"name": "symfony/service-contracts", "name": "symfony/service-contracts",
@ -9861,16 +9861,16 @@
}, },
{ {
"name": "nikic/php-parser", "name": "nikic/php-parser",
"version": "v5.0.1", "version": "v5.0.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nikic/PHP-Parser.git", "url": "https://github.com/nikic/PHP-Parser.git",
"reference": "2218c2252c874a4624ab2f613d86ac32d227bc69" "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/2218c2252c874a4624ab2f613d86ac32d227bc69", "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13",
"reference": "2218c2252c874a4624ab2f613d86ac32d227bc69", "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -9913,9 +9913,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/nikic/PHP-Parser/issues", "issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v5.0.1" "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2"
}, },
"time": "2024-02-21T19:24:10+00:00" "time": "2024-03-05T20:51:40+00:00"
}, },
{ {
"name": "phar-io/manifest", "name": "phar-io/manifest",

View File

@ -115,7 +115,7 @@ return [
'handle_debts' => true, 'handle_debts' => true,
// see cer.php for exchange rates feature flag. // see cer.php for exchange rates feature flag.
], ],
'version' => 'develop/2024-03-04', 'version' => 'develop/2024-03-07',
'api_version' => '2.0.12', 'api_version' => '2.0.12',
'db_version' => 23, 'db_version' => 23,

6
package-lock.json generated
View File

@ -460,9 +460,9 @@
"integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA=="
}, },
"node_modules/alpinejs": { "node_modules/alpinejs": {
"version": "3.13.5", "version": "3.13.6",
"resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.13.5.tgz", "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.13.6.tgz",
"integrity": "sha512-1d2XeNGN+Zn7j4mUAKXtAgdc4/rLeadyTMWeJGXF5DzwawPBxwTiBhFFm6w/Ei8eJxUZeyNWWSD9zknfdz1kEw==", "integrity": "sha512-/F7pVR+11r1A0KVw+eY1DcjTFlRQn9arD3p5/2Q4vq0N2WDC/dHpg+Pz7ZMiVQlHE7ZmZmcqTRm1wYTdDLMiEg==",
"dependencies": { "dependencies": {
"@vue/reactivity": "~3.1.1" "@vue/reactivity": "~3.1.1"
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{f as n}from"./vendor-596566c8.js";function e(){return{id:"",name:"",alpine_name:""}}function o(){return{description:[],amount:[],currency_code:[],foreign_amount:[],foreign_currency_code:[],source_account:[],destination_account:[],budget_id:[],category_name:[],piggy_bank_id:[],bill_id:[],tags:[],notes:[],internal_reference:[],external_url:[],latitude:[],longitude:[],zoom_level:[],date:[],interest_date:[],book_date:[],process_date:[],due_date:[],payment_date:[],invoice_date:[]}}function d(){let t=n(new Date,"yyyy-MM-dd HH:mm");return{description:"",amount:"",currency_code:"EUR",foreign_amount:"",foreign_currency_code:"",source_account:e(),destination_account:e(),budget_id:null,category_name:"",piggy_bank_id:null,bill_id:null,tags:[],notes:"",internal_reference:"",external_url:"",hasLocation:!1,latitude:null,longitude:null,zoomLevel:null,date:t,interest_date:"",book_date:"",process_date:"",due_date:"",payment_date:"",invoice_date:"",errors:o()}}export{d as c,o as d}; import{f as n}from"./vendor-f5e18451.js";function e(){return{id:"",name:"",alpine_name:""}}function o(){return{description:[],amount:[],currency_code:[],foreign_amount:[],foreign_currency_code:[],source_account:[],destination_account:[],budget_id:[],category_name:[],piggy_bank_id:[],bill_id:[],tags:[],notes:[],internal_reference:[],external_url:[],latitude:[],longitude:[],zoom_level:[],date:[],interest_date:[],book_date:[],process_date:[],due_date:[],payment_date:[],invoice_date:[]}}function d(){let t=n(new Date,"yyyy-MM-dd HH:mm");return{description:"",amount:"",currency_code:"EUR",foreign_amount:"",foreign_currency_code:"",source_account:e(),destination_account:e(),budget_id:null,category_name:"",piggy_bank_id:null,bill_id:null,tags:[],notes:"",internal_reference:"",external_url:"",hasLocation:!1,latitude:null,longitude:null,zoomLevel:null,date:t,interest_date:"",book_date:"",process_date:"",due_date:"",payment_date:"",invoice_date:"",errors:o()}}export{d as c,o as d};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{a as s}from"./format-money-32daba98.js";let t=class{list(a){return s.get("/api/v2/subscriptions",{params:a})}paid(a){return s.get("/api/v2/subscriptions/sum/paid",{params:a})}unpaid(a){return s.get("/api/v2/subscriptions/sum/unpaid",{params:a})}};class e{list(a){return s.get("/api/v2/piggy-banks",{params:a})}}export{t as G,e as a}; import{a as s}from"./format-money-00d5f4b9.js";let t=class{list(a){return s.get("/api/v2/subscriptions",{params:a})}paid(a){return s.get("/api/v2/subscriptions/sum/paid",{params:a})}unpaid(a){return s.get("/api/v2/subscriptions/sum/unpaid",{params:a})}};class e{list(a){return s.get("/api/v2/piggy-banks",{params:a})}}export{t as G,e as a};

View File

@ -1 +1 @@
import{a as t}from"./format-money-32daba98.js";class n{list(a){return t.get("/api/v2/transactions",{params:a})}infiniteList(a){return t.get("/api/v2/infinite/transactions",{params:a})}show(a,i){return t.get("/api/v2/transactions/"+a,{params:i})}}export{n as G}; import{a as t}from"./format-money-00d5f4b9.js";class n{list(a){return t.get("/api/v2/transactions",{params:a})}infiniteList(a){return t.get("/api/v2/infinite/transactions",{params:a})}show(a,i){return t.get("/api/v2/transactions/"+a,{params:i})}}export{n as G};

View File

@ -0,0 +1 @@
import{a as s}from"./format-money-00d5f4b9.js";import{f as n}from"./vendor-f5e18451.js";class c{show(a,t){return s.get("/api/v2/accounts/"+a,{params:t})}index(a){return s.get("/api/v2/accounts",{params:a})}transactions(a,t){const r={page:t.page??1};return t.hasOwnProperty("start")&&(r.start=n(t.start,"y-MM-dd")),t.hasOwnProperty("end")&&(r.end=n(t.end,"y-MM-dd")),s.get("/api/v2/accounts/"+a+"/transactions",{params:r})}}export{c as G};

View File

@ -1 +0,0 @@
import{a as s}from"./format-money-32daba98.js";import{f as n}from"./vendor-596566c8.js";class c{list(a,t){let r={date:n(t,"y-MM-dd").slice(0,10)};return t?s.get("/api/v2/accounts/"+a,{params:r}):s.get("/api/v2/accounts/"+a)}infiniteList(a){return s.get("/api/v2/infinite/accounts",{params:a})}transactions(a,t){const r={page:t.page??1};return t.hasOwnProperty("start")&&(r.start=n(t.start,"y-MM-dd")),t.hasOwnProperty("end")&&(r.end=n(t.end,"y-MM-dd")),s.get("/api/v2/accounts/"+a+"/transactions",{params:r})}}export{c as G};

View File

@ -1 +0,0 @@
import{d as h,f as g}from"./format-money-32daba98.js";import{M as w,I as p,f as m,i,l as y}from"./vendor-596566c8.js";/* empty css */import{G as b}from"./get-5c0a4ab7.js";class M{constructor(){this.type="all",this.rowCount=null,this.sortModel=null}rowCount(){return console.log("The row count is: ",this.rowCount),this.rowCount}getRows(e){console.log("The sort model used is: ",e.sortModel);let n=[];for(let o in e.sortModel)if(e.sortModel.hasOwnProperty(o)){let a=e.sortModel[o];n.push({column:a.colId,direction:a.sort})}new b().infiniteList({start_row:e.startRow,end_row:e.endRow,type:this.type,sorting:n}).then(o=>{this.parseAccounts(o.data.data,e.successCallback),this.rowCount=o.data.meta.pagination.total,console.log("The row count is: ",this.rowCount)}).catch(o=>{console.log(o)})}parseAccounts(e,n){let l=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o],s={};s.id=a.id,s.name=a.attributes.name,l.push(s)}return console.log("accounts length = ",l.length),n(l,!1),l}setType(e){this.type=e}}const c=new M,r=window.location.href.split("/"),C=r[r.length-1];c.setType(C);document.addEventListener("cellEditRequest",()=>{console.log("Loaded through event listener.")});let u;const R=["description","amount","date"],_=t=>{console.log("onCellEditRequestMethod");const e=t.data,n=t.colDef.field;let l=t.newValue;if(!R.includes(n)){console.log("Field "+n+" is not editable.");return}n==="amount"&&(l=t.newValue.amount,console.log("New value is now"+l)),console.log('New value for field "'+n+'" in transaction journal #'+e.transaction_journal_id+" of group #"+e.id+' is "'+l+'"'),e[n]=l,u.getRowNode(String(t.rowIndex)).updateData(e),e.transaction_journal_id};document.addEventListener("cellValueChanged",()=>{console.log("I just realized a cell value has changed.")});document.addEventListener("onCellValueChanged",()=>{console.log("I just realized a cell value has changed.")});const v={rowModelType:"infinite",datasource:c,onCellEditRequest:_,readOnlyEdit:!0,cacheOverflowSize:1,cacheBlockSize:20,columnDefs:[{field:"icon",editable:!1,headerName:"",sortable:!1,width:40,cellRenderer:function(t){return t.getValue()?'<a href="./transactions/show/'+parseInt(t.value.id)+'"><em class="'+t.value.classes+'"></em></a>':""}},{field:"name",cellDataType:"text",editable:!0,cellRenderer:function(t){return t.getValue()?'<a href="./accounts/show/'+parseInt(t.data.id)+'">'+t.getValue()+"</a>":""}}]};w.registerModules([p]);let E=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},totalPages:1,page:1,tableColumns:{name:{enabled:!0}},table:null,formatMoney(t,e){return g(t,e)},format(t){return m(t,i.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=i.t("firefly.wait_loading_data"),u=y(document.querySelector("#grid"),v)}}},d={index:E,dates:h};function f(){Object.keys(d).forEach(t=>{console.log(`Loading page component "${t}"`);let e=d[t]();Alpine.data(t,()=>e)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),f()});window.bootstrapped&&(console.log("Loaded through window variable."),f());

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{d as l,f as d}from"./format-money-00d5f4b9.js";import{f as c,i as o}from"./vendor-f5e18451.js";/* empty css */import{G as f}from"./get-5b2cde80.js";const i=window.location.href.split("/"),u=i[i.length-1];let h=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},totalPages:1,page:1,tableColumns:{name:{enabled:!0}},accounts:[],formatMoney(t,a){return d(t,a)},format(t){return c(t,o.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=o.t("firefly.wait_loading_data"),this.loadAccounts()},loadAccounts(){new f().index({type:u,page:this.page}).then(t=>{for(let a=0;a<t.data.data.length;a++)if(t.data.data.hasOwnProperty(a)){let e=t.data.data[a],r={id:parseInt(e.id),name:e.attributes.name};this.accounts.push(r)}this.notifications.wait.show=!1})}}},n={index:h,dates:l};function s(){Object.keys(n).forEach(t=>{console.log(`Loading page component "${t}"`);let a=n[t]();Alpine.data(t,()=>a)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),s()});window.bootstrapped&&(console.log("Loaded through window variable."),s());

View File

@ -1 +1 @@
import{c as o}from"./create-empty-split-ae226c95.js";import{f as _}from"./vendor-596566c8.js";function l(a,r){let n=[];for(let i in a)if(a.hasOwnProperty(i)){let e=a[i],t=o();t.transaction_journal_id=e.transaction_journal_id,t.transaction_group_id=r,t.bill_id=e.bill_id,t.bill_name=e.bill_name,t.budget_id=e.budget_id,t.budget_name=e.budget_name,t.category_name=e.category_name,t.category_id=e.category_id,t.piggy_bank_id=e.piggy_bank_id,t.piggy_bank_name=e.piggy_bank_name,t.book_date=e.book_date,t.due_date=e.due_date,t.interest_date=e.interest_date,t.invoice_date=e.invoice_date,t.payment_date=e.payment_date,t.process_date=e.process_date,t.external_url=e.external_url,t.internal_reference=e.internal_reference,t.notes=e.notes,t.tags=e.tags,t.amount=parseFloat(e.amount).toFixed(e.currency_decimal_places),t.currency_code=e.currency_code,e.foreign_amount!==null&&(t.forein_currency_code=e.foreign_currency_code,t.foreign_amount=parseFloat(e.foreign_amount).toFixed(e.foreign_currency_decimal_places)),t.date=_(new Date(e.date),"yyyy-MM-dd HH:mm"),t.description=e.description,t.destination_account={id:e.destination_id,name:e.destination_name,type:e.destination_type,alpine_name:e.destination_name},t.source_account={id:e.source_id,name:e.source_name,type:e.source_type,alpine_name:e.source_name},e.latitude!==null&&(t.hasLocation=!0,t.latitude=e.latitude,t.longitude=e.longitude,t.zoomLevel=e.zoom_level),n.push(t)}return n}export{l as p}; import{c as o}from"./create-empty-split-c97f45c5.js";import{f as _}from"./vendor-f5e18451.js";function l(a,r){let n=[];for(let i in a)if(a.hasOwnProperty(i)){let e=a[i],t=o();t.transaction_journal_id=e.transaction_journal_id,t.transaction_group_id=r,t.bill_id=e.bill_id,t.bill_name=e.bill_name,t.budget_id=e.budget_id,t.budget_name=e.budget_name,t.category_name=e.category_name,t.category_id=e.category_id,t.piggy_bank_id=e.piggy_bank_id,t.piggy_bank_name=e.piggy_bank_name,t.book_date=e.book_date,t.due_date=e.due_date,t.interest_date=e.interest_date,t.invoice_date=e.invoice_date,t.payment_date=e.payment_date,t.process_date=e.process_date,t.external_url=e.external_url,t.internal_reference=e.internal_reference,t.notes=e.notes,t.tags=e.tags,t.amount=parseFloat(e.amount).toFixed(e.currency_decimal_places),t.currency_code=e.currency_code,e.foreign_amount!==null&&(t.forein_currency_code=e.foreign_currency_code,t.foreign_amount=parseFloat(e.foreign_amount).toFixed(e.foreign_currency_decimal_places)),t.date=_(new Date(e.date),"yyyy-MM-dd HH:mm"),t.description=e.description,t.destination_account={id:e.destination_id,name:e.destination_name,type:e.destination_type,alpine_name:e.destination_name},t.source_account={id:e.source_id,name:e.source_name,type:e.source_type,alpine_name:e.source_name},e.latitude!==null&&(t.hasLocation=!0,t.latitude=e.latitude,t.longitude=e.longitude,t.zoomLevel=e.zoom_level),n.push(t)}return n}export{l as p};

View File

@ -1 +1 @@
import{a as p}from"./format-money-32daba98.js";class u{put(t,a){let r="/api/v2/transactions/"+parseInt(a.id);return p.put(r,t)}}export{u as P}; import{a as p}from"./format-money-00d5f4b9.js";class u{put(t,a){let r="/api/v2/transactions/"+parseInt(a.id);return p.put(r,t)}}export{u as P};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,75 +1,75 @@
{ {
"_create-empty-split-ae226c95.js": { "_create-empty-split-c97f45c5.js": {
"file": "assets/create-empty-split-ae226c95.js", "file": "assets/create-empty-split-c97f45c5.js",
"imports": [ "imports": [
"_vendor-596566c8.js" "_vendor-f5e18451.js"
], ],
"integrity": "sha384-ZvhdFWXmdx//iY6iifwB8yQZG5DwmrzQooPI6p0+NPV3Cxt87N8Hj3vO7pzz/iIe" "integrity": "sha384-wKgs+6aM6DzW9ZXDeQVeN/TZtIlkASgtnnFzSjaSdQ1oFOyhKBuZBr3j2nGoXWRI"
}, },
"_format-money-32daba98.js": { "_format-money-00d5f4b9.js": {
"file": "assets/format-money-32daba98.js", "file": "assets/format-money-00d5f4b9.js",
"imports": [ "imports": [
"_vendor-596566c8.js" "_vendor-f5e18451.js"
], ],
"integrity": "sha384-D29XPv2SrXNniVn30ueDMb3YklD5Hse0O5kU/1jkuTLDBewbyOU5WSCqtm9LncBT" "integrity": "sha384-NwibVlqlZ8kjqF9U76HNU1p/xODJOtH4zTBi6i4OGG4x9PcqhTEbQtoXC4WnYE2u"
}, },
"_get-3a7c8f47.js": { "_get-0097c30a.js": {
"file": "assets/get-3a7c8f47.js", "file": "assets/get-0097c30a.js",
"imports": [ "imports": [
"_format-money-32daba98.js" "_format-money-00d5f4b9.js"
], ],
"integrity": "sha384-UQC8EVz1wYu1O8ei2uuCWy9RvPz7Bop2y5L103ZegljBnZliQ4tgnq7GZAS4ME9U" "integrity": "sha384-FLOxTBwEkGf7PbJFJGi1kmcf110PY99rnGSOOmJSlnPd4fnsEZXYu4e7Q0gAxmC8"
}, },
"_get-5c0a4ab7.js": { "_get-59bb27e9.js": {
"file": "assets/get-5c0a4ab7.js", "file": "assets/get-59bb27e9.js",
"imports": [ "imports": [
"_format-money-32daba98.js", "_format-money-00d5f4b9.js"
"_vendor-596566c8.js"
], ],
"integrity": "sha384-EaYzFd638P3EF7jkKXx3lC09j4eT72DMJN0EMqR0JqQlk0uf3ooUTCgem7CYEz70" "integrity": "sha384-bmtl6LrtsrNh0rSgcWohzOXmDozXSaQ9BLaXchj8IiJAeqULMGFOx/z6olr9Z6I9"
}, },
"_get-d8580107.js": { "_get-5b2cde80.js": {
"file": "assets/get-d8580107.js", "file": "assets/get-5b2cde80.js",
"imports": [ "imports": [
"_format-money-32daba98.js" "_format-money-00d5f4b9.js",
"_vendor-f5e18451.js"
], ],
"integrity": "sha384-3gXnN2IbVYuUNk8uNZHirq3ZOcpwGEF69Egci1fh6M4iyJlHKfXg0PxqtMDXKEyh" "integrity": "sha384-Tr9M0BbSz6qynIKHsBlaiZlTWRqPh5K8oIoFNE9eqXvooEeAW2o0thWfuXBrV5s+"
}, },
"_parse-downloaded-splits-f7cec9f6.js": { "_parse-downloaded-splits-9e5b1aaf.js": {
"file": "assets/parse-downloaded-splits-f7cec9f6.js", "file": "assets/parse-downloaded-splits-9e5b1aaf.js",
"imports": [ "imports": [
"_create-empty-split-ae226c95.js", "_create-empty-split-c97f45c5.js",
"_vendor-596566c8.js" "_vendor-f5e18451.js"
], ],
"integrity": "sha384-z6ZwBo4M5GMh6grGX/JhoQQLsdrYBtWevoH3jbRy/wZO9ewmfL6Brn4b8R/VfGef" "integrity": "sha384-+u7ce40ZJSnmX7AM9MgiCCgIjXt+TkLmWC/p/A7bocN5A5HLNNEgM5UUkecfGDbU"
}, },
"_put-afdefb1b.js": { "_put-d6ed6223.js": {
"file": "assets/put-afdefb1b.js", "file": "assets/put-d6ed6223.js",
"imports": [ "imports": [
"_format-money-32daba98.js" "_format-money-00d5f4b9.js"
], ],
"integrity": "sha384-tkD9X7Iij3KmBXAP6gJFOrJ9wEWNSQic8rEQeTM2s0iy8V3RmSvgZkr1FWVM0Wlg" "integrity": "sha384-AqFeuR/08blTrxpgzmtTKao9mbSJhBT6N/0clyeAgTtSUyH4w0gKJ2MTvt8lOujk"
}, },
"_splice-errors-into-transactions-e7d87df9.js": { "_splice-errors-into-transactions-bba1ef64.js": {
"file": "assets/splice-errors-into-transactions-e7d87df9.js", "file": "assets/splice-errors-into-transactions-bba1ef64.js",
"imports": [ "imports": [
"_format-money-32daba98.js", "_format-money-00d5f4b9.js",
"_get-d8580107.js", "_get-0097c30a.js",
"_vendor-596566c8.js" "_vendor-f5e18451.js"
], ],
"integrity": "sha384-lgFWct0EQHY4Ke6v/DeOvi1/gkri/azZNS7xyLO+mOZwldzyKMO7gTwDrSDy6E/n" "integrity": "sha384-ld/QxFbIFbqpxeHPa3i4Rs58YFPmt265gYQThhJqTDxuXYD0vBS5fiMzKYccFI7g"
}, },
"_vendor-596566c8.js": { "_vendor-f5e18451.js": {
"assets": [ "assets": [
"assets/layers-1dbbe9d0.png", "assets/layers-1dbbe9d0.png",
"assets/layers-2x-066daca8.png", "assets/layers-2x-066daca8.png",
"assets/marker-icon-574c3a5c.png" "assets/marker-icon-574c3a5c.png"
], ],
"css": [ "css": [
"assets/vendor-04d71b26.css" "assets/vendor-52daf6b6.css"
], ],
"file": "assets/vendor-596566c8.js", "file": "assets/vendor-f5e18451.js",
"integrity": "sha384-z4Em8wtBjwTy8uzyiS3bVG6WR6MG9+rgYUupY8v4Z1ztgbyMwnwTL3Kmi49LN37M" "integrity": "sha384-BzNMP5uYsiVrJylPJoLh/L+4WMPug3bTJN6sHZQpTe/UM3l1gwxier4DHUeuKNwq"
}, },
"grid-ff3-theme.css": { "grid-ff3-theme.css": {
"file": "assets/grid-ff3-theme-badb0a41.css", "file": "assets/grid-ff3-theme-badb0a41.css",
@ -125,72 +125,72 @@
"css": [ "css": [
"assets/grid-ff3-theme-badb0a41.css" "assets/grid-ff3-theme-badb0a41.css"
], ],
"file": "assets/index-3672fcc3.js", "file": "assets/index-bcaedc78.js",
"imports": [ "imports": [
"_format-money-32daba98.js", "_format-money-00d5f4b9.js",
"_vendor-596566c8.js", "_vendor-f5e18451.js",
"_get-5c0a4ab7.js" "_get-5b2cde80.js"
], ],
"isEntry": true, "isEntry": true,
"src": "resources/assets/v2/pages/accounts/index.js", "src": "resources/assets/v2/pages/accounts/index.js",
"integrity": "sha384-Ice8a8LMHdGmfYTmoBkJwNOkT37ncUcUi6SxYZjvuxX1iBjDryNv+mZP9RafUOZR" "integrity": "sha384-76KRUQFORlmJ/leXDqMLlPq4/4wiW8vFbtL5qUk+bE86/oKpY8CIuk17zFU1emoS"
}, },
"resources/assets/v2/pages/dashboard/dashboard.js": { "resources/assets/v2/pages/dashboard/dashboard.js": {
"file": "assets/dashboard-ff1a9ca4.js", "file": "assets/dashboard-41a4b449.js",
"imports": [ "imports": [
"_format-money-32daba98.js", "_format-money-00d5f4b9.js",
"_vendor-596566c8.js", "_vendor-f5e18451.js",
"_get-5c0a4ab7.js", "_get-5b2cde80.js",
"_get-3a7c8f47.js", "_get-59bb27e9.js",
"_get-d8580107.js" "_get-0097c30a.js"
], ],
"isEntry": true, "isEntry": true,
"src": "resources/assets/v2/pages/dashboard/dashboard.js", "src": "resources/assets/v2/pages/dashboard/dashboard.js",
"integrity": "sha384-PcF1jLpFFU+d6xKZPDA5DJ2mXZ7goFmM0yMGTAzG9veqCLax2RRoj7Fdz/HBLCDt" "integrity": "sha384-1kybqwSzdo4Qfy5jIkvNgbYJwALV6jnXqKM/aGUAM1sjIJvfGnxK2DjHX4lZN3IZ"
}, },
"resources/assets/v2/pages/transactions/create.js": { "resources/assets/v2/pages/transactions/create.js": {
"file": "assets/create-3b1a50e9.js", "file": "assets/create-b721a410.js",
"imports": [ "imports": [
"_format-money-32daba98.js", "_format-money-00d5f4b9.js",
"_create-empty-split-ae226c95.js", "_create-empty-split-c97f45c5.js",
"_splice-errors-into-transactions-e7d87df9.js", "_splice-errors-into-transactions-bba1ef64.js",
"_vendor-596566c8.js", "_vendor-f5e18451.js",
"_get-d8580107.js" "_get-0097c30a.js"
], ],
"isEntry": true, "isEntry": true,
"src": "resources/assets/v2/pages/transactions/create.js", "src": "resources/assets/v2/pages/transactions/create.js",
"integrity": "sha384-iVlFUKE6NNPSLT1eIQPFmGQxLyEhcPpWPVYvCaipkUxmHPh0rwfp8VFVYdOwB+Cg" "integrity": "sha384-cAEOcjbtExGHfptyeQTlY4AINMi2a/DH22mgeTzvjnzY2KbZ0UydbBze9XmXNq9v"
}, },
"resources/assets/v2/pages/transactions/edit.js": { "resources/assets/v2/pages/transactions/edit.js": {
"file": "assets/edit-b45ad2d0.js", "file": "assets/edit-195027dc.js",
"imports": [ "imports": [
"_format-money-32daba98.js", "_format-money-00d5f4b9.js",
"_get-3a7c8f47.js", "_get-59bb27e9.js",
"_parse-downloaded-splits-f7cec9f6.js", "_parse-downloaded-splits-9e5b1aaf.js",
"_splice-errors-into-transactions-e7d87df9.js", "_splice-errors-into-transactions-bba1ef64.js",
"_vendor-596566c8.js", "_vendor-f5e18451.js",
"_create-empty-split-ae226c95.js", "_create-empty-split-c97f45c5.js",
"_put-afdefb1b.js", "_put-d6ed6223.js",
"_get-d8580107.js" "_get-0097c30a.js"
], ],
"isEntry": true, "isEntry": true,
"src": "resources/assets/v2/pages/transactions/edit.js", "src": "resources/assets/v2/pages/transactions/edit.js",
"integrity": "sha384-PQoBdUlCtONbJF0Cb6XWgrbTVc/zHYxx9414iEwVI9IBnHf35SwxsqrXCx8oT+P5" "integrity": "sha384-yZLBSDqjmV3bx4u+464kapaHom6+82OkAyZfuITONyH8DbtMsQ1HrNPTJbeBZ3qN"
}, },
"resources/assets/v2/pages/transactions/index.js": { "resources/assets/v2/pages/transactions/index.js": {
"css": [ "css": [
"assets/grid-ff3-theme-badb0a41.css" "assets/grid-ff3-theme-badb0a41.css"
], ],
"file": "assets/index-9d44e91d.js", "file": "assets/index-943f66ab.js",
"imports": [ "imports": [
"_format-money-32daba98.js", "_format-money-00d5f4b9.js",
"_vendor-596566c8.js", "_vendor-f5e18451.js",
"_put-afdefb1b.js", "_put-d6ed6223.js",
"_get-3a7c8f47.js" "_get-59bb27e9.js"
], ],
"isEntry": true, "isEntry": true,
"src": "resources/assets/v2/pages/transactions/index.js", "src": "resources/assets/v2/pages/transactions/index.js",
"integrity": "sha384-J4Ja4GNcXcoTfeZ4LNKCL3pK2TyKQfvWUg6u5XZ/ae++nSpGr0Zk81+0AkBNkzRN" "integrity": "sha384-gaqmZQLTNbfSpNmb87PYF8FD5c7jq3Ng+4ghR3Q3aKxOLhOLyBXoVb7ryCnkpfcF"
}, },
"resources/assets/v2/pages/transactions/show.css": { "resources/assets/v2/pages/transactions/show.css": {
"file": "assets/show-8b1429e5.css", "file": "assets/show-8b1429e5.css",
@ -201,17 +201,17 @@
"css": [ "css": [
"assets/show-8b1429e5.css" "assets/show-8b1429e5.css"
], ],
"file": "assets/show-5b49caf9.js", "file": "assets/show-63e01089.js",
"imports": [ "imports": [
"_format-money-32daba98.js", "_format-money-00d5f4b9.js",
"_vendor-596566c8.js", "_vendor-f5e18451.js",
"_get-3a7c8f47.js", "_get-59bb27e9.js",
"_parse-downloaded-splits-f7cec9f6.js", "_parse-downloaded-splits-9e5b1aaf.js",
"_create-empty-split-ae226c95.js" "_create-empty-split-c97f45c5.js"
], ],
"isEntry": true, "isEntry": true,
"src": "resources/assets/v2/pages/transactions/show.js", "src": "resources/assets/v2/pages/transactions/show.js",
"integrity": "sha384-jlYuHBokLAc0Cu1s0hNqFdUDag0PXqc+RQJ20B82ZDK7l/ycqUo6gEUkz4Rg0k4l" "integrity": "sha384-x17vRUDjWuxqceuMDNz/325LQPW85BoFU7068e9G3TPT01C1vfmQAfPcYxlWaYxn"
}, },
"resources/assets/v2/sass/app.scss": { "resources/assets/v2/sass/app.scss": {
"file": "assets/app-fb7b26ec.css", "file": "assets/app-fb7b26ec.css",
@ -220,8 +220,8 @@
"integrity": "sha384-asG3EmbviAZntc1AzgJpoF+jBChn+oq/7eQfYWrCdJ1Ku/c7rJ82sstr6Eptxqgd" "integrity": "sha384-asG3EmbviAZntc1AzgJpoF+jBChn+oq/7eQfYWrCdJ1Ku/c7rJ82sstr6Eptxqgd"
}, },
"vendor.css": { "vendor.css": {
"file": "assets/vendor-04d71b26.css", "file": "assets/vendor-52daf6b6.css",
"src": "vendor.css", "src": "vendor.css",
"integrity": "sha384-8rMxS+8Gw3FjZk5VfoHXl/7jM1JzylZ27xGPNz5ARpl/vOmDwwJXT9N6gV/M/gDM" "integrity": "sha384-Fc+BMCTQkokqH7JnKp0yiICeLn8STx2f8o4TbcqhtXweJCOlM/cHwVILvX9LkK9t"
} }
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -17,7 +17,7 @@
"money_flowing_in": "In", "money_flowing_in": "In",
"money_flowing_out": "Ut", "money_flowing_out": "Ut",
"category": "Kategori", "category": "Kategori",
"unknown_category_plain": "No category", "unknown_category_plain": "Ingen kategori",
"all_money": "All your money", "all_money": "All your money",
"unknown_source_plain": "Unknown source account", "unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account", "unknown_dest_plain": "Unknown destination account",

View File

@ -17,7 +17,7 @@
"money_flowing_in": "In", "money_flowing_in": "In",
"money_flowing_out": "Ut", "money_flowing_out": "Ut",
"category": "Kategori", "category": "Kategori",
"unknown_category_plain": "No category", "unknown_category_plain": "Ingen kategori",
"all_money": "All your money", "all_money": "All your money",
"unknown_source_plain": "Unknown source account", "unknown_source_plain": "Unknown source account",
"unknown_dest_plain": "Unknown destination account", "unknown_dest_plain": "Unknown destination account",

View File

@ -1941,7 +1941,7 @@ return [
'categories' => 'Kategorier', 'categories' => 'Kategorier',
'edit_category' => 'Redigera kategori ":name"', 'edit_category' => 'Redigera kategori ":name"',
'no_category' => '(utan kategori)', 'no_category' => '(utan kategori)',
'unknown_category_plain' => 'No category', 'unknown_category_plain' => 'Ingen kategori',
'category' => 'Kategori', 'category' => 'Kategori',
'delete_category' => 'Ta bort kategori ":name"', 'delete_category' => 'Ta bort kategori ":name"',
'deleted_category' => 'Kategori ":name" togs bort', 'deleted_category' => 'Kategori ":name" togs bort',

View File

@ -34,6 +34,6 @@
declare(strict_types=1); declare(strict_types=1);
return [ return [
'failed' => 'Credentials นี้ไม่ตรงกับบันทึกของเรา', 'failed' => 'ข้อมูลนี้ไม่ตรงกับในระบบ',
'throttle' => 'พยายามเข้าสู่ระบบมากเกินไป โปรดลองใหม่อีกครั้งใน :seconds วินาที', 'throttle' => 'คุณได้พยายามเข้าระบบหลายครั้งเกินไป กรุณาลองใหม่ใน :seconds วินาทีข้างหน้า.',
]; ];

View File

@ -38,7 +38,7 @@ return [
'see_help_icon' => 'อย่างไรก็ตาม ไอคอน <i class="fa fa-question-circle"></i> ในมุมบนขวาจะช่วยอธิบายเพิ่มเติมให้คุณ', 'see_help_icon' => 'อย่างไรก็ตาม ไอคอน <i class="fa fa-question-circle"></i> ในมุมบนขวาจะช่วยอธิบายเพิ่มเติมให้คุณ',
'index' => 'ยินดีต้อนรับเข้าสู่ <strong>Firefly III</strong>! ในหน้านี้แสดงรายละเอียดทางการเงินอย่างรวดเร็วให้คุณรับชม สำหรับรายละเอียดเพิ่มเติม สามารถดูได้ที่บัญชี &rarr; <a href=":asset"> บัญชีสินทรัพย์ </a> และแน่นอน จะมีส่วนของหน้า <a href=":budgets"> งบประมาณ </a> และหน้า <a href=":reports"> รายงาน </a> หรือ คุณสามารถที่จะดูทุกเมนูได้ตามสบาย', 'index' => 'ยินดีต้อนรับเข้าสู่ <strong>Firefly III</strong>! ในหน้านี้แสดงรายละเอียดทางการเงินอย่างรวดเร็วให้คุณรับชม สำหรับรายละเอียดเพิ่มเติม สามารถดูได้ที่บัญชี &rarr; <a href=":asset"> บัญชีสินทรัพย์ </a> และแน่นอน จะมีส่วนของหน้า <a href=":budgets"> งบประมาณ </a> และหน้า <a href=":reports"> รายงาน </a> หรือ คุณสามารถที่จะดูทุกเมนูได้ตามสบาย',
'accounts-index' => 'บัญชีทรัพย์สินคือบัญชีส่วนตัวของคุณ, ส่วนบัญชีค่าใช้จ่ายคือบัญชีสำหรับให้คุณทำการสร้างรายจ่ายขึ้นมาในบัญชีนี้ เช่น การเก็บเงิน หรือ ให้เพื่อน เป็นต้น, บัญชีรายได้คือบัญชีที่ได้รับเงินจากส่วนต่างๆ เช่น เงินได้จากงานของคุณ, เงินได้จากภาครัฐ หรือ รายรับอื่นๆ, ส่วนบัญชีหนี้สิน คือ บัญชีสำหรับกรณีมีหนี้ และ การกู้ยืมต่างๆ เช่น หนี้จากบัตรเครดิต หรือ หนี้จากกองทุนยืมเรียน ซึ่งในหน้านี้คุณสามารถแก้ไขหรือลบได้', 'accounts-index' => 'บัญชีทรัพย์สินคือบัญชีส่วนตัวของคุณ, ส่วนบัญชีค่าใช้จ่ายคือบัญชีสำหรับให้คุณทำการสร้างรายจ่ายขึ้นมาในบัญชีนี้ เช่น การเก็บเงิน หรือ ให้เพื่อน เป็นต้น, บัญชีรายได้คือบัญชีที่ได้รับเงินจากส่วนต่างๆ เช่น เงินได้จากงานของคุณ, เงินได้จากภาครัฐ หรือ รายรับอื่นๆ, ส่วนบัญชีหนี้สิน คือ บัญชีสำหรับกรณีมีหนี้ และ การกู้ยืมต่างๆ เช่น หนี้จากบัตรเครดิต หรือ หนี้จากกองทุนยืมเรียน ซึ่งในหน้านี้คุณสามารถแก้ไขหรือลบได้',
'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.', 'budgets-index' => 'หน้านี้แสดงภาพรวมงบประมาณของคุณ แถบด้านบนแสดงจำนวนเงินที่สามารถจัดงบประมาณได้ ซึ่งสามารถปรับแต่งในช่วงเวลาใดก็ได้โดยคลิกจำนวนเงินทางด้านขวา จำนวนเงินที่คุณใช้จ่ายจริงจะแสดงอยู่ในแถบด้านล่าง ด้านล่างนี้คือค่าใช้จ่ายต่องบประมาณและสิ่งที่คุณตั้งงบประมาณไว้',
'reports-index-start' => 'Firefly III รองรับจำนวนรายงานหลายรูปแบบ อ่านเพิ่มเติมโดยคลิ๊กไปที่ไอคอน <i class="fa fa-question-circle"></i> ที่อยู่ด้านบนขวาของมุม', 'reports-index-start' => 'Firefly III รองรับจำนวนรายงานหลายรูปแบบ อ่านเพิ่มเติมโดยคลิ๊กไปที่ไอคอน <i class="fa fa-question-circle"></i> ที่อยู่ด้านบนขวาของมุม',
'reports-index-examples' => 'ลองดูตัวอย่างของเรา: <a href=":one">รายละเอียดการเงินรายเดือน</a>, <a href=":two">รายละเอียดการเงินรายปี</a> และ <a href=":three">รายละเอียดงบประมาณโดยรวม</a>', 'reports-index-examples' => 'ลองดูตัวอย่างของเรา: <a href=":one">รายละเอียดการเงินรายเดือน</a>, <a href=":two">รายละเอียดการเงินรายปี</a> และ <a href=":three">รายละเอียดงบประมาณโดยรวม</a>',
'currencies-index' => 'Firefly III รองรับค่าเงินหลายประเภท ถึงแม้ว่าค่าเงินเดิมจะตั้งค่าไว้ที่ Euro สามารถที่จะเปลี่ยนเป็น US Dollar ได้ หรือค่าเงินอื่นๆได้ โดยคุณจะเห็นหน้าของการตั้งค่าสกุลเงิน โดยจะมีค่าเงินต่างๆ อยู่แล้ว ซึ่งคุณสามารถเพิ่มค่าเงินของคุณเข้าไปได้ โดยที่การเปลี่ยนค่าเงินตั้งต้น จะไม่ส่งผลต่อการเปลี่ยนค่าเงินในธุรกรรมที่ถูกบันทึกไปก่อนหน้านี้ อย่างไรก็ตาม Firefly III รองรับค่าเงินหลายประเภทในเวลาเดียวกัน', 'currencies-index' => 'Firefly III รองรับค่าเงินหลายประเภท ถึงแม้ว่าค่าเงินเดิมจะตั้งค่าไว้ที่ Euro สามารถที่จะเปลี่ยนเป็น US Dollar ได้ หรือค่าเงินอื่นๆได้ โดยคุณจะเห็นหน้าของการตั้งค่าสกุลเงิน โดยจะมีค่าเงินต่างๆ อยู่แล้ว ซึ่งคุณสามารถเพิ่มค่าเงินของคุณเข้าไปได้ โดยที่การเปลี่ยนค่าเงินตั้งต้น จะไม่ส่งผลต่อการเปลี่ยนค่าเงินในธุรกรรมที่ถูกบันทึกไปก่อนหน้านี้ อย่างไรก็ตาม Firefly III รองรับค่าเงินหลายประเภทในเวลาเดียวกัน',

View File

@ -56,10 +56,10 @@ return [
*/ */
// invite // invite
'invitation_created_subject' => 'An invitation has been created', 'invitation_created_subject' => 'คำเชิญถูกสร้างขึ้นสร้างแล้ว',
'invitation_created_body' => 'Admin user ":email" created a user invitation which can be used by whoever is behind email address ":invitee". The invite will be valid for 48hrs.', 'invitation_created_body' => 'ผู้ดูแลระบบ ":email" ได้สร้างคำเชิญให้ผู้ใช้ตามที่อยู่อีเมล ":invitee" คำเชิญจะมีอายุการใช้งาน 48 ชั่วโมง',
'invite_user_subject' => 'You\'ve been invited to create a Firefly III account.', 'invite_user_subject' => 'คุณได้รับเชิญให้สร้างบัญชี Firefly III',
'invitation_introduction' => 'You\'ve been invited to create a Firefly III account on **:host**. Firefly III is a personal, self-hosted, private personal finance manager. All the cool kids are using it.', 'invitation_introduction' => 'คุณได้รับเชิญให้สร้างบัญชี Firefly III บน **:host** Firefly III เป็นผู้จัดการการเงินส่วนบุคคลส่วนตัวที่โฮสต์เอง',
'invitation_invited_by' => 'You\'ve been invited by ":admin" and this invitation was sent to ":invitee". That\'s you, right?', 'invitation_invited_by' => 'You\'ve been invited by ":admin" and this invitation was sent to ":invitee". That\'s you, right?',
'invitation_url' => 'The invitation is valid for 48 hours and can be redeemed by surfing to [Firefly III](:url). Enjoy!', 'invitation_url' => 'The invitation is valid for 48 hours and can be redeemed by surfing to [Firefly III](:url). Enjoy!',

View File

@ -38,29 +38,29 @@ return [
'index_intro' => 'ยินดีต้อนรับสู่หน้าหลักของ Firefly III โปรดสละเวลาอ่านบทแนะนำนี้เพื่อทำความเข้าใจว่า Firefly III ทำงานอย่างไร', 'index_intro' => 'ยินดีต้อนรับสู่หน้าหลักของ Firefly III โปรดสละเวลาอ่านบทแนะนำนี้เพื่อทำความเข้าใจว่า Firefly III ทำงานอย่างไร',
'index_accounts-chart' => 'กราฟนี้แสดงยอดคงเหลือปัจจุบันของบัญชีสินทรัพย์ของคุณ คุณสามารถเลือกบัญชีที่แสดงได้ที่นี่ในการตั้งค่าของคุณ', 'index_accounts-chart' => 'กราฟนี้แสดงยอดคงเหลือปัจจุบันของบัญชีสินทรัพย์ของคุณ คุณสามารถเลือกบัญชีที่แสดงได้ที่นี่ในการตั้งค่าของคุณ',
'index_box_out_holder' => 'กล่องเล็กๆ นี้และกล่องข้างๆ จะทำให้คุณเห็นภาพรวมโดยย่อเกี่ยวกับสถานการณ์ทางการเงินของคุณ', 'index_box_out_holder' => 'กล่องเล็กๆ นี้และกล่องข้างๆ จะทำให้คุณเห็นภาพรวมโดยย่อเกี่ยวกับสถานการณ์ทางการเงินของคุณ',
'index_help' => 'If you ever need help with a page or a form, press this button.', 'index_help' => 'หากคุณต้องการความช่วยเหลือเกี่ยวกับหน้าหรือแบบฟอร์ม ให้กดปุ่มนี้',
'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_outro' => 'หน้าเพจส่วนใหญ่ของ Firefly III จะเริ่มต้นด้วยการทัวร์เล็กๆ น้อยๆ แบบนี้ โปรดติดต่อฉันเมื่อคุณมีคำถามหรือความคิดเห็น Enjoy!',
'index_sidebar-toggle' => 'To create new transactions, accounts or other things, use the menu under this icon.', 'index_sidebar-toggle' => 'หากต้องการสร้างธุรกรรม บัญชี หรือสิ่งอื่นๆ ใหม่ ให้ใช้เมนูใต้ไอคอนนี้',
'index_cash_account' => 'These are the accounts created so far. You can use the cash account to track cash expenses but it\'s not mandatory of course.', 'index_cash_account' => 'นี่คือบัญชีที่สร้างขึ้นจนถึงตอนนี้ คุณสามารถใช้บัญชีเงินสดเพื่อติดตามค่าใช้จ่ายเงินสดได้ แต่ไม่ได้บังคับแน่นอน',
// transactions // transactions
'transactions_create_basic_info' => 'Enter the basic information of your transaction. Source, destination, date and description.', 'transactions_create_basic_info' => 'ป้อนข้อมูลพื้นฐานของการทำธุรกรรมของคุณ อย่างเช่น แหล่งที่มา ปลายทาง วันที่ และคำอธิบาย',
'transactions_create_amount_info' => 'Enter the amount of the transaction. If necessary the fields will auto-update for foreign amount info.', 'transactions_create_amount_info' => 'ป้อนจำนวนเงินของธุรกรรม หากจำเป็น ฟิลด์จะอัปเดตอัตโนมัติสำหรับข้อมูลจำนวนเงินต่างประเทศ',
'transactions_create_optional_info' => 'All of these fields are optional. Adding meta-data here will make your transactions better organised.', 'transactions_create_optional_info' => 'ฟิลด์ทั้งหมดนี้ไม่จำเป็นต้องกรอก การเพิ่มข้อมูลเมตาที่นี่จะทำให้ธุรกรรมของคุณจัดระเบียบได้ดีขึ้น',
'transactions_create_split' => 'If you want to split a transaction, add more splits with this button', 'transactions_create_split' => 'หากคุณต้องการแยกธุรกรรม ให้เพิ่มด้วยปุ่มนี้',
// create account: // create account:
'accounts_create_iban' => 'Give your accounts a valid IBAN. This could make a data import very easy in the future.', 'accounts_create_iban' => 'ให้ IBAN ที่ถูกต้องแก่บัญชีของคุณ ซึ่งอาจทำให้การนำเข้าข้อมูลในอนาคตเป็นเรื่องง่ายมาก',
'accounts_create_asset_opening_balance' => 'Assets accounts may have an "opening balance", indicating the start of this account\'s history in Firefly III.', 'accounts_create_asset_opening_balance' => 'บัญชีสินทรัพย์อาจมี "ยอดดุลยกมา" ซึ่งบ่งบอกถึงจุดเริ่มต้นของประวัติของบัญชีนี้ใน Firefly III',
'accounts_create_asset_currency' => 'Firefly III supports multiple currencies. Asset accounts have one main currency, which you must set here.', 'accounts_create_asset_currency' => 'Firefly III รองรับหลายสกุลเงิน บัญชีสินทรัพย์จำเป็นต้องมีสกุลเงินหลักหนึ่งสกุล ซึ่งคุณต้องตั้งค่าที่นี่',
'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.', 'accounts_create_asset_virtual' => 'บางครั้งการมอบยอดเสมือนให้กับบัญชีของคุณอาจช่วยได้: จำนวนเงินพิเศษจะถูกบวกเข้าหรือลบออกจากยอดจริงเสมอ',
// budgets index // budgets index
'budgets_index_intro' => 'Budgets are used to manage your finances and form one of the core functions of Firefly III.', 'budgets_index_intro' => 'งบประมาณใช้เพื่อจัดการการเงินของคุณคือหนึ่งในหน้าที่หลักของ Firefly III',
'budgets_index_see_expenses_bar' => 'Spending money will slowly fill this bar.', 'budgets_index_see_expenses_bar' => 'การใช้จ่ายเงินจะค่อยๆทำให้แถบนี้เต็ม',
'budgets_index_navigate_periods' => 'Navigate through periods to easily set budgets ahead of time.', 'budgets_index_navigate_periods' => 'เลื่อนไปตามช่วงเวลาเพื่อตั้งงบประมาณล่วงหน้าได้อย่างง่ายดาย',
'budgets_index_new_budget' => 'Create new budgets as you see fit.', 'budgets_index_new_budget' => 'สร้างงบประมาณใหม่ตามที่คุณต้องการ',
'budgets_index_list_of_budgets' => 'Use this table to set the amounts for each budget and see how you are doing.', 'budgets_index_list_of_budgets' => 'ใช้ตารางนี้เพื่อกำหนดจำนวนเงินสำหรับงบประมาณแต่ละอย่างและดูว่าคุณใช้จ่ายไปแล้วเท่าไร',
'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.', 'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.',
/* /*