New stuff

This commit is contained in:
Sander Dorigo committed 2026-06-23 15:08:18 +02:00
1 parent 461dd90356
commit 7a2594fbfa
131 files changed
+756 -643

No files matched your search

@@ -121,6 +121,7 @@ final class ShowController extends Controller
$currency = $accountCurrency ?? $this->primaryCurrency;
$fStart = $start->isoFormat($this->monthAndDayFormat);
$fEnd = $end->isoFormat($this->monthAndDayFormat);
$isLiability = $this->repository->isLiability($account);
$subTitle = (string) trans('firefly.journals_in_period_for_account', ['name' => $account->name, 'start' => $fStart, 'end' => $fEnd]);
$chartUrl = route('chart.account.period', [$account->id, $start->format('Y-m-d'), $end->format('Y-m-d')]);
$firstTransaction = $this->repository->oldestJournalDate($account) ?? $start;
@@ -178,6 +179,7 @@ final class ShowController extends Controller
'currency' => $currency,
'today' => $today,
'periods' => $periods,
'isLiability' => $isLiability,
'subTitleIcon' => $subTitleIcon,
'groups' => $groups,
'attachments' => $attachments,
+3 -3
View File
@@ -53,13 +53,13 @@ $(function () {
if (reconcileStarted) {
//console.log('Reconcile has started.');
// hide original instructions.
$('.select_transactions_instruction').addClass('hidden');
$('.select_transactions_instruction').addClass('d-none');
// show date-change warning
$('.date_change_warning').removeClass('hidden');
$('.date_change_warning').removeClass('d-none');
// show update button
$('.change_date_button').removeClass('hidden');
$('.change_date_button').removeClass('d-none');
}
});
@@ -0,0 +1,61 @@
/*
* dashboard.js
* Copyright (c) 2026 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
// CSS
import '../../../boot/bootstrap.js';
import sidebar from '../../../pages/shared/sidebar.js';
import dates from '../../shared/dates.js';
let index = function () {
return {
foo2: 'bar2',
init() {
console.log('init op index');
}
}
};
const comps = {
index,
sidebar,
dates
};
function loadPage(comps) {
console.log('loadPage');
Object.keys(comps).forEach(comp => {
let data = comps[comp]();
Alpine.data(comp, () => data);
console.log(comp);
});
Alpine.start();
}
// wait for load until bootstrapped event is received.
document.addEventListener('firefly-iii-bootstrapped', () => {
console.log('Loaded through event listener.');
loadPage(comps);
});
// or is bootstrapped before event is triggered.
if (window.bootstrapped) {
console.log('Loaded through window variable.');
loadPage(comps);
}
@@ -0,0 +1,61 @@
/*
* dashboard.js
* Copyright (c) 2026 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
// CSS
import '../../boot/bootstrap.js';
import sidebar from '../../pages/shared/sidebar.js';
import dates from '../shared/dates.js';
let index = function () {
return {
foo2: 'bar2',
init() {
console.log('init op show');
}
}
};
const comps = {
index,
sidebar,
dates
};
function loadPage(comps) {
console.log('loadPage');
Object.keys(comps).forEach(comp => {
let data = comps[comp]();
Alpine.data(comp, () => data);
console.log(comp);
});
Alpine.start();
}
// wait for load until bootstrapped event is received.
document.addEventListener('firefly-iii-bootstrapped', () => {
console.log('Loaded through event listener.');
loadPage(comps);
});
// or is bootstrapped before event is triggered.
if (window.bootstrapped) {
console.log('Loaded through window variable.');
loadPage(comps);
}
+2
View File
@@ -75,6 +75,8 @@ body.waiting * {
.center-chart {width:100%;margin:0 auto;}
.map-size {width:100%;height:300px;}
/* some info for tables */
td.quarter th.quarter {width:25%;}
// @import "admin-lte/dist/css/adminlte.min.css";
+2
View File
@@ -49,6 +49,8 @@ export default defineConfig(({command, mode, isSsrBuild, isPreview}) => {
// accounts
'js/pages/accounts/index.js',
'js/pages/accounts/show.js',
'js/pages/accounts/reconcile/index.js',
// categories
'js/pages/categories/index.js',
@@ -1,67 +1,61 @@
@extends('layout.v3.session')
{% block breadcrumbs %}
{{ Breadcrumbs.render(Route.getCurrentRoute.getName, account, start, end) }}
@endsection
@section('content')
<div class="row">
<div class="col-lg-9 col-md-12 col-sm-12 col-xs-12">
<div class="card">
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title">{{ 'reconcile_range'|_ }}</h3>
<h3 class="card-title">{{ __('firefly.reconcile_range') }}</h3>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
<table class="table table-hover">
<thead>
<tr>
<th colspan="2" class="half">{{ 'start_balance'|_ }}</th>
<th colspan="2">{{ 'end_balance'|_ }}</th>
<th colspan="2" class="half">{{ __('firefly.start_balance') }}</th>
<th colspan="2">{{ __('firefly.end_balance') }}</th>
</tr>
</thead>
<tbody>
<tr>
<td class="quarter">
{{ 'date'|_ }}
{{ __('firefly.date') }}
</td>
<td class="quarter">
{{ 'balance'|_ }}
{{ __('firefly.balance') }}
</td>
<td class="quarter">
{{ 'date'|_ }}
{{ __('firefly.date') }}
</td>
<td class="quarter">
{{ 'balance'|_ }}
{{ __('firefly.balance') }}
</td>
</tr>
<tr>
<td>
<div class="input-group">
<div class="input-group-addon">
<span class="input-group-text">
<span class="bi bi-calendar"></span>
</div>
<input type="date" value="{{ start.format('Y-m-d') }}" name="start_date" class="form-control" spellcheck="false">
</span>
<input type="date" value="{{ $start->format('Y-m-d') }}" name="start_date" class="form-control" spellcheck="false">
</div>
</td>
<td>
<div class="input-group">
<span class="input-group-addon non-selectable-currency-symbol">{{ currency.symbol }}</span>
<input type="number" value="{{ startBalance }}" name="start_balance" class="form-control" spellcheck="false">
<span class="input-group-text non-selectable-currency-symbol">{{ $currency->symbol }}</span>
<input type="number" value="{{ $startBalance }}" name="start_balance" class="form-control" spellcheck="false">
</div>
</td>
<td>
<div class="input-group">
<div class="input-group-addon">
<span class="input-group-text">
<span class="bi bi-calendar"></span>
</div>
<input type="date" value="{{ end.format('Y-m-d') }}" name="end_date" class="form-control" spellcheck="false">
</span>
<input type="date" value="{{ $end->format('Y-m-d') }}" name="end_date" class="form-control" spellcheck="false">
</div>
</td>
<td>
<div class="input-group">
<span class="input-group-addon non-selectable-currency-symbol">{{ currency.symbol }}</span>
<input type="number" value="{{ endBalance }}" name="end_balance" class="form-control" spellcheck="false">
<span class="input-group-text non-selectable-currency-symbol">{{ $currency->symbol }}</span>
<input type="number" value="{{ $endBalance }}" name="end_balance" class="form-control" spellcheck="false">
</div>
</td>
</tr>
@@ -70,18 +64,18 @@
<tr>
<td colspan="3">
<div class="update_balance_instruction">
{{ 'update_balance_dates_instruction'|_ }}
{{ __('firefly.update_balance_dates_instruction') }}
</div>
<div class="select_transactions_instruction hidden">
{{ 'select_transactions_instruction'|_ }}
<div class="select_transactions_instruction d-none">
{{ __('firefly.select_transactions_instruction') }}
</div>
<div class="date_change_warning text-danger hidden">
{{ 'date_change_instruction'|_ }}
<div class="date_change_warning text-danger d-none">
{{ __('firefly.date_change_instruction') }}
</div>
</td>
<td>
<a href="#" class="btn btn-outline-secondary start_reconcile">{{ 'start_reconcile'|_ }}</a>
<a href="#" class="btn btn-outline-secondary change_date_button hidden">{{ 'update_selection'|_ }}</a>
<a href="#" class="btn btn-outline-secondary start_reconcile">{{ __('firefly.start_reconcile') }}</a>
<a href="#" class="btn btn-outline-secondary change_date_button d-none">{{ __('firefly.update_selection') }}</a>
</td>
</tr>
</tfoot>
@@ -90,15 +84,15 @@
</div>
</div>
<div class="col-lg-3 col-md-12 col-sm-12 col-xs-12">
<div class="card">
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title">{{ 'reconcile_options'|_ }}</h3>
<h3 class="card-title">{{ __('firefly.reconcile_options') }}</h3>
</div>
<div class="card-body">
<p class="lead" id="difference"></p>
<div class="btn-group">
<button class="btn btn-outline-secondary store_reconcile" disabled><span class="bi bi-check"></span> {{ 'store_reconcile'|_ }}</button>
<button class="btn btn-outline-secondary store_reconcile" disabled><span class="bi bi-check"></span> {{ __('firefly.store_reconcile') }}</button>
</div>
</div>
</div>
@@ -108,13 +102,13 @@
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="card">
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title">{{ __('firefly.transactions') }}</h3>
</div>
<div class="card-body">
<div id="transactions_holder">
<p class="text-center lead">{{ 'select_range_and_balance'|_ }}</p>
<p class="text-center lead">{{ __('firefly.select_range_and_balance') }}</p>
</div>
</div>
</div>
@@ -123,15 +117,17 @@
@endsection
@section('scripts')
@vite(['js/pages/accounts/reconcile/index.js'])
<script type="text/javascript" nonce="{{ $JS_NONCE }}">
currencySymbol = "{{ currency.symbol }}";
var accountID = {{ account.id }};
var startBalance = {{ startBalance }};
var endBalance = {{ endBalance }};
var transactionsUrl = '{{ transactionsUrl }}';
var overviewUrl = '{{ overviewUrl }}';
var indexUrl = '{{ indexUrl }}';
var selectRangeAndBalance = '{{ 'select_range_and_balance'|_|escape('js') }}';
currencySymbol = "{{ $currency->symbol }}";
var accountID = {{ $account->id }};
var startBalance = {{ $startBalance }};
var endBalance = {{ $endBalance }};
var transactionsUrl = '{{ $transactionsUrl }}';
var overviewUrl = '{{ $overviewUrl }}';
var indexUrl = '{{ $indexUrl }}';
var selectRangeAndBalance = '{{ __('firefly.select_range_and_balance') }}';
</script>
<script src="v1/js/ff/accounts/reconcile.js?v={{ $FF_BUILD_TIME }}" type="text/javascript" nonce="{{ $JS_NONCE }}"></script>
@endsection
@@ -17,11 +17,11 @@
<input type="hidden" name="endBalance" value="{{ endBalance }}"/>
{% for id in selectedIds %}
<input type="hidden" name="journals[]" value="{{ id }}"/>
{% endfor %}
@endforeach
<table class="table table-striped table-bordered">
<tr>
<td>{{ 'submitted_start_balance'|_ }} ({{ start.isoFormat(monthAndDayFormat) }})</td>
<td>{{ 'submitted_start_balance'|_ }} ({{ start.isoFormat($monthAndDayFormat) }})</td>
<td>{{ formatAmountByAccount(account, startBalance) }}</td>
</tr>
<tr>
@@ -33,7 +33,7 @@
<td>{{ formatAmountByAccount(account, clearedAmount) }}</td>
</tr>
<tr>
<td>{{ 'submitted_end_balance'|_ }} ({{ end.isoFormat(monthAndDayFormat) }})</td>
<td>{{ 'submitted_end_balance'|_ }} ({{ end.isoFormat($monthAndDayFormat) }})</td>
<td>{{ formatAmountByAccount(account, endBalance) }}</td>
</tr>
<tr>
+4 -4
View File
@@ -23,7 +23,7 @@
</div>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
<table class="table table-hover">
<tbody>
<tr>
@@ -44,7 +44,7 @@
</tr>
<tr>
<td class="thirty">{{ trans('list.date') }}</td>
<td>{{ journal.date.isoFormat(monthAndDayFormat) }}</td>
<td>{{ journal.date.isoFormat($monthAndDayFormat) }}</td>
</tr>
</tbody>
</table>
@@ -66,7 +66,7 @@
<div class="card-header">
<h3 class="card-title">{{ 'transaction_journal_meta'|_ }}</h3>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
<table class="table table-responsive table-hover">
<tbody>
{#
@@ -93,7 +93,7 @@
@endif
{{ tag.tag }}</a>
</h4>
{% endfor %}
@endforeach
</td>
</tr>
@endif
@@ -0,0 +1,158 @@
<table class="table table-striped table-sm">
<thead>
<tr class="ignore">
<th class="hidden-xs" colspan="2">&nbsp;</th>
<th>{{ trans('list.description') }}</th>
<th class="text-right">{{ trans('list.amount') }}</th>
<th class="hidden-xs hidden-sm hidden-md">{{ trans('list.reconcile') }}</th>
<th class="hidden-xs hidden-sm">{{ trans('list.date') }}</th>
<th class="hidden-xs hidden-sm hidden-md">{{ trans('list.from') }}</th>
<th class="hidden-xs hidden-sm hidden-md">{{ trans('list.to') }}</th>
</tr>
</thead>
<tbody>
{{-- data for previous/next markers --}}
@php
$endSet = false;
$startSet = false;
@endphp
@foreach($journals as $journal)
{{-- start marker --}}
@if($journal['date'] < $start && false === $startSet)
<tr>
<td colspan="4">
&nbsp;
</td>
<td>
<input type="checkbox" class="check_all_btn">
</td>
<td colspan="3">
<span class="badge text-bg-primary">
{{ trans('firefly.start_of_reconcile_period', ['period' => $start->isoFormat($monthAndDayFormat)]) }}
</span>
</td>
<td colspan="2">
&nbsp;
</td>
</tr>
@php
$startSet = true;
@endphp
@endif
{{-- end marker --}}
@if($journal['date'] <= $end && false === $endSet)
<tr>
<td colspan="4">
&nbsp;
</td>
<td>
<input type="checkbox" class="check_all_btn">
</td>
<td colspan="3">
<span class="badge text-bg-primary">
{{ trans('firefly.end_of_reconcile_period', ['period' => $end->isoFormat($monthAndDayFormat)]) }}
</span>
</td>
<td colspan="2">
&nbsp;
</td>
</tr>
@php
$endSet = true;
@endphp
@endif
<tr data-date="{{ $journal['date']->format('Y-m-d') }}" data-id="{{ $journal['transaction_journal_id'] }}">
<td class="hidden-xs">
<div class="btn-group btn-group-sm">
<a href="{{ route('transactions.edit', [$journal['transaction_group_id']]) }}" class="btn btn-xs btn-outline-secondary"><span
class="bi bi-pencil"></span></a>
<a href="{{ route('transactions.delete', [$journal['transaction_group_id']]) }}" class="btn btn-danger"><span
class="bi bi-trash"></span></a>
</div>
</td>
<!-- icon -->
<td class="hidden-xs">
<x-elements.transaction-type-icon :type="$journal['transaction_type_type']" />
</td>
<!-- description -->
<td>
<a href="{{ route('transactions.show', [$journal['transaction_group_id']]) }}" title="{{ $journal['description'] }}">
@if($journal['group_title'])
<span class="text-muted"><span class="bi bi-share-fill" aria-hidden="true"></span></span> {{ $journal['group_title'] }}:
@endif
{{ $journal['description'] }}</a>
</td>
<td class="text-right">
<span class="mr-1">
{!! format_amount_by_symbol($journal['amount'], $journal['currency_symbol'], $journal['currency_decimal_places']) !!}
@if(null !== $journal['foreign_amount'])
({!! format_amount_by_symbol($journal['foreign_amount'], $journal['foreign_currency_symbol'], $journal['foreign_currency_decimal_places']) !!})
@endif
</span>
</td>
<td>
@if($journal['date'] >= $start && $journal['date'] <= $end)
@if($journal['reconciled'])
<span class="bi bi-check" aria-hidden="true"></span>
<input type="hidden" name="cleared[]" data-younger="false" {{-- @if($journal['date'] < $start)true@else false@endif --}}
data-inrange="true" {{-- {% if journal.date >= start and journal.date <= end %}true@elsefalse"@endif --}}
class="cleared" data-id="{{ $journal['transaction_journal_id'] }}" value="{{ $journal['amount'] }}">
@else
<input type="checkbox" name="reconciled[]"
data-younger="false" {{-- {% if journal.date < start %}true@elsefalse@endif --}}
data-inrange="true" {{-- {% if journal.date >= start and journal.date <= end %}true@elsefalse"@endif --}}
@if($currency->id === $journal['currency_id']) value="{{ $journal['amount'] }}" @endif
@if($currency->id === $journal['foreign_currency_id']) value="{{ $journal['foreign_amount'] }}"@endif
data-id="{{ $journal['transaction_journal_id'] }}" disabled class="reconcile_checkbox">
@endif
@else
<!-- if not in range, just show reconciliation status -->
@if($journal['reconciled'])
<span class="bi bi-check" aria-hidden="true"></span>
@endif
@endif
</td>
<td class="hidden-sm hidden-xs">
{{ $journal['date']->isoFormat($monthAndDayFormat) }}
</td>
<td class="hidden-xs hidden-sm hidden-md">
<a href="{{ route('accounts.show', [$journal['source_account_id']]) }}" title="{{ $journal['source_account_iban'] ?? $journal['source_account_name'] }}">{{ $journal['source_account_name'] }}</a>
</td>
<td class="hidden-xs hidden-sm hidden-md">
<a href="{{ route('accounts.show', [$journal['destination_account_id']]) }}" title="{{ $journal['destination_account_iban'] ?? $journal['destination_account_name'] }}">{{ $journal['destination_account_name'] }}</a>
</td>
</tr>
@endforeach
{{-- if the start marker has not been generated yet, do it now, at the end of the loop. --}}
@if(false === $startSet)
<tr>
<td colspan="5">
&nbsp;
</td>
<td colspan="3">
<span class="badge text-bg-primary">
{{ trans('firefly.start_of_reconcile_period', ['period' => $start->isoFormat($monthAndDayFormat)]) }}
</span>
</td>
<td colspan="2">
&nbsp;
</td>
</tr>
@php
$startSet = true;
@endphp
@endif
</tbody>
</table>
@@ -1,180 +0,0 @@
<table class="table table-striped table-sm">
<thead>
<tr class="ignore">
<th class="hidden-xs" colspan="2">&nbsp;</th>
<th>{{ trans('list.description') }}</th>
<th class="text-right">{{ trans('list.amount') }}</th>
<th class="hidden-xs hidden-sm hidden-md">{{ trans('list.reconcile') }}</th>
<th class="hidden-xs hidden-sm">{{ trans('list.date') }}</th>
<th class="hidden-xs hidden-sm hidden-md">{{ trans('list.from') }}</th>
<th class="hidden-xs hidden-sm hidden-md">{{ trans('list.to') }}</th>
<th class="hidden-xs"><span class="bi bi-pie-chart" title="{{ trans('list.budget') }}"></span></th>
<th class="hidden-xs"><span class="bi bi-bookmark" title="{{ trans('list.category') }}"></span></th>
</tr>
</thead>
<tbody>
{# data for previous/next markers #}
{% set endSet = false %}
{% set startSet = false %}
{% for journal in journals %}
{# start marker #}
{% if journal.date < start and startSet == false %}
<tr>
<td colspan="4">
&nbsp;
</td>
<td>
<input type="checkbox" class="check_all_btn">
</td>
<td colspan="3">
<span class="badge text-bg-primary">
{{ trans('firefly.start_of_reconcile_period', {period: start.isoFormat(monthAndDayFormat) }) }}
</span>
</td>
<td colspan="2">
&nbsp;
</td>
</tr>
{% set startSet = true %}
@endif
{# end marker #}
{% if journal.date <= end and endSet == false %}
<tr>
<td colspan="4">
&nbsp;
</td>
<td>
<input type="checkbox" class="check_all_btn">
</td>
<td colspan="3">
<span class="badge text-bg-primary">
{{ trans('firefly.end_of_reconcile_period', {period: end.isoFormat(monthAndDayFormat) }) }}
</span>
</td>
<td colspan="2">
&nbsp;
</td>
</tr>
{% set endSet = true %}
@endif
<tr data-date="{{ journal.date.format('Y-m-d') }}" data-id="{{ journal.transaction_journal_id }}">
<td class="hidden-xs">
<div class="btn-group btn-group-sm">
<a href="{{ route('transactions.edit', [journal.transaction_group_id]) }}" class="btn btn-xs btn-outline-secondary"><span
class="bi bi-pencil"></span></a>
<a href="{{ route('transactions.delete', [journal.transaction_group_id]) }}" class="btn btn-danger"><span
class="bi bi-trash"></span></a>
</div>
</td>
<!-- icon -->
<td class="hidden-xs">
{% if journal.transaction_type_type == 'Withdrawal' %}
<span class="bi bi-arrow-left" title="{{ trans('firefly.Withdrawal') }}"></span>
@endif
{% if journal.transaction_type_type == 'Deposit' %}
<span class="bi bi-arrow-right" title="{{ trans('firefly.Deposit') }}"></span>
@endif
{% if journal.transaction_type_type == 'Transfer' %}
<span class="bi bi-arrow-left-right" title="{{ trans('firefly.Transfer') }}"></span>
@endif
{% if journal.transaction_type_type == 'Reconciliation' %}
<span class="bi bi-calculator" title="{{ trans('firefly.reconciliation_transaction') }}"></span>
@endif
{% if journal.transaction_type_type == 'Opening balance' %}
<span class="bi bi-star" title="{{ trans('firefly.Opening balance') }}"></span>
@endif
</td>
<!-- description -->
<td>
<a href="{{ route('transactions.show', [journal.transaction_group_id]) }}" title="{{ journal.description }}">
{% if journal.group_title %}
<span class="text-muted"><span class="bi bi-share-fill" aria-hidden="true"></span></span> {{ journal.group_title }}:
@endif
{{ journal.description }}</a>
</td>
<td class="text-right">
<span class="mr-1">
{{ format_amount_by_symbol(journal.amount, journal.currency_symbol, journal.currency_decimal_places) }}
{% if null != journal.foreign_amount %}
({{ format_amount_by_symbol(journal.foreign_amount, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places) }})
@endif
</span>
</td>
<td>
{% if journal.date >= start and journal.date <= end %}
{% if journal.reconciled %}
<span class="bi bi-check" aria-hidden="true"></span>
<input type="hidden" name="cleared[]" data-younger="{% if journal.date < start %}true@elsefalse@endif"
data-inrange="{% if journal.date >= start and journal.date <= end %}true@elsefalse"@endif"
class="cleared" data-id="{{ journal.transaction_journal_id }}" value="{{ journal.amount }}">
@else
<input type="checkbox" name="reconciled[]"
data-younger="{% if journal.date < start %}true@elsefalse@endif"
data-inrange="{% if journal.date >= start and journal.date <= end %}true@elsefalse"@endif"
{% if currency.id == journal.currency_id %}value="{{ journal.amount }}"@endif
{% if currency.id == journal.foreign_currency_id %}value="{{ journal.foreign_amount }}"@endif
data-id="{{ journal.transaction_journal_id }}" disabled class="reconcile_checkbox">
@endif
@else
<!-- if not in range, just show reconciliation status -->
{% if journal.reconciled %}
<span class="bi bi-check" aria-hidden="true"></span>
@else
<!--TODO include icon -->
@endif
@endif
</td>
<td class="hidden-sm hidden-xs">
{{ journal.date.isoFormat(monthAndDayFormat) }}
</td>
<td class="hidden-xs hidden-sm hidden-md">
<a href="{{ route('accounts.show', [journal.source_account_id]) }}" title="{{ journal.source_account_iban|default(journal.source_account_name) }}">{{ journal.source_account_name }}</a>
</td>
<td class="hidden-xs hidden-sm hidden-md">
<a href="{{ route('accounts.show', [journal.destination_account_id]) }}" title="{{ journal.destination_account_iban|default(journal.destination_account_name) }}">{{ journal.destination_account_name }}</a>
</td>
{#
<td class="hidden-xs">
{{ transaction|transactionBudgets }}
</td>
<td class="hidden-xs">
{{ transaction|transactionCategories }}
</td>
#}
</tr>
{% endfor %}
{# if the start marker has not been generated yet, do it now, at the end of the loop. #}
{% if startSet == false %}
<tr>
<td colspan="5">
&nbsp;
</td>
<td colspan="3">
<span class="badge text-bg-primary">
{{ trans('firefly.start_of_reconcile_period', {period: start.isoFormat(monthAndDayFormat) }) }}
</span>
</td>
<td colspan="2">
&nbsp;
</td>
</tr>
{% set startSet = true %}
@endif
</tbody>
</table>
+54 -44
View File
@@ -2,43 +2,49 @@
@section('content')
<div class="row">
<div class="@if(0 === $attachments->count())col-lg-12 col-md-12 col-sm-12 col-xs-12@else col-lg-8 col-md-6 col-sm-12 col-xs-12@endif">
<div class="card">
<div class="@if(0 === $attachments->count())col-lg-12 col-md-12 col-sm-12 col-xs-12@else col-lg-8 col-md-6 col-sm-12 col-xs-12 @endif ">
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title">
@if($balances['balance'])
<span title="balance">
{{ trans('firefly.chart_account_in_period', [
<div class="row">
<div class="col">
<h3 class="card-title">
@if($balances['balance'])
<span title="balance">
{!! trans('firefly.chart_account_in_period', [
'balance' => format_amount_by_symbol($balances['balance'], $currency->symbol, $currency->decimal_places, true),
'name' => e($account->name),
'start' => $start->isoFormat($monthAndDayFormat),
'end' => $end->isoFormat($monthAndDayFormat)]) }}
'end' => $end->isoFormat($monthAndDayFormat)]) !!}
</span>
@elseif($balances['pc_balance'])
<span title="pc_balance">
{{ trans('firefly.chart_account_in_period', [
@elseif($balances['pc_balance'])
<span title="pc_balance">
{!! trans('firefly.chart_account_in_period', [
'balance' => format_amount_by_symbol($balances['pc_balance'], $primaryCurrency->symbol, $primaryCurrency->decimal_places, true),
'name' => e($account->name),
'start' => $start->isoFormat($monthAndDayFormat),
'end' => $end->isoFormat($monthAndDayFormat)]) }}
'end' => $end->isoFormat($monthAndDayFormat)]) !!}
</span>
@endif
</h3>
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><span
class="bi bi-list"></span></button>
<ul class="dropdown-menu" role="menu">
<li><a href="{{ route('accounts.edit', [$account->id]) }}"><span
class="bi bi-pencil"></span> {{ __('firefly.edit') }}</a></li>
<li><a href="{{ route('accounts.delete', [$account->id]) }}"><span
class="bi bi-trash"></span> {{ __('firefly.delete') }}</a></li>
<li>
<a href="{{ route('accounts.reconcile', [$account->id]) }}"><span class="bi bi-check"></span> {{ __('firefly.reconcile_this_account') }}</a>
</li>
</ul>
@endif
</h3>
</div>
<div class="col text-end">
<div class="dropdown">
<button class="btn btn-sm btn-secondary-outline dropdown-toggle" type="button" id="card_header_menu" data-bs-toggle="dropdown" aria-expanded="false">
<span class="bi bi-list"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="card_header_menu">
<li><a class="dropdown-item" href="{{ route('accounts.edit', [$account->id]) }}"><span
class="bi bi-pencil"></span> {{ __('firefly.edit') }}</a></li>
<li><a class="dropdown-item" href="{{ route('accounts.delete', [$account->id]) }}"><span
class="bi bi-trash"></span> {{ __('firefly.delete') }}</a></li>
<li>
<a class="dropdown-item" href="{{ route('accounts.reconcile', [$account->id]) }}"><span class="bi bi-check"></span> {{ __('firefly.reconcile_this_account') }}</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="card-body">
<div>
@@ -49,13 +55,13 @@
</div>
@if($attachments->count() > 0)
<div class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
<div class="card">
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title">
{{ __('firefly.attachments') }}
</h3>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
{% include 'list.attachments' %}
</div>
</div>
@@ -65,7 +71,7 @@
@if(!$showAll && $isLiability)
<div class="row">
<div class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
<div class="card">
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title">pay-off by date</h3>
</div>
@@ -79,9 +85,9 @@
@if(!$showAll && !$isLiability)
<div class="row">
<div class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
<div class="card">
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title">{{ __('firefly.expenses_by_category' }}</h3>
<h3 class="card-title">{{ __('firefly.expenses_by_category') }}</h3>
</div>
<div class="card-body">
<div class="center-chart">
@@ -91,7 +97,7 @@
</div>
</div>
<div class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
<div class="card">
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title">{{ __('firefly.expenses_by_budget') }}</h3>
</div>
@@ -103,7 +109,7 @@
</div>
</div>
<div class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
<div class="card">
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title">{{ __('firefly.income_by_category') }}</h3>
</div>
@@ -120,7 +126,7 @@
<div class="row">
@if($location)
<div class="col-lg-6">
<div class="card">
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title">{{ __('firefly.location') }}</h3>
</div>
@@ -132,7 +138,7 @@
@endif
@if(1 === $account->notes->count())
<div class="col-lg-6">
<div class="card">
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title">{{ __('firefly.notes') }}</h3>
</div>
@@ -145,14 +151,14 @@
</div>
<div class="row">
<div class="@if(count($periods) > 0)col-lg-10 col-md-8 col-sm-12 @else col-lg-12 col-md-12 col-sm-12@endif">
<div class="card">
<div class="@if(count($periods) > 0)col-lg-10 col-md-8 col-sm-12 @else col-lg-12 col-md-12 col-sm-12 @endif ">
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title">{{ __('firefly.transactions') }}
@if($balances['balance'])
({{ format_amount_by_symbol($balances['balance'], $currency->symbol, $currency->decimal_places, true) }})
({!! format_amount_by_symbol($balances['balance'], $currency->symbol, $currency->decimal_places, true) !!})
@elseif($balances['pc_balance'])
({{ format_amount_by_symbol($balances['pc_balance'], $primaryCurrency->symbol, $primaryCurrency->decimal_places, true) }} )
({!! format_amount_by_symbol($balances['pc_balance'], $primaryCurrency->symbol, $primaryCurrency->decimal_places, true) !!})
@endif
</h3>
</div>
@@ -160,12 +166,15 @@
@php
$showReconcile = false;
@endphp
@if('Asset account' === $account->accountType->type)
@php
$showReconcile = true;
$showReconcile = true;
@endphp
@endif
{% include 'list.groups' %}
<x-lists.groups-large :groups="$groups" :account="$account" />
<p>
<span class="bi bi-calendar"></span>
@if(count($periods) > 0)
@@ -183,13 +192,14 @@
</div>
@if(count($periods) > 0)
<div class="col-lg-2 col-md-4 col-sm-12 col-xs-12">
{% include 'list.periods' %}
<x-lists.periods :periods="$periods" />
</div>
@endif
</div>
@endsection
@section('scripts')
@vite(['js/pages/accounts/show.js'])
<script type="text/javascript" nonce="{{ $JS_NONCE }}">
// location stuff
@if($location)
@@ -202,7 +212,7 @@
currencySymbol = "{{ $currency->symbol }}";
var accountID = {{ $account->id }};
var chartUrl = '{{ $chartUrl }}';
if(!$showAll)
@if(!$showAll)
showAll = false;
// url's for charts:
@@ -237,7 +247,7 @@
<script src="v1/js/lib/jquery.color-2.1.2.min.js?v={{ $FF_BUILD_TIME }}" type="text/javascript"
nonce="{{ $JS_NONCE }}"></script>
<script src="v1/js/ff/accounts/show.js?v={{ $FF_BUILD_TIME }}" type="text/javascript" nonce="{{ $JS_NONCE }}"></script>
{# required for groups.twig #}
{{-- required for groups.twig --}}
<script type="text/javascript" src="v1/js/ff/list/groups.js?v={{ $FF_BUILD_TIME }}" nonce="{{ $JS_NONCE }}"></script>
@endsection
+2 -2
View File
@@ -13,7 +13,7 @@
{{ 'list_all_attachments'|_ }}
</h3>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
<table class="table table-striped sortable">
<thead>
<tr>
@@ -59,7 +59,7 @@
@endif
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
</div>
+4 -4
View File
@@ -73,7 +73,7 @@
@endif
<br>
{% endfor %}
@endforeach
</td>
</tr>
<tr>
@@ -86,7 +86,7 @@
primaryCurrency.symbol, primaryCurrency.decimal_places, true) }})
@endif
<br>
{% endfor %}
@endforeach
</td>
</tr>
</table>
@@ -111,7 +111,7 @@
<li><a href="{{ route('rules.edit', [rule.id]) }}">{{ rule.title }}</a>
{% if not rule.active %}({{ 'list_inactive_rule'|_|lower }})@endif
</li>
{% endfor %}
@endforeach
</ul>
@endif
</div>
@@ -147,7 +147,7 @@
<div class="card-header">
<h3 class="card-title">{{ 'attachments'|_ }}</h3>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
{% include 'list.attachments' %}
</div>
</div>
@@ -5,7 +5,7 @@
</button>
<h4 class="modal-title">
{{ trans('firefly.set_budget_limit_title',
{start: start.isoFormat(monthAndDayFormat), end: end.isoFormat(monthAndDayFormat), budget: budget.name}) }}
{start: start.isoFormat($monthAndDayFormat), end: end.isoFormat($monthAndDayFormat), budget: budget.name}) }}
</h4>
</div>
@@ -19,7 +19,7 @@
<select class="form-control" name="transaction_currency_id">
{% for currency in currencies %}
<option label="{{ currency.name }}" value="{{ currency.id }}">{{ currency.name }}</option>
{% endfor %}
@endforeach
</select>
</div>
<div class="form-group">
@@ -19,7 +19,7 @@
<span title="{{ 'nothing_left_in_budget'|_ }}">({{ format_amount_by_symbol('0', budgetLimit.currency_symbol, budgetLimit.currency_decimal_places) }})</span>
@endif
</span><br />
{% endfor %}
@endforeach
{#
@@ -65,13 +65,13 @@
({{ format_amount_by_symbol((spentInfo.spent + budgetLimit.amount) / budgetLimit.total_days, spentInfo.currency_symbol, spentInfo.currency_decimal_places) }})
@endif
{% endfor %}
@endforeach
{% if countLimit == 0 %}
<!-- display nothing -->
@endif
-->
{% endfor %}
@endforeach
{% for budgetLimit in budget.budgeted %}
{% if null == budget.spent[budgetLimit.currency_id] %}
<span class="left_span" data-currency="{{ spentInfo.currency_id }}" data-limit="{{ budgetLimit.id }}"
@@ -92,5 +92,5 @@
<br/>
@endif
{% endfor %}
@endforeach
#}
@@ -7,7 +7,7 @@
<span title="{{ trans('firefly.spent_this_period_per_day', {days: budgetLimit.active_days_passed}) }}">({{ format_amount_by_symbol(budgetLimit.spent / budgetLimit.active_days_passed, budgetLimit.currency_symbol, budgetLimit.currency_decimal_places) }})</span>
@endif
<br />
{% endfor %}
@endforeach
{# this is spent NOT in budget limits: #}
{% for spent in budget.spent %}
@@ -20,7 +20,7 @@
@endif
<br />
@endif
{% endfor %}
@endforeach
{#
@@ -33,10 +33,10 @@
({{ format_amount_by_symbol(spentInfo.spent / activeDaysPassed, spentInfo.currency_symbol, spentInfo.currency_decimal_places) }})
@endif
<br/>
{% endfor %}
@endforeach
{% for budgetLimit in budget.budgeted %}
{% if null == budget.spent[budgetLimit.currency_id] %}
{{ format_amount_by_symbol(0, budgetLimit.currency_symbol, budgetLimit.currency_decimal_places) }}<br/>
@endif
{% endfor %}
@endforeach
#}
+6 -6
View File
@@ -11,7 +11,7 @@
<div class="card-header">
<h3 class="card-title">
{% if budgetLimit %}
{{ trans('firefly.chart_budget_in_period', {name: budget.name, start: budgetLimit.start_date.isoFormat(monthAndDayFormat), end: budgetLimit.end_date.isoFormat(monthAndDayFormat),currency: budgetLimit.transactionCurrency.name }) }}
{{ trans('firefly.chart_budget_in_period', {name: budget.name, start: budgetLimit.start_date.isoFormat($monthAndDayFormat), end: budgetLimit.end_date.isoFormat($monthAndDayFormat),currency: budgetLimit.transactionCurrency.name }) }}
@else
{{ trans('firefly.chart_all_journals_for_budget', {name:budget.name}) }}
@endif
@@ -46,7 +46,7 @@
{{ 'attachments'|_ }}
</h3>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
{% include 'list.attachments' %}
</div>
</div>
@@ -147,12 +147,12 @@
<div class="card-header">
<h3 class="card-title"><a
href="{{ route('budgets.show.limit',[budget.id,limit.id]) }}">
{{ limit.start_date.isoFormat(monthAndDayFormat) }} &mdash;
{{ limit.end_date.isoFormat(monthAndDayFormat) }}
{{ limit.start_date.isoFormat($monthAndDayFormat) }} &mdash;
{{ limit.end_date.isoFormat($monthAndDayFormat) }}
</a>
</h3>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
<table class="table table-hover">
<tr>
<td class="third">{{ 'amount'|_ }}</td>
@@ -204,7 +204,7 @@
</table>
</div>
</div>
{% endfor %}
@endforeach
<p class="small text-center"><a href="{{ route('budgets.show',budget.id) }}">{{ 'showEverything'|_ }}</a></p>
</div>
@endif
+2 -2
View File
@@ -12,7 +12,7 @@
<div class="card">
<div class="card-header">
<h3 class="card-title">
{{ trans('firefly.chart_category_in_period', {name: category.name, start: start.isoFormat(monthAndDayFormat), end: end.isoFormat(monthAndDayFormat) }) }}
{{ trans('firefly.chart_category_in_period', {name: category.name, start: start.isoFormat($monthAndDayFormat), end: end.isoFormat($monthAndDayFormat) }) }}
</h3>
</div>
<div class="card-body">
@@ -56,7 +56,7 @@
{{ 'attachments'|_ }}
</h3>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
{% include 'list.attachments' %}
</div>
</div>
@@ -1,4 +1,5 @@
{{-- RUNNING BALANCE --}}
@if(false === $balanceDirty && '' !== $destination['balance_after'] && '' !== $source['balance_after'])
@if('Deposit' === $type)
@if($source['id'] === $account?->id)
@@ -16,9 +17,9 @@
{{-- withdrawal into a liability --}}
@if(in_array($destination['type'], ['Mortgage','Debt','Loan'], true))
@if($account?->id === $source['id'])
<span title="Withdrawal, liab, source">{!! format_amount_by_symbol($source['balance_after'], $currency['symbol'], $currency['decimal_places']) !!}</span>
A <span title="Withdrawal, liab, source">{!! format_amount_by_symbol($source['balance_after'], $currency['symbol'], $currency['decimal_places']) !!}</span>
@elseif($account?->id === $destination['id'])
<span title="Withdrawal, liab, dest">{!! format_amount_by_symbol($destination['balance_after'], $currency['symbol'], $currency['decimal_places']) !!}</span>
B <span title="Withdrawal, liab, dest">{!! format_amount_by_symbol($destination['balance_after'], $currency['symbol'], $currency['decimal_places']) !!}</span>
@else
-
@endif
@@ -134,7 +134,7 @@
<td class=" {{ $className }} text-end">
<x-elements.transaction-running-balance
:balance-dirty="$transaction['balance_dirty'] ?? false"
:currency="[]"
:currency="['symbol' => $transaction['currency_symbol'],'decimal_places' => $transaction['currency_decimal_places']]"
:foreign="[]"
:type="$transaction['transaction_type_type']"
:account="$account ?? null"
+1 -1
View File
@@ -50,7 +50,7 @@
{% if (key != 'cookie') and header[0] != '' and key != 'x-xsrf-token' %}
- {{ key }}: {{ header[0] }}<br>
@endif
{% endfor %}
@endforeach
</p>
{% if ('' != post) %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
+1 -1
View File
@@ -31,7 +31,7 @@
{% if (key != 'cookie') and header[0] != '' and key != 'x-xsrf-token' %}
- {{ key }}: {{ header[0] }}
@endif
{% endfor %}
@endforeach
{% if ('' != post) %}
{{ trans('email.error_post') }}
@@ -15,8 +15,8 @@
{{ account|escape }}
</label>
</div>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
@include('form.help')
@include('form.feedback')
+1 -1
View File
@@ -20,7 +20,7 @@
data-name="{{ name }}"
data-currency="{{ currency.code }}"
data-symbol="{{ currency.symbol|raw }}">{{ currency.name }}</a></li>
{% endfor %}
@endforeach
</ul>
</div>
{{ Html::input('number', name, value).class('form-control').attribute('step','any') }}
+1 -1
View File
@@ -1,4 +1,4 @@
var accountInfo = [];
{% for id, account in accounts %}
accountInfo[{{ id }}] = {preferredCurrency: {{ account.preferredCurrency }}, name: "{{ account.name }}"};
{% endfor %}
@endforeach
+1 -1
View File
@@ -1,4 +1,4 @@
var currencyInfo = [];
{% for id, currency in currencies %}
currencyInfo[{{ id }}] = {name: "{{ currency.name }}", symbol: "{{ currency.symbol }}", code: "{{ currency.code }}"};
{% endfor %}
@endforeach
+1 -1
View File
@@ -2,7 +2,7 @@
var ranges = {};
{% for title, range in dateRangeConfig.ranges %}
ranges["{{ title|escape('js') }}"] = [moment("{{ range[0].format('Y-m-d') }}"), moment("{{ range[1].format('Y-m-d') }}")];
{% endfor %}
@endforeach
// date range meta configuration
var dateRangeMeta = {
+1 -1
View File
@@ -27,7 +27,7 @@
@endif
@endif
</div>
{% endfor %}
@endforeach
</div>
<div class="card-footer">
<a href="{{ route('piggy-banks.index') }}" class="btn btn-outline-secondary button-sm"><span
+5 -5
View File
@@ -54,7 +54,7 @@
{% if entry.name == 'account_role' %}
{{ ('account_role_'~entry.data)|_ }}
@endif
{% endfor %}
@endforeach
</td>
@endif
{% if objectType == 'liabilities' %}
@@ -80,7 +80,7 @@
({{ formatAmountByCode(balance, key) }})
@endif
</span>
{% endfor %}
@endforeach
</span>
</td>
@endif
@@ -105,7 +105,7 @@
{% if account.lastActivityDate %}
<td class="hidden-sm hidden-xs hidden-md">
<!-- {{ account.lastActivityDate }} -->
{{ account.lastActivityDate.isoFormat(monthAndDayFormat) }}
{{ account.lastActivityDate.isoFormat($monthAndDayFormat) }}
</td>
@else
<td class="hidden-sm hidden-xs hidden-md">
@@ -129,7 +129,7 @@
({{ formatAmountByCode(balance, key) }})
@endif
</span>
{% endfor %}
@endforeach
</span>
</td>
<td class="hidden-sm hidden-xs">
@@ -147,7 +147,7 @@
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
<div class="pl-3">
+1 -1
View File
@@ -113,6 +113,6 @@
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
+1 -1
View File
@@ -43,5 +43,5 @@
@endif
</td>
</tr>
{% endfor %}
@endforeach
</table>
+11 -11
View File
@@ -58,7 +58,7 @@
</a>
{% if not rule.active %}({{ 'list_inactive_rule'|_|lower }})@endif
</li>
{% endfor %}
@endforeach
</ul>
@endif
</td>
@@ -109,7 +109,7 @@
{% for date in entry.pay_dates %}
{{ formatDate(date, monthAndDayFormat) }}<br>
{% endfor %}
@endforeach
</td>
@endif
@@ -126,7 +126,7 @@
{{ formatDate(currentPaid.date, monthAndDayFormat) }}
</a>
<br/>
{% endfor %}
@endforeach
</td>
<td class="expected_in_period hidden-sm hidden-xs">
{% if entry.next_expected_match %}
@@ -152,25 +152,25 @@
<br>
{% if carbonize(entry.end_date).lte(today) %}
<span class="text-danger">
{{ trans('firefly.bill_end_index_line', {date: carbonize(entry.end_date).isoFormat(monthAndDayFormat) }) }}
{{ trans('firefly.bill_end_index_line', {date: carbonize(entry.end_date).isoFormat($monthAndDayFormat) }) }}
</span>
@else
{{ trans('firefly.bill_end_index_line', {date: carbonize(entry.end_date).isoFormat(monthAndDayFormat) }) }}
{{ trans('firefly.bill_end_index_line', {date: carbonize(entry.end_date).isoFormat($monthAndDayFormat) }) }}
@endif
@endif
{% if entry.extension_date %}
<br>
{% if carbonize(entry.extension_date).lte(today) %}
<span class="text-danger">
{{ trans('firefly.bill_extension_index_line', {date: carbonize(entry.extension_date).isoFormat(monthAndDayFormat) }) }}
{{ trans('firefly.bill_extension_index_line', {date: carbonize(entry.extension_date).isoFormat($monthAndDayFormat) }) }}
</span>
@else
{{ trans('firefly.bill_extension_index_line', {date: carbonize(entry.extension_date).isoFormat(monthAndDayFormat) }) }}
{{ trans('firefly.bill_extension_index_line', {date: carbonize(entry.extension_date).isoFormat($monthAndDayFormat) }) }}
@endif
@endif
</td>
</tr>
{% endfor %}
@endforeach
{% for sum in sums[objectGroupOrder] %}
{% if '0' != sum.avg %}
<tr>
@@ -218,10 +218,10 @@
<td class="hidden-sm hidden-xs">&nbsp;</td><!-- repeats -->
</tr>
@endif
{% endfor %}
@endforeach
</tbody>
@endif
{% endfor %}
@endforeach
{% if totals|length > 0 %}
<tfoot>
<tr>
@@ -259,7 +259,7 @@
<td class="hidden-sm hidden-xs">&nbsp;</td><!-- repeats -->
</tr>
@endif
{% endfor %}
@endforeach
</tfoot>
@endif
+2 -2
View File
@@ -31,7 +31,7 @@
</td>
{% if category.lastActivity %}
<td class="hidden-sm hidden-xs" data-value="{{ category.lastActivity.format('Y-m-d H-i-s') }}">
{{ category.lastActivity.isoFormat(monthAndDayFormat) }}
{{ category.lastActivity.isoFormat($monthAndDayFormat) }}
</td>
@else
<td class="hidden-sm hidden-xs" data-value="0000-00-00 00-00-00">
@@ -39,7 +39,7 @@
</td>
@endif
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
<div class="pl-3">
+1 -1
View File
@@ -85,5 +85,5 @@
@endif
</span>
</a>
{% endfor %}
@endforeach
</div>
+4 -4
View File
@@ -83,7 +83,7 @@
@endif
{% if loop.index != group.sums|length %},@endif
@endif
{% endfor %}
@endforeach
</td>
<!-- column to span accounts + extra fields -->
{% if showCategory or showBudget %}
@@ -344,7 +344,7 @@
</td>
@endif
<td class="{{ className }}">
{{ transaction.date.isoFormat(monthAndDayFormat) }}
{{ transaction.date.isoFormat($monthAndDayFormat) }}
</td>
<td class="{{ className }}">
{% if 'Cash account' == transaction.source_account_type %}
@@ -424,8 +424,8 @@
</div>
</td>
</tr>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</tbody>
<tfoot>
<tr>
@@ -7,6 +7,6 @@
X
</span>
</a>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</div>
+7 -7
View File
@@ -4,7 +4,7 @@
<h3 class="card-title"><a href="{{ period.route }}">{{ period.title }}</a>
</h3>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
<table class="table table-hover">
{% if period.total_transactions > 0 %}
<tr>
@@ -23,7 +23,7 @@
</td>
</tr>
@endif
{% endfor %}
@endforeach
{% for entry in period.earned %}
{% if entry.amount != 0 %}
@@ -40,7 +40,7 @@
</td>
</tr>
@endif
{% endfor %}
@endforeach
{% for entry in period.transferred %}
{% if entry.amount != 0 %}
@@ -53,7 +53,7 @@
</td>
</tr>
@endif
{% endfor %}
@endforeach
{% for entry in period.transferred_away %}
{% if entry.amount != 0 %}
@@ -70,7 +70,7 @@
</td>
</tr>
@endif
{% endfor %}
@endforeach
{% for entry in period.transferred_in %}
{% if entry.amount != 0 %}
@@ -87,9 +87,9 @@
</td>
</tr>
@endif
{% endfor %}
@endforeach
</table>
</div>
</div>
{% endfor %}
@endforeach
+3 -3
View File
@@ -16,9 +16,9 @@
<td>
{% if event.transaction_journal_id %}
<a href="{{ route('transactions.show',event.transactionJournal.transaction_group_id) }}"
title="{{ event.transactionJournal.description }}">{{ event.date.isoFormat(monthAndDayFormat) }}</a>
title="{{ event.transactionJournal.description }}">{{ event.date.isoFormat($monthAndDayFormat) }}</a>
@else
{{ event.date.isoFormat(monthAndDayFormat) }}
{{ event.date.isoFormat($monthAndDayFormat) }}
@endif
</td>
@@ -30,5 +30,5 @@
@endif
</td>
</tr>
{% endfor %}
@endforeach
</table>
+6 -6
View File
@@ -111,7 +111,7 @@
@endif
</td>
</tr>
{% endfor %}
@endforeach
<tr>
<td class="visible-xs visible-sm hidden-md hidden-lg">&nbsp;</td>
<td class="visible-xs visible-sm hidden-md hidden-lg">&nbsp;</td>
@@ -121,7 +121,7 @@
<td class="text-right">
{% for sum in objectGroup.sums %}
{{ format_amount_by_symbol(sum.saved, sum.currency_symbol, sum.currency_decimal_places) }}<br />
{% endfor %}
@endforeach
</td>
<td class="hidden-sm hidden-xs">&nbsp;</td> {# remove money #}
<td class="hidden-sm hidden-xs">&nbsp;</td> {# progress#}
@@ -129,20 +129,20 @@
<td class="text-right hidden-sm hidden-xs">
{% for sum in objectGroup.sums %}
{{ format_amount_by_symbol(sum.target, sum.currency_symbol, sum.currency_decimal_places) }}<br />
{% endfor %}
@endforeach
</td>
<td class="text-right hidden-sm hidden-xs">
{% for sum in objectGroup.sums %}
{{ format_amount_by_symbol(sum.left_to_save, sum.currency_symbol, sum.currency_decimal_places) }}<br />
{% endfor %}
@endforeach
</td>
<td class="text-right hidden-sm hidden-xs">
{% for sum in objectGroup.sums %}
{{ format_amount_by_symbol(sum.save_per_month, sum.currency_symbol, sum.currency_decimal_places) }}<br />
{% endfor %}
@endforeach
</td>
</tr>
</tbody>
@endif
{% endfor %}
@endforeach
</table>
+1 -1
View File
@@ -50,7 +50,7 @@
@endif value="{{ key }}">{{ lang.name_locale }} ({{ lang.name_english }})
</option>
{% endfor %}
@endforeach
</select>
</div>
</div>
@@ -0,0 +1,47 @@
@if($paginator->hasPages())
<nav>
<ul class="pagination">
{{-- Previous Page Link --}}
@if($paginator->onFirstPage())
<li class="page-item disabled" aria-disabled="true" aria-label="{{ __('pagination.previous') }}">
<span class="page-link" aria-hidden="true">&lsaquo;</span>
</li>
@else
<li class="page-item">
<a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev" aria-label="{{ __('pagination.previous') }}">&lsaquo;</a>
</li>
@endif
{{-- Pagination Elements --}}
@foreach($elements as $element)
{{-- "Three Dots" Separator --}}
@if(!is_iterable($element))
<li class="page-item disabled" aria-disabled="true"><span class="page-link">{{ $element }}</span></li>
@endif
{{-- Array Of Links --}}
@if(is_iterable($element))
@foreach($element as $page => $url)
@if($page === $paginator->currentPage())
<li class="page-item active" aria-current="page"><span class="page-link">{{ $page }}</span></li>
@else
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Link --}}
@if($paginator->hasMorePages())
<li class="page-item">
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next" aria-label="{{ __('pagination.next') }})">&rsaquo;</a>
</li>
@else
<li class="page-item disabled" aria-disabled="true" aria-label="{{ __('pagination.next') }})">
<span class="page-link" aria-hidden="true">&rsaquo;</span>
</li>
@endif
</ul>
</nav>
@endif
@@ -1,47 +0,0 @@
{% if paginator.hasPages %}
<nav>
<ul class="pagination">
{# Previous Page Link #}
{% if paginator.onFirstPage %}
<li class="page-item disabled" aria-disabled="true" aria-label="{{ 'pagination.previous'|_ }}">
<span class="page-link" aria-hidden="true">&lsaquo;</span>
</li>
@else
<li class="page-item">
<a class="page-link" href="{{ paginator.previousPageUrl }}" rel="prev" aria-label="{{ 'pagination.previous'|_ }}">&lsaquo;</a>
</li>
@endif
{# Pagination Elements #}
{% for element in elements %}
{# "Three Dots" Separator #}
{% if not element is iterable %}
<li class="page-item disabled" aria-disabled="true"><span class="page-link">{{ element }}</span></li>
@endif
{# Array Of Links #}
{% if element is iterable %}
{% for page, url in element %}
{% if page == paginator.currentPage %}
<li class="page-item active" aria-current="page"><span class="page-link">{{ page }}</span></li>
@else
<li class="page-item"><a class="page-link" href="{{ url }}">{{ page }}</a></li>
@endif
{% endfor %}
@endif
{% endfor %}
{# Next Page Link #}
{% if paginator.hasMorePages %}
<li class="page-item">
<a class="page-link" href="{{ paginator.nextPageUrl }}" rel="next" aria-label="{{ 'pagination.next' }})">&rsaquo;</a>
</li>
@else
<li class="page-item disabled" aria-disabled="true" aria-label="{{ 'pagination.next'|_ }})">
<span class="page-link" aria-hidden="true">&rsaquo;</span>
</li>
@endif
</ul>
</nav>
@endif
+2 -2
View File
@@ -38,7 +38,7 @@
<tr>
<td>Database drivers</td>
<td>
{% for driver in system.all_drivers %}{% if system.current_driver == driver %}<strong>*{{ driver }}*</strong>@else{{ driver }}@endif, {% endfor %}
{% for driver in system.all_drivers %}{% if system.current_driver == driver %}<strong>*{{ driver }}*</strong>@else{{ driver }}@endif, @endforeach
</td>
</tr>
{# Docker information #}
@@ -180,7 +180,7 @@
<td>
{% for key, attempt in user.locale_attempts %}
{{ key }}: {% if attempt %}:white_check_mark:@else:x:@endif<br>
{% endfor %}
@endforeach
</td>
</tr>
<tr>
+2 -2
View File
@@ -47,7 +47,7 @@
<ul class="list-unstyled">
{% for inf in session('info') %}
<li>{{ inf|raw }}</li>
{% endfor %}
@endforeach
</ul>
@endif
{# SET OF MULTIPLE INFO MESSAGES, BUT THERE IS JUST ONE #}
@@ -94,7 +94,7 @@
<ul class="list-unstyled">
{% for err in session('error') %}
<li>{{ err }}</li>
{% endfor %}
@endforeach
</ul>
@endif
@@ -8,6 +8,6 @@
@else
<li class="active">{{ breadcrumb.title }}</li>
@endif
{% endfor %}
@endforeach
</ol>
@endif
+1 -1
View File
@@ -23,7 +23,7 @@
<div class="input-group-addon">{{ piggyBank.transactionCurrency.symbol|raw }}</div>
<input step="any" min="0" class="form-control" id="amount_{{ account.account.id }}" autocomplete="off" name="amount[{{ account.account.id }}]" max="{{ account.max_amount|round(piggyBank.transactionCurrency.decimal_places) }}" type="number"/>
</div>
{% endfor %}
@endforeach
<p>
&nbsp;
</p>
+1 -1
View File
@@ -15,7 +15,7 @@
<div class="input-group-addon">{{ piggyBank.transactionCurrency.symbol|raw }}</div>
<input step="any" min="0" class="form-control" id="amount_{{ account.account.id }}" autocomplete="off" name="amount[{{ account.account.id }}]" max="{{ account.max_amount|round(piggyBank.transactionCurrency.decimal_places) }}" type="number"/>
</div>
{% endfor %}
@endforeach
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">{{ 'close'|_ }}</button>
@@ -23,7 +23,7 @@
<input step="any" class="form-control" id="amount_{{ account.account.id }}" autocomplete="off" name="amount[{{ account.account.id }}]" max="{{ account.saved_so_far }}"
type="number">
</div>
{% endfor %}
@endforeach
<p>
&nbsp;
+1 -1
View File
@@ -19,7 +19,7 @@
<input step="any" class="form-control" id="amount_{{ account.account.id }}" autocomplete="off" name="amount[{{ account.account.id }}]" max="{{ account.saved_so_far }}"
type="number">
</div>
{% endfor %}
@endforeach
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">{{ 'close'|_ }}</button>
+6 -6
View File
@@ -30,14 +30,14 @@
</div>
</div>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
<table class="table table-responsive table-hover" id="piggyDetails">
<tr>
<td class="forty">{{ 'saveOnAccounts'|_ }}</td>
<td>
{% for account in piggy.accounts %}
<a href="{{ route('accounts.show', [account.account_id]) }}">{{ account.name }}</a><br>
{% endfor %}
@endforeach
</td>
</tr>
{% if piggy.object_group_title %}
@@ -65,7 +65,7 @@
</td>
</tr>
{% endfor %}
@endforeach
<tr>
<td>{{ 'saved_so_far_total'|_ }}</td>
<td>
@@ -84,7 +84,7 @@
<td>{{ 'start_date'|_ }}</td>
<td>
{% if piggyBank.start_date %}
{{ piggyBank.start_date.isoFormat(monthAndDayFormat) }}
{{ piggyBank.start_date.isoFormat($monthAndDayFormat) }}
@else
<em>{{ 'no_start_date'|_ }}</em>
@endif
@@ -94,7 +94,7 @@
<td>{{ 'target_date'|_ }}</td>
<td>
{% if piggyBank.target_date %}
{{ piggyBank.target_date.isoFormat(monthAndDayFormat) }}
{{ piggyBank.target_date.isoFormat($monthAndDayFormat) }}
@else
<em>{{ 'no_target_date'|_ }}</em>
@endif
@@ -145,7 +145,7 @@
{{ 'attachments'|_ }}
</h3>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
{% include 'list.attachments' %}
</div>
</div>
+2 -2
View File
@@ -95,7 +95,7 @@
</td>
<td class="hidden-sm hidden-xs">
{{ transaction.date.isoFormat(monthAndDayFormat) }}
{{ transaction.date.isoFormat($monthAndDayFormat) }}
</td>
{% if not hideSource %}
@@ -136,7 +136,7 @@
</td>
@endif
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
<tr>
@@ -3,7 +3,7 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="{{ 'close'|_ }}"><span>&times;</span></button>
<h4 class="modal-title" id="balanceAmountTitle">{{ trans('firefly.balance_amount',
{budget: budget.name, account: account.name, start: start.isoFormat(monthAndDayFormat), end: end.isoFormat(monthAndDayFormat)}
{budget: budget.name, account: account.name, start: start.isoFormat($monthAndDayFormat), end: end.isoFormat($monthAndDayFormat)}
) }}</h4>
</div>
<div class="modal-body">
@@ -3,7 +3,7 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="{{ 'close'|_ }}"><span>&times;</span></button>
<h4 class="modal-title" id="budgetSpentAmountLabel">
{{ trans('firefly.budget_spent_amount', {start: start.isoFormat(monthAndDayFormat), end: end.isoFormat(monthAndDayFormat), budget: budget.name}) }}
{{ trans('firefly.budget_spent_amount', {start: start.isoFormat($monthAndDayFormat), end: end.isoFormat($monthAndDayFormat), budget: budget.name}) }}
</h4>
</div>
<div class="modal-body">
@@ -3,7 +3,7 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="{{ 'close'|_ }}"><span>&times;</span></button>
<h4 class="modal-title"
id="expenseEntryTitle">{{ trans('firefly.category_entry', {name: category.name, start: start.isoFormat(monthAndDayFormat), end: end.isoFormat(monthAndDayFormat)}) }}</h4>
id="expenseEntryTitle">{{ trans('firefly.category_entry', {name: category.name, start: start.isoFormat($monthAndDayFormat), end: end.isoFormat($monthAndDayFormat)}) }}</h4>
</div>
<div class="modal-body">
{% set hideCategory = true %}
@@ -3,7 +3,7 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="{{ 'close'|_ }}"><span>&times;</span></button>
<h4 class="modal-title"
id="expenseEntryTitle">{{ trans('firefly.expense_entry', {name: account.name, start: start.isoFormat(monthAndDayFormat), end: end.isoFormat(monthAndDayFormat)}) }}</h4>
id="expenseEntryTitle">{{ trans('firefly.expense_entry', {name: account.name, start: start.isoFormat($monthAndDayFormat), end: end.isoFormat($monthAndDayFormat)}) }}</h4>
</div>
<div class="modal-body">
{% set hideDestination = true %}
@@ -3,7 +3,7 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="{{ 'close'|_ }}"><span>&times;</span></button>
<h4 class="modal-title"
id="incomeEntryTitle">{{ trans('firefly.income_entry', {name: account.name, start: start.isoFormat(monthAndDayFormat), end: end.isoFormat(monthAndDayFormat)}) }}</h4>
id="incomeEntryTitle">{{ trans('firefly.income_entry', {name: account.name, start: start.isoFormat($monthAndDayFormat), end: end.isoFormat($monthAndDayFormat)}) }}</h4>
</div>
<div class="modal-body">
{% set hideBudget = true %}
+10 -10
View File
@@ -30,8 +30,8 @@
{% for bag in errors.getBags %}
{% for error in bag.all %}
<li>{{ error }}</li>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</ul>
</div>
@endif
@@ -55,7 +55,7 @@
({{ lang.name_english }})
</option>
{% endfor %}
@endforeach
</select>
@@ -88,7 +88,7 @@
{{ loc }}
@endif</option>
{% endfor %}
@endforeach
</select>
</div>
</div>
@@ -190,8 +190,8 @@
</div>
</div>
</div>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</div>
</div>
{# frontpage settings column b #}
@@ -326,7 +326,7 @@
{{ ('dark_mode_option_'~mode)|_ }}
</label>
</div>
{% endfor %}
@endforeach
</div>
</div>
</div>
@@ -353,7 +353,7 @@
⚠️ {{ trans('firefly.notification_channel_name_'~name) }} ({{ 'channel_not_available'|_ }})
@endif
</li>
{% endfor %}
@endforeach
</ul>
<p>{{ 'pref_notifications_help'|_ }}</p>
{% for id, info in notifications %}
@@ -371,7 +371,7 @@
</div>
</div>
</div>
{% endfor %}
@endforeach
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
@@ -399,7 +399,7 @@
{{ trans('firefly.test_notification_channel_name_'~name) }}
</a>
@endif
{% endfor %}
@endforeach
</div>
</div>
</div>
+1 -1
View File
@@ -20,7 +20,7 @@
<ul>
{% for error in errors.all %}
<li class="text-danger">{{ error }}</li>
{% endfor %}
@endforeach
</ul>
@endif
+1 -1
View File
@@ -20,7 +20,7 @@
<ul>
{% for error in errors.all %}
<li class="text-danger">{{ error }}</li>
{% endfor %}
@endforeach
</ul>
@endif
+1 -1
View File
@@ -29,7 +29,7 @@
<ul>
{% for error in errors.all %}
<li class="text-danger">{{ error }}</li>
{% endfor %}
@endforeach
</ul>
@endif
+9 -9
View File
@@ -24,7 +24,7 @@
</div>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
<div class="p-2">
<a href="{{ route('recurring.create') }}" class="btn btn-success"><span class="bi bi-plus-circle"></span> {{ ('make_new_recurring')|_ }}
</a>
@@ -84,13 +84,13 @@
&rarr;
<a href="{{ route('accounts.show', rtt['destination_id']) }}">{{ rtt['destination_name'] }}</a>
</li>
{% endfor %}
@endforeach
</ol>
</td>
<td>
{% if null != rt.repeat_until and today > rt.repeat_until %}
<span class="text-danger">
{{ trans('firefly.repeat_until_in_past', {date: rt.repeat_until.isoFormat(monthAndDayFormat) }) }}
{{ trans('firefly.repeat_until_in_past', {date: rt.repeat_until.isoFormat($monthAndDayFormat) }) }}
</span>
@endif
<ul>
@@ -112,14 +112,14 @@
<br>{{ 'except_weekends'|_ }}
@endif
</li>
{% endfor %}
@endforeach
</ul>
<p>
{% if null == rt.repeat_until and rt.repetitions == 0 %}
{{ 'recurring_repeats_forever'|_ }}.
@endif
{% if null != rt.repeat_until and rt.repetitions == 0 %}
{{ trans('firefly.recurring_repeats_until', {date: rt.repeat_until.isoFormat(monthAndDayFormat)}) }}.
{{ trans('firefly.recurring_repeats_until', {date: rt.repeat_until.isoFormat($monthAndDayFormat)}) }}.
@endif
{% if null == rt.repeat_until and rt.nr_of_repetitions != 0 %}
{{ trans_choice('firefly.recurring_repeats_x_times', rt.nr_of_repetitions) }}.
@@ -131,14 +131,14 @@
{% for rep in rt.repetitions %}
{% for occ in rep.occurrences %}
{% if loop.index0 < 2 %}
<li>{{ occ.isoFormat(monthAndDayFormat) }}</li>
<li>{{ occ.isoFormat($monthAndDayFormat) }}</li>
@endif
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</ul>
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
<div class="pl-2">
+7 -7
View File
@@ -44,7 +44,7 @@
<ul>
{% for rep in array.repetitions %}
<li>{{ rep.description }}</li>
{% endfor %}
@endforeach
</ul>
<h4>{{ 'attachments'|_ }}</h4>
{% include 'list.attachments' with {attachments: array.attachments} %}
@@ -70,7 +70,7 @@
<div class="card-body">
{% if null != array.repeat_until and today > array.repeat_until %}
<span class="text-danger">
{{ trans('firefly.repeat_until_in_past', {date: array.repeat_until.isoFormat(monthAndDayFormat) }) }}
{{ trans('firefly.repeat_until_in_past', {date: array.repeat_until.isoFormat($monthAndDayFormat) }) }}
</span>
@endif
{% for rep in array.repetitions %}
@@ -102,10 +102,10 @@
@endif
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
{% endfor %}
@endforeach
</div>
<div class="card-footer">
<small>
@@ -124,7 +124,7 @@
{{ 'transaction_data'|_ }}
</h3>
</div>
<div class="box-body no-padding">
<div class="card-body p-0">
<table class="table table-hover sortable">
<thead>
<tr>
@@ -174,7 +174,7 @@
<p>
{% for tag in transaction.tags %}
<span class="badge text-bg-success">{{ tag }}</span>
{% endfor %}
@endforeach
</p>
@endif
{% if 0 != transaction.piggy_bank_id %}
@@ -189,7 +189,7 @@
@endif
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
</div>
+5 -5
View File
@@ -19,7 +19,7 @@
{% if hide in defaultShow %}checked@endif
type="checkbox" class="fw-normal audit-option-checkbox" name="option[]" value="{{ hide }}" id="option_{{ hide }}"/> <label
for="option_{{ hide }}">{{ trans('list.'~hide) }}</label></li>
{% endfor %}
@endforeach
</ul>
</div>
@@ -44,14 +44,14 @@
{
account_name: account.name|escape,
url: url,
start: start.isoFormat(monthAndDayFormat),
end: end.isoFormat(monthAndDayFormat),
start: start.isoFormat($monthAndDayFormat),
end: end.isoFormat($monthAndDayFormat),
})|raw }}
</em>
</div>
@else
<div class="box-body no-padding">
<div class="card-body p-0">
<p class="p-4">
{{ trans('firefly.audit_end_balance',
{
@@ -78,7 +78,7 @@
</div>
</div>
</div>
{% endfor %}
@endforeach
@endsection
@section('styles')
+1 -1
View File
@@ -121,7 +121,7 @@
</div>
</div>
</div>
{% endfor %}
@endforeach
<div class="row">
<div class="col-lg-6">
<div class="card">
@@ -4,7 +4,7 @@
<th data-defaultsign="az">{{ 'name'|_ }}</th>
{% for budget in budgets %}
<th data-defaultsign="_19" class="text-right">{{ budget.name }}</th>
{% endfor %}
@endforeach
</tr>
</thead>
<tbody>
@@ -22,9 +22,9 @@
&mdash;
@endif
</td>
{% endfor %}
@endforeach
</tr>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</tbody>
</table>
@@ -16,8 +16,8 @@
{{ format_amount_by_symbol(currency.sum, currency.currency_symbol, currency.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</tbody>
<tfoot>
{% for sum in sums %}
@@ -27,6 +27,6 @@
{{ format_amount_by_symbol(sum.sum, sum.currency_symbol, sum.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
@endforeach
</tfoot>
</table>
@@ -32,7 +32,7 @@
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% if result|length > listLength %}
@@ -27,8 +27,8 @@
</td>
<td data-value="{{ currency.sum_pct }}">{{ currency.sum_pct }}%</td>
</tr>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</tbody>
<tfoot>
{% for sum in sums %}
@@ -39,6 +39,6 @@
</td>
<td>&nbsp;</td>
</tr>
{% endfor %}
@endforeach
</tfoot>
</table>
@@ -40,7 +40,7 @@
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% if result|length > listLength %}
+1 -1
View File
@@ -159,7 +159,7 @@
</div>
</div>
</div>
{% endfor %}
@endforeach
<div class="row">
<div class="col-lg-6">
<div class="card">
@@ -4,7 +4,7 @@
<th data-defaultsign="az">{{ 'name'|_ }}</th>
{% for category in categories %}
<th data-defaultsign="_19" class="text-right">{{ category.name }}</th>
{% endfor %}
@endforeach
</tr>
</thead>
<tbody>
@@ -23,9 +23,9 @@
&mdash;
@endif
</td>
{% endfor %}
@endforeach
</tr>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</tbody>
</table>
@@ -24,8 +24,8 @@
{{ format_amount_by_symbol(currency.sum, currency.currency_symbol, currency.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</tbody>
<tfoot>
{% for sum in sums %}
@@ -41,6 +41,6 @@
{{ format_amount_by_symbol(sum.total_sum, sum.currency_symbol, sum.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
@endforeach
</tfoot>
</table>
@@ -32,7 +32,7 @@
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% if result|length > listLength %}
@@ -32,7 +32,7 @@
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% if result|length > listLength %}
@@ -34,8 +34,8 @@
{{ format_amount_by_symbol(currency.sum, currency.currency_symbol, currency.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</tbody>
<tfoot>
{% for sum in sums %}
@@ -51,6 +51,6 @@
{{ format_amount_by_symbol(sum.total_sum, sum.currency_symbol, sum.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
@endforeach
</tfoot>
</table>
@@ -40,7 +40,7 @@
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% if result|length > listLength %}
@@ -40,7 +40,7 @@
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% if result|length > listLength %}
@@ -23,7 +23,7 @@
{{ format_amount_by_symbol(account.sum, account.currency_symbol, account.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% for sum in sums %}
@@ -39,6 +39,6 @@
{{ format_amount_by_symbol(sum.sum, sum.currency_symbol, sum.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
@endforeach
</tfoot>
</table>
@@ -34,7 +34,7 @@
{{ format_amount_by_symbol(account.sum, account.currency_symbol, account.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% for sum in sums %}
@@ -50,6 +50,6 @@
{{ format_amount_by_symbol(sum.sum, sum.currency_symbol, sum.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
@endforeach
</tfoot>
</table>
@@ -32,7 +32,7 @@
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% if result|length > listLength %}
@@ -32,7 +32,7 @@
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% if result|length > listLength %}
@@ -41,7 +41,7 @@
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% if result|length > listLength %}
@@ -41,7 +41,7 @@
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% if result|length > listLength %}
+1 -1
View File
@@ -132,7 +132,7 @@
</div>
</div>
</div>
{% endfor %}
@endforeach
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
+1 -1
View File
@@ -4,7 +4,7 @@
<select id="inputBudgets" name="budget[]" multiple="multiple" class="form-control">
{% for budget in budgets %}
<option value="{{ budget.id }}" label="{{ budget.name }}">{{ budget.name }}</option>
{% endfor %}
@endforeach
</select>
</div>
</div>
@@ -4,7 +4,7 @@
<select id="inputCategories" name="category[]" multiple="multiple" class="form-control">
{% for category in categories %}
<option value="{{ category.id }}" label="{{ category.name }}">{{ category.name }}</option>
{% endfor %}
@endforeach
</select>
</div>
+1 -1
View File
@@ -4,7 +4,7 @@
<select id="inputDoubleAccounts" name="double[]" multiple="multiple" class="form-control">
{% for account in set %}
<option value="{{ account.id }}" label="{{ account.name }}{% if account.iban !='' %} ({{ account.iban }})@endif">{{ account.name }}{% if account.iban !='' %} ({{ account.iban }})@endif</option>
{% endfor %}
@endforeach
</select>
</div>
</div>
+2 -2
View File
@@ -6,8 +6,8 @@
<optgroup label="{{ year.year }}">
{% for tag in year.tags %}
<option value="{{ tag.id }}" label="{{ tag.tag|e('html') }}">{{ tag.tag|e('html') }}</option>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</select>
</div>
@@ -24,7 +24,7 @@
{{ format_amount_by_symbol(account.end_balance - account.start_balance, account.currency_symbol, account.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
@endforeach
<tr>
<td colspan="4"><em>{{ 'sumOfSums'|_ }}</em></td>
</tr>
@@ -43,6 +43,6 @@
{{ format_amount_by_symbol(sum.difference, sum.currency_symbol, sum.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
@@ -7,7 +7,7 @@
<th class="text-right hidden-xs"><a href="{{ route('accounts.show',account.id) }}"
title="{{ account.iban|default(account.name) }}">{{ account.name }}</a></th>
@endif
{% endfor %}
@endforeach
<th class="text-right">{{ 'sum'|_ }}</th>
</tr>
</thead>
@@ -35,16 +35,16 @@
@endif
@endif
{% endfor %}
@endforeach
<td class="text-right">
{% for sum in report.sums[budget.budget_id] %}
{{ format_amount_by_symbol(sum.sum, sum.currency_symbol, sum.currency_decimal_places) }}
<br/>
{% endfor %}
@endforeach
</td>
</tr>
@endif
{% endfor %}
@endforeach
</tbody>
<tfoot>
<tr>
@@ -55,7 +55,7 @@
{{ format_amount_by_symbol(account.sum, account.currency_symbol, account.currency_decimal_places) }}
</td>
@endif
{% endfor %}
@endforeach
</tr>
</tfoot>
</table>
+8 -8
View File
@@ -23,27 +23,27 @@
</td>
<td data-value="{{ bill.expected_dates[0].format('Y-m-d')|default('0000-00-00') }}">
{% for date in bill.expected_dates %}
{{ date.isoFormat(monthAndDayFormat) }}<br/>
{% endfor %}
{{ date.isoFormat($monthAndDayFormat) }}<br/>
@endforeach
</td>
<td class="text-right">
{% set hitCount = 0 %}
{% for journals in bill.paid_moments %}
{% for journal in journals %}
{% set hitCount = hitCount+1 %}
<a title="{{ journal.date.isoFormat(monthAndDayFormat) }}"
<a title="{{ journal.date.isoFormat($monthAndDayFormat) }}"
href="{{ route('transactions.show', [journal.transaction_group_id]) }}">{{ journal.description }}</a>,
{{ format_amount_by_symbol(journal.amount, journal.currency_symbol, journal.currency_decimal_places) }}
<br/>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
{% if hitCount == 0 %}
<em>{{ 'notCharged'|_ }}</em>
@endif
</td>
</tr>
@endif
{% endfor %}
@endforeach
{% for line in bills.getBills %}
@@ -51,7 +51,7 @@
<td data-value="{{ line.getBill.name }}">
<a href="{{ route('subscriptions.show',line.getBill.id) }}">{{ line.getBill.name }}</a>
<small class="text-muted"><br/>
{{ trans('firefly.bill_expected_between', {start: line.getPayDate.isoFormat(monthAndDayFormat), end: line.getEndOfPayDate.isoFormat(monthAndDayFormat) }) }}
{{ trans('firefly.bill_expected_between', {start: line.getPayDate.isoFormat($monthAndDayFormat), end: line.getEndOfPayDate.isoFormat($monthAndDayFormat) }) }}
</small>
</td>
<td class="text-right hidden-xs" data-value="{{ line.getMin }}">{{ formatAmountByCurrency(line.getCurrency, line.getMin) }}</td>
@@ -79,6 +79,6 @@
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
@@ -4,7 +4,7 @@
<th data-defaultsign="az" colspan="2">{{ 'budget'|_ }}</th>
{% for period in periods %}
<th data-defaultsign="_19" class="text-right">{{ period }}</th>
{% endfor %}
@endforeach
<th data-defaultsign="_19" class="text-right">{{ 'average'|_ }}</th>
<th data-defaultsign="_19" class="text-right">{{ 'sum'|_ }}</th>
</tr>
@@ -33,7 +33,7 @@
</td>
@endif
{% endfor %}
@endforeach
<td data-value="{{ info.avg }}" class="text-right">
{{ format_amount_by_symbol(info.avg, info.currency_symbol, info.currency_decimal_places) }}
</td>
@@ -41,6 +41,6 @@
{{ format_amount_by_symbol(info.sum, info.currency_symbol, info.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
@@ -29,9 +29,9 @@
<td class="hidden-xs" data-value="{{ budget_limit.start_date.format('Y-m-d')|default('0000-00-00') }}">
{% if null != budget_limit.budget_limit_id %}
<a href="{{ route('budgets.show.limit', [budget.budget_id, budget_limit.budget_limit_id]) }}">
{{ budget_limit.start_date.isoFormat(monthAndDayFormat) }}
{{ budget_limit.start_date.isoFormat($monthAndDayFormat) }}
&mdash;
{{ budget_limit.end_date.isoFormat(monthAndDayFormat) }}
{{ budget_limit.end_date.isoFormat($monthAndDayFormat) }}
</a>
@endif
</td>
@@ -79,8 +79,8 @@
@endif
</td>
</tr>
{% endfor %}
{% endfor %}
@endforeach
@endforeach
</tbody>
<tfoot>
{% for sum in report.sums %}
@@ -95,6 +95,6 @@
<td class="text-right">{{ format_amount_by_symbol(sum.overspent, sum.currency_symbol, sum.currency_decimal_places) }}</td>
</tr>
{% endfor %}
@endforeach
</tfoot>
</table>
@@ -26,7 +26,7 @@
></span>
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
{% if report.categories|length > listLength %}
@@ -49,6 +49,6 @@
{{ format_amount_by_symbol(sum.sum, sum.currency_symbol, sum.currency_decimal_places) }}
</td>
</tr>
{% endfor %}
@endforeach
</tfoot>
</table>
@@ -4,7 +4,7 @@
<th data-defaultsign="az" colspan="2">{{ 'category'|_ }}</th>
{% for period in periods %}
<th data-defaultsign="_19" class="text-right">{{ period }}</th>
{% endfor %}
@endforeach
<th data-defaultsign="_19" class="text-right">{{ 'sum'|_ }}</th>
</tr>
</thead>
@@ -32,7 +32,7 @@
{{ format_amount_by_symbol(0, info.currency_symbol, info.currency_decimal_places) }}
</td>
@endif
{% endfor %}
@endforeach
{# if sum of income, display: #}
{% if info.sum %}
@@ -45,6 +45,6 @@
</td>
@endif
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
@@ -21,10 +21,10 @@
@else
{% for expense in entry.spent.per_currency %}
{{ format_amount_by_symbol(expense.sum, expense.currency.symbol, expense.currency.dp) }}<br/>
{% endfor %}
@endforeach
@endif
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
@@ -23,7 +23,7 @@
@else
{% for expense in entry.spent.per_currency %}
{{ format_amount_by_symbol(expense.sum, expense.currency.symbol, expense.currency.dp) }}<br/>
{% endfor %}
@endforeach
@endif
</td>
<td data-value="{{ entry.earned.grand_total }}">
@@ -32,10 +32,10 @@
@else
{% for income in entry.earned.per_currency %}
{{ format_amount_by_symbol(income.sum * -1, income.currency.symbol, income.currency.dp) }}<br/>
{% endfor %}
@endforeach
@endif
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
@@ -16,7 +16,7 @@
@endif
{% for expense in amounts.spent.per_currency %}
{{ format_amount_by_symbol(expense.sum, expense.currency.symbol, expense.currency.dp) }}<br/>
{% endfor %}
@endforeach
</td>
<td data-value="{{ amounts.earned.grand_sum }}">
{% if amounts.earned.per_currency|length == 0 %}
@@ -24,9 +24,9 @@
@endif
{% for income in amounts.earned.per_currency %}
{{ format_amount_by_symbol(income.sum * -1, income.currency.symbol, income.currency.dp) }}<br/>
{% endfor %}
@endforeach
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
</table>
@@ -38,7 +38,7 @@
data-account-id="{{ account.id }}" data-currency-id="{{ account.currency_id }}"></span>
</td>
</tr>
{% endfor %}
@endforeach
</tbody>
<tfoot>
@@ -57,5 +57,5 @@
</td>
<td>&nbsp;</td>
</tr>
{% endfor %}
@endforeach
</table>
Loaded 100 of 131 files, more files were not shown because too many files have changed in this diff. Show more