Files
opensourcepos/app/Views/expenses/manage.php
opencode f2092d497b Fix review comments from PR #4445
- Fix string interpolation in data-href attributes (use double quotes for PHP variable interpolation)
- Add missing name attributes to message_config.php form inputs (msg_uid, msg_pwd, msg_src)
- Fix HTML tag mismatch in profile.php (</a> to </button>)
- Add modal-dlg class to buttons for proper modal dialog handling
- Add missing IDs for delete/generate_barcodes buttons in item_kits/manage.php
- Fix esc() wrapping around lang() calls where inappropriate
- Fix disabled attribute rendering in dinner_tables.php
- Fix date format bug in daterangepicker.php (use timeformat instead of dateformat for time component)
- Fix JavaScript selector fallback logic in bs-tab_anchor_linking.js
- Add Bootstrap guard in bs-tooltips.js to prevent errors when Bootstrap JS is not loaded
2026-04-02 19:53:27 +02:00

92 lines
3.3 KiB
PHP

<?php
/**
* @var string $controller_name
* @var string $table_headers
* @var array $filters
* @var array $selected_filters
* @var array $config
* @var string|null $start_date
* @var string|null $end_date
*/
?>
<?= view('partial/header') ?>
<?php
$title_info['config_title'] = 'Expenses';
echo view('configs/config_header', $title_info);
?>
<script type="text/javascript">
$(document).ready(function() {
// Load the preset datarange picker
<?= view('partial/daterangepicker') ?>
<?= view('partial/bootstrap_tables_locale') ?>
// Override dates from server if provided
<?php if (isset($start_date) && $start_date): ?>
start_date = "<?= esc($start_date) ?>";
<?php endif; ?>
<?php if (isset($end_date) && $end_date): ?>
end_date = "<?= esc($end_date) ?>";
<?php endif; ?>
table_support.init({
resource: '<?= esc($controller_name) ?>',
headers: <?= $table_headers ?>,
pageSize: <?= $config['lines_per_page'] ?>,
uniqueId: 'expense_id',
onLoadSuccess: function(response) {
if ($("#table tbody tr").length > 1) {
$("#payment_summary").html(response.payment_summary);
$("#table tbody tr:last td:first").html("");
$("#table tbody tr:last").css('font-weight', 'bold');
}
},
queryParams: function() {
return $.extend(arguments[0], {
"start_date": start_date,
"end_date": end_date,
"filters": $("#filters").val()
});
}
});
});
</script
<?= view('partial/table_filter_persistence') ?>>
<?= view('partial/print_receipt', ['print_after_sale' => false, 'selected_printer' => 'takings_printer']) ?>
<div class="d-flex gap-2 justify-content-end d-print-none">
<button type="button" class="btn btn-primary modal-dlg" data-btn-submit="<?= lang('Common.submit') ?>" data-href="<?= "$controller_name/view" ?>" title="<?= lang(ucfirst($controller_name). '.new') ?>">
<i class="bi bi-bag-check me-2"></i><?= lang(ucfirst($controller_name) .".new") ?>
</button>
<button type="button" class="btn btn-primary" onclick="window.print()" title="<?= lang('Common.print') ?>">
<i class="bi bi-printer me-2"></i><?= lang('Common.print') ?>
</button>
</div>
<div id="toolbar">
<div class="d-flex gap-2">
<button type="button" class="btn btn-secondary d-print-none">
<i class="bi bi-trash"></i><span class="d-none d-sm-inline ms-2"><?= lang('Common.delete') ?></span>
</button>
<input type="text" class="form-control" name="daterangepicker" id="daterangepicker">
<select id="filters" name="filters[]" class="selectpicker show-menu-arrow" data-none-selected-text="<?= lang('Common.none_selected_text') ?>" data-selected-text-format="count > 1" data-style="btn-secondary" data-width="fit" multiple>
<?php foreach ($filters as $key => $value): ?>
<option value="<?= esc($key) ?>"><?= esc($value) ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
<div id="table_holder">
<table id="table"></table>
</div>
<div id="payment_summary"></div>
<?= view('partial/footer') ?>