mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2025-12-24 01:57:51 -05:00
* Improve code style and PSR-12 compliance - refactored code formatting to adhere to PSR-12 guidelines - standardized coding conventions across the codebase - added missing framework files and reverted markup changes - reformatted arrays for enhanced readability - updated language files for consistent styling and clarity - minor miscellaneous improvements
224 lines
6.4 KiB
SQL
224 lines
6.4 KiB
SQL
--
|
|
-- Add support for office menu group
|
|
--
|
|
|
|
ALTER TABLE `ospos_grants`
|
|
ADD COLUMN `menu_group` varchar(32) DEFAULT 'home';
|
|
|
|
INSERT INTO `ospos_modules` (`name_lang_key`, `desc_lang_key`, `sort`, `module_id`) VALUES
|
|
('module_office', 'module_office_desc', 1, 'office'),
|
|
('module_home', 'module_home_desc', 1, 'home');
|
|
|
|
INSERT INTO `ospos_permissions` (`permission_id`, `module_id`) VALUES
|
|
('office', 'office'),
|
|
('home', 'home');
|
|
|
|
INSERT INTO `ospos_grants` (`permission_id`, `person_id`, `menu_group`) VALUES
|
|
('office', 1, 'home'),
|
|
('home', 1, 'office');
|
|
|
|
UPDATE `ospos_grants`
|
|
SET menu_group = 'office'
|
|
WHERE permission_id in ('config', 'home', 'employees', 'taxes', 'migrate')
|
|
AND person_id = 1;
|
|
|
|
--
|
|
-- Add support for Work Orders
|
|
--
|
|
|
|
INSERT INTO `ospos_app_config` (`key`, `value`) VALUES
|
|
('work_order_enable', '0'),
|
|
('work_order_format', 'W%y{WSEQ:6}'),
|
|
('last_used_work_order_number', '0');
|
|
|
|
ALTER TABLE `ospos_sales`
|
|
ADD COLUMN `work_order_number` varchar(32) DEFAULT NULL,
|
|
ADD COLUMN `sale_type` tinyint(2) NOT NULL DEFAULT 0;
|
|
|
|
-- sale_type (0=pos, 1=invoice, 2=work order, 3=quote, 4=return)
|
|
|
|
UPDATE `ospos_sales`
|
|
SET `sale_type` = 0;
|
|
|
|
UPDATE ospos_sales t1
|
|
SET sale_type = 4
|
|
WHERE EXISTS (SELECT t2.sale_id FROM ospos_sales_items t2 WHERE t1.sale_id = t2.sale_id AND t2.quantity_purchased < 0);
|
|
|
|
UPDATE `ospos_sales`
|
|
SET `sale_type` = 3
|
|
WHERE `quote_number` IS NOT NULL;
|
|
|
|
-- The following is needed only if quotes were being treated as work orders.
|
|
-- UPDATE `ospos_sales`
|
|
-- SET `sale_type` = 2, `work_order_number` = `quote_number`
|
|
-- WHERE quote_number IS NOT NULL;
|
|
|
|
-- Identify invoices
|
|
UPDATE `ospos_sales`
|
|
SET `sale_type` = 1
|
|
WHERE `invoice_number` IS NOT NULL;
|
|
|
|
|
|
-- Add permissions for deleting sales and default grant for employee id 1
|
|
|
|
INSERT INTO `ospos_permissions` (`permission_id`, `module_id`) VALUES
|
|
('sales_delete', 'sales');
|
|
|
|
INSERT INTO `ospos_grants` (`permission_id`, `person_id`, `menu_group`) VALUES
|
|
('sales_delete', 1, '--');
|
|
|
|
|
|
-- Add columns to save per-user language selection
|
|
|
|
ALTER TABLE `ospos_employees`
|
|
ADD COLUMN `language` VARCHAR(48) DEFAULT NULL,
|
|
ADD COLUMN `language_code` VARCHAR(8) DEFAULT NULL;
|
|
|
|
|
|
-- Add support for custom search suggestion format
|
|
|
|
INSERT INTO `ospos_app_config` (`key`, `value`) VALUES
|
|
('suggestions_first_column', 'name'),
|
|
('suggestions_second_column', ''),
|
|
('suggestions_third_column', '');
|
|
|
|
|
|
-- Add key->value to save setting for allowing duplicate barcodes
|
|
|
|
INSERT INTO `ospos_app_config` (`key`, `value`) VALUES
|
|
('allow_duplicate_barcodes', '0');
|
|
|
|
|
|
-- Modify items table to allow duplicate barcodes
|
|
|
|
ALTER TABLE `ospos_items`
|
|
DROP INDEX `item_number`,
|
|
ADD KEY `item_number` (item_number);
|
|
|
|
|
|
-- Remove Migrate module as auto migration is supported
|
|
|
|
DELETE FROM `ospos_modules` WHERE `ospos_modules`.`module_id` = 'migrate';
|
|
DELETE FROM `ospos_permissions` WHERE `ospos_permissions`.`permission_id` = 'migrate';
|
|
DELETE FROM `ospos_grants` WHERE `ospos_grants`.`permission_id` = 'migrate' AND `ospos_grants`.`person_id` = 1;
|
|
|
|
|
|
-- Move Office Module to Right side of Modules list
|
|
|
|
UPDATE `ospos_modules`
|
|
SET `sort` = 999
|
|
WHERE `name_lang_key` = 'module_office';
|
|
|
|
UPDATE `ospos_modules`
|
|
SET `sort` = 98
|
|
WHERE `name_lang_key` = 'module_messages';
|
|
|
|
|
|
--
|
|
-- Add support for expenses tracking
|
|
--
|
|
|
|
INSERT INTO `ospos_modules` (`name_lang_key`, `desc_lang_key`, `sort`, `module_id`) VALUES
|
|
('module_expenses', 'module_expenses_desc', 108, 'expenses'),
|
|
('module_expenses_categories', 'module_expenses_categories_desc', 109, 'expenses_categories');
|
|
|
|
INSERT INTO `ospos_permissions` (`permission_id`, `module_id`) VALUES
|
|
('expenses_categories', 'expenses_categories'),
|
|
('expenses', 'expenses'),
|
|
('reports_expenses_categories', 'reports');
|
|
|
|
INSERT INTO `ospos_grants` (`permission_id`, `person_id`) VALUES
|
|
('expenses', 1),
|
|
('expenses_categories', 1),
|
|
('reports_expenses_categories', 1);
|
|
|
|
|
|
-- Table structure for table `ospos_expense_categories`
|
|
|
|
CREATE TABLE IF NOT EXISTS `ospos_expense_categories` (
|
|
`expense_category_id` int(10) NOT NULL,
|
|
`category_name` varchar(255) DEFAULT NULL,
|
|
`category_description` varchar(255) NOT NULL,
|
|
`deleted` int(1) NOT NULL DEFAULT '0'
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
|
|
-- Table structure for table `ospos_expenses`
|
|
|
|
CREATE TABLE IF NOT EXISTS `ospos_expenses` (
|
|
`expense_id` int(10) NOT NULL,
|
|
`date` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`amount` decimal(15,2) NOT NULL,
|
|
`payment_type` varchar(40) NOT NULL,
|
|
`expense_category_id` int(11) NOT NULL,
|
|
`description` varchar(255) NOT NULL,
|
|
`employee_id` int(10) NOT NULL,
|
|
`deleted` int(1) NOT NULL DEFAULT '0'
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
|
|
-- Indexes for table `ospos_expense_categories`
|
|
|
|
ALTER TABLE `ospos_expense_categories`
|
|
ADD PRIMARY KEY (`expense_category_id`),
|
|
ADD UNIQUE KEY `category_name` (`category_name`);
|
|
|
|
|
|
-- Indexes for table `ospos_expenses`
|
|
|
|
ALTER TABLE `ospos_expenses`
|
|
ADD PRIMARY KEY (`expense_id`),
|
|
ADD KEY `expense_category_id` (`expense_category_id`),
|
|
ADD KEY `employee_id` (`employee_id`);
|
|
|
|
|
|
-- AUTO_INCREMENT for table `ospos_expense_categories`
|
|
|
|
ALTER TABLE `ospos_expense_categories`
|
|
MODIFY `expense_category_id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
|
|
|
|
|
|
-- AUTO_INCREMENT for table `ospos_expenses`
|
|
|
|
ALTER TABLE `ospos_expenses`
|
|
MODIFY `expense_id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
|
|
|
|
|
|
-- Constraints for table `ospos_expenses`
|
|
|
|
ALTER TABLE `ospos_expenses`
|
|
ADD CONSTRAINT `ospos_expenses_ibfk_1` FOREIGN KEY (`expense_category_id`) REFERENCES `ospos_expense_categories` (`expense_category_id`),
|
|
ADD CONSTRAINT `ospos_expenses_ibfk_2` FOREIGN KEY (`employee_id`) REFERENCES `ospos_employees` (`person_id`);
|
|
|
|
|
|
-- Add extra columns to `ospos_expenses`
|
|
|
|
ALTER TABLE `ospos_expenses`
|
|
ADD COLUMN `supplier_name` varchar(255) DEFAULT NULL,
|
|
ADD COLUMN `supplier_tax_code` varchar(255) DEFAULT NULL,
|
|
ADD COLUMN `tax_amount` decimal(15,2) DEFAULT NULL;
|
|
|
|
|
|
-- Remove unused barcode quality
|
|
|
|
DELETE FROM `ospos_app_config` WHERE `key` = 'barcode_quality';
|
|
|
|
|
|
-- Add new config option to allow derive sale quantity feature
|
|
|
|
INSERT INTO `ospos_app_config` (`key`, `value`) VALUES
|
|
('derive_sale_quantity', '0');
|
|
|
|
|
|
-- Add new config option to set print and email receipt behaviour
|
|
|
|
INSERT INTO `ospos_app_config` (`key`, `value`) VALUES
|
|
('email_receipt_check_behaviour', 'last'),
|
|
('print_receipt_check_behaviour', 'last');
|
|
|
|
|
|
-- This is to provide distinct default comments for both quotes and invoices
|
|
|
|
INSERT INTO `ospos_app_config` (`key`, `value`) VALUES
|
|
('quote_default_comments', 'This is a default quote comment');
|