From a809807288a08cb2c4db84d59feedfed09bc49d0 Mon Sep 17 00:00:00 2001 From: jekkos-t520 Date: Tue, 17 Feb 2015 16:43:33 +0100 Subject: [PATCH] jsPrintSetup plugin integration All receipt print configuration options present now --- application/controllers/config.php | 20 +- application/language/en/config_lang.php | 20 + application/language/en/sales_lang.php | 1 + application/language/es/config_lang.php | 20 + application/language/es/sales_lang.php | 1 + application/language/fr/config_lang.php | 20 + application/language/fr/sales_lang.php | 1 + application/language/id/config_lang.php | 20 + application/language/id/sales_lang.php | 1 + application/language/nl-BE/config_lang.php | 20 + application/language/nl-BE/sales_lang.php | 1 + application/language/ru/config_lang.php | 20 + application/language/ru/sales_lang.php | 1 + application/language/th/config_lang.php | 20 + application/language/th/sales_lang.php | 1 + application/language/tr/config_lang.php | 20 + application/language/tr/sales_lang.php | 1 + application/language/zh/config_lang.php | 20 + application/language/zh/sales_lang.php | 1 + application/libraries/Sale_lib.php | 6 +- application/views/configs/general_config.php | 11 - application/views/configs/manage.php | 4 + application/views/configs/receipt_config.php | 544 +++++-------------- application/views/sales/receipt.php | 123 +++-- css/receipt.css | 8 +- database/2.3.1_to_2.3.2.sql | 11 +- database/database.sql | 11 +- translations/config_lang.csv | 20 + translations/sales_lang.csv | 1 + 29 files changed, 485 insertions(+), 463 deletions(-) diff --git a/application/controllers/config.php b/application/controllers/config.php index 35c84d697..6880fc778 100644 --- a/application/controllers/config.php +++ b/application/controllers/config.php @@ -37,7 +37,6 @@ class Config extends Secure_area 'return_policy'=>$this->input->post('return_policy'), 'language'=>$this->input->post('language'), 'timezone'=>$this->input->post('timezone'), - 'print_after_sale'=>$this->input->post('print_after_sale'), 'tax_included'=>$this->input->post('tax_included'), 'recv_invoice_format'=>$this->input->post('recv_invoice_format'), 'sales_invoice_format'=>$this->input->post('sales_invoice_format'), @@ -139,6 +138,25 @@ class Config extends Secure_area } + function save_receipt() + { + $batch_save_data=array( + 'print_after_sale'=>$this->input->post('print_after_sale'), + 'receipt_printer'=>$this->input->post('receipt_printer'), + 'receipt_show_taxes'=>$this->input->post('receipt_show_taxes'), + 'print_silently'=>$this->input->post('print_silently'), + 'print_header'=>$this->input->post('print_header'), + 'print_footer'=>$this->input->post('print_footer'), + 'print_top_margin'=>$this->input->post('print_top_margin'), + 'print_left_margin'=>$this->input->post('print_left_margin'), + 'print_bottom_margin'=>$this->input->post('print_bottom_margin'), + 'print_right_margin'=>$this->input->post('print_right_margin') + ); + $result = $this->Appconfig->batch_save( $batch_save_data ); + $success = $result ? true : false; + echo json_encode(array('success'=>$success, 'message'=>$this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully'))); + } + function _handle_logo_upload() { $this->load->helper('directory'); diff --git a/application/language/en/config_lang.php b/application/language/en/config_lang.php index 604467125..c08b743ad 100644 --- a/application/language/en/config_lang.php +++ b/application/language/en/config_lang.php @@ -91,3 +91,23 @@ $lang["config_decimal_point"] = "Decimal Point"; $lang["config_backup_button"] = "Backup"; $lang["config_stock_location_invalid_chars"] = "The stock location name can not contain '_'"; $lang["config_company_logo"] = "Company Logo"; +$lang["config_receipt_printer"] = "Ticket Printer"; +$lang["config_receipt_show_taxes"] = "Show Taxes"; +$lang["config_receipt_info"] = "Receipt Configuration Information"; +$lang["config_receipt_configuration"] = "Ticket Configuration"; +$lang["config_print_footer"] = "Print Browser Footer"; +$lang["config_print_header"] = "Print Browser Header"; +$lang["config_print_silently"] = "Show Print Dialog"; +$lang["config_print_top_margin"] = "Margin Top"; +$lang["config_print_left_margin"] = "Margin Left"; +$lang["config_print_bottom_margin"] = "Margin Bottom"; +$lang["config_print_right_margin"] = "Margin Right"; +$lang["config_print_top_margin_required"] = "The default top margin is a required field"; +$lang["config_print_top_margin_number"] = "The default top margin must be a number"; +$lang["config_print_left_margin_required"] = "The default left margin is a required field"; +$lang["config_print_left_margin_number"] = "The default left margin must be a number"; +$lang["config_print_bottom_margin_required"] = "The default bottom margin is a required field"; +$lang["config_print_bottom_margin_number"] = "The default bottom margin must be a number"; +$lang["config_print_right_margin_required"] = "The default right margin is a required field"; +$lang["config_print_right_margin_number"] = "The default right margin must be a number"; +$lang["config_jsprintsetup_required"] = "Warning! This functionality will only work if you have the FireFox jsPrintSetup addon installed. Save anyway?"; diff --git a/application/language/en/sales_lang.php b/application/language/en/sales_lang.php index c6e6d8912..773898dfa 100644 --- a/application/language/en/sales_lang.php +++ b/application/language/en/sales_lang.php @@ -90,3 +90,4 @@ $lang["sales_unsuccessfully_updated"] = "Sale unsuccessfully updated"; $lang["sales_unsuspend"] = "Unsuspend"; $lang["sales_unsuspend_and_delete"] = ""; $lang["sales_giftcard_balance"] = "Giftcard Balance"; +$lang["sales_discount_included"] = "% discount included"; diff --git a/application/language/es/config_lang.php b/application/language/es/config_lang.php index fd71711e9..4c22acb62 100644 --- a/application/language/es/config_lang.php +++ b/application/language/es/config_lang.php @@ -91,3 +91,23 @@ $lang["config_decimal_point"] = " Decimal Point"; $lang["config_backup_button"] = "Backup"; $lang["config_stock_location_invalid_chars"] = "The stock location name can not contain '_'"; $lang["config_company_logo"] = "Company Logo"; +$lang["config_receipt_printer"] = "Ticket Printer"; +$lang["config_receipt_show_taxes"] = "Show Taxes"; +$lang["config_receipt_info"] = "Receipt Configuration Information"; +$lang["config_receipt_configuration"] = "Ticket Configuration"; +$lang["config_print_footer"] = "Print Browser Footer"; +$lang["config_print_header"] = "Print Browser Header"; +$lang["config_print_silently"] = "Top Margin"; +$lang["config_print_top_margin"] = "Margin Top"; +$lang["config_print_left_margin"] = "Margin Left"; +$lang["config_print_bottom_margin"] = "Margin Bottom"; +$lang["config_print_right_margin"] = "Margin Right"; +$lang["config_print_top_margin_required"] = "The default top margin is a required field"; +$lang["config_print_top_margin_number"] = "The default top margin must be a number"; +$lang["config_print_left_margin_required"] = "The default left margin is a required field"; +$lang["config_print_left_margin_number"] = "The default left margin must be a number"; +$lang["config_print_bottom_margin_required"] = "The default bottom margin is a required field"; +$lang["config_print_bottom_margin_number"] = "The default bottom margin must be a number"; +$lang["config_print_right_margin_required"] = "The default right margin is a required field"; +$lang["config_print_right_margin_number"] = "The default right margin must be a number"; +$lang["config_jsprintsetup_required"] = "Warning! This functionality will only work if you have the FireFox jsPrintSetup addon installed. Save anyway?"; diff --git a/application/language/es/sales_lang.php b/application/language/es/sales_lang.php index 9730e03de..8c51ea821 100644 --- a/application/language/es/sales_lang.php +++ b/application/language/es/sales_lang.php @@ -90,3 +90,4 @@ $lang["sales_unsuccessfully_updated"] = "Ha fallado la actualización de la vent $lang["sales_unsuspend"] = "Retomar"; $lang["sales_unsuspend_and_delete"] = "Retomar y Borrar"; $lang["sales_giftcard_balance"] = "Giftcard Balance"; +$lang["sales_discount_included"] = "% discount included"; diff --git a/application/language/fr/config_lang.php b/application/language/fr/config_lang.php index dc21c4c66..836a7464a 100644 --- a/application/language/fr/config_lang.php +++ b/application/language/fr/config_lang.php @@ -91,3 +91,23 @@ $lang["config_decimal_point"] = " Decimal Point"; $lang["config_backup_button"] = "Backup"; $lang["config_stock_location_invalid_chars"] = "The stock location name can not contain '_'"; $lang["config_company_logo"] = "Company Logo"; +$lang["config_receipt_printer"] = "Ticket Printer"; +$lang["config_receipt_show_taxes"] = "Show Taxes"; +$lang["config_receipt_info"] = "Receipt Configuration Information"; +$lang["config_receipt_configuration"] = "Ticket Configuration"; +$lang["config_print_footer"] = "Print Browser Footer"; +$lang["config_print_header"] = "Print Browser Header"; +$lang["config_print_silently"] = "Show Print Dialog"; +$lang["config_print_top_margin"] = "Margin Top"; +$lang["config_print_left_margin"] = "Margin Left"; +$lang["config_print_bottom_margin"] = "Margin Bottom"; +$lang["config_print_right_margin"] = "Margin Right"; +$lang["config_print_top_margin_required"] = "The default top margin is a required field"; +$lang["config_print_top_margin_number"] = "The default top margin must be a number"; +$lang["config_print_left_margin_required"] = "The default left margin is a required field"; +$lang["config_print_left_margin_number"] = "The default left margin must be a number"; +$lang["config_print_bottom_margin_required"] = "The default bottom margin is a required field"; +$lang["config_print_bottom_margin_number"] = "The default bottom margin must be a number"; +$lang["config_print_right_margin_required"] = "The default right margin is a required field"; +$lang["config_print_right_margin_number"] = "The default right margin must be a number"; +$lang["config_jsprintsetup_required"] = "Warning! This functionality will only work if you have the FireFox jsPrintSetup addon installed. Save anyway?"; diff --git a/application/language/fr/sales_lang.php b/application/language/fr/sales_lang.php index 8c7b184c0..ce161a365 100644 --- a/application/language/fr/sales_lang.php +++ b/application/language/fr/sales_lang.php @@ -90,3 +90,4 @@ $lang["sales_unsuccessfully_updated"] = "Échec d\'édition"; $lang["sales_unsuspend"] = "Débloquer"; $lang["sales_unsuspend_and_delete"] = ""; $lang["sales_giftcard_balance"] = "Giftcard Balance"; +$lang["sales_discount_included"] = "% discount included"; diff --git a/application/language/id/config_lang.php b/application/language/id/config_lang.php index bf3431889..860548d68 100644 --- a/application/language/id/config_lang.php +++ b/application/language/id/config_lang.php @@ -91,3 +91,23 @@ $lang["config_decimal_point"] = "Titik Desimal"; $lang["config_backup_button"] = "Backup"; $lang["config_stock_location_invalid_chars"] = "The stock location name can not contain '_'"; $lang["config_company_logo"] = "Company Logo"; +$lang["config_receipt_printer"] = "Ticket Printer"; +$lang["config_receipt_show_taxes"] = "Show Taxes"; +$lang["config_receipt_info"] = "Receipt Configuration Information"; +$lang["config_receipt_configuration"] = "Ticket Configuration"; +$lang["config_print_footer"] = "Print Browser Footer"; +$lang["config_print_header"] = "Print Browser Header"; +$lang["config_print_silently"] = "Show Print Dialog"; +$lang["config_print_top_margin"] = "Margin Top"; +$lang["config_print_left_margin"] = "Margin Left"; +$lang["config_print_bottom_margin"] = "Margin Bottom"; +$lang["config_print_right_margin"] = "Margin Right"; +$lang["config_print_top_margin_required"] = "The default top margin is a required field"; +$lang["config_print_top_margin_number"] = "The default top margin must be a number"; +$lang["config_print_left_margin_required"] = "The default left margin is a required field"; +$lang["config_print_left_margin_number"] = "The default left margin must be a number"; +$lang["config_print_bottom_margin_required"] = "The default bottom margin is a required field"; +$lang["config_print_bottom_margin_number"] = "The default bottom margin must be a number"; +$lang["config_print_right_margin_required"] = "The default right margin is a required field"; +$lang["config_print_right_margin_number"] = "The default right margin must be a number"; +$lang["config_jsprintsetup_required"] = "Warning! This functionality will only work if you have the FireFox jsPrintSetup addon installed. Save anyway?"; diff --git a/application/language/id/sales_lang.php b/application/language/id/sales_lang.php index a4f186b5c..1fce0f03f 100644 --- a/application/language/id/sales_lang.php +++ b/application/language/id/sales_lang.php @@ -90,3 +90,4 @@ $lang["sales_unsuccessfully_updated"] = "Penjualan tidak berhasil diperbarui"; $lang["sales_unsuspend"] = "Batal Penangguhan"; $lang["sales_unsuspend_and_delete"] = "Batalkan dan hapus penangguhan"; $lang["sales_giftcard_balance"] = "Giftcard Balance"; +$lang["sales_discount_included"] = "% discount included"; diff --git a/application/language/nl-BE/config_lang.php b/application/language/nl-BE/config_lang.php index cfb8518cd..577fd2dff 100755 --- a/application/language/nl-BE/config_lang.php +++ b/application/language/nl-BE/config_lang.php @@ -91,3 +91,23 @@ $lang["config_decimal_point"] = "Decimal Point"; $lang["config_backup_button"] = "Backup"; $lang["config_stock_location_invalid_chars"] = "De bedrijfsnaam moet ingevuld worden"; $lang["config_company_logo"] = "Logo"; +$lang["config_receipt_printer"] = "Ticket Printer"; +$lang["config_receipt_show_taxes"] = "Toon VAT"; +$lang["config_receipt_info"] = "Ticket Instellingen"; +$lang["config_receipt_configuration"] = "Ticket Configuratie"; +$lang["config_print_footer"] = "Print Browser Footer"; +$lang["config_print_header"] = "Print Browser Header"; +$lang["config_print_silently"] = "Marge Boven"; +$lang["config_print_top_margin"] = "Marge Boven"; +$lang["config_print_left_margin"] = "Marge Links"; +$lang["config_print_bottom_margin"] = "Marge Beneden"; +$lang["config_print_right_margin"] = "Marge Rechts"; +$lang["config_print_top_margin_required"] = "The default top margin is a required field"; +$lang["config_print_top_margin_number"] = "The default top margin must be a number"; +$lang["config_print_left_margin_required"] = "The default left margin is a required field"; +$lang["config_print_left_margin_number"] = "The default left margin must be a number"; +$lang["config_print_bottom_margin_required"] = "The default bottom margin is a required field"; +$lang["config_print_bottom_margin_number"] = "The default bottom margin must be a number"; +$lang["config_print_right_margin_required"] = "The default right margin is a required field"; +$lang["config_print_right_margin_number"] = "The default right margin must be a number"; +$lang["config_jsprintsetup_required"] = "Opgelet! Deze functionaliteit werkt enkel met de jsPrintSetup addon in Firefox."; diff --git a/application/language/nl-BE/sales_lang.php b/application/language/nl-BE/sales_lang.php index 41aa9bc34..d06212a83 100755 --- a/application/language/nl-BE/sales_lang.php +++ b/application/language/nl-BE/sales_lang.php @@ -90,3 +90,4 @@ $lang["sales_unsuccessfully_updated"] = "Fout bij het bewaren van ticket"; $lang["sales_unsuspend"] = "Hervat"; $lang["sales_unsuspend_and_delete"] = ""; $lang["sales_giftcard_balance"] = "Waardebon Resterend"; +$lang["sales_discount_included"] = "% korting inbegrepen"; diff --git a/application/language/ru/config_lang.php b/application/language/ru/config_lang.php index e570155a4..9424a3b8c 100644 --- a/application/language/ru/config_lang.php +++ b/application/language/ru/config_lang.php @@ -91,3 +91,23 @@ $lang["config_decimal_point"] = " Decimal Point"; $lang["config_backup_button"] = "Backup"; $lang["config_stock_location_invalid_chars"] = "The stock location name can not contain '_'"; $lang["config_company_logo"] = "Company Logo"; +$lang["config_receipt_printer"] = "Ticket Printer"; +$lang["config_receipt_show_taxes"] = "Show Taxes"; +$lang["config_receipt_info"] = "Receipt Configuration Information"; +$lang["config_receipt_configuration"] = "Ticket Configuration"; +$lang["config_print_footer"] = "Print Browser Footer"; +$lang["config_print_header"] = "Print Browser Header"; +$lang["config_print_silently"] = "Show Print Dialog"; +$lang["config_print_top_margin"] = "Margin Top"; +$lang["config_print_left_margin"] = "Margin Left"; +$lang["config_print_bottom_margin"] = "Margin Bottom"; +$lang["config_print_right_margin"] = "Margin Right"; +$lang["config_print_top_margin_required"] = "The default top margin is a required field"; +$lang["config_print_top_margin_number"] = "The default top margin must be a number"; +$lang["config_print_left_margin_required"] = "The default left margin is a required field"; +$lang["config_print_left_margin_number"] = "The default left margin must be a number"; +$lang["config_print_bottom_margin_required"] = "The default bottom margin is a required field"; +$lang["config_print_bottom_margin_number"] = "The default bottom margin must be a number"; +$lang["config_print_right_margin_required"] = "The default right margin is a required field"; +$lang["config_print_right_margin_number"] = "The default right margin must be a number"; +$lang["config_jsprintsetup_required"] = "Warning! This functionality will only work if you have the FireFox jsPrintSetup addon installed. Save anyway?"; diff --git a/application/language/ru/sales_lang.php b/application/language/ru/sales_lang.php index cfa270934..ef6e485fe 100644 --- a/application/language/ru/sales_lang.php +++ b/application/language/ru/sales_lang.php @@ -90,3 +90,4 @@ $lang["sales_unsuccessfully_updated"] = "Продажа безуспешно о $lang["sales_unsuspend"] = "Разблокировать"; $lang["sales_unsuspend_and_delete"] = "Разблокировать и удалить"; $lang["sales_giftcard_balance"] = "Giftcard Balance"; +$lang["sales_discount_included"] = "% discount included"; diff --git a/application/language/th/config_lang.php b/application/language/th/config_lang.php index d3fec0624..10fd84098 100644 --- a/application/language/th/config_lang.php +++ b/application/language/th/config_lang.php @@ -91,3 +91,23 @@ $lang["config_decimal_point"] = "Decimal Point"; $lang["config_backup_button"] = "Backup"; $lang["config_stock_location_invalid_chars"] = "The stock location name can not contain '_'"; $lang["config_company_logo"] = "Company Logo"; +$lang["config_receipt_printer"] = "Ticket Printer"; +$lang["config_receipt_show_taxes"] = "Show Taxes"; +$lang["config_receipt_info"] = "Receipt Configuration Information"; +$lang["config_receipt_configuration"] = "Ticket Configuration"; +$lang["config_print_footer"] = "Print Browser Footer"; +$lang["config_print_header"] = "Print Browser Header"; +$lang["config_print_silently"] = "Show Print Dialog"; +$lang["config_print_top_margin"] = "Margin Top"; +$lang["config_print_left_margin"] = "Margin Left"; +$lang["config_print_bottom_margin"] = "Margin Bottom"; +$lang["config_print_right_margin"] = "Margin Right"; +$lang["config_print_top_margin_required"] = "The default top margin is a required field"; +$lang["config_print_top_margin_number"] = "The default top margin must be a number"; +$lang["config_print_left_margin_required"] = "The default left margin is a required field"; +$lang["config_print_left_margin_number"] = "The default left margin must be a number"; +$lang["config_print_bottom_margin_required"] = "The default bottom margin is a required field"; +$lang["config_print_bottom_margin_number"] = "The default bottom margin must be a number"; +$lang["config_print_right_margin_required"] = "The default right margin is a required field"; +$lang["config_print_right_margin_number"] = "The default right margin must be a number"; +$lang["config_jsprintsetup_required"] = "Warning! This functionality will only work if you have the FireFox jsPrintSetup addon installed. Save anyway?"; diff --git a/application/language/th/sales_lang.php b/application/language/th/sales_lang.php index 92521034e..b8590938b 100644 --- a/application/language/th/sales_lang.php +++ b/application/language/th/sales_lang.php @@ -90,3 +90,4 @@ $lang["sales_unsuccessfully_updated"] = "อัพเดทการขายไ $lang["sales_unsuspend"] = "ยกเลิกการระงับ"; $lang["sales_unsuspend_and_delete"] = "ยกเลิกการระงับ และ ลบ"; $lang["sales_giftcard_balance"] = "Giftcard Balance"; +$lang["sales_discount_included"] = "% discount included"; diff --git a/application/language/tr/config_lang.php b/application/language/tr/config_lang.php index 95547636c..3c157abde 100644 --- a/application/language/tr/config_lang.php +++ b/application/language/tr/config_lang.php @@ -91,3 +91,23 @@ $lang["config_decimal_point"] = " Decimal Point"; $lang["config_backup_button"] = "Backup"; $lang["config_stock_location_invalid_chars"] = "The stock location name can not contain '_'"; $lang["config_company_logo"] = "Company Logo"; +$lang["config_receipt_printer"] = "Ticket Printer"; +$lang["config_receipt_show_taxes"] = "Show Taxes"; +$lang["config_receipt_info"] = "Receipt Configuration Information"; +$lang["config_receipt_configuration"] = "Ticket Configuration"; +$lang["config_print_footer"] = "Print Browser Footer"; +$lang["config_print_header"] = "Print Browser Header"; +$lang["config_print_silently"] = "Show Print Dialog"; +$lang["config_print_top_margin"] = "Margin Top"; +$lang["config_print_left_margin"] = "Margin Left"; +$lang["config_print_bottom_margin"] = "Margin Bottom"; +$lang["config_print_right_margin"] = "Margin Right"; +$lang["config_print_top_margin_required"] = "The default top margin is a required field"; +$lang["config_print_top_margin_number"] = "The default top margin must be a number"; +$lang["config_print_left_margin_required"] = "The default left margin is a required field"; +$lang["config_print_left_margin_number"] = "The default left margin must be a number"; +$lang["config_print_bottom_margin_required"] = "The default bottom margin is a required field"; +$lang["config_print_bottom_margin_number"] = "The default bottom margin must be a number"; +$lang["config_print_right_margin_required"] = "The default right margin is a required field"; +$lang["config_print_right_margin_number"] = "The default right margin must be a number"; +$lang["config_jsprintsetup_required"] = "Warning! This functionality will only work if you have the FireFox jsPrintSetup addon installed. Save anyway?"; diff --git a/application/language/tr/sales_lang.php b/application/language/tr/sales_lang.php index 2a19f9e4e..6f7511ef2 100644 --- a/application/language/tr/sales_lang.php +++ b/application/language/tr/sales_lang.php @@ -90,3 +90,4 @@ $lang["sales_unsuccessfully_updated"] = "Satış düzenlenemedi"; $lang["sales_unsuspend"] = "Satışa Al"; $lang["sales_unsuspend_and_delete"] = ""; $lang["sales_giftcard_balance"] = "Giftcard Balance"; +$lang["sales_discount_included"] = "% discount included"; diff --git a/application/language/zh/config_lang.php b/application/language/zh/config_lang.php index 20a30fd68..4fc2180fc 100755 --- a/application/language/zh/config_lang.php +++ b/application/language/zh/config_lang.php @@ -91,3 +91,23 @@ $lang["config_decimal_point"] = "Decimal Point"; $lang["config_backup_button"] = "Backup"; $lang["config_stock_location_invalid_chars"] = "The stock location name can not contain '_'"; $lang["config_company_logo"] = "Company Logo"; +$lang["config_receipt_printer"] = "Ticket Printer"; +$lang["config_receipt_show_taxes"] = "Show Taxes"; +$lang["config_receipt_info"] = "Receipt Configuration Information"; +$lang["config_receipt_configuration"] = "Ticket Configuration"; +$lang["config_print_footer"] = "Print Browser Footer"; +$lang["config_print_header"] = "Print Browser Header"; +$lang["config_print_silently"] = "Show Print Dialog"; +$lang["config_print_top_margin"] = "Margin Top"; +$lang["config_print_left_margin"] = "Margin Left"; +$lang["config_print_bottom_margin"] = "Margin Bottom"; +$lang["config_print_right_margin"] = "Margin Right"; +$lang["config_print_top_margin_required"] = "The default top margin is a required field"; +$lang["config_print_top_margin_number"] = "The default top margin must be a number"; +$lang["config_print_left_margin_required"] = "The default left margin is a required field"; +$lang["config_print_left_margin_number"] = "The default left margin must be a number"; +$lang["config_print_bottom_margin_required"] = "The default bottom margin is a required field"; +$lang["config_print_bottom_margin_number"] = "The default bottom margin must be a number"; +$lang["config_print_right_margin_required"] = "The default right margin is a required field"; +$lang["config_print_right_margin_number"] = "The default right margin must be a number"; +$lang["config_jsprintsetup_required"] = "Warning! This functionality will only work if you have the FireFox jsPrintSetup addon installed. Save anyway?"; diff --git a/application/language/zh/sales_lang.php b/application/language/zh/sales_lang.php index f3351e64d..7204dc275 100755 --- a/application/language/zh/sales_lang.php +++ b/application/language/zh/sales_lang.php @@ -90,3 +90,4 @@ $lang["sales_unsuccessfully_updated"] = "銷售資料更新失敗"; $lang["sales_unsuspend"] = "取消暫停銷售"; $lang["sales_unsuspend_and_delete"] = "取消暫停銷售並刪除"; $lang["sales_giftcard_balance"] = "Giftcard Balance"; +$lang["sales_discount_included"] = "% discount included"; diff --git a/application/libraries/Sale_lib.php b/application/libraries/Sale_lib.php index 3dcb850a3..971498032 100644 --- a/application/libraries/Sale_lib.php +++ b/application/libraries/Sale_lib.php @@ -272,6 +272,7 @@ class Sale_lib $insertkey=$maxkey+1; $item_info=$this->CI->Item->get_info($item_id,$item_location); //array/cart records are identified by $insertkey and item_id is just another field. + $price = $price!=null ? $price: $item_info->unit_price; $item = array(($insertkey)=> array( 'item_id'=>$item_id, @@ -287,7 +288,10 @@ class Sale_lib 'quantity'=>$quantity, 'discount'=>$discount, 'in_stock'=>$this->CI->Item_quantities->get_item_quantity($item_id, $item_location)->quantity, - 'price'=>$price!=null ? $price: $item_info->unit_price + 'price'=>$price, + 'total'=>$this->CI->config->config['tax_included'] ? + $this->get_item_total_tax_exclusive($item_id, $quantity, $price, $discount) : + $this->get_item_total($quantity, $price, $discount) ) ); diff --git a/application/views/configs/general_config.php b/application/views/configs/general_config.php index af9882f3d..44dd7f12f 100644 --- a/application/views/configs/general_config.php +++ b/application/views/configs/general_config.php @@ -308,17 +308,6 @@ echo form_open('config/save/',array('id'=>'config_form','enctype'=>'multipart/fo -
-lang->line('config_print_after_sale').':', 'print_after_sale',array('class'=>'wide')); ?> -
- 'print_after_sale', - 'id'=>'print_after_sale', - 'value'=>'print_after_sale', - 'checked'=>$this->config->item('print_after_sale')));?> -
-
-
lang->line('config_receiving_calculate_average_price').':', 'receiving_calculate_average_price',array('class'=>'wide')); ?>
diff --git a/application/views/configs/manage.php b/application/views/configs/manage.php index 9b1fcd995..431d254f4 100644 --- a/application/views/configs/manage.php +++ b/application/views/configs/manage.php @@ -9,6 +9,7 @@
  • General
  • Barcode
  • Locations
  • +
  • Receipt
  • @@ -21,6 +22,9 @@
    load->view("configs/location_config"); ?>
    +
    + load->view("configs/receipt_config"); ?> +
    load->view("partial/footer"); ?> \ No newline at end of file diff --git a/application/views/configs/receipt_config.php b/application/views/configs/receipt_config.php index 2504c7571..0b78e1cd7 100644 --- a/application/views/configs/receipt_config.php +++ b/application/views/configs/receipt_config.php @@ -9,304 +9,13 @@ echo form_open('config/save_receipt/',array('id'=>'receipt_config_form')); lang->line("config_receipt_info"); ?>
    -lang->line('config_receipt_show_taxes').':', 'config_receipt_show_taxes',array('class'=>'wide required')); ?> -
    - 'receipt_show_taxes', - 'id'=>'receipt_show_taxes', - 'value'=>$this->config->item('receipt_show_taxes')));?> -
    -
    - -
    -lang->line('config_receipt_printer').':', 'config_receipt_printer',array('class'=>'wide')); ?> -
    - 'config_receipt_printer', - 'id'=>'config_receipt_printer', - 'value'=>$this->config->item('config_receipt_printer')));?> -
    -
    - -
    -lang->line('config_address').':', 'address',array('class'=>'wide required')); ?> -
    - 'address', - 'id'=>'address', - 'rows'=>4, - 'cols'=>17, - 'value'=>$this->config->item('address')));?> -
    -
    - -
    -lang->line('config_phone').':', 'phone',array('class'=>'wide required')); ?> -
    - 'phone', - 'id'=>'phone', - 'value'=>$this->config->item('phone')));?> -
    -
    - -
    -lang->line('config_default_tax_rate_1').':', 'default_tax_1_rate',array('class'=>'wide required')); ?> -
    - 'default_tax_1_name', - 'id'=>'default_tax_1_name', - 'size'=>'10', - 'value'=>$this->config->item('default_tax_1_name')!==FALSE ? $this->config->item('default_tax_1_name') : $this->lang->line('items_sales_tax_1')));?> - - 'default_tax_1_rate', - 'id'=>'default_tax_1_rate', - 'size'=>'4', - 'value'=>$this->config->item('default_tax_1_rate')));?>% -
    -
    - -
    -lang->line('config_default_tax_rate_2').':', 'default_tax_1_rate',array('class'=>'wide')); ?> -
    - 'default_tax_2_name', - 'id'=>'default_tax_2_name', - 'size'=>'10', - 'value'=>$this->config->item('default_tax_2_name')!==FALSE ? $this->config->item('default_tax_2_name') : $this->lang->line('items_sales_tax_2')));?> - - 'default_tax_2_rate', - 'id'=>'default_tax_2_rate', - 'size'=>'4', - 'value'=>$this->config->item('default_tax_2_rate')));?>% -
    -
    - -
    - lang->line('config_currency_symbol').':', 'currency_symbol',array('class'=>'wide')); ?> -
    - 'currency_symbol', - 'id'=>'currency_symbol', - 'value'=>$this->config->item('currency_symbol')));?> -
    - - lang->line('config_currency_side').':', 'currency_side',array('class'=>''));?> +lang->line('config_receipt_show_taxes').':', 'config_receipt_show_taxes',array('class'=>'wide')); ?>
    'currency_side', - 'id'=>'currency_side', - 'value'=>'currency_side', - 'checked'=>$this->config->item('currency_side')));?> -
    -
    - - -
    -lang->line('config_number_format').':', 'number_format',array('class'=>'wide required')); ?> -
    - lang->line('config_thousands_separator'); ?> - ', (komma)', - '.' => '. (dot)', - '' => '(none)' - ), - $this->config->item('thousands_separator')); - ?> - lang->line('config_decimal_point'); ?> - '. (dot)', - ',' => ', (komma)' - ), - $this->config->item('decimal_point')); - ?> -
    -
    - -
    -lang->line('config_sales_invoice_format').':', 'sales_invoice_format',array('class'=>'wide')); ?> -
    - 'sales_invoice_format', - 'id'=>'sales_invoice_format', - 'value'=>$this->config->item('sales_invoice_format'))); ?> -
    -
    - -
    -lang->line('config_recv_invoice_format').':', 'recv_invoice_format',array('class'=>'wide')); ?> -
    - 'recv_invoice_format', - 'id'=>'recv_invoice_format', - 'value'=>$this->config->item('recv_invoice_format'))); ?> -
    -
    - -
    -
    -lang->line('common_email').':', 'email',array('class'=>'wide')); ?> -
    - 'email', - 'id'=>'email', - 'value'=>$this->config->item('email')));?> -
    -
    - - -
    -lang->line('config_fax').':', 'fax',array('class'=>'wide')); ?> -
    - 'fax', - 'id'=>'fax', - 'value'=>$this->config->item('fax')));?> -
    -
    - -
    -lang->line('config_website').':', 'website',array('class'=>'wide')); ?> -
    - 'website', - 'id'=>'website', - 'value'=>$this->config->item('website')));?> -
    -
    - -
    -lang->line('common_return_policy').':', 'return_policy',array('class'=>'wide required')); ?> -
    - 'return_policy', - 'id'=>'return_policy', - 'rows'=>'4', - 'cols'=>'17', - 'value'=>$this->config->item('return_policy')));?> -
    -
    - -
    - lang->line('config_language').':', 'language',array('class'=>'wide required')); ?> -
    - 'English', - 'es' => 'Spanish', - 'ru' => 'Russian', - 'nl-BE' => 'Dutch', - 'zh' => 'Chinese', - 'id' => 'Indonesian', - 'fr' => 'French', - 'th' => 'Thai', - 'tr' => 'Turkish' - ), - $this->config->item('language')); - ?> -
    -
    - -
    -lang->line('config_timezone').':', 'timezone',array('class'=>'wide required')); ?> -
    - '(GMT-11:00) Midway Island, Samoa', - 'America/Adak'=>'(GMT-10:00) Hawaii-Aleutian', - 'Etc/GMT+10'=>'(GMT-10:00) Hawaii', - 'Pacific/Marquesas'=>'(GMT-09:30) Marquesas Islands', - 'Pacific/Gambier'=>'(GMT-09:00) Gambier Islands', - 'America/Anchorage'=>'(GMT-09:00) Alaska', - 'America/Ensenada'=>'(GMT-08:00) Tijuana, Baja California', - 'Etc/GMT+8'=>'(GMT-08:00) Pitcairn Islands', - 'America/Los_Angeles'=>'(GMT-08:00) Pacific Time (US & Canada)', - 'America/Denver'=>'(GMT-07:00) Mountain Time (US & Canada)', - 'America/Chihuahua'=>'(GMT-07:00) Chihuahua, La Paz, Mazatlan', - 'America/Dawson_Creek'=>'(GMT-07:00) Arizona', - 'America/Belize'=>'(GMT-06:00) Saskatchewan, Central America', - 'America/Cancun'=>'(GMT-06:00) Guadalajara, Mexico City, Monterrey', - 'Chile/EasterIsland'=>'(GMT-06:00) Easter Island', - 'America/Chicago'=>'(GMT-06:00) Central Time (US & Canada)', - 'America/New_York'=>'(GMT-05:00) Eastern Time (US & Canada)', - 'America/Havana'=>'(GMT-05:00) Cuba', - 'America/Bogota'=>'(GMT-05:00) Bogota, Lima, Quito, Rio Branco', - 'America/Caracas'=>'(GMT-04:30) Caracas', - 'America/Santiago'=>'(GMT-04:00) Santiago', - 'America/La_Paz'=>'(GMT-04:00) La Paz', - 'Atlantic/Stanley'=>'(GMT-04:00) Faukland Islands', - 'America/Campo_Grande'=>'(GMT-04:00) Brazil', - 'America/Goose_Bay'=>'(GMT-04:00) Atlantic Time (Goose Bay)', - 'America/Glace_Bay'=>'(GMT-04:00) Atlantic Time (Canada)', - 'America/St_Johns'=>'(GMT-03:30) Newfoundland', - 'America/Araguaina'=>'(GMT-03:00) UTC-3', - 'America/Montevideo'=>'(GMT-03:00) Montevideo', - 'America/Miquelon'=>'(GMT-03:00) Miquelon, St. Pierre', - 'America/Godthab'=>'(GMT-03:00) Greenland', - 'America/Argentina/Buenos_Aires'=>'(GMT-03:00) Buenos Aires', - 'America/Sao_Paulo'=>'(GMT-03:00) Brasilia', - 'America/Noronha'=>'(GMT-02:00) Mid-Atlantic', - 'Atlantic/Cape_Verde'=>'(GMT-01:00) Cape Verde Is.', - 'Atlantic/Azores'=>'(GMT-01:00) Azores', - 'Europe/Belfast'=>'(GMT) Greenwich Mean Time : Belfast', - 'Europe/Dublin'=>'(GMT) Greenwich Mean Time : Dublin', - 'Europe/Lisbon'=>'(GMT) Greenwich Mean Time : Lisbon', - 'Europe/London'=>'(GMT) Greenwich Mean Time : London', - 'Africa/Abidjan'=>'(GMT) Monrovia, Reykjavik', - 'Europe/Amsterdam'=>'(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna', - 'Europe/Belgrade'=>'(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague', - 'Europe/Brussels'=>'(GMT+01:00) Brussels, Copenhagen, Madrid, Paris', - 'Africa/Algiers'=>'(GMT+01:00) West Central Africa', - 'Africa/Windhoek'=>'(GMT+01:00) Windhoek', - 'Asia/Beirut'=>'(GMT+02:00) Beirut', - 'Africa/Cairo'=>'(GMT+02:00) Cairo', - 'Asia/Gaza'=>'(GMT+02:00) Gaza', - 'Africa/Blantyre'=>'(GMT+02:00) Harare, Pretoria', - 'Asia/Jerusalem'=>'(GMT+02:00) Jerusalem', - 'Europe/Minsk'=>'(GMT+02:00) Minsk', - 'Asia/Damascus'=>'(GMT+02:00) Syria', - 'Europe/Moscow'=>'(GMT+03:00) Moscow, St. Petersburg, Volgograd', - 'Africa/Addis_Ababa'=>'(GMT+03:00) Nairobi', - 'Asia/Tehran'=>'(GMT+03:30) Tehran', - 'Asia/Dubai'=>'(GMT+04:00) Abu Dhabi, Muscat', - 'Asia/Yerevan'=>'(GMT+04:00) Yerevan', - 'Asia/Kabul'=>'(GMT+04:30) Kabul', - 'Asia/Baku'=>'(GMT+05:00) Baku',/*GARRISON ADDED 4/20/2013*/ - 'Asia/Yekaterinburg'=>'(GMT+05:00) Ekaterinburg', - 'Asia/Tashkent'=>'(GMT+05:00) Tashkent', - 'Asia/Kolkata'=>'(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi', - 'Asia/Katmandu'=>'(GMT+05:45) Kathmandu', - 'Asia/Dhaka'=>'(GMT+06:00) Astana, Dhaka', - 'Asia/Novosibirsk'=>'(GMT+06:00) Novosibirsk', - 'Asia/Rangoon'=>'(GMT+06:30) Yangon (Rangoon)', - 'Asia/Bangkok'=>'(GMT+07:00) Bangkok, Hanoi, Jakarta', - 'Asia/Krasnoyarsk'=>'(GMT+07:00) Krasnoyarsk', - 'Asia/Hong_Kong'=>'(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi', - 'Asia/Irkutsk'=>'(GMT+08:00) Irkutsk, Ulaan Bataar', - 'Australia/Perth'=>'(GMT+08:00) Perth', - 'Australia/Eucla'=>'(GMT+08:45) Eucla', - 'Asia/Tokyo'=>'(GMT+09:00) Osaka, Sapporo, Tokyo', - 'Asia/Seoul'=>'(GMT+09:00) Seoul', - 'Asia/Yakutsk'=>'(GMT+09:00) Yakutsk', - 'Australia/Adelaide'=>'(GMT+09:30) Adelaide', - 'Australia/Darwin'=>'(GMT+09:30) Darwin', - 'Australia/Brisbane'=>'(GMT+10:00) Brisbane', - 'Australia/Hobart'=>'(GMT+10:00) Hobart', - 'Asia/Vladivostok'=>'(GMT+10:00) Vladivostok', - 'Australia/Lord_Howe'=>'(GMT+10:30) Lord Howe Island', - 'Etc/GMT-11'=>'(GMT+11:00) Solomon Is., New Caledonia', - 'Asia/Magadan'=>'(GMT+11:00) Magadan', - 'Pacific/Norfolk'=>'(GMT+11:30) Norfolk Island', - 'Asia/Anadyr'=>'(GMT+12:00) Anadyr, Kamchatka', - 'Pacific/Auckland'=>'(GMT+12:00) Auckland, Wellington', - 'Etc/GMT-12'=>'(GMT+12:00) Fiji, Kamchatka, Marshall Is.', - 'Pacific/Chatham'=>'(GMT+12:45) Chatham Islands', - 'Pacific/Tongatapu'=>'(GMT+13:00) Nuku\'alofa', - 'Pacific/Kiritimati'=>'(GMT+14:00) Kiritimati' - ), $this->config->item('timezone') ? $this->config->item('timezone') : date_default_timezone_get()); - ?> + 'name'=>'receipt_show_taxes', + 'id'=>'receipt_show_taxes', + 'checked'=>$this->config->item('receipt_show_taxes')));?>
    @@ -322,132 +31,102 @@ echo form_open('config/save_receipt/',array('id'=>'receipt_config_form'));
    -lang->line('config_receiving_calculate_average_price').':', 'receiving_calculate_average_price',array('class'=>'wide')); ?> +lang->line('config_print_silently').':', 'print_silently',array('class'=>'wide')); ?>
    'receiving_calculate_average_price', - 'id'=>'receiving_calculate_average_price', - 'value'=>'receiving_calculate_average_price', - 'checked'=>$this->config->item('receiving_calculate_average_price')));?> + 'name'=>'print_silently', + 'id'=>'print_silently', + 'value'=>'print_silently', + 'checked'=>$this->config->item('print_silently')));?>
    -lang->line('config_tax_included').':', 'tax_included',array('class'=>'wide')); ?> +lang->line('config_print_header').':', 'print_header',array('class'=>'wide')); ?>
    'tax_included', - 'id'=>'tax_included', - 'value'=>'tax_included', - 'checked'=>$this->config->item('tax_included')));?> + 'name'=>'print_header', + 'id'=>'print_header', + 'value'=>'print_header', + 'checked'=>$this->config->item('print_header')));?>
    -lang->line('config_custom1').':', 'config_custom1',array('class'=>'wide')); ?> +lang->line('config_print_footer').':', 'print_footer',array('class'=>'wide')); ?>
    - 'custom1_name', - 'id'=>'custom1_name', - 'value'=>$this->config->item('custom1_name')));?> + 'print_footer', + 'id'=>'print_footer', + 'value'=>'print_footer', + 'checked'=>$this->config->item('print_footer')));?>
    -lang->line('config_custom2').':', 'config_custom2',array('class'=>'wide')); ?> +lang->line('config_receipt_printer').':', 'config_receipt_printer',array('class'=>'wide')); ?>
    - 'custom2_name', - 'id'=>'custom2_name', - 'value'=>$this->config->item('custom2_name')));?> + config->item('receipt_printer'),'class="addon_installed" id="receipt_printer"');?>
    -
    -lang->line('config_custom3').':', 'config_custom3',array('class'=>'wide')); ?> -
    - 'custom3_name', - 'id'=>'custom3_name', - 'value'=>$this->config->item('custom3_name')));?> -
    +
    + lang->line('config_print_top_margin').':', 'print_top_margin',array('class'=>'wide required')); ?> +
    + 'number', + 'min'=>'0', + 'max'=>'20', + 'name'=>'print_top_margin', + 'id'=>'print_top_margin', + 'value'=>$this->config->item('print_top_margin')));?> + px +
    -
    -lang->line('config_custom4').':', 'config_custom4',array('class'=>'wide')); ?> -
    - 'custom4_name', - 'id'=>'custom4_name', - 'value'=>$this->config->item('custom4_name')));?> -
    +
    + lang->line('config_print_left_margin').':', 'print_left_margin',array('class'=>'wide required')); ?> +
    + 'number', + 'min'=>'0', + 'max'=>'20', + 'name'=>'print_left_margin', + 'id'=>'print_left_margin', + 'value'=>$this->config->item('print_left_margin')));?> + px +
    -
    -lang->line('config_custom5').':', 'config_custom5',array('class'=>'wide')); ?> -
    - 'custom5_name', - 'id'=>'custom5_name', - 'value'=>$this->config->item('custom5_name')));?> -
    +
    + lang->line('config_print_bottom_margin').':', 'print_bottom_margin',array('class'=>'wide required')); ?> +
    + 'number', + 'min'=>'0', + 'max'=>'20', + 'name'=>'print_bottom_margin', + 'id'=>'print_bottom_margin', + 'value'=>$this->config->item('print_bottom_margin')));?> + px +
    -
    -lang->line('config_custom6').':', 'config_custom6',array('class'=>'wide')); ?> -
    - 'custom6_name', - 'id'=>'custom6_name', - 'value'=>$this->config->item('custom6_name')));?> -
    -
    - -
    -lang->line('config_custom7').':', 'config_custom7',array('class'=>'wide')); ?> -
    - 'custom7_name', - 'id'=>'custom7_name', - 'value'=>$this->config->item('custom7_name')));?> -
    -
    - -
    -lang->line('config_custom8').':', 'config_custom8',array('class'=>'wide')); ?> -
    - 'custom8_name', - 'id'=>'custom8_name', - 'value'=>$this->config->item('custom8_name')));?> -
    -
    - -
    -lang->line('config_custom9').':', 'config_custom9',array('class'=>'wide')); ?> -
    - 'custom9_name', - 'id'=>'custom9_name', - 'value'=>$this->config->item('custom9_name')));?> -
    -
    - -
    -lang->line('config_custom10').':', 'config_custom10',array('class'=>'wide')); ?> -
    - 'custom10_name', - 'id'=>'custom10_name', - 'value'=>$this->config->item('custom10_name')));?> -
    -
    - -
    -lang->line('config_backup_database').':', 'config_backup_database',array('class'=>'wide')); ?> -
    - lang->line('config_backup_button'); ?> -
    +
    + lang->line('config_print_right_margin').':', 'print_right_margin',array('class'=>'wide required')); ?> +
    + 'number', + 'min'=>'0', + 'max'=>'20', + 'name'=>'print_right_margin', + 'id'=>'print_right_margin', + 'value'=>$this->config->item('print_right_margin')));?> + px +
    @@ -470,11 +149,22 @@ echo form_close(); //validation and submit handling $(document).ready(function() { - $("#backup_db").click(function() { - window.location=''; + var printers = window.jsPrintSetup ? jsPrintSetup.getPrintersList().split(',') : []; + $.each(printers, function(key, value) + { + $('#receipt_printer').append($('