From 7a91388d8d4f483c2e904656fd8219c22e6a363f Mon Sep 17 00:00:00 2001 From: Joshua Fernandes Date: Sat, 22 Apr 2017 11:12:39 +0530 Subject: [PATCH 1/6] giftcard random number --- application/controllers/Giftcards.php | 9 +++++++-- application/models/Giftcard.php | 27 +++++++++++++++++++++++++++ application/views/giftcards/form.php | 14 +++----------- database/giftcard_random.sql | 3 +++ 4 files changed, 40 insertions(+), 13 deletions(-) create mode 100644 database/giftcard_random.sql diff --git a/application/controllers/Giftcards.php b/application/controllers/Giftcards.php index 50241b65c..61b23e999 100644 --- a/application/controllers/Giftcards.php +++ b/application/controllers/Giftcards.php @@ -64,7 +64,7 @@ class Giftcards extends Secure_Controller $data['selected_person_name'] = ($giftcard_id > 0 && isset($giftcard_info->person_id)) ? $giftcard_info->first_name . ' ' . $giftcard_info->last_name : ''; $data['selected_person_id'] = $giftcard_info->person_id; - $data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : $this->Giftcard->get_max_number()->giftcard_number + 1; + $data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : ''; $data['giftcard_id'] = $giftcard_id; $data['giftcard_value'] = $giftcard_info->value; @@ -75,9 +75,14 @@ class Giftcards extends Secure_Controller public function save($giftcard_id = -1) { + if($giftcard_id == -1): + $giftcard_number = $this->Giftcard->generate_unique_giftcard_name($this->input->post('value')); + else: + $giftcard_number = $this->input->post('giftcard_number'); + endif; $giftcard_data = array( 'record_time' => date('Y-m-d H:i:s'), - 'giftcard_number' => $this->input->post('giftcard_number'), + 'giftcard_number' => $giftcard_number, 'value' => parse_decimals($this->input->post('value')), 'person_id' => $this->input->post('person_id') == '' ? NULL : $this->input->post('person_id') ); diff --git a/application/models/Giftcard.php b/application/models/Giftcard.php index 8ff5d3d3a..b19756148 100644 --- a/application/models/Giftcard.php +++ b/application/models/Giftcard.php @@ -256,5 +256,32 @@ class Giftcard extends CI_Model $this->db->where('giftcard_number', $giftcard_number); $this->db->update('giftcards', array('value' => $value)); } + + /* + Determines if a given giftcard_name esists + */ + public function exists_gitcard_name($giftcard_name) + { + $giftcard_name = strtoupper($giftcard_name); + $this->db->from('giftcards'); + $this->db->where('giftcard_number', $giftcard_name); + $this->db->where('deleted', 0); + + return ($this->db->get()->num_rows() == 1); + } + + /* + Generate unique gift card name/number + */ + public function generate_unique_giftcard_name($value) + { + $value = str_replace('.', 'DE', $value); + $random = bin2hex(openssl_random_pseudo_bytes(3)); + $giftcard_name = (string)$random.'-'.$value; + if($this->exists_gitcard_name($giftcard_name)){ + $this->generate_unique_giftcard_name($value); + } + return strtoupper($giftcard_name); + } } ?> diff --git a/application/views/giftcards/form.php b/application/views/giftcards/form.php index 1ac780a66..0bc575f0b 100644 --- a/application/views/giftcards/form.php +++ b/application/views/giftcards/form.php @@ -17,8 +17,9 @@ +
- lang->line('giftcards_giftcard_number'), 'name', array('class'=>'required control-label col-xs-3')); ?> + lang->line('giftcards_giftcard_number'), 'name', array('class'=>'control-label col-xs-3')); ?>
'giftcard_number', @@ -28,6 +29,7 @@ );?>
+
lang->line('giftcards_card_value'), 'name', array('class'=>'required control-label col-xs-3')); ?> @@ -100,11 +102,6 @@ $(document).ready(function() }, rules: { - giftcard_number: - { - required:true, - number:true - }, value: { required:true, @@ -113,11 +110,6 @@ $(document).ready(function() }, messages: { - giftcard_number: - { - required:"lang->line('giftcards_number_required'); ?>", - number:"lang->line('giftcards_number'); ?>" - }, value: { required:"lang->line('giftcards_value_required'); ?>", diff --git a/database/giftcard_random.sql b/database/giftcard_random.sql new file mode 100644 index 000000000..d210f282c --- /dev/null +++ b/database/giftcard_random.sql @@ -0,0 +1,3 @@ +-- alter giftcard field number to be varchar + +ALTER TABLE `ospos_giftcards` CHANGE `giftcard_number` `giftcard_number` VARCHAR(255) NULL; \ No newline at end of file From 6dc49ca00ea9a994f8cac018c2f0f93a93d7a1af Mon Sep 17 00:00:00 2001 From: Joshua Fernandes Date: Sat, 22 Apr 2017 12:20:32 +0530 Subject: [PATCH 2/6] sales fixes --- application/controllers/Sales.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/application/controllers/Sales.php b/application/controllers/Sales.php index 0624fa8fb..9814999f5 100644 --- a/application/controllers/Sales.php +++ b/application/controllers/Sales.php @@ -195,10 +195,12 @@ class Sales extends Secure_Controller public function add_payment() { $data = array(); - $this->form_validation->set_rules('amount_tendered', 'lang:sales_amount_tendered', 'trim|required|callback_numeric'); $payment_type = $this->input->post('payment_type'); - + if($payment_type != $this->lang->line('sales_giftcard')) + $this->form_validation->set_rules('amount_tendered', 'lang:sales_amount_tendered', 'trim|required|callback_numeric'); + else + $this->form_validation->set_rules('amount_tendered', 'lang:sales_amount_tendered', 'trim|required'); if($this->form_validation->run() == FALSE) { if($payment_type == $this->lang->line('sales_giftcard')) From 621a74653da615f82bc81a9f3c63ed4cb0f9bb4a Mon Sep 17 00:00:00 2001 From: Joshua Fernandes Date: Sat, 22 Apr 2017 16:54:47 +0530 Subject: [PATCH 3/6] requested changes --- application/controllers/Config.php | 1 + application/controllers/Giftcards.php | 17 ++++++++++---- application/controllers/Sales.php | 6 +++-- application/language/ar-EG/config_lang.php | 3 +++ application/language/de-CH/config_lang.php | 3 +++ application/language/de/config_lang.php | 3 +++ application/language/en/config_lang.php | 3 +++ application/language/es/config_lang.php | 3 +++ application/language/fr/config_lang.php | 1 + application/language/hr-HR/config_lang.php | 3 +++ application/language/hu-HU/config_lang.php | 3 +++ application/language/id/config_lang.php | 3 +++ application/language/nl-BE/config_lang.php | 1 + application/language/pt-BR/config_lang.php | 2 ++ application/language/ru/config_lang.php | 3 +++ application/language/sv/config_lang.php | 3 +++ application/language/th/config_lang.php | 3 +++ application/language/tr/config_lang.php | 3 +++ application/language/zh/config_lang.php | 3 +++ application/views/configs/general_config.php | 20 ++++++++++++++++ application/views/giftcards/form.php | 24 +++++++++++++++++--- database/3.0.2_to_3.1.0.sql | 8 +++++++ database/giftcard_random.sql | 3 --- database/tables.sql | 5 ++-- 24 files changed, 112 insertions(+), 15 deletions(-) delete mode 100644 database/giftcard_random.sql diff --git a/application/controllers/Config.php b/application/controllers/Config.php index 708d86c93..e6d05cf8d 100644 --- a/application/controllers/Config.php +++ b/application/controllers/Config.php @@ -271,6 +271,7 @@ class Config extends Secure_Controller 'custom9_name' => $this->input->post('custom9_name'), 'custom10_name' => $this->input->post('custom10_name'), 'statistics' => $this->input->post('statistics') != NULL, + 'giftcard_number' => $this->input->post('giftcard_number'), ); $result = $this->Appconfig->batch_save($batch_save_data); diff --git a/application/controllers/Giftcards.php b/application/controllers/Giftcards.php index 61b23e999..16e871702 100644 --- a/application/controllers/Giftcards.php +++ b/application/controllers/Giftcards.php @@ -12,7 +12,8 @@ class Giftcards extends Secure_Controller public function index() { $data['table_headers'] = $this->xss_clean(get_giftcards_manage_table_headers()); - + var_dump($this->Giftcard->get_max_number()); + exit(); $this->load->view('giftcards/manage', $data); } @@ -64,7 +65,12 @@ class Giftcards extends Secure_Controller $data['selected_person_name'] = ($giftcard_id > 0 && isset($giftcard_info->person_id)) ? $giftcard_info->first_name . ' ' . $giftcard_info->last_name : ''; $data['selected_person_id'] = $giftcard_info->person_id; - $data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : ''; + if($this->config->item('giftcard_number') == "random"){ + $data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : ''; + } + else{ + $data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : $this->Giftcard->get_max_number()->giftcard_number + 1; + } $data['giftcard_id'] = $giftcard_id; $data['giftcard_value'] = $giftcard_info->value; @@ -75,11 +81,12 @@ class Giftcards extends Secure_Controller public function save($giftcard_id = -1) { - if($giftcard_id == -1): + if($giftcard_id == -1 && trim($this->input->post('giftcard_number')) == ''){ $giftcard_number = $this->Giftcard->generate_unique_giftcard_name($this->input->post('value')); - else: + } + else{ $giftcard_number = $this->input->post('giftcard_number'); - endif; + } $giftcard_data = array( 'record_time' => date('Y-m-d H:i:s'), 'giftcard_number' => $giftcard_number, diff --git a/application/controllers/Sales.php b/application/controllers/Sales.php index 9814999f5..00c3c8024 100644 --- a/application/controllers/Sales.php +++ b/application/controllers/Sales.php @@ -197,10 +197,12 @@ class Sales extends Secure_Controller $data = array(); $payment_type = $this->input->post('payment_type'); - if($payment_type != $this->lang->line('sales_giftcard')) + if($payment_type != $this->lang->line('sales_giftcard')){ $this->form_validation->set_rules('amount_tendered', 'lang:sales_amount_tendered', 'trim|required|callback_numeric'); - else + } + else{ $this->form_validation->set_rules('amount_tendered', 'lang:sales_amount_tendered', 'trim|required'); + } if($this->form_validation->run() == FALSE) { if($payment_type == $this->lang->line('sales_giftcard')) diff --git a/application/language/ar-EG/config_lang.php b/application/language/ar-EG/config_lang.php index cd1aa0e3a..ca8ecd725 100644 --- a/application/language/ar-EG/config_lang.php +++ b/application/language/ar-EG/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = "فاصل الاف"; $lang["config_timezone"] = "المنطقة الزمنية"; $lang["config_top"] = "علوى"; $lang["config_website"] = "موقع الشركة"; +$lang["config_giftcard_number"] = ""; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/language/de-CH/config_lang.php b/application/language/de-CH/config_lang.php index 10ea8b090..838c1a38c 100644 --- a/application/language/de-CH/config_lang.php +++ b/application/language/de-CH/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = "Tausendertrennzeichen"; $lang["config_timezone"] = "Zeitzone"; $lang["config_top"] = "Top"; $lang["config_website"] = "Website"; +$lang["config_giftcard_number"] = ""; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/language/de/config_lang.php b/application/language/de/config_lang.php index 70fa91ac5..ef497031d 100644 --- a/application/language/de/config_lang.php +++ b/application/language/de/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = "Tausendertrennzeichen"; $lang["config_timezone"] = "Zeitzone"; $lang["config_top"] = "Top"; $lang["config_website"] = "Website"; +$lang["config_giftcard_number"] = ""; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/language/en/config_lang.php b/application/language/en/config_lang.php index 35537e98b..3c9cfd181 100644 --- a/application/language/en/config_lang.php +++ b/application/language/en/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = "Thousands Separator"; $lang["config_timezone"] = "Timezone"; $lang["config_top"] = "Top"; $lang["config_website"] = "Website"; +$lang["config_giftcard_number"] = "Gift Card Number"; +$lang["config_giftcard_series"] = "Generate in Series"; +$lang["config_giftcard_random"] = "Generate Random"; \ No newline at end of file diff --git a/application/language/es/config_lang.php b/application/language/es/config_lang.php index caa5a9c20..28be18bc6 100644 --- a/application/language/es/config_lang.php +++ b/application/language/es/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = "Separador de miles"; $lang["config_timezone"] = "Zona Horaria"; $lang["config_top"] = "Arriba"; $lang["config_website"] = "Sitio Web"; +$lang["config_giftcard_number"] = ""; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/language/fr/config_lang.php b/application/language/fr/config_lang.php index f0dafb2c9..499b3c3cc 100644 --- a/application/language/fr/config_lang.php +++ b/application/language/fr/config_lang.php @@ -219,3 +219,4 @@ $lang["config_thousands_separator"] = "Thousands Separator"; $lang["config_timezone"] = "Fuseau Horaire"; $lang["config_top"] = "Top"; $lang["config_website"] = "Site-web"; +$lang["config_giftcard_number"] = ""; \ No newline at end of file diff --git a/application/language/hr-HR/config_lang.php b/application/language/hr-HR/config_lang.php index afe64b4e6..56fad0935 100644 --- a/application/language/hr-HR/config_lang.php +++ b/application/language/hr-HR/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = "Razdjelnik za tisućice"; $lang["config_timezone"] = "Vremenska zona"; $lang["config_top"] = "Top"; $lang["config_website"] = "web strana"; +$lang["config_giftcard_number"] = ""; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/language/hu-HU/config_lang.php b/application/language/hu-HU/config_lang.php index 7265ae24f..f74029809 100644 --- a/application/language/hu-HU/config_lang.php +++ b/application/language/hu-HU/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = "Ezres elválasztó"; $lang["config_timezone"] = "Időzóna"; $lang["config_top"] = "Felül"; $lang["config_website"] = "Weboldal"; +$lang["config_giftcard_number"] = ""; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/language/id/config_lang.php b/application/language/id/config_lang.php index d277e34fb..34f580878 100644 --- a/application/language/id/config_lang.php +++ b/application/language/id/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = "Pemisah Ribuan"; $lang["config_timezone"] = "Zona Waktu"; $lang["config_top"] = "Atas"; $lang["config_website"] = "Situs Perusahaan"; +$lang["config_giftcard_number"] = ""; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/language/nl-BE/config_lang.php b/application/language/nl-BE/config_lang.php index 02ec92d5d..4221ec4b0 100755 --- a/application/language/nl-BE/config_lang.php +++ b/application/language/nl-BE/config_lang.php @@ -219,3 +219,4 @@ $lang["config_thousands_separator"] = "duizenden Separator"; $lang["config_timezone"] = "Tijdzone"; $lang["config_top"] = "Top"; $lang["config_website"] = "Website"; +$lang["config_giftcard_number"] = ""; \ No newline at end of file diff --git a/application/language/pt-BR/config_lang.php b/application/language/pt-BR/config_lang.php index 805e5ce25..1a2311b7b 100644 --- a/application/language/pt-BR/config_lang.php +++ b/application/language/pt-BR/config_lang.php @@ -219,3 +219,5 @@ $lang["config_thousands_separator"] = "Separador de milhar"; $lang["config_timezone"] = "Fuso horário"; $lang["config_top"] = "Topo"; $lang["config_website"] = "Site da internet"; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/language/ru/config_lang.php b/application/language/ru/config_lang.php index 9f8bbb344..9306d4c85 100644 --- a/application/language/ru/config_lang.php +++ b/application/language/ru/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = "Thousands Separator"; $lang["config_timezone"] = "Часовой пояс"; $lang["config_top"] = "Top"; $lang["config_website"] = "Веб-сайт"; +$lang["config_giftcard_number"] = ""; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/language/sv/config_lang.php b/application/language/sv/config_lang.php index 009e34bbf..97bcbedc4 100644 --- a/application/language/sv/config_lang.php +++ b/application/language/sv/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = ""; $lang["config_timezone"] = ""; $lang["config_top"] = ""; $lang["config_website"] = ""; +$lang["config_giftcard_number"] = ""; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/language/th/config_lang.php b/application/language/th/config_lang.php index d303fdb48..fa4942f7a 100644 --- a/application/language/th/config_lang.php +++ b/application/language/th/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = "ตัวคั่นหลักพั $lang["config_timezone"] = "โซนเวลา"; $lang["config_top"] = "ด้านบน"; $lang["config_website"] = "เว็บไซต์"; +$lang["config_giftcard_number"] = ""; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/language/tr/config_lang.php b/application/language/tr/config_lang.php index 0ba3883af..f1ed870ec 100644 --- a/application/language/tr/config_lang.php +++ b/application/language/tr/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = "Thousands Separator"; $lang["config_timezone"] = "Saat Dilimi"; $lang["config_top"] = "Üst"; $lang["config_website"] = "Website"; +$lang["config_giftcard_number"] = ""; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/language/zh/config_lang.php b/application/language/zh/config_lang.php index a8ebb1965..501e9020a 100755 --- a/application/language/zh/config_lang.php +++ b/application/language/zh/config_lang.php @@ -219,3 +219,6 @@ $lang["config_thousands_separator"] = "Thousands Separator"; $lang["config_timezone"] = "時區"; $lang["config_top"] = "Top"; $lang["config_website"] = "網站"; +$lang["config_giftcard_number"] = ""; +$lang["config_giftcard_series"] = ""; +$lang["config_giftcard_random"] = ""; \ No newline at end of file diff --git a/application/views/configs/general_config.php b/application/views/configs/general_config.php index 49f99b886..b8a3405c3 100644 --- a/application/views/configs/general_config.php +++ b/application/views/configs/general_config.php @@ -147,6 +147,26 @@
+
+ lang->line('config_giftcard_number'), 'giftcard_number', array('class' => 'control-label col-xs-2')); ?> +
+ + +
+
+
lang->line('config_statistics'), 'statistics', array('class' => 'control-label col-xs-2')); ?>
diff --git a/application/views/giftcards/form.php b/application/views/giftcards/form.php index 0bc575f0b..210927c79 100644 --- a/application/views/giftcards/form.php +++ b/application/views/giftcards/form.php @@ -17,9 +17,14 @@
- + config->item('giftcard_number') == "series"){ + $class = " required"; + } + ?>
- lang->line('giftcards_giftcard_number'), 'name', array('class'=>'control-label col-xs-3')); ?> + lang->line('giftcards_giftcard_number'), 'name', array('class'=>'control-label col-xs-3'.$class)); ?>
'giftcard_number', @@ -29,7 +34,6 @@ );?>
-
lang->line('giftcards_card_value'), 'name', array('class'=>'required control-label col-xs-3')); ?> @@ -102,6 +106,13 @@ $(document).ready(function() }, rules: { + config->item('giftcard_number') == "series"){ ?> + giftcard_number: + { + required:true, + number:true + }, + value: { required:true, @@ -110,6 +121,13 @@ $(document).ready(function() }, messages: { + config->item('giftcard_number') == "series"){ ?> + giftcard_number: + { + required:"lang->line('giftcards_number_required'); ?>", + number:"lang->line('giftcards_number'); ?>" + }, + value: { required:"lang->line('giftcards_value_required'); ?>", diff --git a/database/3.0.2_to_3.1.0.sql b/database/3.0.2_to_3.1.0.sql index ec9465759..fc07c4509 100644 --- a/database/3.0.2_to_3.1.0.sql +++ b/database/3.0.2_to_3.1.0.sql @@ -216,3 +216,11 @@ ALTER TABLE `ospos_people` INSERT INTO `ospos_app_config` (`key`, `value`) VALUES ('financial_year','1'); + +-- alter giftcard field number to be varchar + +ALTER TABLE `ospos_giftcards` CHANGE `giftcard_number` `giftcard_number` VARCHAR(255) NULL; + +-- add support for select between gitcard number series or random + +INSERT INTO `ospos_app_config` (`key`, `value`) VALUES ('giftcard_number', 'series'); \ No newline at end of file diff --git a/database/giftcard_random.sql b/database/giftcard_random.sql deleted file mode 100644 index d210f282c..000000000 --- a/database/giftcard_random.sql +++ /dev/null @@ -1,3 +0,0 @@ --- alter giftcard field number to be varchar - -ALTER TABLE `ospos_giftcards` CHANGE `giftcard_number` `giftcard_number` VARCHAR(255) NULL; \ No newline at end of file diff --git a/database/tables.sql b/database/tables.sql index fe99ce183..0f007fe9a 100644 --- a/database/tables.sql +++ b/database/tables.sql @@ -94,7 +94,8 @@ INSERT INTO `ospos_app_config` (`key`, `value`) VALUES ('customer_reward_enable',''), ('default_origin_tax_code', ''), ('cash_decimals', '2'), -('financial_year','1'); +('financial_year','1'), +('giftcard_number', 'series'); -- -------------------------------------------------------- @@ -154,7 +155,7 @@ INSERT INTO `ospos_employees` (`username`, `password`, `person_id`, `deleted`, ` CREATE TABLE `ospos_giftcards` ( `record_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `giftcard_id` int(11) NOT NULL AUTO_INCREMENT, - `giftcard_number` int(10) NOT NULL, + `giftcard_number` VARCHAR(255) NULL, `value` decimal(15,2) NOT NULL, `deleted` int(1) NOT NULL DEFAULT '0', `person_id` INT(10) DEFAULT NULL, From 0cd19ca43f46a177c5a9aa130bf41ddc6c7b8fbd Mon Sep 17 00:00:00 2001 From: Joshua Fernandes Date: Sat, 22 Apr 2017 16:56:53 +0530 Subject: [PATCH 4/6] uncommenr var dumb --- application/controllers/Giftcards.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/application/controllers/Giftcards.php b/application/controllers/Giftcards.php index 16e871702..28f3ab23e 100644 --- a/application/controllers/Giftcards.php +++ b/application/controllers/Giftcards.php @@ -12,8 +12,7 @@ class Giftcards extends Secure_Controller public function index() { $data['table_headers'] = $this->xss_clean(get_giftcards_manage_table_headers()); - var_dump($this->Giftcard->get_max_number()); - exit(); + $this->load->view('giftcards/manage', $data); } From 15681edf4371e75eab9b47c3dc633d0525799ea2 Mon Sep 17 00:00:00 2001 From: Joshua Fernandes Date: Sat, 22 Apr 2017 17:29:56 +0530 Subject: [PATCH 5/6] fixed query --- application/models/Giftcard.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/application/models/Giftcard.php b/application/models/Giftcard.php index b19756148..ff4603dcb 100644 --- a/application/models/Giftcard.php +++ b/application/models/Giftcard.php @@ -19,8 +19,10 @@ class Giftcard extends CI_Model public function get_max_number() { $this->db->select_max('giftcard_number'); + $this->db->from('giftcards'); + $this->db->where('giftcard_number REGEXP', "'^[0-9]+$'", FALSE); - return $this->db->get('giftcards')->row(); + return $this->db->get()->row(); } /* From b819442e986ec1e03fba231d9e14f442ac7cb98c Mon Sep 17 00:00:00 2001 From: FrancescoUK Date: Sat, 22 Apr 2017 13:33:27 +0100 Subject: [PATCH 6/6] Fix indentation and regen db scripts --- application/controllers/Giftcards.php | 33 +++++----- application/controllers/Sales.php | 11 ++-- application/models/Giftcard.php | 8 ++- application/views/configs/general_config.php | 66 ++++++++++---------- application/views/giftcards/form.php | 17 ++--- database/database.sql | 5 +- database/migrate_phppos_dist.sql | 5 +- 7 files changed, 77 insertions(+), 68 deletions(-) diff --git a/application/controllers/Giftcards.php b/application/controllers/Giftcards.php index 28f3ab23e..53d633a5d 100644 --- a/application/controllers/Giftcards.php +++ b/application/controllers/Giftcards.php @@ -63,15 +63,17 @@ class Giftcards extends Secure_Controller $giftcard_info = $this->Giftcard->get_info($giftcard_id); $data['selected_person_name'] = ($giftcard_id > 0 && isset($giftcard_info->person_id)) ? $giftcard_info->first_name . ' ' . $giftcard_info->last_name : ''; - $data['selected_person_id'] = $giftcard_info->person_id; - if($this->config->item('giftcard_number') == "random"){ - $data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : ''; + $data['selected_person_id'] = $giftcard_info->person_id; + if($this->config->item('giftcard_number') == "random") + { + $data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : ''; } - else{ - $data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : $this->Giftcard->get_max_number()->giftcard_number + 1; + else + { + $data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : $this->Giftcard->get_max_number()->giftcard_number + 1; } - $data['giftcard_id'] = $giftcard_id; - $data['giftcard_value'] = $giftcard_info->value; + $data['giftcard_id'] = $giftcard_id; + $data['giftcard_value'] = $giftcard_info->value; $data = $this->xss_clean($data); @@ -80,12 +82,13 @@ class Giftcards extends Secure_Controller public function save($giftcard_id = -1) { - if($giftcard_id == -1 && trim($this->input->post('giftcard_number')) == ''){ + $giftcard_number = $this->input->post('giftcard_number'); + + if($giftcard_id == -1 && trim($giftcard_number) == '') + { $giftcard_number = $this->Giftcard->generate_unique_giftcard_name($this->input->post('value')); } - else{ - $giftcard_number = $this->input->post('giftcard_number'); - } + $giftcard_data = array( 'record_time' => date('Y-m-d H:i:s'), 'giftcard_number' => $giftcard_number, @@ -100,12 +103,12 @@ class Giftcards extends Secure_Controller //New giftcard if($giftcard_id == -1) { - echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('giftcards_successful_adding').' '. + echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('giftcards_successful_adding') . ' ' . $giftcard_data['giftcard_number'], 'id' => $giftcard_data['giftcard_id'])); } else //Existing giftcard { - echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('giftcards_successful_updating').' '. + echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('giftcards_successful_updating') . ' ' . $giftcard_data['giftcard_number'], 'id' => $giftcard_id)); } } @@ -113,7 +116,7 @@ class Giftcards extends Secure_Controller { $giftcard_data = $this->xss_clean($giftcard_data); - echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('giftcards_error_adding_updating').' '. + echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('giftcards_error_adding_updating') . ' ' . $giftcard_data['giftcard_number'], 'id' => -1)); } } @@ -124,7 +127,7 @@ class Giftcards extends Secure_Controller if($this->Giftcard->delete_list($giftcards_to_delete)) { - echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('giftcards_successful_deleted').' '. + echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('giftcards_successful_deleted') . ' ' . count($giftcards_to_delete).' '.$this->lang->line('giftcards_one_or_multiple'))); } else diff --git a/application/controllers/Sales.php b/application/controllers/Sales.php index 00c3c8024..c062b7998 100644 --- a/application/controllers/Sales.php +++ b/application/controllers/Sales.php @@ -197,10 +197,12 @@ class Sales extends Secure_Controller $data = array(); $payment_type = $this->input->post('payment_type'); - if($payment_type != $this->lang->line('sales_giftcard')){ + if($payment_type != $this->lang->line('sales_giftcard')) + { $this->form_validation->set_rules('amount_tendered', 'lang:sales_amount_tendered', 'trim|required|callback_numeric'); } - else{ + else + { $this->form_validation->set_rules('amount_tendered', 'lang:sales_amount_tendered', 'trim|required'); } if($this->form_validation->run() == FALSE) @@ -246,7 +248,7 @@ class Sales extends Secure_Controller { $customer_id = $this->sale_lib->get_customer(); $package_id = $this->Customer->get_info($customer_id)->package_id; - if(isset($package_id) && $package_id!=NULL) + if(!empty($package_id)) { $package_name = $this->Customer_rewards->get_name($package_id); $points = $this->Customer->get_info($customer_id)->points; @@ -259,7 +261,7 @@ class Sales extends Secure_Controller if(($cur_rewards_value - $current_payments_with_rewards) <= 0) { - $data['error'] = $this->lang->line('rewards_remaining_balance'). to_currency($cur_rewards_value); + $data['error'] = $this->lang->line('rewards_remaining_balance') . to_currency($cur_rewards_value); } else { @@ -273,7 +275,6 @@ class Sales extends Secure_Controller $this->sale_lib->add_payment($payment_type, $amount_tendered); } } - } else { diff --git a/application/models/Giftcard.php b/application/models/Giftcard.php index ff4603dcb..033cbe72f 100644 --- a/application/models/Giftcard.php +++ b/application/models/Giftcard.php @@ -279,11 +279,13 @@ class Giftcard extends CI_Model { $value = str_replace('.', 'DE', $value); $random = bin2hex(openssl_random_pseudo_bytes(3)); - $giftcard_name = (string)$random.'-'.$value; - if($this->exists_gitcard_name($giftcard_name)){ + $giftcard_name = (string)$random . '-' . $value; + if($this->exists_gitcard_name($giftcard_name)) + { $this->generate_unique_giftcard_name($value); } - return strtoupper($giftcard_name); + + return strtoupper($giftcard_name); } } ?> diff --git a/application/views/configs/general_config.php b/application/views/configs/general_config.php index b8a3405c3..1d7f44ff3 100644 --- a/application/views/configs/general_config.php +++ b/application/views/configs/general_config.php @@ -60,29 +60,29 @@
-
+
lang->line('config_customer_sales_tax_support'), 'customer_sales_tax_support', array('class' => 'control-label col-xs-2')); ?> -
+
'customer_sales_tax_support', 'id' => 'customer_sales_tax_support', 'value' => 'customer_sales_tax_support', 'checked'=>$this->config->item('customer_sales_tax_support'))); ?> -
-
+
+
-
+
lang->line('config_default_origin_tax_code'), 'default_origin_tax_code', array('class' => 'control-label col-xs-2')); ?> -
+
'default_origin_tax_code', 'id' => 'default_origin_tax_code', 'class' => 'form-control input-sm text-uppercase', 'value'=>$this->config->item('default_origin_tax_code'))); ?> -
-
+
+
-
+
lang->line('config_default_sales_discount'), 'default_sales_discount', array('class' => 'control-label col-xs-2 required')); ?>
@@ -150,20 +150,20 @@
lang->line('config_giftcard_number'), 'giftcard_number', array('class' => 'control-label col-xs-2')); ?>
- + 'giftcard_number', + 'value' => 'series', + 'checked'=>$this->config->item('giftcard_number') === "series")); ?> + lang->line('config_giftcard_series'); ?> + +
@@ -323,24 +323,24 @@ $(document).ready(function() rules: { - default_tax_1_rate: - { + default_tax_1_rate: + { remote: "" - }, + }, default_tax2_rate: { remote: "" }, - lines_per_page: - { - required: true, + lines_per_page: + { + required: true, remote: "" - }, - default_sales_discount: - { - required: true, + }, + default_sales_discount: + { + required: true, remote: "" - } + } }, messages: diff --git a/application/views/giftcards/form.php b/application/views/giftcards/form.php index 210927c79..24f76681c 100644 --- a/application/views/giftcards/form.php +++ b/application/views/giftcards/form.php @@ -18,9 +18,10 @@
config->item('giftcard_number') == "series"){ - $class = " required"; + $class = ''; + if($this->config->item('giftcard_number') == 'series') + { + $class = ' required'; } ?>
@@ -75,13 +76,13 @@ $(document).ready(function() var autocompleter = $("#person_name").autocomplete({ source: '', - minChars: 0, - delay: 15, - cacheLength: 1, + minChars: 0, + delay: 15, + cacheLength: 1, appendTo: '.modal-content', select: fill_value, focus: fill_value - }); + }); // declare submitHandler as an object.. will be reused var submit_form = function() { @@ -136,4 +137,4 @@ $(document).ready(function() } }, form_support.error)); }); - \ No newline at end of file + diff --git a/database/database.sql b/database/database.sql index 71c0699b7..f0564e9e5 100644 --- a/database/database.sql +++ b/database/database.sql @@ -94,7 +94,8 @@ INSERT INTO `ospos_app_config` (`key`, `value`) VALUES ('customer_reward_enable',''), ('default_origin_tax_code', ''), ('cash_decimals', '2'), -('financial_year','1'); +('financial_year','1'), +('giftcard_number', 'series'); -- -------------------------------------------------------- @@ -154,7 +155,7 @@ INSERT INTO `ospos_employees` (`username`, `password`, `person_id`, `deleted`, ` CREATE TABLE `ospos_giftcards` ( `record_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `giftcard_id` int(11) NOT NULL AUTO_INCREMENT, - `giftcard_number` int(10) NOT NULL, + `giftcard_number` VARCHAR(255) NULL, `value` decimal(15,2) NOT NULL, `deleted` int(1) NOT NULL DEFAULT '0', `person_id` INT(10) DEFAULT NULL, diff --git a/database/migrate_phppos_dist.sql b/database/migrate_phppos_dist.sql index 0622dda35..8ace78db8 100644 --- a/database/migrate_phppos_dist.sql +++ b/database/migrate_phppos_dist.sql @@ -94,7 +94,8 @@ INSERT INTO `ospos_app_config` (`key`, `value`) VALUES ('customer_reward_enable',''), ('default_origin_tax_code', ''), ('cash_decimals', '2'), -('financial_year','1'); +('financial_year','1'), +('giftcard_number', 'series'); -- -------------------------------------------------------- @@ -154,7 +155,7 @@ INSERT INTO `ospos_employees` (`username`, `password`, `person_id`, `deleted`, ` CREATE TABLE `ospos_giftcards` ( `record_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `giftcard_id` int(11) NOT NULL AUTO_INCREMENT, - `giftcard_number` int(10) NOT NULL, + `giftcard_number` VARCHAR(255) NULL, `value` decimal(15,2) NOT NULL, `deleted` int(1) NOT NULL DEFAULT '0', `person_id` INT(10) DEFAULT NULL,