| 
									
										
										
										
											2022-01-29 14:19:01 +01:00
										 |  |  | {% extends './layout/default' %}
 | 
					
						
							| 
									
										
										
										
											2022-01-29 14:15:34 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | {% block breadcrumbs %}
 | 
					
						
							|  |  |  |     {{ Breadcrumbs.render(Route.getCurrentRoute.getName, recurrence) }}
 | 
					
						
							|  |  |  | {% endblock %}
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | {% block content %}
 | 
					
						
							|  |  |  | <div class="row">
 | 
					
						
							|  |  |  |     <!-- basic info -->
 | 
					
						
							|  |  |  |     <div class="col-lg-8 col-md-12 col-sm-12">
 | 
					
						
							|  |  |  |         <div class="box">
 | 
					
						
							|  |  |  |             <div class="box-header with-border">
 | 
					
						
							|  |  |  |                 <h3 class="box-title">
 | 
					
						
							|  |  |  |                     {{ array.title }}
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     ({{ array.type }})
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     {% if array.active == false %}
 | 
					
						
							|  |  |  |                         ({{ 'inactive'|_|lower }})
 | 
					
						
							|  |  |  |                     {% endif %}
 | 
					
						
							|  |  |  |                 </h3>
 | 
					
						
							|  |  |  |             </div>
 | 
					
						
							|  |  |  |             <div class="box-body">
 | 
					
						
							| 
									
										
										
										
											2023-06-21 06:04:26 +02:00
										 |  |  |                 <h4>{{ 'transaction_journal_meta'|_ }}</h4>
 | 
					
						
							| 
									
										
										
										
											2024-11-03 08:16:46 +01:00
										 |  |  |                 {% if array.nr_of_repetitions > 0 %}
 | 
					
						
							|  |  |  |                 <p>
 | 
					
						
							|  |  |  |                     {% if array.journal_count >= array.nr_of_repetitions %}
 | 
					
						
							|  |  |  |                         <span class="text-danger">{{ trans('firefly.recurrence_max_count', {count: array.journal_count, max: array.nr_of_repetitions}) }}</span>
 | 
					
						
							|  |  |  |                     {% endif %}
 | 
					
						
							|  |  |  |                     {% if array.journal_count < array.nr_of_repetitions %}
 | 
					
						
							|  |  |  |                         {{ trans('firefly.recurrence_max_count', {count: array.journal_count, max: array.nr_of_repetitions}) }}
 | 
					
						
							|  |  |  |                     {% endif %}
 | 
					
						
							|  |  |  |                 </p>
 | 
					
						
							|  |  |  |                 {% endif %}
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-21 06:04:26 +02:00
										 |  |  |                 <p>{{ 'description'|_ }}: <em>{{ array.description }}</em></p>
 | 
					
						
							| 
									
										
										
										
											2022-01-29 14:15:34 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |                 {% if array.active == false %}
 | 
					
						
							|  |  |  |                     <p>
 | 
					
						
							|  |  |  |                         {{ 'recurrence_is_inactive'|_ }}
 | 
					
						
							|  |  |  |                     </p>
 | 
					
						
							|  |  |  |                 {% endif %}
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 <ul>
 | 
					
						
							|  |  |  |                     {% for rep in array.repetitions %}
 | 
					
						
							|  |  |  |                         <li>{{ rep.description }}</li>
 | 
					
						
							|  |  |  |                     {% endfor %}
 | 
					
						
							|  |  |  |                 </ul>
 | 
					
						
							| 
									
										
										
										
											2023-06-21 06:04:26 +02:00
										 |  |  |                 <h4>{{ 'attachments'|_ }}</h4>
 | 
					
						
							|  |  |  |                 {% include 'list.attachments' with {attachments: array.attachments} %}
 | 
					
						
							| 
									
										
										
										
											2022-01-29 14:15:34 +01:00
										 |  |  |             </div>
 | 
					
						
							|  |  |  |             <div class="box-footer">
 | 
					
						
							|  |  |  |                 <div class="btn-group">
 | 
					
						
							| 
									
										
										
										
											2022-12-29 15:42:02 +01:00
										 |  |  |                     <a href="{{ route('recurring.edit', [array.id]) }}" class="btn btn-sm btn-default"><span
 | 
					
						
							| 
									
										
										
										
											2023-09-05 19:34:46 +02:00
										 |  |  |                             class="fa fa-pencil"></span> {{ 'edit'|_ }}</a>
 | 
					
						
							| 
									
										
										
										
											2022-12-29 15:42:02 +01:00
										 |  |  |                     <a href="{{ route('recurring.delete', [array.id]) }}" class="btn btn-sm btn-danger">{{ 'delete'|_ }}
 | 
					
						
							|  |  |  |                         <span class="fa fa-trash"></span></a>
 | 
					
						
							| 
									
										
										
										
											2022-01-29 14:15:34 +01:00
										 |  |  |                 </div>
 | 
					
						
							|  |  |  |             </div>
 | 
					
						
							|  |  |  |         </div>
 | 
					
						
							|  |  |  |     </div>
 | 
					
						
							|  |  |  |     <!-- next and previous repetitions -->
 | 
					
						
							|  |  |  |     <div class="col-lg-4 col-md-12 col-sm-12">
 | 
					
						
							|  |  |  |         <div class="box">
 | 
					
						
							|  |  |  |             <div class="box-header with-border">
 | 
					
						
							|  |  |  |                 <h3 class="box-title">
 | 
					
						
							|  |  |  |                     {{ ('expected_'~array.type~'s')|_ }}
 | 
					
						
							|  |  |  |                 </h3>
 | 
					
						
							|  |  |  |             </div>
 | 
					
						
							|  |  |  |             <div class="box-body">
 | 
					
						
							|  |  |  |                 {% if null != array.repeat_until and today > array.repeat_until %}
 | 
					
						
							|  |  |  |                     <span class="text-danger">
 | 
					
						
							| 
									
										
										
										
											2022-03-27 20:33:25 +02:00
										 |  |  |                                             {{ trans('firefly.repeat_until_in_past', {date: array.repeat_until.isoFormat(monthAndDayFormat) }) }}
 | 
					
						
							| 
									
										
										
										
											2022-01-29 14:15:34 +01:00
										 |  |  |                                         </span>
 | 
					
						
							|  |  |  |                 {% endif %}
 | 
					
						
							| 
									
										
										
										
											2023-06-03 17:16:28 +02:00
										 |  |  |                 {% for rep in array.repetitions %}
 | 
					
						
							|  |  |  |                     <p>
 | 
					
						
							|  |  |  |                         <strong>{{ rep.description }}
 | 
					
						
							|  |  |  |                             {% if rep.repetition_skip == 1 %}
 | 
					
						
							|  |  |  |                                 ({{ trans('firefly.recurring_skips_one')|lower }})
 | 
					
						
							|  |  |  |                             {% endif %}
 | 
					
						
							|  |  |  |                             {% if rep.repetition_skip > 1 %}
 | 
					
						
							|  |  |  |                                 ({{ trans('firefly.recurring_skips_more', {count: rep.repetition_skip})|lower }})
 | 
					
						
							|  |  |  |                             {% endif %}
 | 
					
						
							|  |  |  |                         </strong>
 | 
					
						
							|  |  |  |                     </p>
 | 
					
						
							|  |  |  |                     <table class="table" aria-label="Table">
 | 
					
						
							|  |  |  |                         <tbody>
 | 
					
						
							|  |  |  |                         {% for occ in rep.occurrences %}
 | 
					
						
							|  |  |  |                             <tr>
 | 
					
						
							|  |  |  |                                 <th scope="row">{{ occ.date.isoFormat(trans('config.month_and_date_day_js')) }}</th>
 | 
					
						
							|  |  |  |                                 <td>
 | 
					
						
							|  |  |  |                                     {% if not occ.fired %}
 | 
					
						
							|  |  |  |                                         <form action="{{ route('recurring.trigger', [recurrence.id]) }}" method="post"
 | 
					
						
							|  |  |  |                                               style="display: inline;">
 | 
					
						
							| 
									
										
										
										
											2022-12-29 15:42:02 +01:00
										 |  |  |                                             <input type="hidden" name="_token" value="{{ csrf_token() }}">
 | 
					
						
							| 
									
										
										
										
											2023-06-03 17:16:28 +02:00
										 |  |  |                                             <input type="hidden" name="date"
 | 
					
						
							|  |  |  |                                                    value="{{ occ.date.isoFormat('YYYY-MM-DD') }}">
 | 
					
						
							|  |  |  |                                             <input type="submit" name="submit" value="{{ 'create_right_now'|_ }}"
 | 
					
						
							|  |  |  |                                                    class="btn btn-sm btn-default">
 | 
					
						
							| 
									
										
										
										
											2022-12-29 15:42:02 +01:00
										 |  |  |                                         </form>
 | 
					
						
							| 
									
										
										
										
											2023-06-03 17:16:28 +02:00
										 |  |  |                                     {% endif %}
 | 
					
						
							|  |  |  |                                 </td>
 | 
					
						
							|  |  |  |                             </tr>
 | 
					
						
							|  |  |  |                         {% endfor %}
 | 
					
						
							|  |  |  |                         </tbody>
 | 
					
						
							|  |  |  |                     </table>
 | 
					
						
							|  |  |  |                 {% endfor %}
 | 
					
						
							| 
									
										
										
										
											2022-01-29 14:15:34 +01:00
										 |  |  |             </div>
 | 
					
						
							|  |  |  |             <div class="box-footer">
 | 
					
						
							|  |  |  |                 <small>
 | 
					
						
							|  |  |  |                     <em>{{ 'warning_duplicates_repetitions'|_ }}</em>
 | 
					
						
							|  |  |  |                 </small>
 | 
					
						
							|  |  |  |             </div>
 | 
					
						
							|  |  |  |         </div>
 | 
					
						
							|  |  |  |     </div>
 | 
					
						
							|  |  |  | </div>
 | 
					
						
							|  |  |  | <div class="row">
 | 
					
						
							|  |  |  |     <!-- transactions -->
 | 
					
						
							|  |  |  |     <div class="col-lg-12 col-md-12 col-sm-12">
 | 
					
						
							|  |  |  |         <div class="box">
 | 
					
						
							|  |  |  |             <div class="box-header with-border">
 | 
					
						
							|  |  |  |                 <h3 class="box-title">
 | 
					
						
							|  |  |  |                     {{ 'transaction_data'|_ }}
 | 
					
						
							|  |  |  |                 </h3>
 | 
					
						
							|  |  |  |             </div>
 | 
					
						
							|  |  |  |             <div class="box-body no-padding">
 | 
					
						
							|  |  |  |                 <table class="table table-hover sortable">
 | 
					
						
							|  |  |  |                     <thead>
 | 
					
						
							|  |  |  |                     <tr>
 | 
					
						
							|  |  |  |                         <th data-defaultsign="az">{{ trans('list.description') }}</th>
 | 
					
						
							|  |  |  |                         <th data-defaultsign="az">{{ trans('list.source') }}</th>
 | 
					
						
							|  |  |  |                         <th data-defaultsign="az">{{ trans('list.destination') }}</th>
 | 
					
						
							|  |  |  |                         <th data-defaultsign="_19">{{ trans('list.amount') }}</th>
 | 
					
						
							|  |  |  |                         <th data-defaultsign="az">{{ trans('list.category') }}</th>
 | 
					
						
							|  |  |  |                         <th data-defaultsign="az">{{ trans('list.budget') }}</th>
 | 
					
						
							|  |  |  |                         <th>{{ trans('list.other_meta_data') }}</th>
 | 
					
						
							|  |  |  |                     </tr>
 | 
					
						
							|  |  |  |                     </thead>
 | 
					
						
							|  |  |  |                     <tbody>
 | 
					
						
							|  |  |  |                     {% for transaction in array.transactions %}
 | 
					
						
							|  |  |  |                         <tr>
 | 
					
						
							|  |  |  |                             <td data-value="{{ transaction.description }}">
 | 
					
						
							|  |  |  |                                 {{ transaction.description }}
 | 
					
						
							|  |  |  |                             </td>
 | 
					
						
							|  |  |  |                             <td data-value="{{ transaction.source_name }}">
 | 
					
						
							|  |  |  |                                 <a href="{{ route('accounts.show', [transaction.source_id]) }}">{{ transaction.source_name }}</a>
 | 
					
						
							|  |  |  |                             </td>
 | 
					
						
							|  |  |  |                             <td data-value="{{ transaction.destination_name }}">
 | 
					
						
							|  |  |  |                                 <a href="{{ route('accounts.show', [transaction.destination_id]) }}">{{ transaction.destination_name }}</a>
 | 
					
						
							|  |  |  |                             </td>
 | 
					
						
							|  |  |  |                             <td>
 | 
					
						
							|  |  |  |                                 {{ formatAmountBySymbol(transaction.amount,transaction.currency_symbol,transaction.currency_decimal_places) }}
 | 
					
						
							|  |  |  |                                 {% if null != transaction.foreign_amount %}
 | 
					
						
							|  |  |  |                                     ({{ formatAmountBySymbol(transaction.foreign_amount,transaction.foreign_currency_symbol,transaction.foreign_currency_decimal_places) }})
 | 
					
						
							|  |  |  |                                 {% endif %}
 | 
					
						
							|  |  |  |                             </td>
 | 
					
						
							|  |  |  |                             <td data-value="{{ transaction.category_id|default(0) }}">
 | 
					
						
							|  |  |  |                                 {% if '' != transaction.category_name %}
 | 
					
						
							|  |  |  |                                     <a href="{{ route('categories.show', [transaction.category_id]) }}">
 | 
					
						
							|  |  |  |                                         {{ transaction.category_name }}
 | 
					
						
							|  |  |  |                                     </a>
 | 
					
						
							|  |  |  |                                 {% endif %}
 | 
					
						
							|  |  |  |                             </td>
 | 
					
						
							|  |  |  |                             <td data-value="{{ transaction.budget_id|default(0) }}">
 | 
					
						
							|  |  |  |                                 {% if '' != transaction.budget_name %}
 | 
					
						
							|  |  |  |                                     <a href="{{ route('budgets.show', [transaction.budget_id]) }}">
 | 
					
						
							|  |  |  |                                         {{ transaction.budget_name }}
 | 
					
						
							|  |  |  |                                     </a>
 | 
					
						
							|  |  |  |                                 {% endif %}
 | 
					
						
							|  |  |  |                             </td>
 | 
					
						
							|  |  |  |                             <td>
 | 
					
						
							|  |  |  |                                 {% if transaction.tags|length > 0 %}
 | 
					
						
							|  |  |  |                                     <p>
 | 
					
						
							|  |  |  |                                         {% for tag in transaction.tags %}
 | 
					
						
							|  |  |  |                                             <span class="label label-success">{{ tag }}</span>
 | 
					
						
							|  |  |  |                                         {% endfor %}
 | 
					
						
							|  |  |  |                                     </p>
 | 
					
						
							|  |  |  |                                 {% endif %}
 | 
					
						
							| 
									
										
										
										
											2023-06-03 17:16:28 +02:00
										 |  |  |                                 {% if 0 != transaction.piggy_bank_id %}
 | 
					
						
							|  |  |  |                                     <p>
 | 
					
						
							|  |  |  |                                         <a href="{{ route('piggy-banks.show', [transaction.piggy_bank_id]) }}">{{ transaction.piggy_bank_name }}</a>
 | 
					
						
							|  |  |  |                                     </p>
 | 
					
						
							|  |  |  |                                 {% endif %}
 | 
					
						
							|  |  |  |                                 {% if 0 != transaction.bill_id %}
 | 
					
						
							|  |  |  |                                     <p>
 | 
					
						
							| 
									
										
										
										
											2024-12-26 13:41:57 +01:00
										 |  |  |                                         <a href="{{ route('subscriptions.show', [transaction.bill_id]) }}">{{ transaction.bill_name }}</a>
 | 
					
						
							| 
									
										
										
										
											2023-06-03 17:16:28 +02:00
										 |  |  |                                     </p>
 | 
					
						
							| 
									
										
										
										
											2022-01-29 14:15:34 +01:00
										 |  |  |                                 {% endif %}
 | 
					
						
							|  |  |  |                             </td>
 | 
					
						
							|  |  |  |                         </tr>
 | 
					
						
							|  |  |  |                     {% endfor %}
 | 
					
						
							|  |  |  |                     </tbody>
 | 
					
						
							|  |  |  |                 </table>
 | 
					
						
							|  |  |  |             </div>
 | 
					
						
							|  |  |  |         </div>
 | 
					
						
							|  |  |  |     </div>
 | 
					
						
							|  |  |  |     <div class="row">
 | 
					
						
							|  |  |  |         <!-- meta data -->
 | 
					
						
							|  |  |  |         <div class="col-lg-12 col-md-12 col-sm-12">
 | 
					
						
							|  |  |  |             <div class="box">
 | 
					
						
							|  |  |  |                 <div class="box-header with-border">
 | 
					
						
							|  |  |  |                     <h3 class="box-title">
 | 
					
						
							|  |  |  |                         {{ ('created_'~array.type~'s')|_ }}
 | 
					
						
							|  |  |  |                     </h3>
 | 
					
						
							|  |  |  |                 </div>
 | 
					
						
							|  |  |  |                 <div class="box-body">
 | 
					
						
							|  |  |  |                     {% include 'list.groups' %}
 | 
					
						
							|  |  |  |                 </div>
 | 
					
						
							|  |  |  |             </div>
 | 
					
						
							|  |  |  |         </div>
 | 
					
						
							|  |  |  |     </div>
 | 
					
						
							|  |  |  |     {% endblock %}
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     {% block styles %}
 | 
					
						
							| 
									
										
										
										
											2022-12-29 15:42:02 +01:00
										 |  |  |         <link rel="stylesheet" href="v1/css/bootstrap-sortable.css?v={{ FF_VERSION }}" type="text/css" media="all"
 | 
					
						
							|  |  |  |               nonce="{{ JS_NONCE }}">
 | 
					
						
							| 
									
										
										
										
											2022-01-29 14:15:34 +01:00
										 |  |  |     {% endblock %}
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     {% block scripts %}
 | 
					
						
							| 
									
										
										
										
											2022-12-29 15:42:02 +01:00
										 |  |  |         <script type="text/javascript" src="v1/js/lib/bootstrap-sortable.js?v={{ FF_VERSION }}"
 | 
					
						
							|  |  |  |                 nonce="{{ JS_NONCE }}"></script>
 | 
					
						
							| 
									
										
										
										
											2022-01-29 14:15:34 +01:00
										 |  |  |         {# required for groups.twig #}
 | 
					
						
							|  |  |  |         <script type="text/javascript" src="v1/js/ff/list/groups.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
 | 
					
						
							|  |  |  |     {% endblock %}
 |