Files
opensourcepos/app/Views/taxes/tax_codes.php
objecttothis 6fec2464f8 Update to CodeIgniter 4.7.2 (#4485)
- Merge Config and Core File Changes 4.6.3 > 4.6.4
- Merge Config and Core File Changes 4.6.4 > 4.7.0
- Added app\Config\WorkerMode.php
- Merge Config and Core File Changes Not previously merged
- Added app\Config\Hostnames.php
- Corrected incorrect CSS property used in invoice.php view.
- Corrected unknown CSS properties used in register.php view.
- Used shorthand CSS in debug.css
- Corrected indentation in barcode_sheet.php view.
- Corrected indentation in footer.php view.
- Corrected indentation in invoice_email.php view.
- Replaced obsolete attributes with CSS style attributes in barcode_sheet.php
- Replaced obsolete attribute in error_exception.php
- Replaced obsolete attribute in invoice_email.php
- Replaced obsolete attribute in quote_email.php
- Replaced obsolete attributes in work_order_email.php
- Fixed indentation in system_info.php
- Replaced <strong> tag outside <p> tags, which isn't allowed, with style attributes.
- Simplified js return logic and indentation fixes in tax_categories.php
- Simplified js return logic in tax_codes.php
- Simplified js return logic in tax_jurisdictions.php
- Removed unnecessary labels in manage views.
- Rewrite JavaScript function and PHP to be more readable in bar.php, hbar.php, line.php and pie.php
- Added type declarations, return types and an import to app\Config\Services
- Updated Attribute.php parameter type
- Updated Receiving_lib.php parameter type
- Updated Receivings.php parameter types and updated PHPdocs
- Updated tabular_helper.php parameter types and updated PHPdocs
- Added type declarations and corrected PHPdocs in url_helper.php
- Added return types to functions
- Revert $objectSrc value in ContentSecurityPolicy.php
- Correct return type in Customer->get_stats()
- Correct return type in Item->get_info_by_id_or_number()
- Correct misspelling in border-spacing
- Added missing css style semicolons
- Resolve operator precedence ambiguity.
- Resolve column mismatch.
- Added missing escaping in view.
- Updated requirement for PHP 8.2
- Resolve unresolved conflicts
- Added PHP 8.2 requirement to the README.md
- Fixed bugs in display of UI
- Fixed duplicated `>` in app\Views\Expenses\manage.php
- Removed excess whitespace at the end of some lines in table_filter_persistence.php
- Added missing `>` in app\Views\Expenses\manage.php
- Corrected grammar in PHPdoc in table_filter_persistence.php
- Remove bug causing `\` to be injected into the new giftcard value
- Fix bug causing DROPDOWN Attribute Values to not save correctly
- Added check for null in $normalizedItemId

- Removing < PHP 8.2 from linting and tests
- Update Linter to not include PHP 8.2 and 8.1
- Remove PHP 8.1 unit test cycle.
- Update Bug Report Template
- Update Composer files for CodeIgniter 4.7.2
- Updated INSTALL.md to reflect changes.

---------

Signed-off-by: objec <objecttothis@gmail.com>
2026-04-14 01:05:10 +04:00

129 lines
4.9 KiB
PHP

<?php
/**
* @var array $tax_codes
*/
?>
<?= form_open('taxes/save_tax_codes/', ['id' => 'tax_codes_form', 'class' => 'form-horizontal']) ?>
<div id="config_wrapper">
<fieldset id="config_info">
<div id="required_fields_message"><?= lang('Common.fields_required_message') ?></div>
<ul id="tax_codes_error_message_box" class="error_message_box"></ul>
<div id="tax_codes">
<?= view('partial/tax_codes', ['tax_codes' => $tax_codes]) ?>
</div>
<?= form_submit([
'name' => 'submit_tax_codes',
'id' => 'submit_tax_codes',
'value' => lang('Common.submit'),
'class' => 'btn btn-primary btn-sm pull-right'
]) ?>
</fieldset>
</div>
<?= form_close() ?>
<script type="text/javascript">
// Validation and submit handling
$(document).ready(function() {
var tax_code_count = <?= sizeof($tax_codes) ?>;
if (tax_code_count == 0) {
tax_code_count = 1;
}
var hide_show_remove_tax_code = function() {
if ($("input[name*='tax_code']:enabled").length > 1) {
$(".remove_tax_code").show();
} else {
$(".remove_tax_code").hide();
}
};
var add_tax_code = function() {
var id = $(this).parent().find("input[name='tax_code[]']").attr('id');
id = id.replace(/.*?_(\d+)$/g, "$1");
var previous_tax_code_id = 'tax_code_' + id;
var block = $(this).parent().clone(true);
var new_block = block.insertAfter($(this).parent());
++tax_code_count;
var new_tax_code_id = 'tax_code_' + tax_code_count;
$(new_block).find('label').html("<?= lang('Taxes.tax_code') ?> " + tax_code_count).attr('for', new_tax_code_id).attr('class', 'control-label col-xs-2');
$(new_block).find("input[name='tax_code[]']").attr('id', new_tax_code_id).removeAttr('disabled').attr('class', 'form-control text-uppercase required input-sm').val('');
$(new_block).find("input[name='tax_code_name[]']").removeAttr('disabled').attr('class', 'form-control required input-sm').val('');
$(new_block).find("input[name='city[]']").removeAttr('disabled').attr('class', 'form-control input-sm').val('');
$(new_block).find("input[name='state[]']").removeAttr('disabled').attr('class', 'form-control input-sm').val('');
$(new_block).find("input[name='tax_code_id[]']").val('-1');
hide_show_remove_tax_code();
};
var remove_tax_code = function() {
$(this).parent().remove();
hide_show_remove_tax_code();
};
var init_add_remove_tax_codes = function() {
$('.add_tax_code').click(add_tax_code);
$('.remove_tax_code').click(remove_tax_code);
hide_show_remove_tax_code();
};
init_add_remove_tax_codes();
// Run validator once for all fields
$.validator.addMethod('check4TaxCodeDups', function(value, element) {
var value_count = 0;
$("input[name='tax_code[]']").each(function() {
value_count = $(this).val() == value ? value_count + 1 : value_count;
});
return value_count <= 1;
}, "<?= lang('Taxes.tax_code_duplicate') ?>");
$.validator.addMethod('validateTaxCodeCharacters', function(value, element) {
return (value.indexOf('_') == -1);
}, "<?= lang('Taxes.tax_code_invalid_chars') ?>");
$.validator.addMethod('requireTaxCode', function(value, element) {
return value.trim() != '';
}, "<?= lang('Taxes.tax_code_required') ?>");
$('#tax_codes_form').validate($.extend(form_support.handler, {
submitHandler: function(form, event) {
$(form).ajaxSubmit({
success: function(response) {
$.notify({
message: response.message
}, {
type: response.success ? 'success' : 'danger'
});
$("#tax_codes").load('<?= "taxes/ajax_tax_codes" ?>', init_add_remove_tax_codes);
},
dataType: 'json'
});
},
invalidHandler: function(event, validator) {
$.notify("<?= lang('Common.correct_errors') ?>");
},
errorLabelContainer: "#tax_code_error_message_box"
}));
<?php
$i = 0;
foreach ($tax_codes as $tax_code => $tax_code_data) {
?>
$('<?= '#tax_code_' . ++$i ?>').rules("add", {
requireTaxCode: true,
check4TaxCodeDups: true,
validateTaxCodeCharacters: true
});
<?php } ?>
});
</script>