mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
More test data and better views.
This commit is contained in:
@@ -10,129 +10,131 @@
|
||||
return [
|
||||
|
||||
// new user:
|
||||
'bank_name' => 'Bank name',
|
||||
'bank_balance' => 'Balance',
|
||||
'savings_balance' => 'Savings balance',
|
||||
'credit_card_limit' => 'Credit card limit',
|
||||
'automatch' => 'Match automatically',
|
||||
'skip' => 'Skip',
|
||||
'name' => 'Name',
|
||||
'active' => 'Active',
|
||||
'amount_min' => 'Minimum amount',
|
||||
'amount_max' => 'Maximum amount',
|
||||
'match' => 'Matches on',
|
||||
'repeat_freq' => 'Repeats',
|
||||
'journal_currency_id' => 'Currency',
|
||||
'journal_amount' => 'Amount',
|
||||
'journal_asset_source_account' => 'Asset account (source)',
|
||||
'journal_source_account_id' => 'Asset account (source)',
|
||||
'account_from_id' => 'From account',
|
||||
'account_to_id' => 'To account',
|
||||
'asset_destination_account' => 'Asset account (destination)',
|
||||
'asset_source_account' => 'Asset account (source)',
|
||||
'journal_description' => 'Description',
|
||||
'split_journal' => 'Split this transaction',
|
||||
'split_journal_explanation' => 'Split this transaction in multiple parts',
|
||||
'currency' => 'Currency',
|
||||
'account_id' => 'Asset account',
|
||||
'budget_id' => 'Budget',
|
||||
'openingBalance' => 'Opening balance',
|
||||
'tagMode' => 'Tag mode',
|
||||
'tagPosition' => 'Tag location',
|
||||
'virtualBalance' => 'Virtual balance',
|
||||
'longitude_latitude' => 'Location',
|
||||
'targetamount' => 'Target amount',
|
||||
'accountRole' => 'Account role',
|
||||
'openingBalanceDate' => 'Opening balance date',
|
||||
'ccType' => 'Credit card payment plan',
|
||||
'ccMonthlyPaymentDate' => 'Credit card monthly payment date',
|
||||
'piggy_bank_id' => 'Piggy bank',
|
||||
'returnHere' => 'Return here',
|
||||
'returnHereExplanation' => 'After storing, return here to create another one.',
|
||||
'returnHereUpdateExplanation' => 'After updating, return here.',
|
||||
'description' => 'Description',
|
||||
'expense_account' => 'Expense account',
|
||||
'revenue_account' => 'Revenue account',
|
||||
'amount' => 'Amount',
|
||||
'date' => 'Date',
|
||||
'interest_date' => 'Interest date',
|
||||
'book_date' => 'Book date',
|
||||
'process_date' => 'Processing date',
|
||||
'category' => 'Category',
|
||||
'tags' => 'Tags',
|
||||
'deletePermanently' => 'Delete permanently',
|
||||
'cancel' => 'Cancel',
|
||||
'targetdate' => 'Target date',
|
||||
'tag' => 'Tag',
|
||||
'under' => 'Under',
|
||||
'symbol' => 'Symbol',
|
||||
'code' => 'Code',
|
||||
'iban' => 'IBAN',
|
||||
'accountNumber' => 'Account number',
|
||||
'csv' => 'CSV file',
|
||||
'has_headers' => 'Headers',
|
||||
'date_format' => 'Date format',
|
||||
'csv_config' => 'CSV import configuration',
|
||||
'specifix' => 'Bank- or file specific fixes',
|
||||
'csv_import_account' => 'Default import account',
|
||||
'csv_delimiter' => 'CSV field delimiter',
|
||||
'attachments[]' => 'Attachments',
|
||||
'store_new_withdrawal' => 'Store new withdrawal',
|
||||
'store_new_deposit' => 'Store new deposit',
|
||||
'store_new_transfer' => 'Store new transfer',
|
||||
'add_new_withdrawal' => 'Add a new withdrawal',
|
||||
'add_new_deposit' => 'Add a new deposit',
|
||||
'add_new_transfer' => 'Add a new transfer',
|
||||
'noPiggybank' => '(no piggy bank)',
|
||||
'title' => 'Title',
|
||||
'notes' => 'Notes',
|
||||
'filename' => 'File name',
|
||||
'mime' => 'Mime type',
|
||||
'size' => 'Size',
|
||||
'trigger' => 'Trigger',
|
||||
'stop_processing' => 'Stop processing',
|
||||
'start_date' => 'Start of range',
|
||||
'end_date' => 'End of range',
|
||||
'export_start_range' => 'Start of export range',
|
||||
'export_end_range' => 'End of export range',
|
||||
'export_format' => 'File format',
|
||||
'include_attachments' => 'Include uploaded attachments',
|
||||
'include_config' => 'Include configuration file',
|
||||
'include_old_uploads' => 'Include imported data',
|
||||
'accounts' => 'Export transactions from these accounts',
|
||||
'csv_comma' => 'A comma (,)',
|
||||
'csv_semicolon' => 'A semicolon (;)',
|
||||
'csv_tab' => 'A tab (invisible)',
|
||||
'delete_account' => 'Delete account ":name"',
|
||||
'delete_bill' => 'Delete bill ":name"',
|
||||
'delete_budget' => 'Delete budget ":name"',
|
||||
'delete_category' => 'Delete category ":name"',
|
||||
'delete_currency' => 'Delete currency ":name"',
|
||||
'delete_journal' => 'Delete transaction with description ":description"',
|
||||
'delete_attachment' => 'Delete attachment ":name"',
|
||||
'delete_rule' => 'Delete rule ":title"',
|
||||
'delete_rule_group' => 'Delete rule group ":title"',
|
||||
'attachment_areYouSure' => 'Are you sure you want to delete the attachment named ":name"?',
|
||||
'account_areYouSure' => 'Are you sure you want to delete the account named ":name"?',
|
||||
'bill_areYouSure' => 'Are you sure you want to delete the bill named ":name"?',
|
||||
'rule_areYouSure' => 'Are you sure you want to delete the rule titled ":title"?',
|
||||
'ruleGroup_areYouSure' => 'Are you sure you want to delete the rule group titled ":title"?',
|
||||
'budget_areYouSure' => 'Are you sure you want to delete the budget named ":name"?',
|
||||
'category_areYouSure' => 'Are you sure you want to delete the category named ":name"?',
|
||||
'currency_areYouSure' => 'Are you sure you want to delete the currency named ":name"?',
|
||||
'piggyBank_areYouSure' => 'Are you sure you want to delete the piggy bank named ":name"?',
|
||||
'journal_areYouSure' => 'Are you sure you want to delete the transaction described ":description"?',
|
||||
'mass_journal_are_you_sure' => 'Are you sure you want to delete these transactions?',
|
||||
'tag_areYouSure' => 'Are you sure you want to delete the tag ":tag"?',
|
||||
'permDeleteWarning' => 'Deleting stuff from Firely is permanent and cannot be undone.',
|
||||
'mass_make_selection' => 'You can still prevent items from being deleted by removing the checkbox.',
|
||||
'delete_all_permanently' => 'Delete selected permanently',
|
||||
'update_all_journals' => 'Update these transactions',
|
||||
'also_delete_transactions' => 'The only transaction connected to this account will be deleted as well.|All :count transactions connected to this account will be deleted as well.',
|
||||
'also_delete_rules' => 'The only rule connected to this rule group will be deleted as well.|All :count rules connected to this rule group will be deleted as well.',
|
||||
'also_delete_piggyBanks' => 'The only piggy bank connected to this account will be deleted as well.|All :count piggy bank connected to this account will be deleted as well.',
|
||||
'bill_keep_transactions' => 'The only transaction connected to this bill will not be deleted.|All :count transactions connected to this bill will spared deletion.',
|
||||
'budget_keep_transactions' => 'The only transaction connected to this budget will not be deleted.|All :count transactions connected to this budget will spared deletion.',
|
||||
'category_keep_transactions' => 'The only transaction connected to this category will not be deleted.|All :count transactions connected to this category will spared deletion.',
|
||||
'tag_keep_transactions' => 'The only transaction connected to this tag will not be deleted.|All :count transactions connected to this tag will spared deletion.',
|
||||
'bank_name' => 'Bank name',
|
||||
'bank_balance' => 'Balance',
|
||||
'savings_balance' => 'Savings balance',
|
||||
'credit_card_limit' => 'Credit card limit',
|
||||
'automatch' => 'Match automatically',
|
||||
'skip' => 'Skip',
|
||||
'name' => 'Name',
|
||||
'active' => 'Active',
|
||||
'amount_min' => 'Minimum amount',
|
||||
'amount_max' => 'Maximum amount',
|
||||
'match' => 'Matches on',
|
||||
'repeat_freq' => 'Repeats',
|
||||
'journal_currency_id' => 'Currency',
|
||||
'journal_amount' => 'Amount',
|
||||
'journal_asset_source_account' => 'Asset account (source)',
|
||||
'journal_source_account_name' => 'Revenue account (source)',
|
||||
'journal_source_account_id' => 'Asset account (source)',
|
||||
'account_from_id' => 'From account',
|
||||
'account_to_id' => 'To account',
|
||||
'journal_destination_account_id' => 'Asset account (destination)',
|
||||
'asset_destination_account' => 'Asset account (destination)',
|
||||
'asset_source_account' => 'Asset account (source)',
|
||||
'journal_description' => 'Description',
|
||||
'split_journal' => 'Split this transaction',
|
||||
'split_journal_explanation' => 'Split this transaction in multiple parts',
|
||||
'currency' => 'Currency',
|
||||
'account_id' => 'Asset account',
|
||||
'budget_id' => 'Budget',
|
||||
'openingBalance' => 'Opening balance',
|
||||
'tagMode' => 'Tag mode',
|
||||
'tagPosition' => 'Tag location',
|
||||
'virtualBalance' => 'Virtual balance',
|
||||
'longitude_latitude' => 'Location',
|
||||
'targetamount' => 'Target amount',
|
||||
'accountRole' => 'Account role',
|
||||
'openingBalanceDate' => 'Opening balance date',
|
||||
'ccType' => 'Credit card payment plan',
|
||||
'ccMonthlyPaymentDate' => 'Credit card monthly payment date',
|
||||
'piggy_bank_id' => 'Piggy bank',
|
||||
'returnHere' => 'Return here',
|
||||
'returnHereExplanation' => 'After storing, return here to create another one.',
|
||||
'returnHereUpdateExplanation' => 'After updating, return here.',
|
||||
'description' => 'Description',
|
||||
'expense_account' => 'Expense account',
|
||||
'revenue_account' => 'Revenue account',
|
||||
'amount' => 'Amount',
|
||||
'date' => 'Date',
|
||||
'interest_date' => 'Interest date',
|
||||
'book_date' => 'Book date',
|
||||
'process_date' => 'Processing date',
|
||||
'category' => 'Category',
|
||||
'tags' => 'Tags',
|
||||
'deletePermanently' => 'Delete permanently',
|
||||
'cancel' => 'Cancel',
|
||||
'targetdate' => 'Target date',
|
||||
'tag' => 'Tag',
|
||||
'under' => 'Under',
|
||||
'symbol' => 'Symbol',
|
||||
'code' => 'Code',
|
||||
'iban' => 'IBAN',
|
||||
'accountNumber' => 'Account number',
|
||||
'csv' => 'CSV file',
|
||||
'has_headers' => 'Headers',
|
||||
'date_format' => 'Date format',
|
||||
'csv_config' => 'CSV import configuration',
|
||||
'specifix' => 'Bank- or file specific fixes',
|
||||
'csv_import_account' => 'Default import account',
|
||||
'csv_delimiter' => 'CSV field delimiter',
|
||||
'attachments[]' => 'Attachments',
|
||||
'store_new_withdrawal' => 'Store new withdrawal',
|
||||
'store_new_deposit' => 'Store new deposit',
|
||||
'store_new_transfer' => 'Store new transfer',
|
||||
'add_new_withdrawal' => 'Add a new withdrawal',
|
||||
'add_new_deposit' => 'Add a new deposit',
|
||||
'add_new_transfer' => 'Add a new transfer',
|
||||
'noPiggybank' => '(no piggy bank)',
|
||||
'title' => 'Title',
|
||||
'notes' => 'Notes',
|
||||
'filename' => 'File name',
|
||||
'mime' => 'Mime type',
|
||||
'size' => 'Size',
|
||||
'trigger' => 'Trigger',
|
||||
'stop_processing' => 'Stop processing',
|
||||
'start_date' => 'Start of range',
|
||||
'end_date' => 'End of range',
|
||||
'export_start_range' => 'Start of export range',
|
||||
'export_end_range' => 'End of export range',
|
||||
'export_format' => 'File format',
|
||||
'include_attachments' => 'Include uploaded attachments',
|
||||
'include_config' => 'Include configuration file',
|
||||
'include_old_uploads' => 'Include imported data',
|
||||
'accounts' => 'Export transactions from these accounts',
|
||||
'csv_comma' => 'A comma (,)',
|
||||
'csv_semicolon' => 'A semicolon (;)',
|
||||
'csv_tab' => 'A tab (invisible)',
|
||||
'delete_account' => 'Delete account ":name"',
|
||||
'delete_bill' => 'Delete bill ":name"',
|
||||
'delete_budget' => 'Delete budget ":name"',
|
||||
'delete_category' => 'Delete category ":name"',
|
||||
'delete_currency' => 'Delete currency ":name"',
|
||||
'delete_journal' => 'Delete transaction with description ":description"',
|
||||
'delete_attachment' => 'Delete attachment ":name"',
|
||||
'delete_rule' => 'Delete rule ":title"',
|
||||
'delete_rule_group' => 'Delete rule group ":title"',
|
||||
'attachment_areYouSure' => 'Are you sure you want to delete the attachment named ":name"?',
|
||||
'account_areYouSure' => 'Are you sure you want to delete the account named ":name"?',
|
||||
'bill_areYouSure' => 'Are you sure you want to delete the bill named ":name"?',
|
||||
'rule_areYouSure' => 'Are you sure you want to delete the rule titled ":title"?',
|
||||
'ruleGroup_areYouSure' => 'Are you sure you want to delete the rule group titled ":title"?',
|
||||
'budget_areYouSure' => 'Are you sure you want to delete the budget named ":name"?',
|
||||
'category_areYouSure' => 'Are you sure you want to delete the category named ":name"?',
|
||||
'currency_areYouSure' => 'Are you sure you want to delete the currency named ":name"?',
|
||||
'piggyBank_areYouSure' => 'Are you sure you want to delete the piggy bank named ":name"?',
|
||||
'journal_areYouSure' => 'Are you sure you want to delete the transaction described ":description"?',
|
||||
'mass_journal_are_you_sure' => 'Are you sure you want to delete these transactions?',
|
||||
'tag_areYouSure' => 'Are you sure you want to delete the tag ":tag"?',
|
||||
'permDeleteWarning' => 'Deleting stuff from Firely is permanent and cannot be undone.',
|
||||
'mass_make_selection' => 'You can still prevent items from being deleted by removing the checkbox.',
|
||||
'delete_all_permanently' => 'Delete selected permanently',
|
||||
'update_all_journals' => 'Update these transactions',
|
||||
'also_delete_transactions' => 'The only transaction connected to this account will be deleted as well.|All :count transactions connected to this account will be deleted as well.',
|
||||
'also_delete_rules' => 'The only rule connected to this rule group will be deleted as well.|All :count rules connected to this rule group will be deleted as well.',
|
||||
'also_delete_piggyBanks' => 'The only piggy bank connected to this account will be deleted as well.|All :count piggy bank connected to this account will be deleted as well.',
|
||||
'bill_keep_transactions' => 'The only transaction connected to this bill will not be deleted.|All :count transactions connected to this bill will spared deletion.',
|
||||
'budget_keep_transactions' => 'The only transaction connected to this budget will not be deleted.|All :count transactions connected to this budget will spared deletion.',
|
||||
'category_keep_transactions' => 'The only transaction connected to this category will not be deleted.|All :count transactions connected to this category will spared deletion.',
|
||||
'tag_keep_transactions' => 'The only transaction connected to this tag will not be deleted.|All :count transactions connected to this tag will spared deletion.',
|
||||
];
|
||||
|
@@ -4,37 +4,13 @@
|
||||
{{ Breadcrumbs.renderIfExists }}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
{{ Form.open({'class' : 'form-horizontal','id' : 'store','url' : route('split.journal.from-store.post')}) }}
|
||||
<input type="hidden" name="what" value="{{ preFilled.what }}"/>
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ ('split_title_'~preFilled.what)|_ }}</h3>
|
||||
<form method="POST" action="{{ route('split.journal.store',journal.id) }}" accept-charset="UTF-8" class="form-horizontal" id="update"
|
||||
enctype="multipart/form-data">
|
||||
|
||||
<input name="_token" type="hidden" value="{{ csrf_token() }}">
|
||||
<input type="hidden" name="id" value="{{ journal.id }}"/>
|
||||
<input type="hidden" name="what" value="{{ preFilled.what }}"/>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p>
|
||||
{{ ('split_intro_one_'~preFilled.what)|_ }}
|
||||
</p>
|
||||
<p>
|
||||
{{ ('split_intro_two_'~preFilled.what)|_ }}
|
||||
</p>
|
||||
<p>
|
||||
{% if preFilled.what =='deposit' %}
|
||||
{{ trans(('firefly.split_intro_three_'~preFilled.what), {total: 500|formatAmount, split_one: 425|formatAmount, split_two: 75|formatAmount})|raw }}
|
||||
{% else %}
|
||||
{{ trans(('firefly.split_intro_three_'~preFilled.what), {total: 20|formatAmount, split_one: 15|formatAmount, split_two: 5|formatAmount})|raw }}
|
||||
{% endif %}
|
||||
</p>
|
||||
<p class="text-danger">This feature is experimental.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% if errors.all()|length > 0 %}
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||
@@ -67,20 +43,19 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
{{ ExpandedForm.text('journal_description') }}
|
||||
{{ ExpandedForm.select('journal_currency_id', currencies, preFilled.journal_currency_id) }}
|
||||
{{ ExpandedForm.staticText('journal_amount', preFilled.journal_amount|formatAmount) }}
|
||||
{{ ExpandedForm.text('journal_description', journal.description) }}
|
||||
{{ ExpandedForm.select('journal_currency_id', currencies, journal.transaction_currency_id) }}
|
||||
{{ ExpandedForm.staticText('journal_amount', preFilled.journal_amount|formatAmount ) }}
|
||||
<input type="hidden" name="journal_amount" value="{{ preFilled.journal_amount }}"/>
|
||||
|
||||
<!-- show source drop down box if withdrawal or transfer -->
|
||||
<!-- show source if withdrawal or transfer -->
|
||||
{% if preFilled.what == 'withdrawal' or preFilled.what == 'transfer' %}
|
||||
{{ ExpandedForm.select('journal_source_account_id', assetAccounts, preFilled.journal_source_account_id) }}
|
||||
{% endif %}
|
||||
<!-- show source text input if deposit: -->
|
||||
<!-- show static source if deposit: -->
|
||||
{% if preFilled.what == 'deposit' %}
|
||||
{{ ExpandedForm.text('journal_source_account_name', preFilled.journal_source_account_name) }}
|
||||
{% endif %}
|
||||
<!-- show destination drop down if transfer -->
|
||||
<!-- show static destination if transfer -->
|
||||
{% if preFilled.what == 'transfer' %}
|
||||
{{ ExpandedForm.select('journal_destination_account_id', assetAccounts, preFilled.journal_destination_account_id) }}
|
||||
{% endif %}
|
||||
@@ -97,15 +72,16 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
{{ ExpandedForm.date('date', preFilled.date) }}
|
||||
{{ ExpandedForm.date('date', journal.date) }}
|
||||
|
||||
{{ ExpandedForm.date('interest_date', preFilled.interest_date) }}
|
||||
{{ ExpandedForm.date('interest_date', journal.interest_date) }}
|
||||
|
||||
{{ ExpandedForm.date('book_date', preFilled.book_date) }}
|
||||
{{ ExpandedForm.date('book_date', journal.book_date) }}
|
||||
|
||||
{{ ExpandedForm.date('process_date', preFilled.process_date) }}
|
||||
{{ ExpandedForm.date('process_date', journal.process_date) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@@ -119,22 +95,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p>
|
||||
{{ ('split_table_intro_'~preFilled.what)|_ }}
|
||||
</p>
|
||||
<table class="table table-bordered table-condensed table-striped split-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ trans('list.split_number') }}</th>
|
||||
<th>{{ trans('list.description') }}</th>
|
||||
<!-- split the source of a deposit -->
|
||||
<!--
|
||||
{% if preFilled.what == 'deposit' %}
|
||||
<th>{{ trans('list.source') }}</th>
|
||||
{% endif %}
|
||||
-->
|
||||
<!-- split where a withdrawal is going -->
|
||||
<!-- split where a deposit is going -->
|
||||
{% if preFilled.what == 'withdrawal' or preFilled.what == 'deposit' %}
|
||||
<th>{{ trans('list.destination') }}</th>
|
||||
{% endif %}
|
||||
@@ -175,7 +140,15 @@
|
||||
</td>
|
||||
{% if preFilled.what == 'withdrawal' %}
|
||||
<td>
|
||||
{{ Form.select('budget_id[]', budgets, preFilled.budget_id[index], {class: 'form-control'}) }}
|
||||
<select class="form-control" name="budget_id[]">
|
||||
{% for key, budget in budgets %}
|
||||
<option label="{{ budget }}" value="{{ key }}"
|
||||
{% if preFilled.budget_id[index] == key %}
|
||||
selected="selected"
|
||||
{% endif %}
|
||||
>{{ budget }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
{% endif %}
|
||||
<td>
|
||||
@@ -189,11 +162,40 @@
|
||||
<br/>
|
||||
<a href="#" class="btn btn-default btn-do-split"><i class="fa fa-plus-circle"></i> {{ 'add_another_split'|_ }}</a>
|
||||
</p>
|
||||
<p class="pull-right">
|
||||
<!--<p class="pull-right">
|
||||
<button type="submit" id="transaction-btn" class="btn btn-success pull-right">
|
||||
{{ ('store_splitted_'~preFilled.what)|_ }}
|
||||
{{ ('update_splitted_'~preFilled.what)|_ }}
|
||||
</button>
|
||||
</p>
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
||||
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'optionalFields'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<!-- ATTACHMENTS -->
|
||||
{{ ExpandedForm.file('attachments[]', {'multiple': 'multiple','helpText': trans('firefly.upload_max_file_size', {'size': uploadSize|filesize}) }) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
||||
<!-- panel for options -->
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'options'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
{{ ExpandedForm.optionsList('create','split-transaction') }}
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<button type="submit" class="pull-right btn btn-success">{{ ('store_' ~ preFilled.what)|_ }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@@ -47,14 +47,17 @@
|
||||
{{ ExpandedForm.select('journal_currency_id', currencies, preFilled.transaction_currency_id) }}
|
||||
{{ ExpandedForm.staticText('journal_amount', preFilled.journal_amount|formatAmount ) }}
|
||||
<input type="hidden" name="journal_amount" value="{{ preFilled.journal_amount }}"/>
|
||||
|
||||
<!-- show source if withdrawal or transfer -->
|
||||
{% if preFilled.what == 'withdrawal' or preFilled.what == 'transfer' %}
|
||||
{{ ExpandedForm.select('journal_source_account_id', assetAccounts, preFilled.journal_source_account_id) }}
|
||||
{% endif %}
|
||||
|
||||
<!-- show static source if deposit: -->
|
||||
{% if preFilled.what == 'deposit' %}
|
||||
{{ ExpandedForm.text('journal_source_account_name', preFilled.journal_source_account_name) }}
|
||||
{% endif %}
|
||||
|
||||
<!-- show static destination if transfer -->
|
||||
{% if preFilled.what == 'transfer' %}
|
||||
{{ ExpandedForm.select('journal_destination_account_id', assetAccounts, preFilled.journal_destination_account_id) }}
|
||||
@@ -100,25 +103,19 @@
|
||||
<tr>
|
||||
<th>{{ trans('list.split_number') }}</th>
|
||||
<th>{{ trans('list.description') }}</th>
|
||||
<!-- split the source of a deposit -->
|
||||
<!--
|
||||
{% if preFilled.what == 'deposit' %}
|
||||
<th>{{ trans('list.source') }}</th>
|
||||
{% endif %}
|
||||
-->
|
||||
<!-- split where a withdrawal is going -->
|
||||
<!-- split where a deposit is going -->
|
||||
|
||||
<!-- withdrawal and deposit have a destination. -->
|
||||
{% if preFilled.what == 'withdrawal' or preFilled.what == 'deposit' %}
|
||||
<th>{{ trans('list.destination') }}</th>
|
||||
{% endif %}
|
||||
|
||||
<th>{{ trans('list.amount') }}</th>
|
||||
|
||||
<!-- only withdrawal has budget -->
|
||||
{% if preFilled.what == 'withdrawal' %}
|
||||
<th>{{ trans('list.budget') }}</th>
|
||||
{% endif %}
|
||||
<th>{{ trans('list.category') }}</th>
|
||||
{% if preFilled.what == 'transfer' %}
|
||||
<th>{{ trans('list.piggy_bank') }}</th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -165,11 +162,6 @@
|
||||
<td>
|
||||
<input type="text" name="category[]" value="{{ preFilled.category[index] }}" class="form-control"/>
|
||||
</td>
|
||||
{% if preFilled.what == 'transfer' %}
|
||||
<td>
|
||||
{{ Form.select('piggy_bank_id[]', piggyBanks, preFilled.piggy_bank_id[index], {class: 'form-control'}) }}
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
206
resources/views/split/journals/show.twig
Normal file
206
resources/views/split/journals/show.twig
Normal file
@@ -0,0 +1,206 @@
|
||||
{% extends "./layout/default.twig" %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
{{ Breadcrumbs.renderIfExists(Route.getCurrentRoute.getName, journal) }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">Metadata</h3>
|
||||
</div>
|
||||
<div class="box-body table-responsive no-padding">
|
||||
<table class="table table-hover sortable">
|
||||
<tr>
|
||||
<td>{{ trans('list.date') }}</td>
|
||||
<td>{{ journal.date.formatLocalized(monthAndDayFormat) }}</td>
|
||||
</tr>
|
||||
{% if journal.interest_date %}
|
||||
<tr>
|
||||
<td>{{ trans('list.interest_date') }}</td>
|
||||
<td>{{ journal.interest_date.formatLocalized(monthAndDayFormat) }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if journal.book_date %}
|
||||
<tr>
|
||||
<td>{{ trans('list.book_date') }}</td>
|
||||
<td>{{ journal.book_date.formatLocalized(monthAndDayFormat) }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if journal.process_date %}
|
||||
<tr>
|
||||
<td>{{ trans('list.process_date') }}</td>
|
||||
<td>{{ journal.process_date.formatLocalized(monthAndDayFormat) }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
<tr>
|
||||
<td>{{ trans('list.type') }}</td>
|
||||
<td>{{ journal.transactiontype.type|_ }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ trans('list.completed') }}</td>
|
||||
<td>
|
||||
{% if journal.completed %}
|
||||
<span class="text-success">{{ 'yes'|_ }}</span>
|
||||
{% else %}
|
||||
<span class="text-danger">{{ 'no'|_ }}</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% for budget in journal.budgets %}
|
||||
<tr>
|
||||
<td>{{ 'budget'|_ }}</td>
|
||||
<td><a href="{{ route('budgets.show',budget.id) }}">{{ budget.name }}</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% for category in journal.categories %}
|
||||
<tr>
|
||||
<td>{{ 'category'|_ }}</td>
|
||||
<td><a href="{{ route('categories.show',category.id) }}">{{ category.name }}</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if journal.bill %}
|
||||
<tr>
|
||||
<td>{{ 'bill'|_ }}</td>
|
||||
<td><a href="{{ route('bills.show', journal.bill_id) }}">{{ journal.bill.name }}</a></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if journal.tags|length > 0 %}
|
||||
<tr>
|
||||
<td>{{ 'tags'|_ }}</td>
|
||||
<td>
|
||||
{% for tag in journal.tags %}
|
||||
|
||||
<h4 style="display: inline;"><a class="label label-success" href="{{ route('tags.show',tag) }}">
|
||||
{% if tag.tagMode == 'nothing' %}
|
||||
<i class="fa fa-fw fa-tag"></i>
|
||||
{% endif %}
|
||||
{% if tag.tagMode == 'balancingAct' %}
|
||||
<i class="fa fa-fw fa-refresh"></i>
|
||||
{% endif %}
|
||||
{% if tag.tagMode == 'advancePayment' %}
|
||||
<i class="fa fa-fw fa-sort-numeric-desc"></i>
|
||||
{% endif %}
|
||||
{{ tag.tag }}</a>
|
||||
</h4>
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<div class="pull-right">
|
||||
<a class="btn btn-default" href="{{ route('transactions.edit',journal.id) }}">{{ 'edit'|_ }}</a>
|
||||
<a href="{{ route('transactions.delete',journal.id) }}" class="btn btn-danger">{{ 'delete'|_ }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- events, if present -->
|
||||
{% if journal.piggyBankEvents|length > 0 %}
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'piggyBanks'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
{% include 'list/piggy-bank-events' with {'events': events, 'showPiggyBank':true} %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
{% if journal.attachments|length > 0 %}
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'attachments'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body table-responsive no-padding">
|
||||
<table class="table table-hover">
|
||||
{% for att in journal.attachments %}
|
||||
<tr>
|
||||
<td>
|
||||
<div class="btn-group btn-group-xs">
|
||||
<a href="{{ route('attachments.edit', att.id) }}" class="btn btn-default"><i class="fa fa-pencil"></i></a>
|
||||
<a href="{{ route('attachments.delete', att.id) }}" class="btn btn-danger"><i class="fa fa-trash"></i></a>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<i class="fa {{ att.mime|mimeIcon }}"></i>
|
||||
<a href="{{ route('attachments.download', att.id) }}" title="{{ att.filename }}">
|
||||
{% if att.title %}
|
||||
{{ att.title }}
|
||||
{% else %}
|
||||
{{ att.filename }}
|
||||
{% endif %}
|
||||
</a>
|
||||
({{ att.size|filesize }})
|
||||
{% if att.description %}
|
||||
<br/>
|
||||
<em>{{ att.description }}</em>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td style="width:100px;">
|
||||
<img src="{{ route('attachments.preview', att.id) }}"/>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- more than two transactions-->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">Transactions</h3>
|
||||
</div>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ trans('list.description') }}</th>
|
||||
<th>{{ trans('list.account') }}</th>
|
||||
<th>{{ trans('list.amount') }}</th>
|
||||
<th>{{ trans('list.new_balance') }}</th>
|
||||
<th>{{ trans('list.budget') }}</th>
|
||||
<th>{{ trans('list.category') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for index, t in transactions %}
|
||||
<tr>
|
||||
<td>
|
||||
{% if (index+1) != transactions|length or what == 'transfer' %}
|
||||
{{ t.description }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td><a href="{{ route('accounts.show',t.account.id) }}">{{ t.account.name }}</a> ({{ t.account.accounttype.type|_ }})</td>
|
||||
<td>{{ t.sum|formatAmount }}</td>
|
||||
<td>{{ t.before|formatAmount }} → {{ (t.sum+t.before)|formatAmount }}</td>
|
||||
<td>
|
||||
{% if (index+1) != transactions|length or what == 'transfer' %}
|
||||
{{ transactionBudgets(t)|raw }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if (index+1) != transactions|length or what == 'transfer' %}
|
||||
{{ transactionCategories(t)|raw }}
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end -->
|
||||
{% endblock %}
|
@@ -101,7 +101,7 @@
|
||||
</div>
|
||||
|
||||
<!-- attachments for unsplitted journals -->
|
||||
{% if journal.attachments|length > 0 and transactions.count == 2 %}
|
||||
{% if journal.attachments|length > 0 %}
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'attachments'|_ }}</h3>
|
||||
@@ -154,7 +154,6 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
{% if transactions.count == 2 %}
|
||||
{% for t in transactions %}
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
@@ -199,100 +198,6 @@
|
||||
</table>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
<!-- attachments for splitted journals -->
|
||||
{% if journal.attachments|length > 0 and transactions.count > 2 %}
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'attachments'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body table-responsive no-padding">
|
||||
<table class="table table-hover">
|
||||
{% for att in journal.attachments %}
|
||||
<tr>
|
||||
<td>
|
||||
<div class="btn-group btn-group-xs">
|
||||
<a href="{{ route('attachments.edit', att.id) }}" class="btn btn-default"><i class="fa fa-pencil"></i></a>
|
||||
<a href="{{ route('attachments.delete', att.id) }}" class="btn btn-danger"><i class="fa fa-trash"></i></a>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<i class="fa {{ att.mime|mimeIcon }}"></i>
|
||||
<a href="{{ route('attachments.download', att.id) }}" title="{{ att.filename }}">
|
||||
{% if att.title %}
|
||||
{{ att.title }}
|
||||
{% else %}
|
||||
{{ att.filename }}
|
||||
{% endif %}
|
||||
</a>
|
||||
({{ att.size|filesize }})
|
||||
{% if att.description %}
|
||||
<br/>
|
||||
<em>{{ att.description }}</em>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td style="width:100px;">
|
||||
<img src="{{ route('attachments.preview', att.id) }}"/>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- more than two transactions-->
|
||||
{% if transactions.count > 2 %}
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">Transactions</h3>
|
||||
</div>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ trans('list.description') }}</th>
|
||||
<th>{{ trans('list.account') }}</th>
|
||||
<th>{{ trans('list.amount') }}</th>
|
||||
<th>{{ trans('list.new_balance') }}</th>
|
||||
<th>{{ trans('list.budget') }}</th>
|
||||
<th>{{ trans('list.category') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for index, t in transactions %}
|
||||
<tr>
|
||||
<td>
|
||||
{% if (index+1) != transactions|length %}
|
||||
{{ t.description }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td><a href="{{ route('accounts.show',t.account.id) }}">{{ t.account.name }}</a> ({{ t.account.accounttype.type|_ }})</td>
|
||||
<td>{{ t.sum|formatAmount }}</td>
|
||||
<td>{{ t.before|formatAmount }} → {{ (t.sum+t.before)|formatAmount }}</td>
|
||||
<td>
|
||||
{% if (index+1) != transactions|length %}
|
||||
{{ transactionBudgets(t)|raw }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if (index+1) != transactions|length %}
|
||||
{{ transactionCategories(t)|raw }}
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<!-- end -->
|
||||
{% endblock %}
|
||||
|
Reference in New Issue
Block a user