mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Merge branch 'develop' of github.com:firefly-iii/firefly-iii into develop
This commit is contained in:
commit
429e72e681
@ -28,7 +28,6 @@ use FireflyIII\Api\V2\Request\Model\Account\IndexRequest;
|
||||
use FireflyIII\Api\V2\Request\Model\Transaction\InfiniteListRequest;
|
||||
use FireflyIII\Repositories\UserGroups\Account\AccountRepositoryInterface;
|
||||
use FireflyIII\Transformers\V2\AccountTransformer;
|
||||
use FireflyIII\Transformers\V2\BillTransformer;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Pagination\LengthAwarePaginator;
|
||||
|
||||
@ -64,11 +63,11 @@ class IndexController extends Controller
|
||||
public function index(IndexRequest $request): JsonResponse
|
||||
{
|
||||
$this->repository->resetAccountOrder();
|
||||
$types = $request->getAccountTypes();
|
||||
$accounts = $this->repository->getAccountsByType($types);
|
||||
$types = $request->getAccountTypes();
|
||||
$accounts = $this->repository->getAccountsByType($types);
|
||||
$pageSize = $this->parameters->get('limit');
|
||||
$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'));
|
||||
$transformer = new AccountTransformer();
|
||||
$transformer->setParameters($this->parameters); // give params to transformer
|
||||
@ -76,7 +75,7 @@ class IndexController extends Controller
|
||||
return response()
|
||||
->json($this->jsonApiList('accounts', $paginator, $transformer))
|
||||
->header('Content-Type', self::CONTENT_TYPE)
|
||||
;
|
||||
;
|
||||
}
|
||||
|
||||
public function infiniteList(InfiniteListRequest $request): JsonResponse
|
||||
|
@ -113,6 +113,7 @@ class TransactionController extends Controller
|
||||
|
||||
return response()
|
||||
->json($this->jsonApiList('transactions', $paginator, new TransactionGroupTransformer()))
|
||||
->header('Content-Type', self::CONTENT_TYPE);
|
||||
->header('Content-Type', self::CONTENT_TYPE)
|
||||
;
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Api\V2\Request\Model\Account;
|
||||
|
||||
|
||||
use Carbon\Carbon;
|
||||
use FireflyIII\Support\Http\Api\AccountFilter;
|
||||
use FireflyIII\Support\Request\ChecksLogin;
|
||||
@ -37,9 +36,9 @@ use Illuminate\Foundation\Http\FormRequest;
|
||||
*/
|
||||
class IndexRequest extends FormRequest
|
||||
{
|
||||
use AccountFilter;
|
||||
use ChecksLogin;
|
||||
use ConvertsDataTypes;
|
||||
use AccountFilter;
|
||||
|
||||
/**
|
||||
* Get all data from the request.
|
||||
|
@ -47,7 +47,7 @@ class DeleteEmptyGroups extends Command
|
||||
{
|
||||
$groupIds
|
||||
= 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);
|
||||
|
@ -74,19 +74,19 @@ class ForceDecimalSize extends Command
|
||||
private string $regularExpression;
|
||||
private array $tables
|
||||
= [
|
||||
'accounts' => ['virtual_balance'],
|
||||
'auto_budgets' => ['amount'],
|
||||
'available_budgets' => ['amount'],
|
||||
'bills' => ['amount_min', 'amount_max'],
|
||||
'budget_limits' => ['amount'],
|
||||
'currency_exchange_rates' => ['rate', 'user_rate'],
|
||||
'limit_repetitions' => ['amount'],
|
||||
'piggy_bank_events' => ['amount'],
|
||||
'piggy_bank_repetitions' => ['currentamount'],
|
||||
'piggy_banks' => ['targetamount'],
|
||||
'recurrences_transactions' => ['amount', 'foreign_amount'],
|
||||
'transactions' => ['amount', 'foreign_amount'],
|
||||
];
|
||||
'accounts' => ['virtual_balance'],
|
||||
'auto_budgets' => ['amount'],
|
||||
'available_budgets' => ['amount'],
|
||||
'bills' => ['amount_min', 'amount_max'],
|
||||
'budget_limits' => ['amount'],
|
||||
'currency_exchange_rates' => ['rate', 'user_rate'],
|
||||
'limit_repetitions' => ['amount'],
|
||||
'piggy_bank_events' => ['amount'],
|
||||
'piggy_bank_repetitions' => ['currentamount'],
|
||||
'piggy_banks' => ['targetamount'],
|
||||
'recurrences_transactions' => ['amount', 'foreign_amount'],
|
||||
'transactions' => ['amount', 'foreign_amount'],
|
||||
];
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
|
@ -1125,7 +1125,8 @@ class GroupCollector implements GroupCollectorInterface
|
||||
// include budget ID + name (if any)
|
||||
->withBudgetInformation()
|
||||
// include bill ID + name (if any)
|
||||
->withBillInformation();
|
||||
->withBillInformation()
|
||||
;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
@ -277,11 +277,11 @@ class IndexController extends Controller
|
||||
// also calculate how much left from budgeted:
|
||||
$sums['left'][$currencyId]
|
||||
??= [
|
||||
'amount' => '0',
|
||||
'currency_id' => $budgeted['currency_id'],
|
||||
'currency_symbol' => $budgeted['currency_symbol'],
|
||||
'currency_decimal_places' => $budgeted['currency_decimal_places'],
|
||||
];
|
||||
'amount' => '0',
|
||||
'currency_id' => $budgeted['currency_id'],
|
||||
'currency_symbol' => $budgeted['currency_symbol'],
|
||||
'currency_decimal_places' => $budgeted['currency_decimal_places'],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -192,11 +192,11 @@ class CategoryController extends Controller
|
||||
|
||||
$chartData[$inKey]
|
||||
= [
|
||||
'label' => sprintf('%s (%s)', (string)trans('firefly.earned'), $currencyInfo['currency_name']),
|
||||
'entries' => [],
|
||||
'type' => 'bar',
|
||||
'backgroundColor' => 'rgba(0, 141, 76, 0.5)', // green
|
||||
];
|
||||
'label' => sprintf('%s (%s)', (string)trans('firefly.earned'), $currencyInfo['currency_name']),
|
||||
'entries' => [],
|
||||
'type' => 'bar',
|
||||
'backgroundColor' => 'rgba(0, 141, 76, 0.5)', // green
|
||||
];
|
||||
// loop empty periods:
|
||||
foreach (array_keys($periods) as $period) {
|
||||
$label = $periods[$period];
|
||||
|
@ -144,6 +144,7 @@ class JavascriptController extends Controller
|
||||
|
||||
return response()
|
||||
->view('v2.javascript.variables', $data)
|
||||
->header('Content-Type', 'text/javascript');
|
||||
->header('Content-Type', 'text/javascript')
|
||||
;
|
||||
}
|
||||
}
|
||||
|
@ -122,13 +122,13 @@ class Account extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'user_id' => 'integer',
|
||||
'deleted_at' => 'datetime',
|
||||
'active' => 'boolean',
|
||||
'encrypted' => 'boolean',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'user_id' => 'integer',
|
||||
'deleted_at' => 'datetime',
|
||||
'active' => 'boolean',
|
||||
'encrypted' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable = ['user_id', 'user_group_id', 'account_type_id', 'name', 'active', 'virtual_balance', 'iban'];
|
||||
|
||||
|
@ -59,9 +59,9 @@ class AccountMeta extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
];
|
||||
|
||||
protected $fillable = ['account_id', 'name', 'data'];
|
||||
|
||||
|
@ -72,9 +72,9 @@ class AccountType extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
];
|
||||
|
||||
protected $fillable = ['type'];
|
||||
|
||||
|
@ -97,11 +97,11 @@ class Attachment extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'uploaded' => 'boolean',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'uploaded' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable = ['attachable_id', 'attachable_type', 'user_id', 'md5', 'filename', 'mime', 'title', 'description', 'size', 'uploaded'];
|
||||
|
||||
|
@ -80,13 +80,13 @@ class AvailableBudget extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'start_date' => 'date',
|
||||
'end_date' => 'date',
|
||||
'transaction_currency_id' => 'int',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'start_date' => 'date',
|
||||
'end_date' => 'date',
|
||||
'transaction_currency_id' => 'int',
|
||||
];
|
||||
|
||||
protected $fillable = ['user_id', 'user_group_id', 'transaction_currency_id', 'amount', 'start_date', 'end_date'];
|
||||
|
||||
|
@ -114,36 +114,36 @@ class Bill extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'date' => 'date',
|
||||
'end_date' => 'date',
|
||||
'extension_date' => 'date',
|
||||
'skip' => 'int',
|
||||
'automatch' => 'boolean',
|
||||
'active' => 'boolean',
|
||||
'name_encrypted' => 'boolean',
|
||||
'match_encrypted' => 'boolean',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'date' => 'date',
|
||||
'end_date' => 'date',
|
||||
'extension_date' => 'date',
|
||||
'skip' => 'int',
|
||||
'automatch' => 'boolean',
|
||||
'active' => 'boolean',
|
||||
'name_encrypted' => 'boolean',
|
||||
'match_encrypted' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable
|
||||
= [
|
||||
'name',
|
||||
'match',
|
||||
'amount_min',
|
||||
'user_id',
|
||||
'user_group_id',
|
||||
'amount_max',
|
||||
'date',
|
||||
'repeat_freq',
|
||||
'skip',
|
||||
'automatch',
|
||||
'active',
|
||||
'transaction_currency_id',
|
||||
'end_date',
|
||||
'extension_date',
|
||||
];
|
||||
'name',
|
||||
'match',
|
||||
'amount_min',
|
||||
'user_id',
|
||||
'user_group_id',
|
||||
'amount_max',
|
||||
'date',
|
||||
'repeat_freq',
|
||||
'skip',
|
||||
'automatch',
|
||||
'active',
|
||||
'transaction_currency_id',
|
||||
'end_date',
|
||||
'extension_date',
|
||||
];
|
||||
|
||||
protected $hidden = ['amount_min_encrypted', 'amount_max_encrypted', 'name_encrypted', 'match_encrypted'];
|
||||
|
||||
|
@ -97,12 +97,12 @@ class Budget extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'active' => 'boolean',
|
||||
'encrypted' => 'boolean',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'active' => 'boolean',
|
||||
'encrypted' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable = ['user_id', 'name', 'active', 'order', 'user_group_id'];
|
||||
|
||||
|
@ -74,18 +74,18 @@ class BudgetLimit extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'start_date' => 'date',
|
||||
'end_date' => 'date',
|
||||
'auto_budget' => 'boolean',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'start_date' => 'date',
|
||||
'end_date' => 'date',
|
||||
'auto_budget' => 'boolean',
|
||||
];
|
||||
protected $dispatchesEvents
|
||||
= [
|
||||
'created' => Created::class,
|
||||
'updated' => Updated::class,
|
||||
'deleted' => Deleted::class,
|
||||
];
|
||||
'created' => Created::class,
|
||||
'updated' => Updated::class,
|
||||
'deleted' => Deleted::class,
|
||||
];
|
||||
|
||||
protected $fillable = ['budget_id', 'start_date', 'end_date', 'amount', 'transaction_currency_id'];
|
||||
|
||||
|
@ -86,11 +86,11 @@ class Category extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'encrypted' => 'boolean',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'encrypted' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable = ['user_id', 'user_group_id', 'name'];
|
||||
|
||||
|
@ -62,10 +62,10 @@ class Configuration extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
];
|
||||
|
||||
/** @var string The table to store the data in */
|
||||
protected $table = 'configuration';
|
||||
|
@ -72,11 +72,11 @@ class LinkType extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'editable' => 'boolean',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'editable' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable = ['name', 'inward', 'outward', 'editable'];
|
||||
|
||||
|
@ -74,13 +74,13 @@ class Location extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'zoomLevel' => 'int',
|
||||
'latitude' => 'float',
|
||||
'longitude' => 'float',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'zoomLevel' => 'int',
|
||||
'latitude' => 'float',
|
||||
'longitude' => 'float',
|
||||
];
|
||||
|
||||
protected $fillable = ['locatable_id', 'locatable_type', 'latitude', 'longitude', 'zoom_level'];
|
||||
|
||||
|
@ -69,10 +69,10 @@ class Note extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
];
|
||||
|
||||
protected $fillable = ['title', 'text', 'noteable_id', 'noteable_type'];
|
||||
|
||||
|
@ -92,15 +92,15 @@ class PiggyBank extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'startdate' => 'date',
|
||||
'targetdate' => 'date',
|
||||
'order' => 'int',
|
||||
'active' => 'boolean',
|
||||
'encrypted' => 'boolean',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'startdate' => 'date',
|
||||
'targetdate' => 'date',
|
||||
'order' => 'int',
|
||||
'active' => 'boolean',
|
||||
'encrypted' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable = ['name', 'account_id', 'order', 'targetamount', 'startdate', 'targetdate', 'active'];
|
||||
|
||||
|
@ -63,10 +63,10 @@ class PiggyBankEvent extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'date' => 'date',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'date' => 'date',
|
||||
];
|
||||
|
||||
protected $fillable = ['piggy_bank_id', 'transaction_journal_id', 'date', 'amount'];
|
||||
|
||||
|
@ -64,11 +64,11 @@ class PiggyBankRepetition extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'startdate' => 'date',
|
||||
'targetdate' => 'date',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'startdate' => 'date',
|
||||
'targetdate' => 'date',
|
||||
];
|
||||
|
||||
protected $fillable = ['piggy_bank_id', 'startdate', 'targetdate', 'currentamount'];
|
||||
|
||||
|
@ -63,10 +63,10 @@ class Preference extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'data' => 'array',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'data' => 'array',
|
||||
];
|
||||
|
||||
protected $fillable = ['user_id', 'data', 'name'];
|
||||
|
||||
|
@ -104,19 +104,19 @@ class Recurrence extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'title' => 'string',
|
||||
'id' => 'int',
|
||||
'description' => 'string',
|
||||
'first_date' => 'date',
|
||||
'repeat_until' => 'date',
|
||||
'latest_date' => 'date',
|
||||
'repetitions' => 'int',
|
||||
'active' => 'bool',
|
||||
'apply_rules' => 'bool',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'title' => 'string',
|
||||
'id' => 'int',
|
||||
'description' => 'string',
|
||||
'first_date' => 'date',
|
||||
'repeat_until' => 'date',
|
||||
'latest_date' => 'date',
|
||||
'repetitions' => 'int',
|
||||
'active' => 'bool',
|
||||
'apply_rules' => 'bool',
|
||||
];
|
||||
|
||||
protected $fillable
|
||||
= ['user_id', 'transaction_type_id', 'title', 'description', 'first_date', 'repeat_until', 'latest_date', 'repetitions', 'apply_rules', 'active'];
|
||||
|
@ -67,12 +67,12 @@ class RecurrenceMeta extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'name' => 'string',
|
||||
'value' => 'string',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'name' => 'string',
|
||||
'value' => 'string',
|
||||
];
|
||||
|
||||
protected $fillable = ['recurrence_id', 'name', 'value'];
|
||||
|
||||
|
@ -76,14 +76,14 @@ class RecurrenceRepetition extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'repetition_type' => 'string',
|
||||
'repetition_moment' => 'string',
|
||||
'repetition_skip' => 'int',
|
||||
'weekend' => 'int',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'repetition_type' => 'string',
|
||||
'repetition_moment' => 'string',
|
||||
'repetition_skip' => 'int',
|
||||
'weekend' => 'int',
|
||||
];
|
||||
|
||||
protected $fillable = ['recurrence_id', 'weekend', 'repetition_type', 'repetition_moment', 'repetition_skip'];
|
||||
|
||||
|
@ -91,25 +91,25 @@ class RecurrenceTransaction extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'amount' => 'string',
|
||||
'foreign_amount' => 'string',
|
||||
'description' => 'string',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'amount' => 'string',
|
||||
'foreign_amount' => 'string',
|
||||
'description' => 'string',
|
||||
];
|
||||
|
||||
protected $fillable
|
||||
= [
|
||||
'recurrence_id',
|
||||
'transaction_currency_id',
|
||||
'foreign_currency_id',
|
||||
'source_id',
|
||||
'destination_id',
|
||||
'amount',
|
||||
'foreign_amount',
|
||||
'description',
|
||||
];
|
||||
'recurrence_id',
|
||||
'transaction_currency_id',
|
||||
'foreign_currency_id',
|
||||
'source_id',
|
||||
'destination_id',
|
||||
'amount',
|
||||
'foreign_amount',
|
||||
'description',
|
||||
];
|
||||
|
||||
/** @var string The table to store the data in */
|
||||
protected $table = 'recurrences_transactions';
|
||||
|
@ -67,12 +67,12 @@ class RecurrenceTransactionMeta extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'name' => 'string',
|
||||
'value' => 'string',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'name' => 'string',
|
||||
'value' => 'string',
|
||||
];
|
||||
|
||||
protected $fillable = ['rt_id', 'name', 'value'];
|
||||
|
||||
|
@ -62,9 +62,9 @@ class Role extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
];
|
||||
|
||||
protected $fillable = ['name', 'display_name', 'description'];
|
||||
|
||||
|
@ -95,15 +95,15 @@ class Rule extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'active' => 'boolean',
|
||||
'order' => 'int',
|
||||
'stop_processing' => 'boolean',
|
||||
'id' => 'int',
|
||||
'strict' => 'boolean',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'active' => 'boolean',
|
||||
'order' => 'int',
|
||||
'stop_processing' => 'boolean',
|
||||
'id' => 'int',
|
||||
'strict' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable = ['rule_group_id', 'order', 'active', 'title', 'description', 'user_id', 'strict'];
|
||||
|
||||
|
@ -66,12 +66,12 @@ class RuleAction extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'active' => 'boolean',
|
||||
'order' => 'int',
|
||||
'stop_processing' => 'boolean',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'active' => 'boolean',
|
||||
'order' => 'int',
|
||||
'stop_processing' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable = ['rule_id', 'action_type', 'action_value', 'order', 'active', 'stop_processing'];
|
||||
|
||||
|
@ -85,13 +85,13 @@ class RuleGroup extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'active' => 'boolean',
|
||||
'stop_processing' => 'boolean',
|
||||
'order' => 'int',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'active' => 'boolean',
|
||||
'stop_processing' => 'boolean',
|
||||
'order' => 'int',
|
||||
];
|
||||
|
||||
protected $fillable = ['user_id', 'user_group_id', 'stop_processing', 'order', 'title', 'description', 'active'];
|
||||
|
||||
|
@ -66,12 +66,12 @@ class RuleTrigger extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'active' => 'boolean',
|
||||
'order' => 'int',
|
||||
'stop_processing' => 'boolean',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'active' => 'boolean',
|
||||
'order' => 'int',
|
||||
'stop_processing' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable = ['rule_id', 'trigger_type', 'trigger_value', 'order', 'active', 'stop_processing'];
|
||||
|
||||
|
@ -93,14 +93,14 @@ class Tag extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'date' => 'date',
|
||||
'zoomLevel' => 'int',
|
||||
'latitude' => 'float',
|
||||
'longitude' => 'float',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'date' => 'date',
|
||||
'zoomLevel' => 'int',
|
||||
'latitude' => 'float',
|
||||
'longitude' => 'float',
|
||||
];
|
||||
|
||||
protected $fillable = ['user_id', 'user_group_id', 'tag', 'date', 'description', 'tagMode'];
|
||||
|
||||
|
@ -99,28 +99,28 @@ class Transaction extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'identifier' => 'int',
|
||||
'encrypted' => 'boolean', // model does not have these fields though
|
||||
'bill_name_encrypted' => 'boolean',
|
||||
'reconciled' => 'boolean',
|
||||
'date' => 'datetime',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'identifier' => 'int',
|
||||
'encrypted' => 'boolean', // model does not have these fields though
|
||||
'bill_name_encrypted' => 'boolean',
|
||||
'reconciled' => 'boolean',
|
||||
'date' => 'datetime',
|
||||
];
|
||||
|
||||
protected $fillable
|
||||
= [
|
||||
'account_id',
|
||||
'transaction_journal_id',
|
||||
'description',
|
||||
'amount',
|
||||
'identifier',
|
||||
'transaction_currency_id',
|
||||
'foreign_currency_id',
|
||||
'foreign_amount',
|
||||
'reconciled',
|
||||
];
|
||||
'account_id',
|
||||
'transaction_journal_id',
|
||||
'description',
|
||||
'amount',
|
||||
'identifier',
|
||||
'transaction_currency_id',
|
||||
'foreign_currency_id',
|
||||
'foreign_amount',
|
||||
'reconciled',
|
||||
];
|
||||
|
||||
protected $hidden = ['encrypted'];
|
||||
|
||||
|
@ -89,12 +89,12 @@ class TransactionCurrency extends Model
|
||||
public ?bool $userGroupEnabled;
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'decimal_places' => 'int',
|
||||
'enabled' => 'bool',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'decimal_places' => 'int',
|
||||
'enabled' => 'bool',
|
||||
];
|
||||
|
||||
protected $fillable = ['name', 'code', 'symbol', 'decimal_places', 'enabled'];
|
||||
|
||||
|
@ -78,13 +78,13 @@ class TransactionGroup extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'id' => 'integer',
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'title' => 'string',
|
||||
'date' => 'datetime',
|
||||
];
|
||||
'id' => 'integer',
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'title' => 'string',
|
||||
'date' => 'datetime',
|
||||
];
|
||||
|
||||
protected $fillable = ['user_id', 'user_group_id', 'title'];
|
||||
|
||||
|
@ -138,32 +138,32 @@ class TransactionJournal extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'date' => 'datetime',
|
||||
'interest_date' => 'date',
|
||||
'book_date' => 'date',
|
||||
'process_date' => 'date',
|
||||
'order' => 'int',
|
||||
'tag_count' => 'int',
|
||||
'encrypted' => 'boolean',
|
||||
'completed' => 'boolean',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
'date' => 'datetime',
|
||||
'interest_date' => 'date',
|
||||
'book_date' => 'date',
|
||||
'process_date' => 'date',
|
||||
'order' => 'int',
|
||||
'tag_count' => 'int',
|
||||
'encrypted' => 'boolean',
|
||||
'completed' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable
|
||||
= [
|
||||
'user_id',
|
||||
'user_group_id',
|
||||
'transaction_type_id',
|
||||
'bill_id',
|
||||
'tag_count',
|
||||
'transaction_currency_id',
|
||||
'description',
|
||||
'completed',
|
||||
'order',
|
||||
'date',
|
||||
];
|
||||
'user_id',
|
||||
'user_group_id',
|
||||
'transaction_type_id',
|
||||
'bill_id',
|
||||
'tag_count',
|
||||
'transaction_currency_id',
|
||||
'description',
|
||||
'completed',
|
||||
'order',
|
||||
'date',
|
||||
];
|
||||
|
||||
protected $hidden = ['encrypted'];
|
||||
|
||||
|
@ -71,9 +71,9 @@ class TransactionJournalLink extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
];
|
||||
|
||||
/** @var string The table to store the data in */
|
||||
protected $table = 'journal_links';
|
||||
|
@ -69,10 +69,10 @@ class TransactionJournalMeta extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
];
|
||||
|
||||
protected $fillable = ['transaction_journal_id', 'name', 'data', 'hash'];
|
||||
|
||||
|
@ -73,10 +73,10 @@ class TransactionType extends Model
|
||||
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
];
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
'deleted_at' => 'datetime',
|
||||
];
|
||||
protected $fillable = ['type'];
|
||||
|
||||
/**
|
||||
|
@ -75,9 +75,9 @@ class NoCategoryRepository implements NoCategoryRepositoryInterface
|
||||
$journalId = (int)$journal['transaction_journal_id'];
|
||||
$array[$currencyId]['categories'][0]['transaction_journals'][$journalId]
|
||||
= [
|
||||
'amount' => app('steam')->negative($journal['amount']),
|
||||
'date' => $journal['date'],
|
||||
];
|
||||
'amount' => app('steam')->negative($journal['amount']),
|
||||
'date' => $journal['date'],
|
||||
];
|
||||
}
|
||||
|
||||
return $array;
|
||||
@ -128,9 +128,9 @@ class NoCategoryRepository implements NoCategoryRepositoryInterface
|
||||
$journalId = (int)$journal['transaction_journal_id'];
|
||||
$array[$currencyId]['categories'][0]['transaction_journals'][$journalId]
|
||||
= [
|
||||
'amount' => app('steam')->positive($journal['amount']),
|
||||
'date' => $journal['date'],
|
||||
];
|
||||
'amount' => app('steam')->positive($journal['amount']),
|
||||
'date' => $journal['date'],
|
||||
];
|
||||
}
|
||||
|
||||
return $array;
|
||||
|
@ -146,10 +146,10 @@ class UniqueIban implements ValidationRule
|
||||
}
|
||||
$query
|
||||
= auth()->user()
|
||||
->accounts()
|
||||
->leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id')
|
||||
->where('accounts.iban', $iban)
|
||||
->whereIn('account_types.type', $typesArray)
|
||||
->accounts()
|
||||
->leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id')
|
||||
->where('accounts.iban', $iban)
|
||||
->whereIn('account_types.type', $typesArray)
|
||||
;
|
||||
|
||||
if (null !== $this->account) {
|
||||
|
@ -566,13 +566,13 @@ trait PeriodOverview
|
||||
}
|
||||
$entries[]
|
||||
= [
|
||||
'title' => $title,
|
||||
'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),
|
||||
'spent' => $this->groupByCurrency($spent),
|
||||
'earned' => $this->groupByCurrency($earned),
|
||||
'transferred' => $this->groupByCurrency($transferred),
|
||||
];
|
||||
'title' => $title,
|
||||
'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),
|
||||
'spent' => $this->groupByCurrency($spent),
|
||||
'earned' => $this->groupByCurrency($earned),
|
||||
'transferred' => $this->groupByCurrency($transferred),
|
||||
];
|
||||
}
|
||||
|
||||
return $entries;
|
||||
|
@ -213,16 +213,16 @@ class BudgetReportGenerator
|
||||
// make sum information:
|
||||
$this->report['sums'][$currencyId]
|
||||
??= [
|
||||
'budgeted' => '0',
|
||||
'spent' => '0',
|
||||
'left' => '0',
|
||||
'overspent' => '0',
|
||||
'currency_id' => $currencyId,
|
||||
'currency_code' => $limitCurrency->code,
|
||||
'currency_name' => $limitCurrency->name,
|
||||
'currency_symbol' => $limitCurrency->symbol,
|
||||
'currency_decimal_places' => $limitCurrency->decimal_places,
|
||||
];
|
||||
'budgeted' => '0',
|
||||
'spent' => '0',
|
||||
'left' => '0',
|
||||
'overspent' => '0',
|
||||
'currency_id' => $currencyId,
|
||||
'currency_code' => $limitCurrency->code,
|
||||
'currency_name' => $limitCurrency->name,
|
||||
'currency_symbol' => $limitCurrency->symbol,
|
||||
'currency_decimal_places' => $limitCurrency->decimal_places,
|
||||
];
|
||||
$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]['left'] = bcadd($this->report['sums'][$currencyId]['left'], bcadd($limit->amount, $spent));
|
||||
|
@ -824,7 +824,8 @@ class FireflyValidator extends Validator
|
||||
->where('trigger', $trigger)
|
||||
->where('response', $response)
|
||||
->where('delivery', $delivery)
|
||||
->where('url', $url)->count();
|
||||
->where('url', $url)->count()
|
||||
;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
84
composer.lock
generated
84
composer.lock
generated
@ -2014,16 +2014,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v10.46.0",
|
||||
"version": "v10.47.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "5e95946a8283a8d5c015035793f9c61c297e937f"
|
||||
"reference": "fce29b8de62733cdecbe12e3bae801f83fff2ea4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/5e95946a8283a8d5c015035793f9c61c297e937f",
|
||||
"reference": "5e95946a8283a8d5c015035793f9c61c297e937f",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/fce29b8de62733cdecbe12e3bae801f83fff2ea4",
|
||||
"reference": "fce29b8de62733cdecbe12e3bae801f83fff2ea4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2216,20 +2216,20 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"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",
|
||||
"version": "v11.10.5",
|
||||
"version": "v11.10.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/passport.git",
|
||||
"reference": "4d81207941d6efc198857847d9e4c17520f28d75"
|
||||
"reference": "2642f360c51dfde3a6ea60f86ae5d9a8c0caf3cf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/passport/zipball/4d81207941d6efc198857847d9e4c17520f28d75",
|
||||
"reference": "4d81207941d6efc198857847d9e4c17520f28d75",
|
||||
"url": "https://api.github.com/repos/laravel/passport/zipball/2642f360c51dfde3a6ea60f86ae5d9a8c0caf3cf",
|
||||
"reference": "2642f360c51dfde3a6ea60f86ae5d9a8c0caf3cf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2294,7 +2294,7 @@
|
||||
"issues": "https://github.com/laravel/passport/issues",
|
||||
"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",
|
||||
@ -2546,16 +2546,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/ui",
|
||||
"version": "v4.4.0",
|
||||
"version": "v4.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/ui.git",
|
||||
"reference": "7335d7049b2cde345c029e9d2de839b80af62bc0"
|
||||
"reference": "da3811f409297d13feccd5858ce748e7474b3d11"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/ui/zipball/7335d7049b2cde345c029e9d2de839b80af62bc0",
|
||||
"reference": "7335d7049b2cde345c029e9d2de839b80af62bc0",
|
||||
"url": "https://api.github.com/repos/laravel/ui/zipball/da3811f409297d13feccd5858ce748e7474b3d11",
|
||||
"reference": "da3811f409297d13feccd5858ce748e7474b3d11",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2566,8 +2566,8 @@
|
||||
"php": "^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"orchestra/testbench": "^7.0|^8.0|^9.0",
|
||||
"phpunit/phpunit": "^9.3|^10.4"
|
||||
"orchestra/testbench": "^7.35|^8.15|^9.0",
|
||||
"phpunit/phpunit": "^9.3|^10.4|^11.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@ -2602,9 +2602,9 @@
|
||||
"ui"
|
||||
],
|
||||
"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",
|
||||
@ -6549,16 +6549,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-client",
|
||||
"version": "v7.0.4",
|
||||
"version": "v7.0.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-client.git",
|
||||
"reference": "8384876f49a2316a63f88a9cd12436de6936bee6"
|
||||
"reference": "425f462a59d8030703ee04a9e1c666575ed5db3b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-client/zipball/8384876f49a2316a63f88a9cd12436de6936bee6",
|
||||
"reference": "8384876f49a2316a63f88a9cd12436de6936bee6",
|
||||
"url": "https://api.github.com/repos/symfony/http-client/zipball/425f462a59d8030703ee04a9e1c666575ed5db3b",
|
||||
"reference": "425f462a59d8030703ee04a9e1c666575ed5db3b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6621,7 +6621,7 @@
|
||||
"http"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-client/tree/v7.0.4"
|
||||
"source": "https://github.com/symfony/http-client/tree/v7.0.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6637,7 +6637,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-02-15T11:33:06+00:00"
|
||||
"time": "2024-03-02T12:46:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-client-contracts",
|
||||
@ -6796,16 +6796,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
"version": "v6.4.4",
|
||||
"version": "v6.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-kernel.git",
|
||||
"reference": "7a186f64a7f02787c04e8476538624d6aa888e42"
|
||||
"reference": "f6947cb939d8efee137797382cb4db1af653ef75"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/7a186f64a7f02787c04e8476538624d6aa888e42",
|
||||
"reference": "7a186f64a7f02787c04e8476538624d6aa888e42",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/f6947cb939d8efee137797382cb4db1af653ef75",
|
||||
"reference": "f6947cb939d8efee137797382cb4db1af653ef75",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6889,7 +6889,7 @@
|
||||
"description": "Provides a structured process for converting a Request into a Response",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-kernel/tree/v6.4.4"
|
||||
"source": "https://github.com/symfony/http-kernel/tree/v6.4.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6905,7 +6905,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-02-27T06:32:13+00:00"
|
||||
"time": "2024-03-04T21:00:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/mailer",
|
||||
@ -8003,16 +8003,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/routing",
|
||||
"version": "v6.4.3",
|
||||
"version": "v6.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/routing.git",
|
||||
"reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842"
|
||||
"reference": "7fe30068e207d9c31c0138501ab40358eb2d49a4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/3b2957ad54902f0f544df83e3d58b38d7e8e5842",
|
||||
"reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/7fe30068e207d9c31c0138501ab40358eb2d49a4",
|
||||
"reference": "7fe30068e207d9c31c0138501ab40358eb2d49a4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -8066,7 +8066,7 @@
|
||||
"url"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/routing/tree/v6.4.3"
|
||||
"source": "https://github.com/symfony/routing/tree/v6.4.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -8082,7 +8082,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-01-30T13:55:02+00:00"
|
||||
"time": "2024-02-27T12:33:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/service-contracts",
|
||||
@ -9861,16 +9861,16 @@
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
"version": "v5.0.1",
|
||||
"version": "v5.0.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nikic/PHP-Parser.git",
|
||||
"reference": "2218c2252c874a4624ab2f613d86ac32d227bc69"
|
||||
"reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/2218c2252c874a4624ab2f613d86ac32d227bc69",
|
||||
"reference": "2218c2252c874a4624ab2f613d86ac32d227bc69",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13",
|
||||
"reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -9913,9 +9913,9 @@
|
||||
],
|
||||
"support": {
|
||||
"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",
|
||||
|
@ -115,7 +115,7 @@ return [
|
||||
'handle_debts' => true,
|
||||
// see cer.php for exchange rates feature flag.
|
||||
],
|
||||
'version' => 'develop/2024-03-04',
|
||||
'version' => 'develop/2024-03-07',
|
||||
'api_version' => '2.0.12',
|
||||
'db_version' => 23,
|
||||
|
||||
|
6
package-lock.json
generated
6
package-lock.json
generated
@ -460,9 +460,9 @@
|
||||
"integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA=="
|
||||
},
|
||||
"node_modules/alpinejs": {
|
||||
"version": "3.13.5",
|
||||
"resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.13.5.tgz",
|
||||
"integrity": "sha512-1d2XeNGN+Zn7j4mUAKXtAgdc4/rLeadyTMWeJGXF5DzwawPBxwTiBhFFm6w/Ei8eJxUZeyNWWSD9zknfdz1kEw==",
|
||||
"version": "3.13.6",
|
||||
"resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.13.6.tgz",
|
||||
"integrity": "sha512-/F7pVR+11r1A0KVw+eY1DcjTFlRQn9arD3p5/2Q4vq0N2WDC/dHpg+Pz7ZMiVQlHE7ZmZmcqTRm1wYTdDLMiEg==",
|
||||
"dependencies": {
|
||||
"@vue/reactivity": "~3.1.1"
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
1
public/build/assets/create-b721a410.js
Normal file
1
public/build/assets/create-b721a410.js
Normal file
File diff suppressed because one or more lines are too long
@ -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};
|
1
public/build/assets/dashboard-41a4b449.js
Normal file
1
public/build/assets/dashboard-41a4b449.js
Normal file
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
@ -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};
|
@ -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};
|
1
public/build/assets/get-5b2cde80.js
Normal file
1
public/build/assets/get-5b2cde80.js
Normal 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};
|
@ -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};
|
@ -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
1
public/build/assets/index-bcaedc78.js
Normal file
1
public/build/assets/index-bcaedc78.js
Normal 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());
|
@ -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};
|
@ -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
1
public/build/assets/vendor-52daf6b6.css
Normal file
1
public/build/assets/vendor-52daf6b6.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
315
public/build/assets/vendor-f5e18451.js
Normal file
315
public/build/assets/vendor-f5e18451.js
Normal file
File diff suppressed because one or more lines are too long
@ -1,75 +1,75 @@
|
||||
{
|
||||
"_create-empty-split-ae226c95.js": {
|
||||
"file": "assets/create-empty-split-ae226c95.js",
|
||||
"_create-empty-split-c97f45c5.js": {
|
||||
"file": "assets/create-empty-split-c97f45c5.js",
|
||||
"imports": [
|
||||
"_vendor-596566c8.js"
|
||||
"_vendor-f5e18451.js"
|
||||
],
|
||||
"integrity": "sha384-ZvhdFWXmdx//iY6iifwB8yQZG5DwmrzQooPI6p0+NPV3Cxt87N8Hj3vO7pzz/iIe"
|
||||
"integrity": "sha384-wKgs+6aM6DzW9ZXDeQVeN/TZtIlkASgtnnFzSjaSdQ1oFOyhKBuZBr3j2nGoXWRI"
|
||||
},
|
||||
"_format-money-32daba98.js": {
|
||||
"file": "assets/format-money-32daba98.js",
|
||||
"_format-money-00d5f4b9.js": {
|
||||
"file": "assets/format-money-00d5f4b9.js",
|
||||
"imports": [
|
||||
"_vendor-596566c8.js"
|
||||
"_vendor-f5e18451.js"
|
||||
],
|
||||
"integrity": "sha384-D29XPv2SrXNniVn30ueDMb3YklD5Hse0O5kU/1jkuTLDBewbyOU5WSCqtm9LncBT"
|
||||
"integrity": "sha384-NwibVlqlZ8kjqF9U76HNU1p/xODJOtH4zTBi6i4OGG4x9PcqhTEbQtoXC4WnYE2u"
|
||||
},
|
||||
"_get-3a7c8f47.js": {
|
||||
"file": "assets/get-3a7c8f47.js",
|
||||
"_get-0097c30a.js": {
|
||||
"file": "assets/get-0097c30a.js",
|
||||
"imports": [
|
||||
"_format-money-32daba98.js"
|
||||
"_format-money-00d5f4b9.js"
|
||||
],
|
||||
"integrity": "sha384-UQC8EVz1wYu1O8ei2uuCWy9RvPz7Bop2y5L103ZegljBnZliQ4tgnq7GZAS4ME9U"
|
||||
"integrity": "sha384-FLOxTBwEkGf7PbJFJGi1kmcf110PY99rnGSOOmJSlnPd4fnsEZXYu4e7Q0gAxmC8"
|
||||
},
|
||||
"_get-5c0a4ab7.js": {
|
||||
"file": "assets/get-5c0a4ab7.js",
|
||||
"_get-59bb27e9.js": {
|
||||
"file": "assets/get-59bb27e9.js",
|
||||
"imports": [
|
||||
"_format-money-32daba98.js",
|
||||
"_vendor-596566c8.js"
|
||||
"_format-money-00d5f4b9.js"
|
||||
],
|
||||
"integrity": "sha384-EaYzFd638P3EF7jkKXx3lC09j4eT72DMJN0EMqR0JqQlk0uf3ooUTCgem7CYEz70"
|
||||
"integrity": "sha384-bmtl6LrtsrNh0rSgcWohzOXmDozXSaQ9BLaXchj8IiJAeqULMGFOx/z6olr9Z6I9"
|
||||
},
|
||||
"_get-d8580107.js": {
|
||||
"file": "assets/get-d8580107.js",
|
||||
"_get-5b2cde80.js": {
|
||||
"file": "assets/get-5b2cde80.js",
|
||||
"imports": [
|
||||
"_format-money-32daba98.js"
|
||||
"_format-money-00d5f4b9.js",
|
||||
"_vendor-f5e18451.js"
|
||||
],
|
||||
"integrity": "sha384-3gXnN2IbVYuUNk8uNZHirq3ZOcpwGEF69Egci1fh6M4iyJlHKfXg0PxqtMDXKEyh"
|
||||
"integrity": "sha384-Tr9M0BbSz6qynIKHsBlaiZlTWRqPh5K8oIoFNE9eqXvooEeAW2o0thWfuXBrV5s+"
|
||||
},
|
||||
"_parse-downloaded-splits-f7cec9f6.js": {
|
||||
"file": "assets/parse-downloaded-splits-f7cec9f6.js",
|
||||
"_parse-downloaded-splits-9e5b1aaf.js": {
|
||||
"file": "assets/parse-downloaded-splits-9e5b1aaf.js",
|
||||
"imports": [
|
||||
"_create-empty-split-ae226c95.js",
|
||||
"_vendor-596566c8.js"
|
||||
"_create-empty-split-c97f45c5.js",
|
||||
"_vendor-f5e18451.js"
|
||||
],
|
||||
"integrity": "sha384-z6ZwBo4M5GMh6grGX/JhoQQLsdrYBtWevoH3jbRy/wZO9ewmfL6Brn4b8R/VfGef"
|
||||
"integrity": "sha384-+u7ce40ZJSnmX7AM9MgiCCgIjXt+TkLmWC/p/A7bocN5A5HLNNEgM5UUkecfGDbU"
|
||||
},
|
||||
"_put-afdefb1b.js": {
|
||||
"file": "assets/put-afdefb1b.js",
|
||||
"_put-d6ed6223.js": {
|
||||
"file": "assets/put-d6ed6223.js",
|
||||
"imports": [
|
||||
"_format-money-32daba98.js"
|
||||
"_format-money-00d5f4b9.js"
|
||||
],
|
||||
"integrity": "sha384-tkD9X7Iij3KmBXAP6gJFOrJ9wEWNSQic8rEQeTM2s0iy8V3RmSvgZkr1FWVM0Wlg"
|
||||
"integrity": "sha384-AqFeuR/08blTrxpgzmtTKao9mbSJhBT6N/0clyeAgTtSUyH4w0gKJ2MTvt8lOujk"
|
||||
},
|
||||
"_splice-errors-into-transactions-e7d87df9.js": {
|
||||
"file": "assets/splice-errors-into-transactions-e7d87df9.js",
|
||||
"_splice-errors-into-transactions-bba1ef64.js": {
|
||||
"file": "assets/splice-errors-into-transactions-bba1ef64.js",
|
||||
"imports": [
|
||||
"_format-money-32daba98.js",
|
||||
"_get-d8580107.js",
|
||||
"_vendor-596566c8.js"
|
||||
"_format-money-00d5f4b9.js",
|
||||
"_get-0097c30a.js",
|
||||
"_vendor-f5e18451.js"
|
||||
],
|
||||
"integrity": "sha384-lgFWct0EQHY4Ke6v/DeOvi1/gkri/azZNS7xyLO+mOZwldzyKMO7gTwDrSDy6E/n"
|
||||
"integrity": "sha384-ld/QxFbIFbqpxeHPa3i4Rs58YFPmt265gYQThhJqTDxuXYD0vBS5fiMzKYccFI7g"
|
||||
},
|
||||
"_vendor-596566c8.js": {
|
||||
"_vendor-f5e18451.js": {
|
||||
"assets": [
|
||||
"assets/layers-1dbbe9d0.png",
|
||||
"assets/layers-2x-066daca8.png",
|
||||
"assets/marker-icon-574c3a5c.png"
|
||||
],
|
||||
"css": [
|
||||
"assets/vendor-04d71b26.css"
|
||||
"assets/vendor-52daf6b6.css"
|
||||
],
|
||||
"file": "assets/vendor-596566c8.js",
|
||||
"integrity": "sha384-z4Em8wtBjwTy8uzyiS3bVG6WR6MG9+rgYUupY8v4Z1ztgbyMwnwTL3Kmi49LN37M"
|
||||
"file": "assets/vendor-f5e18451.js",
|
||||
"integrity": "sha384-BzNMP5uYsiVrJylPJoLh/L+4WMPug3bTJN6sHZQpTe/UM3l1gwxier4DHUeuKNwq"
|
||||
},
|
||||
"grid-ff3-theme.css": {
|
||||
"file": "assets/grid-ff3-theme-badb0a41.css",
|
||||
@ -125,72 +125,72 @@
|
||||
"css": [
|
||||
"assets/grid-ff3-theme-badb0a41.css"
|
||||
],
|
||||
"file": "assets/index-3672fcc3.js",
|
||||
"file": "assets/index-bcaedc78.js",
|
||||
"imports": [
|
||||
"_format-money-32daba98.js",
|
||||
"_vendor-596566c8.js",
|
||||
"_get-5c0a4ab7.js"
|
||||
"_format-money-00d5f4b9.js",
|
||||
"_vendor-f5e18451.js",
|
||||
"_get-5b2cde80.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"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": {
|
||||
"file": "assets/dashboard-ff1a9ca4.js",
|
||||
"file": "assets/dashboard-41a4b449.js",
|
||||
"imports": [
|
||||
"_format-money-32daba98.js",
|
||||
"_vendor-596566c8.js",
|
||||
"_get-5c0a4ab7.js",
|
||||
"_get-3a7c8f47.js",
|
||||
"_get-d8580107.js"
|
||||
"_format-money-00d5f4b9.js",
|
||||
"_vendor-f5e18451.js",
|
||||
"_get-5b2cde80.js",
|
||||
"_get-59bb27e9.js",
|
||||
"_get-0097c30a.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"src": "resources/assets/v2/pages/dashboard/dashboard.js",
|
||||
"integrity": "sha384-PcF1jLpFFU+d6xKZPDA5DJ2mXZ7goFmM0yMGTAzG9veqCLax2RRoj7Fdz/HBLCDt"
|
||||
"integrity": "sha384-1kybqwSzdo4Qfy5jIkvNgbYJwALV6jnXqKM/aGUAM1sjIJvfGnxK2DjHX4lZN3IZ"
|
||||
},
|
||||
"resources/assets/v2/pages/transactions/create.js": {
|
||||
"file": "assets/create-3b1a50e9.js",
|
||||
"file": "assets/create-b721a410.js",
|
||||
"imports": [
|
||||
"_format-money-32daba98.js",
|
||||
"_create-empty-split-ae226c95.js",
|
||||
"_splice-errors-into-transactions-e7d87df9.js",
|
||||
"_vendor-596566c8.js",
|
||||
"_get-d8580107.js"
|
||||
"_format-money-00d5f4b9.js",
|
||||
"_create-empty-split-c97f45c5.js",
|
||||
"_splice-errors-into-transactions-bba1ef64.js",
|
||||
"_vendor-f5e18451.js",
|
||||
"_get-0097c30a.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"src": "resources/assets/v2/pages/transactions/create.js",
|
||||
"integrity": "sha384-iVlFUKE6NNPSLT1eIQPFmGQxLyEhcPpWPVYvCaipkUxmHPh0rwfp8VFVYdOwB+Cg"
|
||||
"integrity": "sha384-cAEOcjbtExGHfptyeQTlY4AINMi2a/DH22mgeTzvjnzY2KbZ0UydbBze9XmXNq9v"
|
||||
},
|
||||
"resources/assets/v2/pages/transactions/edit.js": {
|
||||
"file": "assets/edit-b45ad2d0.js",
|
||||
"file": "assets/edit-195027dc.js",
|
||||
"imports": [
|
||||
"_format-money-32daba98.js",
|
||||
"_get-3a7c8f47.js",
|
||||
"_parse-downloaded-splits-f7cec9f6.js",
|
||||
"_splice-errors-into-transactions-e7d87df9.js",
|
||||
"_vendor-596566c8.js",
|
||||
"_create-empty-split-ae226c95.js",
|
||||
"_put-afdefb1b.js",
|
||||
"_get-d8580107.js"
|
||||
"_format-money-00d5f4b9.js",
|
||||
"_get-59bb27e9.js",
|
||||
"_parse-downloaded-splits-9e5b1aaf.js",
|
||||
"_splice-errors-into-transactions-bba1ef64.js",
|
||||
"_vendor-f5e18451.js",
|
||||
"_create-empty-split-c97f45c5.js",
|
||||
"_put-d6ed6223.js",
|
||||
"_get-0097c30a.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"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": {
|
||||
"css": [
|
||||
"assets/grid-ff3-theme-badb0a41.css"
|
||||
],
|
||||
"file": "assets/index-9d44e91d.js",
|
||||
"file": "assets/index-943f66ab.js",
|
||||
"imports": [
|
||||
"_format-money-32daba98.js",
|
||||
"_vendor-596566c8.js",
|
||||
"_put-afdefb1b.js",
|
||||
"_get-3a7c8f47.js"
|
||||
"_format-money-00d5f4b9.js",
|
||||
"_vendor-f5e18451.js",
|
||||
"_put-d6ed6223.js",
|
||||
"_get-59bb27e9.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"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": {
|
||||
"file": "assets/show-8b1429e5.css",
|
||||
@ -201,17 +201,17 @@
|
||||
"css": [
|
||||
"assets/show-8b1429e5.css"
|
||||
],
|
||||
"file": "assets/show-5b49caf9.js",
|
||||
"file": "assets/show-63e01089.js",
|
||||
"imports": [
|
||||
"_format-money-32daba98.js",
|
||||
"_vendor-596566c8.js",
|
||||
"_get-3a7c8f47.js",
|
||||
"_parse-downloaded-splits-f7cec9f6.js",
|
||||
"_create-empty-split-ae226c95.js"
|
||||
"_format-money-00d5f4b9.js",
|
||||
"_vendor-f5e18451.js",
|
||||
"_get-59bb27e9.js",
|
||||
"_parse-downloaded-splits-9e5b1aaf.js",
|
||||
"_create-empty-split-c97f45c5.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"src": "resources/assets/v2/pages/transactions/show.js",
|
||||
"integrity": "sha384-jlYuHBokLAc0Cu1s0hNqFdUDag0PXqc+RQJ20B82ZDK7l/ycqUo6gEUkz4Rg0k4l"
|
||||
"integrity": "sha384-x17vRUDjWuxqceuMDNz/325LQPW85BoFU7068e9G3TPT01C1vfmQAfPcYxlWaYxn"
|
||||
},
|
||||
"resources/assets/v2/sass/app.scss": {
|
||||
"file": "assets/app-fb7b26ec.css",
|
||||
@ -220,8 +220,8 @@
|
||||
"integrity": "sha384-asG3EmbviAZntc1AzgJpoF+jBChn+oq/7eQfYWrCdJ1Ku/c7rJ82sstr6Eptxqgd"
|
||||
},
|
||||
"vendor.css": {
|
||||
"file": "assets/vendor-04d71b26.css",
|
||||
"file": "assets/vendor-52daf6b6.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
@ -17,7 +17,7 @@
|
||||
"money_flowing_in": "In",
|
||||
"money_flowing_out": "Ut",
|
||||
"category": "Kategori",
|
||||
"unknown_category_plain": "No category",
|
||||
"unknown_category_plain": "Ingen kategori",
|
||||
"all_money": "All your money",
|
||||
"unknown_source_plain": "Unknown source account",
|
||||
"unknown_dest_plain": "Unknown destination account",
|
||||
|
@ -17,7 +17,7 @@
|
||||
"money_flowing_in": "In",
|
||||
"money_flowing_out": "Ut",
|
||||
"category": "Kategori",
|
||||
"unknown_category_plain": "No category",
|
||||
"unknown_category_plain": "Ingen kategori",
|
||||
"all_money": "All your money",
|
||||
"unknown_source_plain": "Unknown source account",
|
||||
"unknown_dest_plain": "Unknown destination account",
|
||||
|
@ -1941,7 +1941,7 @@ return [
|
||||
'categories' => 'Kategorier',
|
||||
'edit_category' => 'Redigera kategori ":name"',
|
||||
'no_category' => '(utan kategori)',
|
||||
'unknown_category_plain' => 'No category',
|
||||
'unknown_category_plain' => 'Ingen kategori',
|
||||
'category' => 'Kategori',
|
||||
'delete_category' => 'Ta bort kategori ":name"',
|
||||
'deleted_category' => 'Kategori ":name" togs bort',
|
||||
|
@ -34,6 +34,6 @@
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
'failed' => 'Credentials นี้ไม่ตรงกับบันทึกของเรา',
|
||||
'throttle' => 'พยายามเข้าสู่ระบบมากเกินไป โปรดลองใหม่อีกครั้งใน :seconds วินาที',
|
||||
'failed' => 'ข้อมูลนี้ไม่ตรงกับในระบบ',
|
||||
'throttle' => 'คุณได้พยายามเข้าระบบหลายครั้งเกินไป กรุณาลองใหม่ใน :seconds วินาทีข้างหน้า.',
|
||||
];
|
||||
|
@ -38,7 +38,7 @@ return [
|
||||
'see_help_icon' => 'อย่างไรก็ตาม ไอคอน <i class="fa fa-question-circle"></i> ในมุมบนขวาจะช่วยอธิบายเพิ่มเติมให้คุณ',
|
||||
'index' => 'ยินดีต้อนรับเข้าสู่ <strong>Firefly III</strong>! ในหน้านี้แสดงรายละเอียดทางการเงินอย่างรวดเร็วให้คุณรับชม สำหรับรายละเอียดเพิ่มเติม สามารถดูได้ที่บัญชี → <a href=":asset"> บัญชีสินทรัพย์ </a> และแน่นอน จะมีส่วนของหน้า <a href=":budgets"> งบประมาณ </a> และหน้า <a href=":reports"> รายงาน </a> หรือ คุณสามารถที่จะดูทุกเมนูได้ตามสบาย',
|
||||
'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-examples' => 'ลองดูตัวอย่างของเรา: <a href=":one">รายละเอียดการเงินรายเดือน</a>, <a href=":two">รายละเอียดการเงินรายปี</a> และ <a href=":three">รายละเอียดงบประมาณโดยรวม</a>',
|
||||
'currencies-index' => 'Firefly III รองรับค่าเงินหลายประเภท ถึงแม้ว่าค่าเงินเดิมจะตั้งค่าไว้ที่ Euro สามารถที่จะเปลี่ยนเป็น US Dollar ได้ หรือค่าเงินอื่นๆได้ โดยคุณจะเห็นหน้าของการตั้งค่าสกุลเงิน โดยจะมีค่าเงินต่างๆ อยู่แล้ว ซึ่งคุณสามารถเพิ่มค่าเงินของคุณเข้าไปได้ โดยที่การเปลี่ยนค่าเงินตั้งต้น จะไม่ส่งผลต่อการเปลี่ยนค่าเงินในธุรกรรมที่ถูกบันทึกไปก่อนหน้านี้ อย่างไรก็ตาม Firefly III รองรับค่าเงินหลายประเภทในเวลาเดียวกัน',
|
||||
|
@ -56,10 +56,10 @@ return [
|
||||
*/
|
||||
|
||||
// invite
|
||||
'invitation_created_subject' => 'An invitation has been created',
|
||||
'invitation_created_body' => 'Admin user ":email" created a user invitation which can be used by whoever is behind email address ":invitee". The invite will be valid for 48hrs.',
|
||||
'invite_user_subject' => 'You\'ve been invited to create a Firefly III account.',
|
||||
'invitation_introduction' => 'You\'ve been invited to create a Firefly III account on **:host**. Firefly III is a personal, self-hosted, private personal finance manager. All the cool kids are using it.',
|
||||
'invitation_created_subject' => 'คำเชิญถูกสร้างขึ้นสร้างแล้ว',
|
||||
'invitation_created_body' => 'ผู้ดูแลระบบ ":email" ได้สร้างคำเชิญให้ผู้ใช้ตามที่อยู่อีเมล ":invitee" คำเชิญจะมีอายุการใช้งาน 48 ชั่วโมง',
|
||||
'invite_user_subject' => 'คุณได้รับเชิญให้สร้างบัญชี Firefly III',
|
||||
'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_url' => 'The invitation is valid for 48 hours and can be redeemed by surfing to [Firefly III](:url). Enjoy!',
|
||||
|
||||
|
@ -38,29 +38,29 @@ return [
|
||||
'index_intro' => 'ยินดีต้อนรับสู่หน้าหลักของ Firefly III โปรดสละเวลาอ่านบทแนะนำนี้เพื่อทำความเข้าใจว่า Firefly III ทำงานอย่างไร',
|
||||
'index_accounts-chart' => 'กราฟนี้แสดงยอดคงเหลือปัจจุบันของบัญชีสินทรัพย์ของคุณ คุณสามารถเลือกบัญชีที่แสดงได้ที่นี่ในการตั้งค่าของคุณ',
|
||||
'index_box_out_holder' => 'กล่องเล็กๆ นี้และกล่องข้างๆ จะทำให้คุณเห็นภาพรวมโดยย่อเกี่ยวกับสถานการณ์ทางการเงินของคุณ',
|
||||
'index_help' => 'If you ever need help with a page or a form, press this button.',
|
||||
'index_outro' => 'Most pages of Firefly III will start with a little tour like this one. Please contact me when you have questions or comments. Enjoy!',
|
||||
'index_sidebar-toggle' => 'To create new transactions, accounts or other things, use the menu under this icon.',
|
||||
'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_help' => 'หากคุณต้องการความช่วยเหลือเกี่ยวกับหน้าหรือแบบฟอร์ม ให้กดปุ่มนี้',
|
||||
'index_outro' => 'หน้าเพจส่วนใหญ่ของ Firefly III จะเริ่มต้นด้วยการทัวร์เล็กๆ น้อยๆ แบบนี้ โปรดติดต่อฉันเมื่อคุณมีคำถามหรือความคิดเห็น Enjoy!',
|
||||
'index_sidebar-toggle' => 'หากต้องการสร้างธุรกรรม บัญชี หรือสิ่งอื่นๆ ใหม่ ให้ใช้เมนูใต้ไอคอนนี้',
|
||||
'index_cash_account' => 'นี่คือบัญชีที่สร้างขึ้นจนถึงตอนนี้ คุณสามารถใช้บัญชีเงินสดเพื่อติดตามค่าใช้จ่ายเงินสดได้ แต่ไม่ได้บังคับแน่นอน',
|
||||
|
||||
// transactions
|
||||
'transactions_create_basic_info' => 'Enter the basic information of your transaction. Source, destination, date and description.',
|
||||
'transactions_create_amount_info' => 'Enter the amount of the transaction. If necessary the fields will auto-update for foreign amount info.',
|
||||
'transactions_create_optional_info' => 'All of these fields are optional. Adding meta-data here will make your transactions better organised.',
|
||||
'transactions_create_split' => 'If you want to split a transaction, add more splits with this button',
|
||||
'transactions_create_basic_info' => 'ป้อนข้อมูลพื้นฐานของการทำธุรกรรมของคุณ อย่างเช่น แหล่งที่มา ปลายทาง วันที่ และคำอธิบาย',
|
||||
'transactions_create_amount_info' => 'ป้อนจำนวนเงินของธุรกรรม หากจำเป็น ฟิลด์จะอัปเดตอัตโนมัติสำหรับข้อมูลจำนวนเงินต่างประเทศ',
|
||||
'transactions_create_optional_info' => 'ฟิลด์ทั้งหมดนี้ไม่จำเป็นต้องกรอก การเพิ่มข้อมูลเมตาที่นี่จะทำให้ธุรกรรมของคุณจัดระเบียบได้ดีขึ้น',
|
||||
'transactions_create_split' => 'หากคุณต้องการแยกธุรกรรม ให้เพิ่มด้วยปุ่มนี้',
|
||||
|
||||
// create account:
|
||||
'accounts_create_iban' => 'Give your accounts a valid IBAN. This could make a data import very easy in the future.',
|
||||
'accounts_create_asset_opening_balance' => 'Assets accounts may have an "opening balance", indicating the start of this account\'s history in Firefly III.',
|
||||
'accounts_create_asset_currency' => 'Firefly III supports multiple currencies. Asset accounts have one main currency, which you must set here.',
|
||||
'accounts_create_asset_virtual' => 'It can sometimes help to give your account a virtual balance: an extra amount always added to or removed from the actual balance.',
|
||||
'accounts_create_iban' => 'ให้ IBAN ที่ถูกต้องแก่บัญชีของคุณ ซึ่งอาจทำให้การนำเข้าข้อมูลในอนาคตเป็นเรื่องง่ายมาก',
|
||||
'accounts_create_asset_opening_balance' => 'บัญชีสินทรัพย์อาจมี "ยอดดุลยกมา" ซึ่งบ่งบอกถึงจุดเริ่มต้นของประวัติของบัญชีนี้ใน Firefly III',
|
||||
'accounts_create_asset_currency' => 'Firefly III รองรับหลายสกุลเงิน บัญชีสินทรัพย์จำเป็นต้องมีสกุลเงินหลักหนึ่งสกุล ซึ่งคุณต้องตั้งค่าที่นี่',
|
||||
'accounts_create_asset_virtual' => 'บางครั้งการมอบยอดเสมือนให้กับบัญชีของคุณอาจช่วยได้: จำนวนเงินพิเศษจะถูกบวกเข้าหรือลบออกจากยอดจริงเสมอ',
|
||||
|
||||
// budgets index
|
||||
'budgets_index_intro' => 'Budgets are used to manage your finances and form one of the core functions of Firefly III.',
|
||||
'budgets_index_see_expenses_bar' => 'Spending money will slowly fill this bar.',
|
||||
'budgets_index_navigate_periods' => 'Navigate through periods to easily set budgets ahead of time.',
|
||||
'budgets_index_new_budget' => 'Create new budgets as you see fit.',
|
||||
'budgets_index_list_of_budgets' => 'Use this table to set the amounts for each budget and see how you are doing.',
|
||||
'budgets_index_intro' => 'งบประมาณใช้เพื่อจัดการการเงินของคุณคือหนึ่งในหน้าที่หลักของ Firefly III',
|
||||
'budgets_index_see_expenses_bar' => 'การใช้จ่ายเงินจะค่อยๆทำให้แถบนี้เต็ม',
|
||||
'budgets_index_navigate_periods' => 'เลื่อนไปตามช่วงเวลาเพื่อตั้งงบประมาณล่วงหน้าได้อย่างง่ายดาย',
|
||||
'budgets_index_new_budget' => 'สร้างงบประมาณใหม่ตามที่คุณต้องการ',
|
||||
'budgets_index_list_of_budgets' => 'ใช้ตารางนี้เพื่อกำหนดจำนวนเงินสำหรับงบประมาณแต่ละอย่างและดูว่าคุณใช้จ่ายไปแล้วเท่าไร',
|
||||
'budgets_index_outro' => 'To learn more about budgeting, checkout the help icon in the top right corner.',
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user