diff --git a/application/controllers/Expenses.php b/application/controllers/Expenses.php index 9f852dae5..e4c9639ca 100644 --- a/application/controllers/Expenses.php +++ b/application/controllers/Expenses.php @@ -159,6 +159,12 @@ class Expenses extends Secure_Controller } } + public function ajax_check_amount() + { + $parsed_value = parse_decimals(array_pop($this->input->post())); + echo json_encode(array('success' => $parsed_value !== FALSE, 'amount' => to_currency_no_money($parsed_value))); + } + public function delete() { $expenses_to_delete = $this->input->post('ids'); diff --git a/application/controllers/Giftcards.php b/application/controllers/Giftcards.php index 4b37366dd..a988361b8 100644 --- a/application/controllers/Giftcards.php +++ b/application/controllers/Giftcards.php @@ -131,7 +131,7 @@ class Giftcards extends Secure_Controller public function ajax_check_number_giftcard() { $parsed_value = parse_decimals($this->input->post('giftcard_amount')); - echo json_encode(array('success' => $parsed_value !== FALSE, 'giftcard_amount' => $parsed_value)); + echo json_encode(array('success' => $parsed_value !== FALSE, 'giftcard_amount' => to_currency_no_money($parsed_value))); } public function delete() diff --git a/application/language/en-US/expenses_lang.php b/application/language/en-US/expenses_lang.php index d00e6b208..2496630d2 100644 --- a/application/language/en-US/expenses_lang.php +++ b/application/language/en-US/expenses_lang.php @@ -2,6 +2,7 @@ $lang["expenses_add_item"] = "Add Expense"; $lang["expenses_amount"] = "Amount"; +$lang["expenses_tax_amount"] = "Amount"; $lang["expenses_amount_number"] = "Amount must be a number"; $lang["expenses_amount_required"] = "Expense Amount required"; $lang["expenses_by_category"] = "Category"; diff --git a/application/views/configs/locale_config.php b/application/views/configs/locale_config.php index 5ac983086..1e98d6829 100644 --- a/application/views/configs/locale_config.php +++ b/application/views/configs/locale_config.php @@ -258,7 +258,6 @@ $(document).ready(function() 'thousands_separator': $('#thousands_separator').is(':checked') }, dataFilter: function(data) { - setup_csrf_token(); var response = JSON.parse(data); $('#number_locale_example').text(response.number_locale_example); $('#currency_symbol').val(response.currency_symbol); diff --git a/application/views/expenses/form.php b/application/views/expenses/form.php index fdede11a7..248f9e871 100644 --- a/application/views/expenses/form.php +++ b/application/views/expenses/form.php @@ -188,6 +188,18 @@ $(document).ready(function() }); }; + var amount_validator = function(field) { + return { + url: "", + type: 'POST', + dataFilter: function(data) { + var response = JSON.parse(data); + $(field).val(response.amount); + return response.success; + } + } + } + $('#expenses_edit_form').validate($.extend( { submitHandler: function(form) @@ -204,7 +216,11 @@ $(document).ready(function() amount: { required: true, - number: true + remote: amount_validator("#amount") + }, + tax_amount: + { + remote: amount_validator("#tax_amount") } }, messages: @@ -218,7 +234,11 @@ $(document).ready(function() amount: { required: 'lang->line('expenses_amount_required'); ?>', - number: 'lang->line('expenses_amount_number'); ?>' + remote: 'lang->line('expenses_amount_number'); ?>' + }, + tax_amount: + { + remote: 'lang->line('expenses_tax_amount_number'); ?>' } } }, form_support.error)); diff --git a/application/views/giftcards/form.php b/application/views/giftcards/form.php index 6004b96e1..dc9091918 100644 --- a/application/views/giftcards/form.php +++ b/application/views/giftcards/form.php @@ -129,9 +129,8 @@ $(document).ready(function() 'amount': $('#giftcard_amount').val() }, dataFilter: function(data) { - setup_csrf_token(); var response = JSON.parse(data); - $('#giftcard_amount').text(response.value); + $('#giftcard_amount').val(response.giftcard_amount); return response.success; } } diff --git a/application/views/partial/header_js.php b/application/views/partial/header_js.php index c61e507ac..b075c2fa5 100644 --- a/application/views/partial/header_js.php +++ b/application/views/partial/header_js.php @@ -40,22 +40,17 @@ } } - return ajax.apply(this, arguments); + var result = ajax.apply(this, arguments); + + setup_csrf_token(); + + return result; }; var setup_csrf_token = function() { $('input[name="security->get_csrf_token_name(); ?>"]').val(csrf_token()); }; - setup_csrf_token(); - - $.ajaxSetup({ - dataFilter: function(data) { - setup_csrf_token(); - return data; - } - }); - var submit = $.fn.submit; $.fn.submit = function() {