Files
6e273a2fb1 refactor: Replace var with let/const in JavaScript files (#4503)
* refactor: Replace var with let/const in JavaScript files

- Replace var with let for variables that are reassigned
- Replace var with const for variables that are never reassigned
- Modernize manage_tables.js and nominatim.autocomplete.js
- Skip third-party libraries (imgpreview.full.jquery.js, clipboard.min.js)

Closes #4491

* refactor: Replace var with let/const in inline JavaScript

- Fixed CodeRabbit review: changed enable_actions and load_success
  from const to let in manage_tables.js (they are reassigned in init)
- Replaced all var declarations in inline JavaScript in Views with
  let (for reassigned) or const (for never reassigned)
- Modernized 48 additional files with inline JavaScript

* refactor: Replace var with let/const in remaining JS files

- Modernized gulpfile.js: 3 var declarations replaced
- Modernized app/Views/errors/html/debug.js: all var declarations replaced
- Used const for never-reassigned, let for reassigned variables

* fix: Replace remaining var declarations in Views

- Changed var  to const in sales/register.php
- Changed var  to const in configs/receipt_config.php

These were missed in the initial pass.

* fix: Replace remaining var declarations in gulpfile.js

- Converted 12 remaining var declarations to const
- All variables are function-scoped and never reassigned
- Complete coverage for this file now

* fix: Address CodeRabbit review comments

- items/manage.php: Remove duplicate let declaration for start_date
  (partial/daterangepicker already declares it)
- header_js.php: Escape CSRF hash in JavaScript context
- tax_jurisdictions.php: Fix mismatched selector (remove_tax_jurisdictions
  -> remove_tax_jurisdiction)

* style(views): Replace var with let/const and fix comment casing

- Convert var to let in items/manage.php for JS modernization
- Capitalize \"Submit\" in validation comments across tax view files

Signed-off-by: Travis Garrison <travis@chiraqbookstore.com>

---------

Signed-off-by: Travis Garrison <travis@chiraqbookstore.com>
Co-authored-by: Ollama <ollama@steganos.dev>
Co-authored-by: objecttothis <17935339+objecttothis@users.noreply.github.com>
Co-authored-by: Travis Garrison <travis@chiraqbookstore.com>
2026-08-06 12:15:45 +04:00

154 lines
5.8 KiB
PHP

<?php
/**
* @var int $giftcard_id
* @var string $selected_person_name
* @var int $selected_person_id
* @var string $giftcard_number
* @var float $giftcard_value
* @var string $controller_name
* @var array $config
*/
?>
<div id="required_fields_message"><?= lang('Common.fields_required_message') ?></div>
<ul id="error_message_box" class="error_message_box"></ul>
<?= form_open("giftcards/save/$giftcard_id", ['id' => 'giftcard_form', 'class' => 'form-horizontal']) ?>
<fieldset id="giftcard_basic_info">
<div class="form-group form-group-sm">
<?= form_label(lang('Giftcards.person_id'), 'person_name', ['class' => 'control-label col-xs-3']) ?>
<div class="col-xs-8">
<?= form_input([
'name' => 'person_name',
'id' => 'person_name',
'class' => 'form-control input-sm',
'value' => $selected_person_name
]) ?>
<?= form_hidden('person_id', (string)$selected_person_id) ?>
</div>
</div>
<?php
$class = '';
if ($config['giftcard_number'] == 'series') {
$class = ' required';
}
?>
<div class="form-group form-group-sm">
<?= form_label(lang('Giftcards.giftcard_number'), 'giftcard_number', ['class' => "control-label col-xs-3$class"]) ?>
<div class="col-xs-4">
<?= form_input([
'name' => 'giftcard_number',
'id' => 'giftcard_number',
'class' => 'form-control input-sm',
'value' => $giftcard_number
]) ?>
</div>
</div>
<div class="form-group form-group-sm">
<?= form_label(lang('Giftcards.card_value'), 'giftcard_amount', ['class' => 'required control-label col-xs-3']) ?>
<div class="col-xs-4">
<div class="input-group input-group-sm">
<?php if (!is_right_side_currency_symbol()): ?>
<span class="input-group-addon input-sm"><?= esc($config['currency_symbol']) ?></span>
<?php endif; ?>
<?= form_input([
'name' => 'giftcard_amount',
'id' => 'giftcard_amount',
'class' => 'form-control input-sm',
'value' => to_currency_no_money($giftcard_value)
]) ?>
<?php if (is_right_side_currency_symbol()): ?>
<span class="input-group-addon input-sm"><b><?= esc($config['currency_symbol']) ?></span>
<?php endif; ?>
</div>
</div>
</div>
</fieldset>
<?= form_close() ?>
<script type="text/javascript">
// Validation and submit handling
$(document).ready(function() {
$("input[name='person_name']").change(function() {
!$(this).val() && $(this).val('');
});
const fill_value = function(event, ui) {
event.preventDefault();
$(this).val((ui.item ? ui.item.label : ""));
$("input[name='person_id']").val(ui.item.value);
$("input[name='person_name']").val(ui.item.label);
};
$('#person_name').autocomplete({
source: "<?= esc("customers/suggest") ?>",
minChars: 0,
delay: 15,
change: fill_value,
cacheLength: 1,
appendTo: '.modal-content',
select: fill_value,
focus: fill_value
});
$('#giftcard_form').validate($.extend({
submitHandler: function(form) {
$(form).ajaxSubmit({
success: function(response) {
dialog_support.hide();
table_support.handle_submit("<?= esc($controller_name) ?>", response);
},
error: function(jqXHR, textStatus, errorThrown) {
table_support.handle_submit("<?= esc($controller_name) ?>", {
message: errorThrown
});
},
dataType: 'json'
});
},
errorLabelContainer: '#error_message_box',
rules: {
<?php if ($config['giftcard_number'] == 'series') { ?>
giftcard_number: {
required: true,
number: true,
remote: {
url: "<?= esc("$controller_name/checkNumberGiftcard") ?>",
type: 'POST',
data: {
'giftcard_number': function() { return $('#giftcard_number').val() },
'giftcard_id': '<?= esc($giftcard_id) ?>'
}
}
},
<?php } ?>
giftcard_amount: {
required: true,
remote: "<?= esc("$controller_name/checkNumeric") ?>"
}
},
messages: {
<?php if ($config['giftcard_number'] == 'series') { ?>
giftcard_number: {
required: "<?= lang('Giftcards.number_required') ?>",
number: "<?= lang('Giftcards.number') ?>",
remote: "<?= lang('Giftcards.number_required') ?>"
},
<?php } ?>
giftcard_amount: {
required: "<?= lang('Giftcards.value_required') ?>",
remote: "<?= lang('Giftcards.value') ?>"
}
}
}, form_support.error));
});
</script>