From 0569275c4e1bc2ab6910b040d3df6da621548d2f Mon Sep 17 00:00:00 2001 From: jekkos-t520 Date: Sat, 6 Dec 2014 10:46:16 +0100 Subject: [PATCH] Add receivings invoice number enable/disable Ignore invoice number unique constraint when invoice is disabled --- application/controllers/receivings.php | 10 ++++- application/libraries/Receiving_lib.php | 17 ++++++++ application/views/receivings/receiving.php | 46 ++++++++++++++-------- 3 files changed, 55 insertions(+), 18 deletions(-) diff --git a/application/controllers/receivings.php b/application/controllers/receivings.php index 0b8b98ca4..23d1bb50c 100644 --- a/application/controllers/receivings.php +++ b/application/controllers/receivings.php @@ -57,6 +57,11 @@ class Receivings extends Secure_area $this->receiving_lib->set_comment($this->input->post('comment')); } + function set_invoice_number_enabled() + { + $this->receiving_lib->set_invoice_number_enabled($this->input->post('recv_invoice_number_enabled')); + } + function set_invoice_number() { $this->receiving_lib->set_invoice_number($this->input->post('recv_invoice_number')); @@ -193,13 +198,14 @@ class Receivings extends Secure_area $data['supplier']=$suppl_info->company_name; // first_name.' '.$suppl_info->last_name; } $invoice_number=$this->_substitute_invoice_number($suppl_info); - if ($this->Receiving->invoice_number_exists($invoice_number)) + if ($this->receiving_lib->is_invoice_number_enabled() && $this->Receiving->invoice_number_exists($invoice_number)) { $data['error']=$this->lang->line('recvs_invoice_number_duplicate'); $this->_reload($data); } else { + $invoice_number = $this->receiving_lib->is_invoice_number_enabled() ? $invoice_number : NULL; $data['invoice_number']=$invoice_number; $data['payment_type']=$this->input->post('payment_type'); //SAVE receiving to database @@ -326,7 +332,7 @@ class Receivings extends Secure_area $data['supplier']=$suppl_info->company_name; // first_name.' '.$info->last_name; } $data['invoice_number']=$this->_substitute_invoice_number($suppl_info); - + $data['invoice_number_enabled']=$this->receiving_lib->is_invoice_number_enabled(); $this->load->view("receivings/receiving",$data); $this->_remove_duplicate_cookies(); } diff --git a/application/libraries/Receiving_lib.php b/application/libraries/Receiving_lib.php index b8e07cf16..6fe939728 100644 --- a/application/libraries/Receiving_lib.php +++ b/application/libraries/Receiving_lib.php @@ -87,6 +87,23 @@ class Receiving_lib { $this->CI->session->unset_userdata('recv_invoice_number'); } + + function is_invoice_number_enabled() + { + return $this->CI->session->userdata('recv_invoice_number_enabled') == 'true' || + $this->CI->session->userdata('recv_invoice_number_enabled') == '1'; + } + + function set_invoice_number_enabled($invoice_number_enabled) + { + return $this->CI->session->set_userdata('recv_invoice_number_enabled', $invoice_number_enabled); + } + + function clear_invoice_number_enabled() + { + $enable = $this->CI->config->config['recv_invoice_enable']; + $this->set_invoice_number_enabled($enable); + } function set_stock_source($stock_source) { diff --git a/application/views/receivings/receiving.php b/application/views/receivings/receiving.php index 92c18833f..fd60c0775 100644 --- a/application/views/receivings/receiving.php +++ b/application/views/receivings/receiving.php @@ -233,19 +233,19 @@ else
- 'finish_sale_form')); ?> + 'finish_receiving_form')); ?>
'comment','id'=>'comment','value'=>$comment,'rows'=>'4','cols'=>'23'));?>

-
+
lang->line('recvs_complete_receiving') ?>
- 'cancel_sale_form')); ?> -
- lang->line('recvs_cancel_receving')?> + 'cancel_receiving_form')); ?> +
+ lang->line('recvs_cancel_receiving')?>
@@ -255,7 +255,7 @@ else { ?>
- 'finish_sale_form')); ?> + 'finish_receiving_form')); ?>
'comment','id'=>'comment','value'=>$comment,'rows'=>'4','cols'=>'23'));?> @@ -269,7 +269,15 @@ else lang->line('recvs_invoice_enable'); ?> - 'recv_invoice_enable','id'=>'recv_invoice_enable','size'=>10,'checked'=>$this->config->item('recv_invoice_enable')));?> + 'recv_invoice_enable','id'=>'recv_invoice_enable','size'=>10,'checked'=>'checked')); + } + else + { + echo form_checkbox(array('name'=>'recv_invoice_enable','id'=>'recv_invoice_enable','size'=>10)); + } + ?> @@ -306,14 +314,14 @@ else
-
+
lang->line('recvs_complete_receiving') ?>
- 'cancel_sale_form')); ?> -
+ 'cancel_receiving_form')); ?> +
lang->line('recvs_cancel_receiving')?>
@@ -362,7 +370,8 @@ $(document).ready(function() var enable_invoice_number = function() { - if ($("#recv_invoice_enable").is(":checked")) + var enabled = $("#recv_invoice_enable").is(":checked"); + if (enabled) { $("#recv_invoice_number").removeAttr("disabled").parents('tr').show(); } @@ -370,11 +379,16 @@ $(document).ready(function() { $("#recv_invoice_number").attr("disabled", "disabled").parents('tr').hide(); } + return enabled; } enable_invoice_number(); - $("#recv_invoice_enable").change(enable_invoice_number); + $("#recv_invoice_enable").change(function() { + var enabled = enable_invoice_number(); + $.post('', {recv_invoice_number_enabled: enabled}); + + }); $('#item,#supplier').click(function() { @@ -401,19 +415,19 @@ $(document).ready(function() $(this).attr('value',"lang->line('recvs_start_typing_supplier_name'); ?>"); }); - $("#finish_sale_button").click(function() + $("#finish_receiving_button").click(function() { if (confirm('lang->line("recvs_confirm_finish_receiving"); ?>')) { - $('#finish_sale_form').submit(); + $('#finish_receiving_form').submit(); } }); - $("#cancel_sale_button").click(function() + $("#cancel_receiving_button").click(function() { if (confirm('lang->line("recvs_confirm_cancel_receiving"); ?>')) { - $('#cancel_sale_form').submit(); + $('#cancel_receiving_form').submit(); } });