mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-05-10 00:34:17 -04:00
- 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>
129 lines
4.9 KiB
PHP
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>
|