diff --git a/DEPRECATED_app.py b/DEPRECATED_app.py index 4b611b56..fc0b6d82 100644 --- a/DEPRECATED_app.py +++ b/DEPRECATED_app.py @@ -32,7 +32,7 @@ from business_objects.store.product import Product # , Product_Image_Filters, Re import lib.argument_validation as av from business_objects.store.basket import Basket_Item from datastores.datastore_store_base import DataStore_Store -from business_objects.store.product import Product_Filters +from business_objects.store.product import Filters_Product # external from flask import Flask, render_template, jsonify, request, render_template_string, send_from_directory, redirect, url_for, session from flask_cors import CORS @@ -165,7 +165,7 @@ def store_home(): # model.get_regions_and_currencies() # model.categories = Model_View_Store_Home.get_many_product(db) # product = categories[list(categories.keys())[0]][0] - model.get_many_product(Product_Filters( + model.get_many_product(Filters_Product( model.id_user, True, '', False, True, '', False, False, diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc index 20cd189d..932cbac8 100644 Binary files a/__pycache__/app.cpython-312.pyc and b/__pycache__/app.cpython-312.pyc differ diff --git a/__pycache__/forms.cpython-312.pyc b/__pycache__/forms.cpython-312.pyc index 0ec5e9d4..e1e1053c 100644 Binary files a/__pycache__/forms.cpython-312.pyc and b/__pycache__/forms.cpython-312.pyc differ diff --git a/app.py b/app.py index 100dd1cc..08bc98d5 100644 --- a/app.py +++ b/app.py @@ -30,7 +30,7 @@ from models.model_view_store_stock_items import Model_View_Store_Stock_Items from models.model_view_store_supplier import Model_View_Store_Supplier from models.model_view_store_product_permutation import Model_View_Store_Product_Permutations from models.model_view_user import Model_View_User -from business_objects.store.product import Product, Product_Filters, Product_Permutation # , Product_Image_Filters, Resolution_Level_Enum +from business_objects.store.product import Product, Filters_Product, Product_Permutation # , Product_Image_Filters, Resolution_Level_Enum from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters from business_objects.user import User, User_Filters from datastores.datastore_store_base import DataStore_Store @@ -47,6 +47,11 @@ from routing.user import routes_user # external from flask import Flask, render_template, jsonify, request, render_template_string, send_from_directory, redirect, url_for, session # from flask_appconfig import AppConfig +from flask_cors import CORS +from flask_sqlalchemy import SQLAlchemy +from flask_mail import Mail, Message +from flask_wtf.csrf import CSRFProtect +from authlib.integrations.flask_client import OAuth import os import sys @@ -60,6 +65,14 @@ app = Flask(__name__) app.config.from_object(app_config) # for db init with required keys # app.config["config"] = app_config() +""" +csrf = CSRFProtect() +cors = CORS() +db = SQLAlchemy() +mail = Mail() +oauth = OAuth() +""" + csrf.init_app(app) cors.init_app(app) db.init_app(app) @@ -88,7 +101,7 @@ with app.app_context(): app.register_blueprint(routes_core) app.register_blueprint(routes_legal) # app.register_blueprint(routes_store_product) -# app.register_blueprint(routes_store_product_category) +app.register_blueprint(routes_store_product_category) app.register_blueprint(routes_store_product_permutation) app.register_blueprint(routes_store_stock_item) app.register_blueprint(routes_store_supplier) diff --git a/business_objects/__pycache__/sql_error.cpython-312.pyc b/business_objects/__pycache__/sql_error.cpython-312.pyc index b2c87feb..6424161b 100644 Binary files a/business_objects/__pycache__/sql_error.cpython-312.pyc and b/business_objects/__pycache__/sql_error.cpython-312.pyc differ diff --git a/business_objects/__pycache__/user.cpython-312.pyc b/business_objects/__pycache__/user.cpython-312.pyc index b649720f..64002d4d 100644 Binary files a/business_objects/__pycache__/user.cpython-312.pyc and b/business_objects/__pycache__/user.cpython-312.pyc differ diff --git a/business_objects/sql_error.py b/business_objects/sql_error.py index 098a6816..91710c57 100644 --- a/business_objects/sql_error.py +++ b/business_objects/sql_error.py @@ -19,7 +19,7 @@ Business object for SQL errors # internal import lib.argument_validation as av from lib import data_types -from forms import Form_Basket_Add, Form_Basket_Edit # Form_Product +from forms.forms import Form_Basket_Add, Form_Basket_Edit # Form_Product # external from enum import Enum from datetime import datetime, timedelta diff --git a/business_objects/store/__init__.py b/business_objects/store/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/business_objects/store/__pycache__/__init__.cpython-312.pyc b/business_objects/store/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 00000000..88186d32 Binary files /dev/null and b/business_objects/store/__pycache__/__init__.cpython-312.pyc differ diff --git a/business_objects/store/__pycache__/basket.cpython-312.pyc b/business_objects/store/__pycache__/basket.cpython-312.pyc index 720569df..8e434db6 100644 Binary files a/business_objects/store/__pycache__/basket.cpython-312.pyc and b/business_objects/store/__pycache__/basket.cpython-312.pyc differ diff --git a/business_objects/store/__pycache__/image.cpython-312.pyc b/business_objects/store/__pycache__/image.cpython-312.pyc index 0e56d135..cd02d233 100644 Binary files a/business_objects/store/__pycache__/image.cpython-312.pyc and b/business_objects/store/__pycache__/image.cpython-312.pyc differ diff --git a/business_objects/store/__pycache__/product.cpython-312.pyc b/business_objects/store/__pycache__/product.cpython-312.pyc index 7dd782fd..aca21f39 100644 Binary files a/business_objects/store/__pycache__/product.cpython-312.pyc and b/business_objects/store/__pycache__/product.cpython-312.pyc differ diff --git a/business_objects/store/__pycache__/product_category.cpython-312.pyc b/business_objects/store/__pycache__/product_category.cpython-312.pyc index 34b348fe..be00f8a1 100644 Binary files a/business_objects/store/__pycache__/product_category.cpython-312.pyc and b/business_objects/store/__pycache__/product_category.cpython-312.pyc differ diff --git a/business_objects/store/__pycache__/product_permutation.cpython-312.pyc b/business_objects/store/__pycache__/product_permutation.cpython-312.pyc index 5bd4443d..a5f47324 100644 Binary files a/business_objects/store/__pycache__/product_permutation.cpython-312.pyc and b/business_objects/store/__pycache__/product_permutation.cpython-312.pyc differ diff --git a/business_objects/store/__pycache__/stock_item.cpython-312.pyc b/business_objects/store/__pycache__/stock_item.cpython-312.pyc index 2cbf255e..202b1247 100644 Binary files a/business_objects/store/__pycache__/stock_item.cpython-312.pyc and b/business_objects/store/__pycache__/stock_item.cpython-312.pyc differ diff --git a/business_objects/store/__pycache__/store_base.cpython-312.pyc b/business_objects/store/__pycache__/store_base.cpython-312.pyc index 7eeb1a28..5b53c735 100644 Binary files a/business_objects/store/__pycache__/store_base.cpython-312.pyc and b/business_objects/store/__pycache__/store_base.cpython-312.pyc differ diff --git a/business_objects/store/access_level.py b/business_objects/store/access_level.py new file mode 100644 index 00000000..e69de29b diff --git a/business_objects/store/basket.py b/business_objects/store/basket.py index 33f54e11..08bc9c85 100644 --- a/business_objects/store/basket.py +++ b/business_objects/store/basket.py @@ -19,7 +19,7 @@ Business object for basket # internal import lib.argument_validation as av # from lib import data_types -from business_objects.store.product import Product #, Product_Filters +from business_objects.store.product import Product #, Filters_Product from business_objects.store.discount import Discount from business_objects.store.delivery_option import Delivery_Option # from forms import Form_Product diff --git a/business_objects/store/image.py b/business_objects/store/image.py index a7ee296d..c9028c13 100644 --- a/business_objects/store/image.py +++ b/business_objects/store/image.py @@ -102,7 +102,7 @@ class Product_Image_Filters(): def __new__(cls, product_id, get_thumbnail, get_remaining_LQ): # Initialiser - validation - _m = 'Product_Filters.__new__' + _m = 'Filters_Product.__new__' v_arg_type = 'class attribute' av.val_int(product_id, 'product_id', _m, v_arg_type=v_arg_type) av.val_bool(get_thumbnail, 'get_thumbnail', _m, v_arg_type=v_arg_type) diff --git a/business_objects/store/product.py b/business_objects/store/product.py index 71b0984d..9447c356 100644 --- a/business_objects/store/product.py +++ b/business_objects/store/product.py @@ -13,7 +13,7 @@ Business object for product # internal import lib.argument_validation as av from lib import data_types -from forms import Form_Basket_Add, Form_Basket_Edit, Form_Filters_Permutation +from forms.forms import Form_Basket_Add, Form_Basket_Edit, Form_Filters_Permutation from business_objects.store.delivery_option import Delivery_Option from business_objects.store.discount import Discount from business_objects.store.image import Image @@ -62,6 +62,8 @@ class Product(db.Model, Store_Base): id_product = db.Column(db.Integer, primary_key=True) id_category = db.Column(db.Integer) name = db.Column(db.String(255)) + id_access_level_required = db.Column(db.Integer) + active = db.Column(db.Boolean) display_order = db.Column(db.Integer) can_view = db.Column(db.Boolean) can_edit = db.Column(db.Boolean) @@ -87,13 +89,15 @@ class Product(db.Model, Store_Base): v_arg_type = 'class attribute' product = Product() product.id_product = query_row[0] - product.id_category = query_row[5] + product.id_category = query_row[1] product.name = query_row[2] - product.has_variations = av.input_bool(query_row[4], "has_variations", _m, v_arg_type=v_arg_type) - product.display_order = query_row[22] - product.can_view = av.input_bool(query_row[24], "can_view", _m, v_arg_type=v_arg_type) - product.can_edit = av.input_bool(query_row[25], "can_edit", _m, v_arg_type=v_arg_type) - product.can_admin = av.input_bool(query_row[26], "can_admin", _m, v_arg_type=v_arg_type) + product.has_variations = av.input_bool(query_row[3], "has_variations", _m, v_arg_type=v_arg_type) + product.id_access_level_required = query_row[4] + product.active = av.input_bool(query_row[5], "active", _m, v_arg_type=v_arg_type) + product.display_order = query_row[6] + product.can_view = av.input_bool(query_row[7], "can_view", _m, v_arg_type=v_arg_type) + product.can_edit = av.input_bool(query_row[8], "can_edit", _m, v_arg_type=v_arg_type) + product.can_admin = av.input_bool(query_row[9], "can_admin", _m, v_arg_type=v_arg_type) return product """ def from_permutation(permutation, has_variations = False): @@ -315,12 +319,12 @@ class Product(db.Model, Store_Base): } @dataclass -class Product_Filters(): +class Filters_Product(): # id_user: str - get_all_category: bool - get_inactive_category: bool - # get_first_category_only: bool - ids_category: str + get_all_product_category: bool + get_inactive_product_category: bool + # get_first_product_category_only: bool + ids_product_category: str get_all_product: bool get_inactive_product: bool # get_first_product_only: bool @@ -351,10 +355,10 @@ class Product_Filters(): def to_json(self): return { 'a_id_user': None, - 'a_get_all_category': self.get_all_category, - 'a_get_inactive_category': self.get_inactive_category, - # 'a_get_first_category_only': self.get_first_category_only, - 'a_ids_category': self.ids_category, + 'a_get_all_product_category': self.get_all_product_category, + 'a_get_inactive_product_category': self.get_inactive_product_category, + # 'a_get_first_product_category_only': self.get_first_product_category_only, + 'a_ids_product_category': self.ids_product_category, 'a_get_all_product': self.get_all_product, 'a_get_inactive_product': self.get_inactive_product, # 'a_get_first_product_only': self.get_first_product_only, @@ -384,16 +388,16 @@ class Product_Filters(): @staticmethod def from_form(form): # if not (form is Form_Filters_Permutation): raise ValueError(f'Invalid form type: {type(form)}') - av.val_instance(form, 'form', 'Product_Filters.from_form', Form_Filters_Permutation) + av.val_instance(form, 'form', 'Filters_Product.from_form', Form_Filters_Permutation) has_category_filter = not (form.id_category.data == '0' or form.id_category.data == '') has_product_filter = not (form.id_product.data == '0' or form.id_product.data == '') - get_permutations_stock_below_min = av.input_bool(form.is_out_of_stock.data, "is_out_of_stock", "Product_Filters.from_form") + get_permutations_stock_below_min = av.input_bool(form.is_out_of_stock.data, "is_out_of_stock", "Filters_Product.from_form") print(f'form question: {type(form.is_out_of_stock)}\nbool interpretted: {get_permutations_stock_below_min}\type form: {type(form)}') - return Product_Filters( - get_all_category = not has_category_filter, - get_inactive_category = False, - # get_first_category_only = False, - ids_category = form.id_category.data, + return Filters_Product( + get_all_product_category = not has_category_filter, + get_inactive_product_category = False, + # get_first_product_category_only = False, + ids_product_category = form.id_category.data, get_all_product = not has_product_filter, get_inactive_product = False, # get_first_product_only = False, @@ -422,11 +426,11 @@ class Product_Filters(): @staticmethod def get_default(): - return Product_Filters( - get_all_category = True, - get_inactive_category = False, - # get_first_category_only = False, - ids_category = '', + return Filters_Product( + get_all_product_category = True, + get_inactive_product_category = False, + # get_first_product_category_only = False, + ids_product_category = '', get_all_product = True, get_inactive_product = False, # get_first_product_only = False, @@ -451,4 +455,55 @@ class Product_Filters(): # get_inactive_discount = False, # ids_discount = '', get_products_quantity_stock_below_min = True + ) + + @classmethod + def from_json(cls, json): + return cls( + get_all_product_category = json.get('a_get_all_product_category', False), + get_inactive_product_category = json.get('a_get_inactive_product_category', False), + # get_first_product_category_only = json.get('a_get_first_product_category_only', False), + ids_product_category = json.get('a_ids_product_category', ''), + get_all_product = json.get('a_get_all_product', False), + get_inactive_product = json.get('a_get_inactive_product', False), + # get_first_product_only = json.get('a_get_first_product_only', False), + ids_product = json.get('a_ids_product', ''), + get_all_permutation = json.get('a_get_all_permutation', False), + get_inactive_permutation = json.get('a_get_inactive_permutation', False), + # get_first_permutation_only = json.get('a_get_first_permutation_only', False), + ids_permutation = json.get('a_ids_permutation', ''), + get_all_image = json.get('a_get_all_image', False), + get_inactive_image = json.get('a_get_inactive_image', False), + # get_first_image_only = json.get('a_get_first_image_only', False), + ids_image = json.get('a_ids_image', ''), + # get_all_region = json.get('a_get_all_region', False), + # get_inactive_region = json.get('a_get_inactive_region', False), + # get_first_region_only = json.get('a_get_first_region_only', False), + # ids_region = json.get('a_ids_region', ''), + # get_all_currency = json.get('a_get_all_currency', False), + # get_inactive_currency = json.get('a_get_inactive_currency', False), + # get_first_currency_only = json.get('a_get_first_currency_only', False), + # ids_currency = json.get('a_ids_currency', ''), + # get_all_discount = json.get('a_get_all_discount', False), + # get_inactive_discount = json.get('a_get_inactive_discount', False), + # ids_discount = json.get('a_ids_discount', ''), + get_products_quantity_stock_below_min = json.get('a_get_products_quantity_stock_below_min', False) + ) + + @classmethod + def from_filters_product_category(cls, filters_category): + return cls( + get_all_product_category = True, + get_inactive_product_category = filters_category.active_only, + ids_product_category = '', + get_all_product = True, + get_inactive_product = False, + ids_product = False, + get_all_permutation = True, + get_inactive_permutation = False, + ids_permutation = '', + get_all_image = False, + get_inactive_image = False, + ids_image = '', + get_products_quantity_stock_below_min = False ) \ No newline at end of file diff --git a/business_objects/store/product_category.py b/business_objects/store/product_category.py index 350ecd5a..53e0018f 100644 --- a/business_objects/store/product_category.py +++ b/business_objects/store/product_category.py @@ -7,15 +7,9 @@ Technology: Business Objects Feature: Product Category Business Object Description: -Business object for product +Business object for product category """ -# IMPORTS -# VARIABLE INSTANTIATION -# CLASSES -# METHODS - -# IMPORTS # internal import lib.argument_validation as av from business_objects.store.product import Product, Product_Permutation, Product_Price @@ -54,16 +48,19 @@ class Enum_Product_Category(Enum): """ class Product_Category(db.Model, Store_Base): - ATTR_CODE_CATEGORY: ClassVar[str] = 'code-category' - ATTR_NAME_CATEGORY: ClassVar[str] = 'name-category' - ATTR_DESCRIPTION_CATEGORY: ClassVar[str] = 'description-category' - ATTR_DISPLAY_ORDER_CATEGORY: ClassVar[str] = 'display-order-category' - + __tablename__ = 'Shop_Product_Category_Temp' id_category = db.Column(db.Integer, primary_key=True) code = db.Column(db.String(50)) name = db.Column(db.String(255)) description = db.Column(db.String(4000)) + id_access_level_required = db.Column(db.Integer) display_order = db.Column(db.Integer) + active = db.Column(db.Boolean) + can_view = db.Column(db.Boolean) + can_edit = db.Column(db.Boolean) + can_admin = db.Column(db.Boolean) + created_on = db.Column(db.DateTime) + created_by = db.Column(db.Integer) """ def __new__(cls, id, name, description, display_order): _m = 'Category.__new__' @@ -88,9 +85,15 @@ class Product_Category(db.Model, Store_Base): def from_DB_product(query_row): category = Product_Category() category.id_category = query_row[0] - category.name = query_row[1] - category.description = query_row[2] - category.display_order = query_row[3] + category.code = query_row[1] + category.name = query_row[2] + category.description = query_row[3] + category.id_access_level_required = query_row[4] + category.display_order = query_row[5] + category.active = query_row[6] + category.can_view = query_row[7] + category.can_edit = query_row[8] + category.can_admin = query_row[9] return category """ def key_product_index_from_ids_product_permutation(id_product, id_permutation): @@ -174,10 +177,12 @@ class Product_Category(db.Model, Store_Base): """ def __repr__(self): return f''' - id: {self.id_category} - name: {self.name} - description: {self.description} + id: {self.id_category[0] if isinstance(self.id_category, tuple) else self.id_category} + code: {self.code[0] if isinstance(self.code, tuple) else self.code} + name: {self.name[0] if isinstance(self.name, tuple) else self.name} + description: {self.description[0] if isinstance(self.description, tuple) else self.description} display_order: {self.display_order} + active: {self.active} products: {self.products} ''' def get_permutation_first(self): @@ -203,42 +208,111 @@ class Product_Category(db.Model, Store_Base): return list_products def to_json(self): return { - self.ATTR_ID_PRODUCT_CATEGORY: self.id_category, - self.ATTR_CODE_CATEGORY: self.code, - self.ATTR_NAME_CATEGORY: self.name, - self.ATTR_DESCRIPTION_CATEGORY: self.description, - self.ATTR_DISPLAY_ORDER_CATEGORY: self.display_order + self.ATTR_ID_PRODUCT_CATEGORY: self.id_category[0] if isinstance(self.id_category, tuple) else self.id_category, + self.FLAG_CODE: self.code[0] if isinstance(self.code, tuple) else self.code, + self.FLAG_NAME: self.name[0] if isinstance(self.name, tuple) else self.name, + self.FLAG_DESCRIPTION: self.description[0] if isinstance(self.description, tuple) else self.description, + self.FLAG_DISPLAY_ORDER: self.display_order, + self.FLAG_ACTIVE: self.active, + self.FLAG_CAN_VIEW: self.can_view, + self.FLAG_CAN_EDIT: self.can_edit, + self.FLAG_CAN_ADMIN: self.can_admin } @classmethod def from_json(cls, json): + print(f' Category.from_json: {json}') category = cls() - category.id_category = json[cls.ATTR_ID_PRODUCT_CATEGORY], - category.code = json[cls.ATTR_CODE_CATEGORY], - category.name = json[cls.ATTR_NAME_CATEGORY], - category.description = json[cls.ATTR_DESCRIPTION_CATEGORY], - category.display_order = json[cls.ATTR_DISPLAY_ORDER_CATEGORY] + category.id_category = json.get(cls.ATTR_ID_PRODUCT_CATEGORY), + category.code = json[cls.FLAG_CODE], + category.name = json[cls.FLAG_NAME], + category.description = json[cls.FLAG_DESCRIPTION], + category.display_order = json[cls.FLAG_DISPLAY_ORDER] + category.active = json[cls.FLAG_ACTIVE] + category.can_view = json.get(cls.FLAG_CAN_VIEW, False) + category.can_edit = json.get(cls.FLAG_CAN_EDIT, False) + category.can_admin = json.get(cls.FLAG_CAN_ADMIN, False) return category - + def to_json_str(self): + return { + self.ATTR_ID_PRODUCT_CATEGORY: self.id_category[0] if isinstance(self.id_category, tuple) else self.id_category, + self.FLAG_CODE: self.code[0] if isinstance(self.code, tuple) else self.code, + self.FLAG_NAME: self.name[0] if isinstance(self.name, tuple) else self.name, + self.FLAG_DESCRIPTION: self.description[0] if isinstance(self.description, tuple) else self.description, + self.FLAG_DISPLAY_ORDER: self.display_order, + self.FLAG_ACTIVE: self.output_bool(self.active), + self.FLAG_CAN_VIEW: self.output_bool(self.can_view), + self.FLAG_CAN_EDIT: self.output_bool(self.can_edit), + self.FLAG_CAN_ADMIN: self.output_bool(self.can_admin) + } + @staticmethod + def output_bool(value): + return av.input_bool(value, 'Product_Category bool attribute', 'Product_Category.output_bool') +""" class Filters_Product_Category(BaseModel, Store_Base): ids_product_category: str ids_product: str - """ + "" def __new__(cls, product_ids, product_categories): - _m = 'Product_Filters.__new__' + _m = 'Filters_Product.__new__' v_arg_type = 'class attribute' # av.val_list_instances(product_ids, 'product_ids', _m, str, v_arg_type=v_arg_type) # av.val_list_instances(product_categories, 'product_categories', _m, Product_Category_Enum, v_arg_type=v_arg_type) av.val_str(product_ids, 'product_ids', _m, v_arg_type=v_arg_type) av.val_str(product_categories, 'product_categories', _m, v_arg_type=v_arg_type) return super(Filters_Product_Category, cls).__new__(cls) - """ + "" def __init__(self, ids_product, ids_product_category): super().__init__(ids_product=ids_product, ids_product_category=ids_product_category) - """ + "" # Constructor self.ids = product_ids self.categories = product_categories - """ + "" + @classmethod + def get_default(cls): + return Filters_Product_Category( + ids_product_category = '', + ids_product = '' + ) + def to_json(self): + return { + 'a_ids_product_category': self.ids_product_category, + 'a_ids_product': self.ids_product + } + @classmethod + def from_json(cls, json): + filters = cls() + filters.ids_product_category = json['a_ids_product_category'], + filters.ids_product = json['a_ids_product'] +""" +class Filters_Product_Category(BaseModel, Store_Base): + is_not_empty_only: bool + active_only: bool + def __init__(self, is_not_empty_only, active_only): + super().__init__(is_not_empty_only=is_not_empty_only, active_only=active_only) + @classmethod + def get_default(cls): + return cls( + is_not_empty_only = False, + active_only = True + ) + def to_json(self): + return { + 'is_not_empty_only': self.is_not_empty_only, + 'active_only': self.active_only + } + @classmethod + def from_json(cls, json): + return cls( + is_not_empty_only = json['is_not_empty_only'], + active_only = json['active_only'] + ) + @classmethod + def from_form(cls, form): + return cls( + is_not_empty_only = av.input_bool(form.is_not_empty.data, 'is_not_empty', 'Filters_Product_Category.from_form'), + active_only = av.input_bool(form.active.data, 'active', 'Filters_Product_Category.from_form') + ) class Container_Product_Category(Store_Base): categories: list @@ -311,7 +385,7 @@ class Container_Product_Category(Store_Base): for category in self.categories: list_rows += category.to_list_rows_permutation() return list_rows - def to_list_categories(self): + def to_list_category_options(self): list_categories = [] for category in self.categories: list_categories.append({'value': category.id_category, 'text': category.name}) @@ -327,4 +401,12 @@ class Container_Product_Category(Store_Base): dict_lists_products = {} for category in self.categories: dict_lists_products[category.id_category] = category.to_list_products() - return dict_lists_products \ No newline at end of file + return dict_lists_products + def to_json(self): + return { + 'categories': [category.to_json() for category in self.categories] + } + def to_json_str(self): + return { + 'categories': [category.to_json_str() for category in self.categories] + } \ No newline at end of file diff --git a/business_objects/store/product_permutation.py b/business_objects/store/product_permutation.py index 7547425d..be0a4f44 100644 --- a/business_objects/store/product_permutation.py +++ b/business_objects/store/product_permutation.py @@ -13,7 +13,7 @@ Business object for product permutation # internal import lib.argument_validation as av from lib import data_types -from forms import Form_Basket_Add, Form_Basket_Edit, Form_Filters_Permutation +from forms.forms import Form_Basket_Add, Form_Basket_Edit, Form_Filters_Permutation from business_objects.store.delivery_option import Delivery_Option from business_objects.store.discount import Discount from business_objects.store.image import Image @@ -55,6 +55,7 @@ class Product_Permutation(db.Model, Store_Base): name_recurrence_interval = db.Column(db.String(255)) name_plural_recurrence_interval = db.Column(db.String(256)) count_recurrence_interval = db.Column(db.Integer) + active = db.Column(db.Boolean) display_order = db.Column(db.Integer) can_view = db.Column(db.Boolean) can_edit = db.Column(db.Boolean) @@ -89,32 +90,30 @@ class Product_Permutation(db.Model, Store_Base): v_arg_type = 'class attribute' print(f'query_row: {query_row}') permutation = Product_Permutation() - permutation.id_product = query_row[0] - permutation.id_permutation = query_row[1] - # permutation.name = query_row[2] + permutation.id_permutation = query_row[0] + permutation.id_product = query_row[1] + permutation.id_category = query_row[2] permutation.description = query_row[3] - # permutation.price_GBP_full = query_row[4] - # permutation.price_GBP_min = query_row[5] - permutation.id_currency_cost = query_row[7] - permutation.code_currency_cost = query_row[8] - permutation.symbol_currency_cost = query_row[9] - permutation.cost_local = query_row[6] - permutation.has_variations = query_row[4] - permutation.id_category = query_row[5] - permutation.latency_manufacture = query_row[11] - permutation.quantity_min = query_row[12] - permutation.quantity_max = query_row[13] - permutation.quantity_step = query_row[14] - permutation.quantity_stock = query_row[15] - permutation.id_stripe_product = query_row[16] - permutation.is_subscription = av.input_bool(query_row[17], "is_subscription", _m, v_arg_type=v_arg_type) - permutation.name_recurrence_interval = query_row[18] - permutation.name_plural_recurrence_interval = query_row[19] - permutation.count_recurrence_interval = query_row[20] - permutation.display_order = query_row[23] - permutation.can_view = av.input_bool(query_row[24], "can_view", _m, v_arg_type=v_arg_type) - permutation.can_edit = av.input_bool(query_row[25], "can_edit", _m, v_arg_type=v_arg_type) - permutation.can_admin = av.input_bool(query_row[26], "can_admin", _m, v_arg_type=v_arg_type) + permutation.cost_local = query_row[4] + permutation.id_currency_cost = query_row[5] + permutation.code_currency_cost = query_row[6] + permutation.symbol_currency_cost = query_row[7] + # permutation.profit_local_min = query_row[8] + permutation.latency_manufacture = query_row[9] + permutation.quantity_min = query_row[10] + permutation.quantity_max = query_row[11] + permutation.quantity_step = query_row[12] + permutation.quantity_stock = query_row[13] + permutation.id_stripe_product = query_row[14] + permutation.is_subscription = av.input_bool(query_row[15], "is_subscription", _m, v_arg_type=v_arg_type) + permutation.name_recurrence_interval = query_row[16] + permutation.name_plural_recurrence_interval = query_row[17] + permutation.count_recurrence_interval = query_row[18] + permutation.active = query_row[19] + permutation.display_order = query_row[20] + permutation.can_view = av.input_bool(query_row[21], "can_view", _m, v_arg_type=v_arg_type) + permutation.can_edit = av.input_bool(query_row[22], "can_edit", _m, v_arg_type=v_arg_type) + permutation.can_admin = av.input_bool(query_row[23], "can_admin", _m, v_arg_type=v_arg_type) return permutation def from_DB_Stripe_product(query_row): diff --git a/business_objects/store/stock_item.py b/business_objects/store/stock_item.py index 54865e5d..f0496349 100644 --- a/business_objects/store/stock_item.py +++ b/business_objects/store/stock_item.py @@ -11,7 +11,7 @@ Feature: Stock Item Business Object # internal import lib.argument_validation as av from lib import data_types -from forms import Form_Filters_Stock_Item +from forms.forms import Form_Filters_Stock_Item from business_objects.store.product_price import Product_Price # from business_objects.discount import Discount from business_objects.store.store_base import Store_Base @@ -272,10 +272,10 @@ class Stock_Item_Filters(): @staticmethod def from_form(form): # if not (form is Form_Filters_Permutations): raise ValueError(f'Invalid form type: {type(form)}') - av.val_instance(form, 'form', 'Product_Filters.from_form', Form_Filters_Stock_Item) + av.val_instance(form, 'form', 'Filters_Product.from_form', Form_Filters_Stock_Item) has_category_filter = not (form.id_category.data == '0' or form.id_category.data == '') has_product_filter = not (form.id_product.data == '0' or form.id_product.data == '') - get_permutations_stock_below_min = av.input_bool(form.is_out_of_stock.data, "is_out_of_stock", "Product_Filters.from_form") + get_permutations_stock_below_min = av.input_bool(form.is_out_of_stock.data, "is_out_of_stock", "Filters_Product.from_form") print(f'form question: {type(form.is_out_of_stock)}\nbool interpretted: {get_permutations_stock_below_min}\type form: {type(form)}') return Stock_Item_Filters( get_all_category = not has_category_filter, diff --git a/business_objects/store/store_base.py b/business_objects/store/store_base.py index 59403c05..b51118fc 100644 --- a/business_objects/store/store_base.py +++ b/business_objects/store/store_base.py @@ -15,20 +15,27 @@ Abstract business object for store objects from typing import ClassVar class Store_Base(): - ATTR_ID_CURRENCY: ClassVar[str] = 'id-currency' - # ATTR_ID_CURRENCY_COST: ClassVar[str] = 'id-currency-cost' - ATTR_ID_DELIVERY_REGION: ClassVar[str] = 'id-delivery-region' - ATTR_ID_DISCOUNT: ClassVar[str] = 'id-discount' - ATTR_ID_IMAGE: ClassVar[str] = 'id-image' - ATTR_ID_LOCATION_STORAGE: ClassVar[str] = 'id-location-storage' - ATTR_ID_PRODUCT: ClassVar[str] = 'id-product' - ATTR_ID_PRODUCT_CATEGORY: ClassVar[str] = 'id-category' - ATTR_ID_PRODUCT_PERMUTATION: ClassVar[str] = 'id-permutation' - ATTR_ID_PRODUCT_PRICE: ClassVar[str] = 'id-price' - ATTR_ID_PRODUCT_VARIATION: ClassVar[str] = 'id-variation' + ATTR_ID_CURRENCY: ClassVar[str] = 'id_currency' + # ATTR_ID_CURRENCY_COST: ClassVar[str] = 'id_currency_cost' + ATTR_ID_DELIVERY_REGION: ClassVar[str] = 'id_delivery_region' + ATTR_ID_DISCOUNT: ClassVar[str] = 'id_discount' + ATTR_ID_IMAGE: ClassVar[str] = 'id_image' + ATTR_ID_LOCATION_STORAGE: ClassVar[str] = 'id_location_storage' + ATTR_ID_PRODUCT: ClassVar[str] = 'id_product' + ATTR_ID_PRODUCT_CATEGORY: ClassVar[str] = 'id_category' + ATTR_ID_PRODUCT_PERMUTATION: ClassVar[str] = 'id_permutation' + ATTR_ID_PRODUCT_PRICE: ClassVar[str] = 'id_price' + ATTR_ID_PRODUCT_VARIATION: ClassVar[str] = 'id_variation' ATTR_ID_PRODUCT_VARIATION_TYPE: ClassVar[str] = 'id_variation_type' - ATTR_ID_STOCK_ITEM: ClassVar[str] = 'id-stock-item' + ATTR_ID_STOCK_ITEM: ClassVar[str] = 'id_stock_item' FLAG_ACTIVE: ClassVar[str] = 'active' + FLAG_CAN_ADMIN: ClassVar[str] = 'can_admin' + FLAG_CAN_EDIT: ClassVar[str] = 'can_edit' + FLAG_CAN_VIEW: ClassVar[str] = 'can_view' + FLAG_CODE: ClassVar[str] = 'code' + FLAG_DESCRIPTION: ClassVar[str] = 'description' + FLAG_DISPLAY_ORDER: ClassVar[str] = 'display_order' + FLAG_NAME: ClassVar[str] = 'name' def __init_subclass__(cls, **kwargs): super().__init_subclass__(**kwargs) @@ -54,4 +61,5 @@ class Store_Base(): def from_json(cls, json): pass def to_json(self): - pass \ No newline at end of file + pass + diff --git a/business_objects/store/stripe.py b/business_objects/store/stripe.py index a5ad6e2b..96eac17e 100644 --- a/business_objects/store/stripe.py +++ b/business_objects/store/stripe.py @@ -13,7 +13,7 @@ Business objects for Stripe # internal import lib.argument_validation as av from lib import data_types -from forms import Form_Basket_Add, Form_Basket_Edit # Form_Product +from forms.forms import Form_Basket_Add, Form_Basket_Edit # Form_Product from extensions import db # external diff --git a/business_objects/user.py b/business_objects/user.py index a7b42e95..dfdf5b4d 100644 --- a/business_objects/user.py +++ b/business_objects/user.py @@ -9,7 +9,7 @@ Feature: User Business Object # internal import lib.argument_validation as av -from forms import Form_Filters_User +from forms.forms import Form_Filters_User from extensions import db # external from dataclasses import dataclass diff --git a/datastores/__pycache__/datastore_base.cpython-312.pyc b/datastores/__pycache__/datastore_base.cpython-312.pyc index 07257a33..ef2af9b1 100644 Binary files a/datastores/__pycache__/datastore_base.cpython-312.pyc and b/datastores/__pycache__/datastore_base.cpython-312.pyc differ diff --git a/datastores/__pycache__/datastore_store_base.cpython-312.pyc b/datastores/__pycache__/datastore_store_base.cpython-312.pyc index 7e6dcb32..e6b24b8d 100644 Binary files a/datastores/__pycache__/datastore_store_base.cpython-312.pyc and b/datastores/__pycache__/datastore_store_base.cpython-312.pyc differ diff --git a/datastores/__pycache__/datastore_store_basket.cpython-312.pyc b/datastores/__pycache__/datastore_store_basket.cpython-312.pyc index cfbdab5f..6a6a9abe 100644 Binary files a/datastores/__pycache__/datastore_store_basket.cpython-312.pyc and b/datastores/__pycache__/datastore_store_basket.cpython-312.pyc differ diff --git a/datastores/__pycache__/datastore_store_product_category.cpython-312.pyc b/datastores/__pycache__/datastore_store_product_category.cpython-312.pyc index d418682b..411ea097 100644 Binary files a/datastores/__pycache__/datastore_store_product_category.cpython-312.pyc and b/datastores/__pycache__/datastore_store_product_category.cpython-312.pyc differ diff --git a/datastores/__pycache__/datastore_store_product_permutation.cpython-312.pyc b/datastores/__pycache__/datastore_store_product_permutation.cpython-312.pyc index e839edee..d27577e9 100644 Binary files a/datastores/__pycache__/datastore_store_product_permutation.cpython-312.pyc and b/datastores/__pycache__/datastore_store_product_permutation.cpython-312.pyc differ diff --git a/datastores/__pycache__/datastore_store_stock_item.cpython-312.pyc b/datastores/__pycache__/datastore_store_stock_item.cpython-312.pyc index 19dab0c0..d6514b5f 100644 Binary files a/datastores/__pycache__/datastore_store_stock_item.cpython-312.pyc and b/datastores/__pycache__/datastore_store_stock_item.cpython-312.pyc differ diff --git a/datastores/__pycache__/datastore_user.cpython-312.pyc b/datastores/__pycache__/datastore_user.cpython-312.pyc index d59223ca..566505f6 100644 Binary files a/datastores/__pycache__/datastore_user.cpython-312.pyc and b/datastores/__pycache__/datastore_user.cpython-312.pyc differ diff --git a/datastores/datastore_base.py b/datastores/datastore_base.py index 9cfecddc..cb41c322 100644 --- a/datastores/datastore_base.py +++ b/datastores/datastore_base.py @@ -21,7 +21,7 @@ from business_objects.store.delivery_option import Delivery_Option from business_objects.store.delivery_region import Delivery_Region from business_objects.store.discount import Discount from business_objects.store.order import Order -from business_objects.store.product import Product, Product_Permutation, Product_Price, Product_Filters # Permutation_Variation_Link +from business_objects.store.product import Product, Product_Permutation, Product_Price, Filters_Product # Permutation_Variation_Link from business_objects.sql_error import SQL_Error from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters from business_objects.user import User, User_Filters, User_Permission_Evaluation @@ -40,25 +40,31 @@ from pydantic import BaseModel, ConfigDict from typing import ClassVar from datetime import datetime +# db = SQLAlchemy() + class DataStore_Base(BaseModel): # Global constants # Attributes + """ app: Flask = None db: SQLAlchemy = None session: object = None + """ - model_config = ConfigDict(arbitrary_types_allowed=True) + # model_config = ConfigDict(arbitrary_types_allowed=True) def __init__(self, **kwargs): super().__init__(**kwargs) # Constructor + """ self.db = db self.app = current_app with self.app.app_context(): self.session = session - - def db_procedure_execute(self, proc_name, argument_dict_list = None): + """ + @staticmethod + def db_procedure_execute(proc_name, argument_dict_list = None): # Argument validation _m = 'DataStore_Base.db_procedure_execute' av.val_str(proc_name, 'proc_name', _m) @@ -80,9 +86,9 @@ class DataStore_Base(BaseModel): # conn = Helper_DB_MySQL(self.app).get_db_connection() if has_arguments: - result = self.db.session.execute(proc_string, argument_dict_list) + result = db.session.execute(proc_string, argument_dict_list) else: - result = self.db.session.execute(proc_string) + result = db.session.execute(proc_string) print(f'result: {result}') # conn.session.remove() return result @@ -93,11 +99,12 @@ class DataStore_Base(BaseModel): result_set_2 = cursor.fetchall() print(f'products: {result_set_2}') + @staticmethod def db_cursor_clear(cursor): while cursor.nextset(): print(f'new result set: {cursor.fetchall()}') - - def get_regions_and_currencies(self): + @classmethod + def get_regions_and_currencies(cls): _m = 'DataStore_Base.get_regions_and_currencies' _m_db_currency = 'p_shop_get_many_currency' _m_db_region = 'p_shop_get_many_region' @@ -110,7 +117,7 @@ class DataStore_Base(BaseModel): } print(f'executing {_m_db_currency}') - result = self.db_procedure_execute(_m_db_currency, argument_dict_list_currency) + result = cls.db_procedure_execute(_m_db_currency, argument_dict_list_currency) cursor = result.cursor print('data received') @@ -118,13 +125,13 @@ class DataStore_Base(BaseModel): result_set_1 = cursor.fetchall() currencies = [] for row in result_set_1: - currency = Currency.from_DB_currency(row) + currency = Currency.make_from_DB_currency(row) currencies.append(currency) print(f'currencies: {currencies}') DataStore_Base.db_cursor_clear(cursor) print(f'executing {_m_db_region}') - result = self.db_procedure_execute(_m_db_region, argument_dict_list_region) + result = cls.db_procedure_execute(_m_db_region, argument_dict_list_region) cursor = result.cursor print('data received') @@ -132,15 +139,16 @@ class DataStore_Base(BaseModel): result_set_1 = cursor.fetchall() regions = [] for row in result_set_1: - region = Delivery_Region.from_DB_region(row) + region = Delivery_Region.make_from_DB_region(row) regions.append(region) print(f'regions: {regions}') DataStore_Base.db_cursor_clear(cursor) + cursor.close() return regions, currencies - - def get_user_session(self): - return User.from_json(self.session.get(User.KEY_USER)) + @staticmethod + def get_user_session(): + return User.from_json(session.get(User.KEY_USER)) user = User.get_default() try: print(f'user session: {session[self.app.ID_TOKEN_USER]}') @@ -152,7 +160,21 @@ class DataStore_Base(BaseModel): except: print('get user login failed') return user - - def get_user_auth0(self): - return User.from_json_auth0(self.session.get(self.app.config['ID_TOKEN_USER'])) - \ No newline at end of file + @staticmethod + def get_user_auth0(): + return User.from_json_auth0(session.get(current_app.config['ID_TOKEN_USER'])) + @staticmethod + def upload_bulk(objects, objectType, batch_size): + _m = 'DataStore_Base.upload_bulk' + print(f'{_m}\nstarting...') + try: + for i in range(0, len(objects), batch_size): + batch = objects[i:i+batch_size] + data = [object.to_json() for object in batch] + print(f'batch: {batch}\ndata: {data}') + db.session.bulk_insert_mappings(objectType, data) + db.session.commit() + except Exception as e: + print(f'{_m}\n{e}') + db.session.rollback() + raise e \ No newline at end of file diff --git a/datastores/datastore_store_base.py b/datastores/datastore_store_base.py index 8d54ce70..ba31acf1 100644 --- a/datastores/datastore_store_base.py +++ b/datastores/datastore_store_base.py @@ -21,7 +21,7 @@ from business_objects.store.delivery_option import Delivery_Option from business_objects.store.delivery_region import Delivery_Region from business_objects.store.discount import Discount from business_objects.store.order import Order -from business_objects.store.product import Product, Product_Permutation, Product_Price, Product_Filters +from business_objects.store.product import Product, Product_Permutation, Product_Price, Filters_Product from business_objects.sql_error import SQL_Error from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters from business_objects.user import User, User_Filters, User_Permission_Evaluation @@ -41,6 +41,8 @@ from pydantic import BaseModel, ConfigDict from typing import ClassVar from datetime import datetime +# db = SQLAlchemy() + class DataStore_Store_Base(DataStore_Base): # Global constants @@ -52,17 +54,17 @@ class DataStore_Store_Base(DataStore_Base): def __init__(self, **kwargs): super().__init__(**kwargs) - - def get_many_product(self, product_filters): + @classmethod + def get_many_product(cls, product_filters): # redundant argument validation? _m = 'DataStore_Store_Base.get_many_product' - av.val_instance(product_filters, 'product_filters', _m, Product_Filters) + av.val_instance(product_filters, 'product_filters', _m, Filters_Product) argument_dict = product_filters.to_json() - user = self.get_user_session() + user = cls.get_user_session() argument_dict['a_id_user'] = 1 # 'auth0|6582b95c895d09a70ba10fef' # id_user print(f'argument_dict: {argument_dict}') print('executing p_shop_get_many_product') - result = self.db_procedure_execute('p_shop_get_many_product', argument_dict) + result = cls.db_procedure_execute('p_shop_get_many_product', argument_dict) cursor = result.cursor print('data received') @@ -85,35 +87,36 @@ class DataStore_Store_Base(DataStore_Base): cursor.nextset() result_set_2 = cursor.fetchall() # print(f'products: {result_set_2}') - products = [] # [Product(**row) for row in result_set_2] - product_index = {} + # products = [] # [Product(**row) for row in result_set_2] + # product_index = {} for row in result_set_2: + new_product = Product.from_DB_product(row) # (row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[12], row[13], row[14], row[15], row[16], row[17], row[18], row[19]) + index_category = category_list.get_index_category_from_id(new_product.id_category) + category = category_list.categories[index_category] + category_list.add_product(new_product) + # products.append(new_product) + print(f'category_list: {category_list}') + + # Permutations + cursor.nextset() + result_set_3 = cursor.fetchall() + # print(f'Permutations: {result_set_3}') + permutations = [] # [Product(**row) for row in result_set_2] + # permutation_index = {} + for row in result_set_3: new_permutation = Product_Permutation.from_DB_product(row) # (row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[12], row[13], row[14], row[15], row[16], row[17], row[18], row[19]) index_category = category_list.get_index_category_from_id(new_permutation.id_category) category = category_list.categories[index_category] - try: - index_product = category.get_index_product_from_id(new_permutation.id_product) - category_list.add_permutation(new_permutation) - # product = products[index_product] - # product.add_permutation(new_permutation) - except KeyError: - product_index[new_permutation.id_product] = len(products) - product = Product.from_DB_product(row) - product.add_permutation(new_permutation) - products.append(product) - # categories[category_index[new_product.id_category]].add_product(new_product) - category_list.add_product(product) - # category_list.add_permutation(new_permutation) - # print(f'products: {[p.id_product for p in products]}') # {products}') + category_list.add_permutation(new_permutation) print(f'category_list: {category_list}') # Product_Variations cursor.nextset() - result_set_3 = cursor.fetchall() - # print(f'variations: {result_set_3}') - # variations = [Product_Variation(**row) for row in result_set_3] + result_set_4 = cursor.fetchall() + # print(f'variations: {result_set_4}') + # variations = [Product_Variation(**row) for row in result_set_4] variations = [] - for row in result_set_3: + for row in result_set_4: new_variation = Product_Variation.from_DB_product(row) # (row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7]) variations.append(new_variation) # products[product_index[new_variation.id_product]].variations.append(new_variation) @@ -127,8 +130,8 @@ class DataStore_Store_Base(DataStore_Base): # Images cursor.nextset() result_set_5 = cursor.fetchall() - # print(f'images: {result_set_4}') - # images = [Image(**row) for row in result_set_4] + # print(f'images: {result_set_5}') + # images = [Image(**row) for row in result_set_5] images = [] for row in result_set_5: new_image = Image.from_DB_product(row) # (row[0], row[1], row[2], row[3], row[4]) @@ -179,6 +182,7 @@ class DataStore_Store_Base(DataStore_Base): DataStore_Store_Base.db_cursor_clear(cursor) + cursor.close() return category_list, errors # categories, category_index @@ -192,7 +196,7 @@ class DataStore_Store_Base(DataStore_Base): price_ids.append() # get price id return price_ids """ - + @staticmethod def get_ids_permutation_from_error_availability(msg_error_availability): ids_permutation = [] index_colon = msg_error_availability.find(':', msg_error_availability.find(':')) @@ -203,8 +207,8 @@ class DataStore_Store_Base(DataStore_Base): index_comma = msg_error_availability.find(',') ids_permutation.append(msg_error_availability[:index_comma]) return ids_permutation - - def get_regions_and_currencies(self): + @classmethod + def get_regions_and_currencies(cls): _m = 'DataStore_Store_Base.get_regions_and_currencies' _m_db_currency = 'p_shop_get_many_currency' _m_db_region = 'p_shop_get_many_region' @@ -217,7 +221,7 @@ class DataStore_Store_Base(DataStore_Base): } print(f'executing {_m_db_currency}') - result = self.db_procedure_execute(_m_db_currency, argument_dict_list_currency) + result = cls.db_procedure_execute(_m_db_currency, argument_dict_list_currency) cursor = result.cursor print('data received') @@ -231,7 +235,7 @@ class DataStore_Store_Base(DataStore_Base): DataStore_Store_Base.db_cursor_clear(cursor) print(f'executing {_m_db_region}') - result = self.db_procedure_execute(_m_db_region, argument_dict_list_region) + result = cls.db_procedure_execute(_m_db_region, argument_dict_list_region) cursor = result.cursor print('data received') @@ -243,10 +247,11 @@ class DataStore_Store_Base(DataStore_Base): regions.append(region) print(f'regions: {regions}') DataStore_Store_Base.db_cursor_clear(cursor) + cursor.close() return regions, currencies - - def get_many_product_variation(self, variation_filters): + @classmethod + def get_many_product_variation(cls, variation_filters): _m = 'DataStore_Store_Base.get_many_product_variation' print(_m) av.val_instance(variation_filters, 'variation_filters', _m, Product_Variation_Filters) @@ -262,14 +267,14 @@ class DataStore_Store_Base(DataStore_Base): 'a_guid': guid } """ - user = self.get_user_session() + user = cls.get_user_session() argument_dict_list = { # 'a_guid': guid 'a_id_user': user.id_user , **variation_filters.to_json() } # argument_dict_list['a_guid'] = guid - result = self.db_procedure_execute('p_shop_get_many_product_variation', argument_dict_list) + result = cls.db_procedure_execute('p_shop_get_many_product_variation', argument_dict_list) cursor = result.cursor result_set = cursor.fetchall() @@ -290,5 +295,7 @@ class DataStore_Store_Base(DataStore_Base): print(f"Error [{error.code}]: {error.msg}") DataStore_Store_Base.db_cursor_clear(cursor) + + cursor.close() return variations, errors \ No newline at end of file diff --git a/datastores/datastore_store_basket.py b/datastores/datastore_store_basket.py index a9ebb227..4147a85c 100644 --- a/datastores/datastore_store_basket.py +++ b/datastores/datastore_store_basket.py @@ -21,7 +21,7 @@ from business_objects.store.delivery_option import Delivery_Option from business_objects.store.delivery_region import Delivery_Region from business_objects.store.discount import Discount from business_objects.store.order import Order -from business_objects.store.product import Product, Product_Permutation, Product_Price, Product_Filters +from business_objects.store.product import Product, Product_Permutation, Product_Price, Filters_Product from business_objects.sql_error import SQL_Error from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters from business_objects.user import User, User_Filters, User_Permission_Evaluation @@ -41,6 +41,8 @@ from pydantic import BaseModel, ConfigDict from typing import ClassVar from datetime import datetime +# db = SQLAlchemy() + class DataStore_Store_Basket(DataStore_Store_Base): # Global constants diff --git a/datastores/datastore_store_product_category.py b/datastores/datastore_store_product_category.py index ae6b6929..fe65a4e9 100644 --- a/datastores/datastore_store_product_category.py +++ b/datastores/datastore_store_product_category.py @@ -20,11 +20,12 @@ from business_objects.store.delivery_option import Delivery_Option from business_objects.store.delivery_region import Delivery_Region from business_objects.store.discount import Discount from business_objects.store.order import Order -from business_objects.store.product import Product, Product_Permutation, Product_Price, Product_Filters +from business_objects.store.product import Product, Product_Permutation, Product_Price, Filters_Product from business_objects.sql_error import SQL_Error from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters from business_objects.user import User, User_Filters, User_Permission_Evaluation from business_objects.store.product_variation import Product_Variation, Product_Variation_Filters, Product_Variation_List +# from datastores.datastore_base import Table_Shop_Product_Category, Table_Shop_Product_Category_Temp from datastores.datastore_store_base import DataStore_Store_Base from helpers.helper_db_mysql import Helper_DB_MySQL # from models.model_view_store_checkout import Model_View_Store_Checkout # circular! @@ -40,36 +41,114 @@ from pydantic import BaseModel, ConfigDict from typing import ClassVar from datetime import datetime +# db = SQLAlchemy() + +""" +class Table_Shop_Product_Category(db.Model): + __tablename__ = 'Shop_Product_Category' + id_category: int = db.Column(db.Integer, primary_key=True) + code: str = db.Column(db.String(50)) + name: str = db.Column(db.String(255)) + description: str = db.Column(db.String(4000)) + active: bool = db.Column(db.Boolean) + display_order: int = db.Column(db.Integer) + created_on: datetime = db.Column(db.DateTime) + created_by: int = db.Column(db.Integer) + id_change_set: int = db.Column(db.Integer) +""" +class Row_Shop_Product_Category_Temp(db.Model): + __tablename__ = 'Shop_Product_Category_Temp' + __table_args__ = { 'extend_existing': True } + id_category: int = db.Column(db.Integer, primary_key=True) + code: str = db.Column(db.String(50)) + name: str = db.Column(db.String(255)) + description: str = db.Column(db.String(4000)) + active: bool = db.Column(db.Boolean) + display_order: int = db.Column(db.Integer) + guid: str = db.Column(db.BINARY(36)) + created_on: datetime = db.Column(db.DateTime) + created_by: int = db.Column(db.Integer) + + @classmethod + def from_product_category(cls, product_category): + row = cls() + row.id_category = product_category.id_category[0] if isinstance(product_category.id_category, tuple) else product_category.id_category + row.code = product_category.code[0] if isinstance(product_category.code, tuple) else product_category.code + row.name = product_category.name[0] if isinstance(product_category.name, tuple) else product_category.name + row.description = product_category.description[0] if isinstance(product_category.description, tuple) else product_category.description + row.active = product_category.active + row.display_order = product_category.display_order + """ + row.guid = product_category.guid + row.created_on = product_category.created_on + row.created_by = product_category.created_by + """ + return row + def to_json(self): + return { + 'id_category': self.id_category, + 'code': self.code, + 'name': self.name, + 'description': self.description, + 'active': self.active, + 'display_order': self.display_order, + 'guid': self.guid, + 'created_on': self.created_on, + 'created_by': self.created_by + } + class DataStore_Store_Product_Category(DataStore_Store_Base): def __init__(self): super().__init__() - - def save_categories(self, comment, categories): + @classmethod + def save_categories(cls, comment, categories): _m = 'DataStore_Store_Product_Category.save_categories' - av.val_str(comment, 'comment', _m) - av.val_list(categories, 'categories', _m, Product_Category, 1) + print(f'{_m}\nstarting...') + print(f'comment: {comment}\ncategories: {categories}') + # av.val_str(comment, 'comment', _m) + # av.val_list_instances(categories, 'categories', _m, Product_Category, 1) guid = Helper_DB_MySQL.create_guid() now = datetime.now() - user = self.get_user_session() - for permutation in permutations: - setattr(permutation, 'guid', guid) - setattr(permutation, 'created_on', now) - setattr(permutation, 'created_by', user.id_user) + user = cls.get_user_session() + rows = [] + id_category_new = 0 + for category in categories: + row = Row_Shop_Product_Category_Temp.from_product_category(category) + # id_tmp = + if row.id_category == '': + id_category_new -= 1 + row.id_category = id_category_new + else: + print(f'row.id_category: {row.id_category}') + row.guid = guid + row.created_on = now + row.created_by = user.id_user + rows.append(row) - cursor = self.db.cursor() + print(f'rows: {rows}') + """ + cursor = db.cursor() + print('cursor created') cursor.executemany( - 'INSERT INTO Shop_Product_Permutation_Temp (id_permutation, id_product, description, cost_local, id_currency_cost, profit_local_min, latency_manufacture, quantity_min, quantity_max, quantity_step, quantity_stock, is_subscription, id_recurrence_interval, count_recurrence_interval, id_stripe_product, active, display_order, guid) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)', - permutations + 'INSERT INTO Shop_Product_Category_Temp (id_category, code, name, description, active, display_order, guid, created_on, created_by) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)', + categories ) - self.db.commit() - + print('bulk upload executed') + db.commit() + print('bulk upload committed') + cursor.close() + print('cursor closed') + """ + DataStore_Store_Base.upload_bulk(rows, Row_Shop_Product_Category_Temp, 1000) + argument_dict_list = { 'a_id_user': user.id_user, + 'a_guid': guid, 'a_comment': comment, - 'a_guid': guid } - self.db_procedure_execute('p_shop_save_permutation', argument_dict_list) - - cursor.close() + save_result = cls.db_procedure_execute('p_shop_save_product_category', argument_dict_list) + save_result.close() + print('save procedure executed') + diff --git a/datastores/datastore_store_product_permutation.py b/datastores/datastore_store_product_permutation.py index 54176ed9..d1e0186b 100644 --- a/datastores/datastore_store_product_permutation.py +++ b/datastores/datastore_store_product_permutation.py @@ -20,7 +20,7 @@ from business_objects.store.delivery_option import Delivery_Option from business_objects.store.delivery_region import Delivery_Region from business_objects.store.discount import Discount from business_objects.store.order import Order -from business_objects.store.product import Product, Product_Permutation, Product_Price, Product_Filters +from business_objects.store.product import Product, Product_Permutation, Product_Price, Filters_Product from business_objects.sql_error import SQL_Error from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters from business_objects.user import User, User_Filters, User_Permission_Evaluation @@ -40,6 +40,8 @@ from pydantic import BaseModel, ConfigDict from typing import ClassVar from datetime import datetime +# db = SQLAlchemy() + class DataStore_Store_Product_Permutation(DataStore_Store_Base): def __init__(self): diff --git a/datastores/datastore_store_product_variation.py b/datastores/datastore_store_product_variation.py index c0e4a54b..84a68a78 100644 --- a/datastores/datastore_store_product_variation.py +++ b/datastores/datastore_store_product_variation.py @@ -21,7 +21,7 @@ from business_objects.store.delivery_option import Delivery_Option from business_objects.store.delivery_region import Delivery_Region from business_objects.store.discount import Discount from business_objects.store.order import Order -from business_objects.store.product import Product, Product_Permutation, Product_Price, Product_Filters +from business_objects.store.product import Product, Product_Permutation, Product_Price, Filters_Product from business_objects.sql_error import SQL_Error from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters from business_objects.user import User, User_Filters, User_Permission_Evaluation @@ -41,6 +41,8 @@ from pydantic import BaseModel, ConfigDict from typing import ClassVar from datetime import datetime +# db = SQLAlchemy() + class DataStore_Store_Product_Variation(DataStore_Store_Base): # Global constants diff --git a/datastores/datastore_store_stock_item.py b/datastores/datastore_store_stock_item.py index d3851ddb..da5798a0 100644 --- a/datastores/datastore_store_stock_item.py +++ b/datastores/datastore_store_stock_item.py @@ -21,7 +21,7 @@ from business_objects.store.delivery_option import Delivery_Option from business_objects.store.delivery_region import Delivery_Region from business_objects.store.discount import Discount from business_objects.store.order import Order -from business_objects.store.product import Product, Product_Permutation, Product_Price, Product_Filters +from business_objects.store.product import Product, Product_Permutation, Product_Price, Filters_Product from business_objects.sql_error import SQL_Error from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters from business_objects.user import User, User_Filters, User_Permission_Evaluation @@ -41,6 +41,8 @@ from pydantic import BaseModel, ConfigDict from typing import ClassVar from datetime import datetime +# db = SQLAlchemy() + class DataStore_Store_Stock_Item(DataStore_Store_Base): # Global constants diff --git a/datastores/datastore_store_stripe.py b/datastores/datastore_store_stripe.py index ef0ea6b9..8784af40 100644 --- a/datastores/datastore_store_stripe.py +++ b/datastores/datastore_store_stripe.py @@ -21,7 +21,7 @@ from business_objects.store.delivery_option import Delivery_Option from business_objects.store.delivery_region import Delivery_Region from business_objects.store.discount import Discount from business_objects.store.order import Order -from business_objects.store.product import Product, Product_Permutation, Product_Price, Product_Filters +from business_objects.store.product import Product, Product_Permutation, Product_Price, Filters_Product from business_objects.sql_error import SQL_Error from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters from business_objects.user import User, User_Filters, User_Permission_Evaluation @@ -41,6 +41,8 @@ from pydantic import BaseModel, ConfigDict from typing import ClassVar from datetime import datetime +# db = SQLAlchemy() + class DataStore_Store_Stripe(DataStore_Store_Base): # Global constants diff --git a/datastores/datastore_user.py b/datastores/datastore_user.py index 33652f10..cad8e648 100644 --- a/datastores/datastore_user.py +++ b/datastores/datastore_user.py @@ -21,7 +21,7 @@ from business_objects.store.delivery_option import Delivery_Option from business_objects.store.delivery_region import Delivery_Region from business_objects.store.discount import Discount from business_objects.store.order import Order -from business_objects.store.product import Product, Product_Permutation, Product_Price, Product_Filters +from business_objects.store.product import Product, Product_Permutation, Product_Price, Filters_Product from business_objects.sql_error import SQL_Error from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters from business_objects.user import User, User_Filters, User_Permission_Evaluation @@ -41,6 +41,8 @@ from pydantic import BaseModel, ConfigDict from typing import ClassVar from datetime import datetime +# db = SQLAlchemy() + class DataStore_User(DataStore_Base): # Global constants diff --git a/forms/__init__.py b/forms/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/forms/__pycache__/__init__.cpython-312.pyc b/forms/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 00000000..02f75864 Binary files /dev/null and b/forms/__pycache__/__init__.cpython-312.pyc differ diff --git a/forms/__pycache__/forms.cpython-312.pyc b/forms/__pycache__/forms.cpython-312.pyc new file mode 100644 index 00000000..445181d8 Binary files /dev/null and b/forms/__pycache__/forms.cpython-312.pyc differ diff --git a/forms.py b/forms/forms.py similarity index 98% rename from forms.py rename to forms/forms.py index 372bb9c0..a9f690ee 100644 --- a/forms.py +++ b/forms/forms.py @@ -12,6 +12,7 @@ Defines Flask-WTF forms for handling user input. # IMPORTS # internal +# from business_objects.store.product_category import Filters_Product_Category # circular # from models.model_view_store import Model_View_Store # circular # external from flask_wtf import FlaskForm diff --git a/forms/store/__init__.py b/forms/store/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/forms/store/__pycache__/__init__.cpython-312.pyc b/forms/store/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 00000000..b0530ac6 Binary files /dev/null and b/forms/store/__pycache__/__init__.cpython-312.pyc differ diff --git a/forms/store/__pycache__/product_category.cpython-312.pyc b/forms/store/__pycache__/product_category.cpython-312.pyc new file mode 100644 index 00000000..4555ea30 Binary files /dev/null and b/forms/store/__pycache__/product_category.cpython-312.pyc differ diff --git a/forms/store/product_category.py b/forms/store/product_category.py new file mode 100644 index 00000000..8142194b --- /dev/null +++ b/forms/store/product_category.py @@ -0,0 +1,34 @@ +""" +Project: PARTS Website +Author: Edward Middleton-Smith + Precision And Research Technology Systems Limited + +Technology: Backend +Feature: Forms - User data input + +Description: +Defines Flask-WTF forms for handling user input. +""" + +# IMPORTS +# internal +# from business_objects.store.product_category import Filters_Product_Category +# from models.model_view_store import Model_View_Store # circular +# external +from flask_wtf import FlaskForm +from wtforms import StringField, TextAreaField, SubmitField, BooleanField, IntegerField, SelectField, FloatField +from wtforms.validators import InputRequired, NumberRange, Regexp, DataRequired, Optional +from flask_wtf.recaptcha import RecaptchaField + + +class Form_Filters_Product_Category(FlaskForm): + is_not_empty = BooleanField('Not empty only?') + active = BooleanField("Active only?") + @classmethod + def from_filters_product_category(cls, filters_product_category): + form = Form_Filters_Product_Category() + form.is_not_empty.data = filters_product_category.is_not_empty_only + form.active.data = filters_product_category.active_only + return form + def __repr__(self): + return f'Form_Filters_Product_Category(is_not_empty={self.is_not_empty.data}, active={self.active.data})' \ No newline at end of file diff --git a/helpers/__pycache__/helper_app.cpython-312.pyc b/helpers/__pycache__/helper_app.cpython-312.pyc index c42bc2e4..01ea7a07 100644 Binary files a/helpers/__pycache__/helper_app.cpython-312.pyc and b/helpers/__pycache__/helper_app.cpython-312.pyc differ diff --git a/helpers/__pycache__/helper_db_mysql.cpython-312.pyc b/helpers/__pycache__/helper_db_mysql.cpython-312.pyc index 24e70f39..bc9fbf83 100644 Binary files a/helpers/__pycache__/helper_db_mysql.cpython-312.pyc and b/helpers/__pycache__/helper_db_mysql.cpython-312.pyc differ diff --git a/helpers/helper_app.py b/helpers/helper_app.py index 0e093e64..1a5b2b66 100644 --- a/helpers/helper_app.py +++ b/helpers/helper_app.py @@ -22,4 +22,10 @@ class Helper_App(BaseModel): try: return request.json except: - return {} \ No newline at end of file + try: + return request.data + except: + try: + return request.form + except: + return {} \ No newline at end of file diff --git a/helpers/helper_db_mysql.py b/helpers/helper_db_mysql.py index 56806e67..b7801af9 100644 --- a/helpers/helper_db_mysql.py +++ b/helpers/helper_db_mysql.py @@ -35,5 +35,8 @@ class Helper_DB_MySQL(BaseModel): return db @staticmethod + def create_guid_str(): + return str(uuid.uuid4()) + @staticmethod def create_guid(): - return str(uuid.uuid4()) \ No newline at end of file + return uuid.uuid4().bytes \ No newline at end of file diff --git a/lib/__pycache__/argument_validation.cpython-312.pyc b/lib/__pycache__/argument_validation.cpython-312.pyc index 9ad9f1dc..389a27cb 100644 Binary files a/lib/__pycache__/argument_validation.cpython-312.pyc and b/lib/__pycache__/argument_validation.cpython-312.pyc differ diff --git a/lib/argument_validation.py b/lib/argument_validation.py index f2a9fa9e..579f2c4f 100644 --- a/lib/argument_validation.py +++ b/lib/argument_validation.py @@ -910,7 +910,7 @@ def val_list_instances(v_input, v_name, method, v_type = None, min_len = -1, max # optional bool allow_nuns # optional str v_arg_type # ARGUMENT VALIDATION - my_f = 'val_list' + my_f = 'val_list_instances' val_bool(suppress_errors, 'suppress_errors', my_f) if not val_bool(suppress_console_outputs, 'suppress_console_outputs', my_f, suppress_errors): print(error_msg_str(suppress_console_outputs, 'suppress_console_outputs', my_f, "", suppress_errors)) diff --git a/models/__pycache__/model_view_base.cpython-312.pyc b/models/__pycache__/model_view_base.cpython-312.pyc index e4cd5998..fb1ae579 100644 Binary files a/models/__pycache__/model_view_base.cpython-312.pyc and b/models/__pycache__/model_view_base.cpython-312.pyc differ diff --git a/models/__pycache__/model_view_contact.cpython-312.pyc b/models/__pycache__/model_view_contact.cpython-312.pyc index ca116ce1..1df0e1a0 100644 Binary files a/models/__pycache__/model_view_contact.cpython-312.pyc and b/models/__pycache__/model_view_contact.cpython-312.pyc differ diff --git a/models/__pycache__/model_view_store.cpython-312.pyc b/models/__pycache__/model_view_store.cpython-312.pyc index 054f7405..dfa94027 100644 Binary files a/models/__pycache__/model_view_store.cpython-312.pyc and b/models/__pycache__/model_view_store.cpython-312.pyc differ diff --git a/models/__pycache__/model_view_store_product_category.cpython-312.pyc b/models/__pycache__/model_view_store_product_category.cpython-312.pyc index f57258bb..31913525 100644 Binary files a/models/__pycache__/model_view_store_product_category.cpython-312.pyc and b/models/__pycache__/model_view_store_product_category.cpython-312.pyc differ diff --git a/models/__pycache__/model_view_store_product_permutation.cpython-312.pyc b/models/__pycache__/model_view_store_product_permutation.cpython-312.pyc index 9b65975f..3b342acf 100644 Binary files a/models/__pycache__/model_view_store_product_permutation.cpython-312.pyc and b/models/__pycache__/model_view_store_product_permutation.cpython-312.pyc differ diff --git a/models/__pycache__/model_view_store_stock_items.cpython-312.pyc b/models/__pycache__/model_view_store_stock_items.cpython-312.pyc index c7d13962..62ebfc65 100644 Binary files a/models/__pycache__/model_view_store_stock_items.cpython-312.pyc and b/models/__pycache__/model_view_store_stock_items.cpython-312.pyc differ diff --git a/models/__pycache__/model_view_store_supplier.cpython-312.pyc b/models/__pycache__/model_view_store_supplier.cpython-312.pyc index c3fef28b..9bca2131 100644 Binary files a/models/__pycache__/model_view_store_supplier.cpython-312.pyc and b/models/__pycache__/model_view_store_supplier.cpython-312.pyc differ diff --git a/models/model_view_base.py b/models/model_view_base.py index 3a6a83de..a872beb7 100644 --- a/models/model_view_base.py +++ b/models/model_view_base.py @@ -18,8 +18,9 @@ Base data model for views # internal # from routes import bp_home import lib.argument_validation as av -from forms import Form_Is_Included_VAT, Form_Delivery_Region, Form_Currency +from forms.forms import Form_Is_Included_VAT, Form_Delivery_Region, Form_Currency from datastores.datastore_user import DataStore_User +from business_objects.store.store_base import Store_Base from business_objects.user import User, User_Filters # external from abc import ABC, abstractmethod @@ -28,36 +29,41 @@ from flask import Flask, session, current_app from pydantic import BaseModel, ConfigDict from typing import ClassVar -# VARIABLE INSTANTIATION -# CLASSES class Model_View_Base(BaseModel, ABC): # Global constants + # ATTR_FOR: ClassVar[str] = 'for' ATTR_TEXT_COLLAPSED: ClassVar[str] = 'textCollapsed' ATTR_TEXT_EXPANDED: ClassVar[str] = 'textExpanded' ATTR_VALUE_CURRENT: ClassVar[str] = 'current-value' ATTR_VALUE_PREVIOUS: ClassVar[str] = 'previous-value' - FLAG_ACTIVE: ClassVar[str] = 'active' + FLAG_ACTIVE: ClassVar[str] = Store_Base.FLAG_ACTIVE FLAG_ADD: ClassVar[str] = 'add' FLAG_CANCEL: ClassVar[str] = 'button-cancel' # FLAG_CONTACT_US: ClassVar[str] = 'button-contact' FLAG_CLOSE_TEMPORARY_ELEMENT: ClassVar[str] = 'button-temporary-element-close' FLAG_CARD: ClassVar[str] = 'card' + FLAG_CODE: ClassVar[str] = Store_Base.FLAG_CODE FLAG_COLLAPSED: ClassVar[str] = 'collapsed' FLAG_COLLAPSIBLE: ClassVar[str] = 'collapsible' FLAG_COLUMN: ClassVar[str] = 'column' + FLAG_COMMENT: ClassVar[str] = 'comment' FLAG_CONTAINER: ClassVar[str] = 'container' FLAG_CONTAINER_INPUT: ClassVar[str] = FLAG_CONTAINER + '-input' FLAG_DELETE: ClassVar[str] = 'delete' + FLAG_DESCRIPTION: ClassVar[str] = Store_Base.FLAG_DESCRIPTION FLAG_DETAIL: ClassVar[str] = 'detail' FLAG_DIALOG: ClassVar[str] = 'dialog' # try element FLAG_DIRTY: ClassVar[str] = 'dirty' + FLAG_DISPLAY_ORDER: ClassVar[str] = Store_Base.FLAG_DISPLAY_ORDER FLAG_ERROR: ClassVar[str] = 'error' FLAG_EXPANDED: ClassVar[str] = 'expanded' + FLAG_FILTER: ClassVar[str] = 'filter' FLAG_HAMBURGER: ClassVar[str] = 'hamburger' FLAG_IMAGE_LOGO: ClassVar[str] = 'image-logo' FLAG_INITIALISED: ClassVar[str] = 'initialised' FLAG_MODAL: ClassVar[str] = 'modal' + FLAG_NAME: ClassVar[str] = Store_Base.FLAG_NAME FLAG_NAV_ADMIN_HOME: ClassVar[str] = 'navAdminHome' FLAG_NAV_ADMIN_STORE_STRIPE_PRICES: ClassVar[str] = 'navAdminStoreStripePrices' FLAG_NAV_ADMIN_STORE_STRIPE_PRODUCTS: ClassVar[str] = 'navAdminStoreStripeProducts' @@ -80,7 +86,9 @@ class Model_View_Base(BaseModel, ABC): FLAG_PAGE_BODY: ClassVar[str] = 'page-body' FLAG_ROW: ClassVar[str] = 'row' FLAG_ROW_NEW: ClassVar[str] = 'row-new' + FLAG_SAVE: ClassVar[str] = 'save' FLAG_SCROLLABLE: ClassVar[str] = 'scrollable' + FLAG_SLIDER: ClassVar[str] = 'slider' FLAG_SUBMIT: ClassVar[str] = 'submit' FLAG_SUBMITTED: ClassVar[str] = 'submitted' # flagIsDatePicker: ClassVar[str] = 'is-date-picker' @@ -110,8 +118,8 @@ class Model_View_Base(BaseModel, ABC): HASH_PAGE_USER_ADMIN: ClassVar[str] = '/user/admin' HASH_PAGE_USER_LOGIN: ClassVar[str] = '/login' HASH_PAGE_USER_LOGOUT: ClassVar[str] = '/logout' - HASH_SAVE_STORE_PRODUCT_PERMUTATION: ClassVar[str] = '/store/permutation_save' ID_BUTTON_ADD: ClassVar[str] = 'buttonAdd' + ID_BUTTON_APPLY_FILTERS: ClassVar[str] = 'buttonApplyFilters' ID_BUTTON_CANCEL: ClassVar[str] = 'buttonCancel' ID_BUTTON_HAMBURGER: ClassVar[str] = 'buttonHamburger' ID_BUTTON_SAVE: ClassVar[str] = 'buttonSave' @@ -143,6 +151,7 @@ class Model_View_Base(BaseModel, ABC): ID_BUTTON_NAV_USER_LOGOUT: ClassVar[str] = 'navUserLogout' """ ID_OVERLAY_CONFIRM: ClassVar[str] = 'overlayConfirm' + ID_OVERLAY_ERROR: ClassVar[str] = 'overlayError' ID_OVERLAY_HAMBURGER: ClassVar[str] = 'overlayHamburger' ID_PAGE_BODY: ClassVar[str] = 'pageBody' ID_TABLE_MAIN: ClassVar[str] = 'tableMain' diff --git a/models/model_view_contact.py b/models/model_view_contact.py index def077a4..ffac579b 100644 --- a/models/model_view_contact.py +++ b/models/model_view_contact.py @@ -14,7 +14,7 @@ Data model for contact view from models.model_view_base import Model_View_Base # from routes import bp_home from lib import argument_validation as av -from forms import Form_Contact +from forms.forms import Form_Contact # external from flask_wtf import FlaskForm from abc import abstractproperty diff --git a/models/model_view_store.py b/models/model_view_store.py index 3a35beee..13b1dd1a 100644 --- a/models/model_view_store.py +++ b/models/model_view_store.py @@ -18,13 +18,13 @@ Parent data model for store views # internal # from context import models from models.model_view_base import Model_View_Base -from business_objects.store.product import Product, Product_Filters, Product_Permutation # Product_Image_Filters, +from business_objects.store.product import Product, Filters_Product, Product_Permutation # Product_Image_Filters, from business_objects.store.image import Resolution_Level_Enum import lib.argument_validation as av from datastores.datastore_store_base import DataStore_Store_Base from datastores.datastore_user import DataStore_User from datastores.datastore_store_basket import DataStore_Store_Basket -from forms import Form_Basket_Edit, Form_Is_Included_VAT, Form_Delivery_Region, Form_Currency +from forms.forms import Form_Basket_Edit, Form_Is_Included_VAT, Form_Delivery_Region, Form_Currency from business_objects.store.basket import Basket_Item, Basket from business_objects.store.product_category import Product_Category from business_objects.store.product_variation import Product_Variation_Filters, Product_Variation @@ -71,6 +71,10 @@ class Model_View_Store(Model_View_Base): HASH_STORE_BASKET_DELETE : ClassVar[str] = '/store/basket_delete' HASH_STORE_BASKET_EDIT : ClassVar[str] = '/store/basket_edit' HASH_STORE_BASKET_LOAD : ClassVar[str] = '/store/basket_load' + HASH_GET_STORE_PRODUCT_CATEGORY: ClassVar[str] = '/store/category_get' + HASH_GET_STORE_PRODUCT_PERMUTATION: ClassVar[str] = '/store/permutation_get' + HASH_SAVE_STORE_PRODUCT_CATEGORY: ClassVar[str] = '/store/category_save' + HASH_SAVE_STORE_PRODUCT_PERMUTATION: ClassVar[str] = '/store/permutation_save' HASH_STORE_SET_CURRENCY : ClassVar[str] = '/store/set_currency' HASH_STORE_SET_DELIVERY_REGION : ClassVar[str] = '/store/set_delivery_region' HASH_STORE_SET_IS_INCLUDED_VAT : ClassVar[str] = '/store/set_is_included_VAT' @@ -158,7 +162,7 @@ class Model_View_Store(Model_View_Base): def get_many_product(self, product_filters): # category_ids = '', product_ids = '', get_all_category = True, get_all_product = True, max_products_per_category = -1): _m = 'Model_View_Store.get_many_product' - av.val_instance(product_filters, 'product_filters', _m, Product_Filters) + av.val_instance(product_filters, 'product_filters', _m, Filters_Product) """ av.val_str(category_ids, 'category_ids', _m) av.val_str(product_ids, 'product_ids', _m) @@ -288,7 +292,7 @@ class Model_View_Store(Model_View_Base): is_included_VAT = basket[self.KEY_IS_INCLUDED_VAT] print(f'json basket items: {items}') product_ids, permutation_ids, item_index_dict = self._get_json_basket_id_CSVs_product_permutation(items) - category_list, errors = DataStore_Store_Base().get_many_product(Product_Filters( + category_list, errors = DataStore_Store_Base().get_many_product(Filters_Product( self.id_user, # :a_id_user True, '', False, # :a_get_all_category, :a_ids_category, :a_get_inactive_category False, product_ids, False, False, # :a_get_all_product, :a_ids_product, :a_get_inactive_product, :a_get_first_product_only @@ -335,7 +339,7 @@ class Model_View_Store(Model_View_Base): """ ids_permutation_unavailable = self.basket.get_ids_permutation_unavailable() if len(ids_permutation_unavailable) > 0: - category_list_unavailable, errors_unavailable = DataStore_Store().get_many_product(Product_Filters( + category_list_unavailable, errors_unavailable = DataStore_Store().get_many_product(Filters_Product( self.id_user, # :a_id_user True, '', False, # :a_get_all_category, :a_ids_category, :a_get_inactive_category False, '', False, False, # :a_get_all_product, :a_ids_product, :a_get_inactive_product, :a_get_first_product_only diff --git a/models/model_view_store_basket.py b/models/model_view_store_basket.py index c41e7a92..a8e965c7 100644 --- a/models/model_view_store_basket.py +++ b/models/model_view_store_basket.py @@ -19,7 +19,7 @@ Data model for store basket view from models.model_view_store import Model_View_Store # from routes import bp_home from business_objects.store.product import Product -from forms import Form_Billing # Form_Product +from forms.forms import Form_Billing # Form_Product # external diff --git a/models/model_view_store_checkout.py b/models/model_view_store_checkout.py index 87cdf451..e93c49f5 100644 --- a/models/model_view_store_checkout.py +++ b/models/model_view_store_checkout.py @@ -20,7 +20,7 @@ from models.model_view_store import Model_View_Store from models.model_view_store_basket import Model_View_Store_Basket # from routes import bp_home from business_objects.store.product import Product -from forms import Form_Billing # Form_Product +from forms.forms import Form_Billing # Form_Product import lib.argument_validation as av # from datastores.datastore_store_base import DataStore_Store # external diff --git a/models/model_view_store_checkout_success.py b/models/model_view_store_checkout_success.py index 2e8a3ea6..9edb0d0d 100644 --- a/models/model_view_store_checkout_success.py +++ b/models/model_view_store_checkout_success.py @@ -20,7 +20,7 @@ from models.model_view_store import Model_View_Store from models.model_view_store_checkout import Model_View_Store_Checkout # from routes import bp_home from business_objects.store.product import Product -from forms import Form_Billing # Form_Product +from forms.forms import Form_Billing # Form_Product import lib.argument_validation as av # from datastores.datastore_store_base import DataStore_Store # external diff --git a/models/model_view_store_home.py b/models/model_view_store_home.py index f908efc9..63e665c7 100644 --- a/models/model_view_store_home.py +++ b/models/model_view_store_home.py @@ -19,7 +19,7 @@ Data model for store home view from models.model_view_store import Model_View_Store # from routes import bp_home from business_objects.store.product import Product -from forms import Form_Basket_Add, Form_Basket_Edit # Form_Product +from forms.forms import Form_Basket_Add, Form_Basket_Edit # Form_Product # external diff --git a/models/model_view_store_product.py b/models/model_view_store_product.py index 2c9362f4..af202c0a 100644 --- a/models/model_view_store_product.py +++ b/models/model_view_store_product.py @@ -19,7 +19,7 @@ Data model for store product view from models.model_view_store import Model_View_Store from datastores.datastore_store_base import DataStore_Store_Base # from routes import bp_home -from business_objects.store.product import Product, Product_Filters +from business_objects.store.product import Product, Filters_Product import lib.argument_validation as av # external @@ -44,7 +44,7 @@ class Model_View_Store_Product(Model_View_Store): super().__init__(hash_page_current=hash_page_current, id_currency=id_currency, id_region_delivery=id_region_delivery, is_included_VAT=is_included_VAT) print('supered') - category_list = DataStore_Store_Base().get_many_product(Product_Filters( + category_list = DataStore_Store_Base().get_many_product(Filters_Product( self.info_user['sub'], True, '', False, True, '', False, False, diff --git a/models/model_view_store_product_category.py b/models/model_view_store_product_category.py index d543b47b..ba186822 100644 --- a/models/model_view_store_product_category.py +++ b/models/model_view_store_product_category.py @@ -14,10 +14,11 @@ Data model for store permutations view from models.model_view_store import Model_View_Store # from datastores.datastore_store_base import DataStore_Store_Base from datastores.datastore_store_product_category import DataStore_Store_Product_Category -from business_objects.store.product_category import Container_Product_Category -from forms import Form_Filters_Permutation +from business_objects.store.product_category import Container_Product_Category, Filters_Product_Category +from forms.forms import Form_Filters_Permutation +from forms.store.product_category import Form_Filters_Product_Category # from routes import bp_home -from business_objects.store.product import Product, Product_Filters, Product_Permutation +from business_objects.store.product import Product, Filters_Product, Product_Permutation from business_objects.store.product_variation import Product_Variation_List import lib.argument_validation as av @@ -26,56 +27,29 @@ from pydantic import BaseModel from typing import ClassVar class Model_View_Store_Product_Category(Model_View_Store): - ID_FILTER_CATEGORY: ClassVar[str] = 'id_category' - ID_FILTER_PRODUCT: ClassVar[str] = 'id_product' - ID_FILTER_IS_OUT_OF_STOCK: ClassVar[str] = 'is_out_of_stock' - ID_FILTER_QUANTITY_MIN: ClassVar[str] = 'quantity_min' - ID_FILTER_QUANTITY_MAX: ClassVar[str] = 'quantity_max' - ID_Form_Filters_Permutation: ClassVar[str] = 'Form_Filters_Permutation' - KEY_PERMUTATIONS: ClassVar[str] = 'permutations' + FLAG_IS_NOT_EMPTY: ClassVar[str] = 'is-not-empty' + ID_FORM_FILTERS_PRODUCT_CATEGORY: ClassVar[str] = 'Form_Filters_Product_Category' + KEY_CATEGORIES: ClassVar[str] = 'categories' category_list: Container_Product_Category = None # (str) - filters_product: Product_Filters - form_filters: Form_Filters_Permutation = None - permutation_blank: Product_Permutation = None - variations: Product_Variation_List = None + filters_category: Filters_Product_Category + form_filters: Form_Filters_Product_Category = None @property def title(self): return 'Product Category' - def __init__(self, filters_product, hash_page_current=Model_View_Store.HASH_PAGE_STORE_PRODUCT_PERMUTATIONS): + def __init__(self, filters_category, hash_page_current=Model_View_Store.HASH_PAGE_STORE_PRODUCT_CATEGORIES): _m = 'Model_View_Store_Product_Category.__init__' print(f'{_m}\nstarting...') - super().__init__(hash_page_current=hash_page_current, filters_product=filters_product) + super().__init__(hash_page_current=hash_page_current, filters_category=filters_category) # BaseModel.__init__(self, app=app, filters_product=filters_product, **kwargs) - self.form_filters = Form_Filters_Permutation() datastore_store = DataStore_Store_Product_Category() + self.form_filters = Form_Filters_Product_Category.from_filters_product_category(filters_category) + filters_product = Filters_Product.from_filters_product_category(filters_category) self.category_list, errors = datastore_store.get_many_product(filters_product) - category_list_filters, errors_filters = datastore_store.get_many_product( - Product_Filters( - # self.info_user['sub'], - True, False, False, '', - True, False, False, '', - True, False, False, '', - False, False, False, '', - False, False, False, '', - False, False, False, '', - False, False, '', - filters_product.get_products_quantity_stock_below_min - ) - ) - print(f'category_list_filters: {category_list_filters.categories}') - self.form_filters.id_category.choices = [('0', 'All')] + [(str(category.id_category), category.name) for category in category_list_filters.categories] - print(f'category options: {self.form_filters.id_category.choices}') - product_list = category_list_filters.to_list_products() - print(f'product_list: {product_list}') - self.form_filters.id_product.choices = [('0', 'All')] + [(str(product['value']), product['text']) for product in product_list] - self.permutation_blank = Product_Permutation() - print(f'category options: {self.form_filters.id_category.choices}') - variations, errors = self.get_many_product_variation() - self.variations = variations - def save_categories(self, comment, list_categories): - _m = 'Model_View_Store_Product_Category.save_categories' + @classmethod + def save_categories(cls, comment, list_categories): + _m = f'{cls.__name__}.save_categories' DataStore_Store_Product_Category().save_categories(comment, list_categories) \ No newline at end of file diff --git a/models/model_view_store_product_permutation.py b/models/model_view_store_product_permutation.py index 455a3ab5..5ed5da0d 100644 --- a/models/model_view_store_product_permutation.py +++ b/models/model_view_store_product_permutation.py @@ -14,9 +14,9 @@ Data model for store permutations view from models.model_view_store import Model_View_Store from datastores.datastore_store_product_permutation import DataStore_Store_Product_Permutation from business_objects.store.product_category import Container_Product_Category -from forms import Form_Filters_Permutation +from forms.forms import Form_Filters_Permutation # from routes import bp_home -from business_objects.store.product import Product, Product_Filters, Product_Permutation +from business_objects.store.product import Product, Filters_Product, Product_Permutation from business_objects.store.product_variation import Product_Variation_List import lib.argument_validation as av @@ -34,7 +34,7 @@ class Model_View_Store_Product_Permutation(Model_View_Store): KEY_PERMUTATIONS: ClassVar[str] = 'permutations' category_list: Container_Product_Category = None # (str) - filters_product: Product_Filters + filters_product: Filters_Product form_filters: Form_Filters_Permutation = None permutation_blank: Product_Permutation = None variations: Product_Variation_List = None @@ -52,7 +52,7 @@ class Model_View_Store_Product_Permutation(Model_View_Store): datastore_store = DataStore_Store_Product_Permutation() self.category_list, errors = datastore_store.get_many_product(filters_product) category_list_filters, errors_filters = datastore_store.get_many_product( - Product_Filters( + Filters_Product( # self.info_user['sub'], True, False, '', True, False, '', diff --git a/models/model_view_store_stock_items.py b/models/model_view_store_stock_items.py index 050701da..40220be3 100644 --- a/models/model_view_store_stock_items.py +++ b/models/model_view_store_stock_items.py @@ -14,9 +14,9 @@ Data model for store stock items view from models.model_view_store import Model_View_Store from datastores.datastore_store_stock_item import DataStore_Store_Stock_Item from business_objects.store.product_category import Container_Product_Category -from forms import Form_Filters_Stock_Item +from forms.forms import Form_Filters_Stock_Item # from routes import bp_home -from business_objects.store.product import Product, Product_Filters, Product_Permutation +from business_objects.store.product import Product, Filters_Product, Product_Permutation from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters import lib.argument_validation as av diff --git a/models/model_view_store_supplier.py b/models/model_view_store_supplier.py index 19e87f8d..afdb4d27 100644 --- a/models/model_view_store_supplier.py +++ b/models/model_view_store_supplier.py @@ -15,7 +15,7 @@ from models.model_view_base import Model_View_Base from models.model_view_store import Model_View_Store # from routes import bp_home from lib import argument_validation as av -from forms import Form_Supplier +from forms.forms import Form_Supplier # external diff --git a/routing/__pycache__/core.cpython-312.pyc b/routing/__pycache__/core.cpython-312.pyc index 40bb4d52..9d70ad0b 100644 Binary files a/routing/__pycache__/core.cpython-312.pyc and b/routing/__pycache__/core.cpython-312.pyc differ diff --git a/routing/core.py b/routing/core.py index 8ada6b22..e6ab2f7c 100644 --- a/routing/core.py +++ b/routing/core.py @@ -12,7 +12,7 @@ Initializes the Flask application, sets the configuration based on the environme # IMPORTS # internal -from forms import Form_Contact +from forms.forms import Form_Contact from models.model_view_admin_home import Model_View_Admin_Home from models.model_view_contact import Model_View_Contact from models.model_view_home import Model_View_Home diff --git a/routing/store/__pycache__/product_category.cpython-312.pyc b/routing/store/__pycache__/product_category.cpython-312.pyc index 407bad93..8fbf94e8 100644 Binary files a/routing/store/__pycache__/product_category.cpython-312.pyc and b/routing/store/__pycache__/product_category.cpython-312.pyc differ diff --git a/routing/store/__pycache__/product_permutation.cpython-312.pyc b/routing/store/__pycache__/product_permutation.cpython-312.pyc index d2eafd7a..78881aff 100644 Binary files a/routing/store/__pycache__/product_permutation.cpython-312.pyc and b/routing/store/__pycache__/product_permutation.cpython-312.pyc differ diff --git a/routing/store/__pycache__/stock_item.cpython-312.pyc b/routing/store/__pycache__/stock_item.cpython-312.pyc index d48db2ce..c924126d 100644 Binary files a/routing/store/__pycache__/stock_item.cpython-312.pyc and b/routing/store/__pycache__/stock_item.cpython-312.pyc differ diff --git a/routing/store/__pycache__/supplier.cpython-312.pyc b/routing/store/__pycache__/supplier.cpython-312.pyc index 04cd327d..0fc6ca9b 100644 Binary files a/routing/store/__pycache__/supplier.cpython-312.pyc and b/routing/store/__pycache__/supplier.cpython-312.pyc differ diff --git a/routing/store/product_category.py b/routing/store/product_category.py index 493bff42..88c8ad91 100644 --- a/routing/store/product_category.py +++ b/routing/store/product_category.py @@ -11,15 +11,9 @@ Initializes the Flask application, sets the configuration based on the environme """ # internal -from business_objects.store.product import Product, Product_Filters, Product_Permutation -from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters -from forms import Form_Supplier, Form_Filters_Permutation, Form_Filters_Stock_Item -from models.model_view_base import Model_View_Base -from models.model_view_store import Model_View_Store -from models.model_view_store_supplier import Model_View_Store_Supplier +from business_objects.store.product_category import Product_Category, Filters_Product_Category +from forms.store.product_category import Form_Filters_Product_Category from models.model_view_store_product_category import Model_View_Store_Product_Category -from models.model_view_store_product_permutation import Model_View_Store_Product_Permutation -from models.model_view_store_stock_items import Model_View_Store_Stock_Items from helpers.helper_app import Helper_App import lib.argument_validation as av # external @@ -34,62 +28,58 @@ from urllib.parse import quote, urlparse, parse_qs routes_store_product_category = Blueprint('routes_store_product_category', __name__) -@routes_store_product_category.route('/store/categories', methods=['GET']) -def category(): - # filters = Product_Filters.get_default() - model = Model_View_Store_Product_Category() +@routes_store_product_category.route(Model_View_Store_Product_Category.HASH_PAGE_STORE_PRODUCT_CATEGORIES, methods=['GET']) +def categories(): + filters = Filters_Product_Category.get_default() + model = Model_View_Store_Product_Category(filters) return render_template('_page_store_product_categories.html', model = model) -@routes_store_product_category.route('/store/category_filter', methods=['POST']) -def category_filter(): +@routes_store_product_category.route(Model_View_Store_Product_Category.HASH_GET_STORE_PRODUCT_CATEGORY, methods=['POST']) +def filter_category(): data = Helper_App.get_request_data(request) # form_filters = None try: - """ - form_filters = get_Form_Filters_Permutation(data) + form_filters = get_Form_Filters_Product_Category(data) if not form_filters.validate_on_submit(): return jsonify({'status': 'failure', 'Message': f'Form invalid.\n{form_filters.errors}'}) # ToDo: manually validate category, product - filters_form = Product_Filters.from_form(form_filters) - """ - model = Model_View_Store_Product_Category() - return jsonify({'status': 'success', 'Success': True, 'data': model.category_list.to_list()}) + filters_form = Filters_Product_Category.from_form(form_filters) + model = Model_View_Store_Product_Category(filters_category = filters_form) + return jsonify({'status': 'success', 'Success': True, 'data': model.category_list.to_json_str()}) except Exception as e: return jsonify({'status': 'failure', 'Message': f'Bad data received by controller.\n{e}'}) -""" def get_Form_Filters_Product_Category(data_request): - data_form = data_request[Model_View_Store_Product_Permutation.KEY_FORM] - form_filters = Form_Filters_Permutation(**data_form) - form_filters.is_out_of_stock.data = av.input_bool(data_form['is_out_of_stock'], 'is_out_of_stock', 'permutations_post') + data_form = data_request[Model_View_Store_Product_Category.KEY_FORM] + form_filters = Form_Filters_Product_Category(**data_form) + form_filters.is_not_empty.data = av.input_bool(data_form['is_not_empty'], 'is_not_empty', 'filter_category') + form_filters.active.data = av.input_bool(data_form['active'], 'active', 'filter_category') return form_filters -""" -@routes_store_product_category.route('/store/category_save', methods=['POST']) -def category_save(): +@routes_store_product_category.route(Model_View_Store_Product_Category.HASH_SAVE_STORE_PRODUCT_CATEGORY, methods=['POST']) +def save_category(): data = Helper_App.get_request_data(request) # form_filters = None + print(f'data={data}') try: - """ - form_filters = get_Form_Filters_Permutation(data) + form_filters = get_Form_Filters_Product_Category(data) if not form_filters.validate_on_submit(): return jsonify({'status': 'failure', 'Message': f'Filters form invalid.\n{form_filters.errors}'}) - - # ToDo: manually validate category, product - filters_form = Product_Filters.from_form(form_filters) - """ + filters_form = Filters_Product_Category.from_form(form_filters) - categories = data[Model_View_Store_Product_Permutation.FLAG_PRODUCT_CATEGORY] + categories = data[Model_View_Store_Product_Category.FLAG_PRODUCT_CATEGORY] if len(categories) == 0: return jsonify({'status': 'failure', 'Message': f'No categories.'}) objsCategory = [] for category in categories: - objsCategory.append(Product_Permutation.from_json(category)) - model_save = Model_View_Store_Product_Category() # filters_product=filters_form) - model_save.save_categories(data.comment, objsCategory) + objsCategory.append(Product_Category.from_json(category)) + # model_save = Model_View_Store_Product_Category() # filters_product=filters_form) + print(f'objsCategory={objsCategory}') + Model_View_Store_Product_Category.save_categories(data.get('comment', 'No comment'), objsCategory) - model_return = Model_View_Store_Product_Permutation() # filters_product=filters_form) - return jsonify({'status': 'success', 'Success': True, 'data': model_return.category_list.to_list_rows_permutation()}) + model_return = Model_View_Store_Product_Category(filters_category=filters_form) + print('nips') + return jsonify({'status': 'success', 'Success': True, 'data': model_return.category_list.to_json_str()}) except Exception as e: return jsonify({'status': 'failure', 'Message': f'Bad data received by controller.\n{e}'}) \ No newline at end of file diff --git a/routing/store/product_permutation.py b/routing/store/product_permutation.py index 27860efe..ba330a3b 100644 --- a/routing/store/product_permutation.py +++ b/routing/store/product_permutation.py @@ -12,9 +12,9 @@ Initializes the Flask application, sets the configuration based on the environme # internal -from business_objects.store.product import Product, Product_Filters, Product_Permutation +from business_objects.store.product import Product, Filters_Product, Product_Permutation from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters -from forms import Form_Supplier, Form_Filters_Permutation, Form_Filters_Stock_Item +from forms.forms import Form_Supplier, Form_Filters_Permutation, Form_Filters_Stock_Item from models.model_view_base import Model_View_Base from models.model_view_store import Model_View_Store from models.model_view_store_supplier import Model_View_Store_Supplier @@ -37,7 +37,7 @@ routes_store_product_permutation = Blueprint('routes_store_product_permutation', @routes_store_product_permutation.route('/store/permutations', methods=['GET']) def permutation(): - filters = Product_Filters.get_default() + filters = Filters_Product.get_default() model = Model_View_Store_Product_Permutation(filters_product=filters) return render_template('_page_store_product_permutations.html', model = model) @@ -50,7 +50,7 @@ def permutation_filter(): if not form_filters.validate_on_submit(): return jsonify({'status': 'failure', 'Message': f'Form invalid.\n{form_filters.errors}'}) # ToDo: manually validate category, product - filters_form = Product_Filters.from_form(form_filters) + filters_form = Filters_Product.from_form(form_filters) model = Model_View_Store_Product_Permutation(filters_product=filters_form) return jsonify({'status': 'success', 'Success': True, 'data': model.category_list.to_list_rows_permutation()}) except Exception as e: @@ -79,7 +79,7 @@ def permutation_save(): objsPermutation.append(Product_Permutation.from_json(permutation)) # ToDo: manually validate category, product - filters_form = Product_Filters.from_form(form_filters) + filters_form = Filters_Product.from_form(form_filters) model_save = Model_View_Store_Product_Permutation(filters_product=filters_form) model_save.save_permutations(data.comment, objsPermutation) diff --git a/routing/store/stock_item.py b/routing/store/stock_item.py index bf622983..368f4c1c 100644 --- a/routing/store/stock_item.py +++ b/routing/store/stock_item.py @@ -11,9 +11,9 @@ Initializes the Flask application, sets the configuration based on the environme """ # internal -from business_objects.store.product import Product, Product_Filters, Product_Permutation +from business_objects.store.product import Product, Filters_Product, Product_Permutation from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters -from forms import Form_Supplier, Form_Filters_Permutation, Form_Filters_Stock_Item +from forms.forms import Form_Supplier, Form_Filters_Permutation, Form_Filters_Stock_Item from models.model_view_base import Model_View_Base from models.model_view_store import Model_View_Store from models.model_view_store_supplier import Model_View_Store_Supplier diff --git a/routing/store/supplier.py b/routing/store/supplier.py index 1138d2c5..2d520c64 100644 --- a/routing/store/supplier.py +++ b/routing/store/supplier.py @@ -12,9 +12,9 @@ Initializes the Flask application, sets the configuration based on the environme # internal -from business_objects.store.product import Product, Product_Filters, Product_Permutation +from business_objects.store.product import Product, Filters_Product, Product_Permutation from business_objects.store.stock_item import Stock_Item, Stock_Item_Filters -from forms import Form_Supplier, Form_Filters_Permutation, Form_Filters_Stock_Item +from forms.forms import Form_Supplier, Form_Filters_Permutation, Form_Filters_Stock_Item from models.model_view_base import Model_View_Base from models.model_view_store import Model_View_Store from models.model_view_store_supplier import Model_View_Store_Supplier diff --git a/static/MySQL/0000_combine.sql b/static/MySQL/0000_combine.sql index 7818b8a2..4be14818 100644 --- a/static/MySQL/0000_combine.sql +++ b/static/MySQL/0000_combine.sql @@ -152,6 +152,7 @@ DROP TABLE IF EXISTS Shop_Recurrence_Interval; DROP TABLE IF EXISTS Shop_Product_Audit; DROP TABLE IF EXISTS Shop_Product; +DROP TABLE IF EXISTS Shop_Product_Category_Temp; DROP TABLE IF EXISTS Shop_Product_Category_Audit; DROP TABLE IF EXISTS Shop_Product_Category; DROP TABLE IF EXISTS Shop_Category_Audit; @@ -215,6 +216,46 @@ DROP TABLE IF EXISTS Shop_Sales_And_Purchasing_Change_Set; DROP TABLE IF EXISTS Shop_User_Change_Set; DROP TABLE IF EXISTS Shop_Product_Change_Set; + +-- Procedures +DROP PROCEDURE IF EXISTS p_split; +DROP PROCEDURE IF EXISTS p_clear_split_temp; + +DROP PROCEDURE IF EXISTS p_shop_user_eval; +DROP PROCEDURE IF EXISTS p_clear_shop_user_eval_temp; + +DROP PROCEDURE IF EXISTS p_shop_get_many_region; +DROP PROCEDURE IF EXISTS p_shop_get_many_currency; + +DROP PROCEDURE IF EXISTS p_shop_save_category; +DROP PROCEDURE IF EXISTS p_shop_save_product_category; +DROP PROCEDURE IF EXISTS p_shop_save_product_category_test; +DROP PROCEDURE IF EXISTS p_shop_save_product; +DROP PROCEDURE IF EXISTS p_shop_get_many_product; +DROP PROCEDURE IF EXISTS p_shop_get_many_stripe_product_new; +DROP PROCEDURE IF EXISTS p_shop_save_permutation; +DROP PROCEDURE IF EXISTS p_shop_get_many_product_variation; +DROP PROCEDURE IF EXISTS p_shop_get_many_stock_item; +DROP PROCEDURE IF EXISTS p_shop_get_many_product_price_and_discount_and_delivery_option; +DROP PROCEDURE IF EXISTS p_shop_get_many_product_price_and_discount_and_delivery_region; +DROP PROCEDURE IF EXISTS p_shop_get_many_stripe_price_new; +DROP PROCEDURE IF EXISTS p_shop_save_user; +DROP PROCEDURE IF EXISTS p_shop_edit_user; +DROP PROCEDURE IF EXISTS p_shop_get_many_user; +DROP PROCEDURE IF EXISTS p_get_many_user; +DROP PROCEDURE IF EXISTS p_shop_get_many_user_basket; +DROP PROCEDURE IF EXISTS p_shop_edit_user_basket; +DROP PROCEDURE IF EXISTS p_shop_save_supplier; +DROP PROCEDURE IF EXISTS p_shop_get_many_supplier; +DROP PROCEDURE IF EXISTS p_shop_save_supplier_purchase_order; +DROP PROCEDURE IF EXISTS p_shop_get_many_supplier_purchase_order; +DROP PROCEDURE IF EXISTS p_shop_save_manufacturing_purchase_order; +DROP PROCEDURE IF EXISTS p_shop_get_many_manufacturing_purchase_order; +DROP PROCEDURE IF EXISTS p_shop_save_customer; +DROP PROCEDURE IF EXISTS p_shop_get_many_customer; +DROP PROCEDURE IF EXISTS p_shop_save_customer_sales_order; +DROP PROCEDURE IF EXISTS p_shop_get_many_customer_sales_order; + # Product Change Sets @@ -265,7 +306,7 @@ CREATE TABLE IF NOT EXISTS Shop_Access_Level ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Access_Level_id_change_set FOREIGN KEY (id_change_set) @@ -317,7 +358,7 @@ CREATE TABLE IF NOT EXISTS File_Type ( name VARCHAR(100), extension VARCHAR(50), created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP, updated_last_by VARCHAR(100) ); @@ -339,7 +380,7 @@ CREATE TABLE IF NOT EXISTS File_Type_Audit ( value_prev VARCHAR(500), value_new VARCHAR(500), created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP, updated_last_by VARCHAR(100) ); @@ -353,7 +394,7 @@ CREATE TABLE IF NOT EXISTS Shop_General ( id_general INT NOT NULL AUTO_INCREMENT PRIMARY KEY, quantity_max FLOAT, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT CHK_Shop_General_id_change_set FOREIGN KEY (id_change_set) @@ -400,7 +441,7 @@ CREATE TABLE IF NOT EXISTS Shop_Image_Type ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Image_Type_id_change_set FOREIGN KEY (id_change_set) @@ -441,7 +482,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Region_id_change_set FOREIGN KEY (id_change_set) @@ -481,7 +522,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Temp ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Region_Temp_id_change_set FOREIGN KEY (id_change_set) @@ -509,7 +550,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Branch ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Region_Branch_id_change_set FOREIGN KEY (id_change_set) @@ -564,7 +605,7 @@ CREATE TABLE IF NOT EXISTS Shop_Plant ( id_user_manager INT NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Plant_id_change_set FOREIGN KEY (id_change_set) @@ -624,7 +665,7 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location ( name VARCHAR(500) NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Storage_Location_id_change_set FOREIGN KEY (id_change_set) @@ -688,7 +729,7 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location_Branch ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Storage_Location_Branch_id_change_set FOREIGN KEY (id_change_set) @@ -745,7 +786,7 @@ CREATE TABLE IF NOT EXISTS Shop_Currency ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Currency_id_change_set FOREIGN KEY (id_change_set) @@ -820,7 +861,7 @@ CREATE TABLE Shop_Tax_Or_Surcharge ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Tax_Or_Surcharge_id_change_set FOREIGN KEY (id_change_set) @@ -889,7 +930,7 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement ( is_unit_of_volume BIT NOT NULL DEFAULT 0, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Unit_Measurement_id_change_set FOREIGN KEY (id_change_set) @@ -933,7 +974,7 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Conversion ( increment_unit_base FLOAT NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Unit_Measurement_Conversion_id_change_set FOREIGN KEY (id_change_set) @@ -968,16 +1009,20 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Conversion_Audit ( SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Category'; CREATE TABLE IF NOT EXISTS Shop_Product_Category ( - id_category INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - code VARCHAR(50), - name VARCHAR(255), - description VARCHAR(4000), - active BIT NOT NULL DEFAULT 1, - display_order INT NOT NULL, - created_on TIMESTAMP, - created_by VARCHAR(100), - id_change_set INT, - CONSTRAINT FK_Shop_Product_Category_id_change_set + id_category INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , code VARCHAR(50) + , name VARCHAR(255) + , description VARCHAR(4000) + , active BIT NOT NULL DEFAULT 1 + , display_order INT NOT NULL + , id_access_level_required INT NOT NULL + , CONSTRAINT FK_Shop_Product_Category_id_access_level_required + FOREIGN KEY (id_access_level_required) + REFERENCES Shop_Access_Level(id_access_level) + , created_on TIMESTAMP + , created_by INT NOT NULL + , id_change_set INT + , CONSTRAINT FK_Shop_Product_Category_id_change_set FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); @@ -1004,6 +1049,23 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Category_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ); +# Categories Temp + +SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Category_Temp'; + +CREATE TABLE IF NOT EXISTS Shop_Product_Category_Temp ( + id_category INT NOT NULL + , code VARCHAR(50) NOT NULL + , name VARCHAR(255) NOT NULL + , description VARCHAR(4000) NULL + , active BIT NOT NULL + , display_order INT NOT NULL + , id_access_level_required INT NOT NULL + , guid BINARY(36) NOT NULL + , created_on TIMESTAMP NOT NULL + , created_by INT NOT NULL +); + # Products @@ -1044,8 +1106,8 @@ CREATE TABLE IF NOT EXISTS Shop_Product ( # id_stripe_price VARCHAR(100) NOT NULL, active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, - created_on TIMESTAMP, - created_by VARCHAR(100), + created_on TIMESTAMP NOT NULL, + created_by INT NOT NULL, id_change_set INT, CONSTRAINT FK_Shop_Product_id_change_set FOREIGN KEY (id_change_set) @@ -1086,7 +1148,9 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Temp ( has_variations BIT NOT NULL, id_access_level_required INT NOT NULL, active BIT NOT NULL DEFAULT 1, - display_order INT NOT NULL + display_order INT NOT NULL, + created_on TIMESTAMP, + created_by INT ); # Product Permutation @@ -1137,7 +1201,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Permutation_id_change_set FOREIGN KEY (id_change_set) @@ -1205,7 +1269,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Temp ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, guid BINARY(36) ); @@ -1223,7 +1287,7 @@ CREATE TABLE IF NOT EXISTS Shop_Variation_Type ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Variation_Type_id_change_set FOREIGN KEY (id_change_set) @@ -1269,7 +1333,7 @@ CREATE TABLE Shop_Variation ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Variation_id_change_set FOREIGN KEY (id_change_set) @@ -1319,7 +1383,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Variation_Link ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Permutation_Variation_Link_id_change_set FOREIGN KEY (id_change_set) @@ -1379,7 +1443,7 @@ CREATE TABLE IF NOT EXISTS Shop_Stock_Item ( date_consumed TIMESTAMP NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Stock_Item_id_change_set FOREIGN KEY (id_change_set) @@ -1456,7 +1520,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Price ( id_stripe_price VARCHAR(200), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Price_id_change_set FOREIGN KEY (id_change_set) @@ -1520,7 +1584,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Image ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Image_id_change_set FOREIGN KEY (id_change_set) @@ -1564,7 +1628,7 @@ CREATE TABLE IF NOT EXISTS Shop_Delivery_Option ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Delivery_Option_Type_id_change_set FOREIGN KEY (id_change_set) @@ -1629,7 +1693,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Delivery_Option_Link ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Delivery_Option_Link_id_change_set FOREIGN KEY (id_change_set) @@ -1697,7 +1761,7 @@ CREATE TABLE Shop_Discount ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Discount_id_change_set FOREIGN KEY (id_change_set) @@ -1751,7 +1815,7 @@ CREATE TABLE IF NOT EXISTS Shop_Discount_Region_Currency_Link ( ON UPDATE RESTRICT, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Discount_Region_Currency_Link_id_change_set FOREIGN KEY (id_change_set) @@ -1790,7 +1854,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Currency_Region_Link ( id_stripe_price VARCHAR(200), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Currency_Region_Link_id_change_set FOREIGN KEY (id_change_set) @@ -1853,7 +1917,7 @@ CREATE TABLE IF NOT EXISTS Shop_Permission_Group ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Permission_Group_id_change_set FOREIGN KEY (id_change_set) @@ -1904,7 +1968,7 @@ CREATE TABLE IF NOT EXISTS Shop_Permission ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Permission_id_change_set FOREIGN KEY (id_change_set) @@ -1945,7 +2009,7 @@ CREATE TABLE IF NOT EXISTS Shop_Role ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Role_id_change_set FOREIGN KEY (id_change_set) @@ -1997,7 +2061,7 @@ CREATE TABLE IF NOT EXISTS Shop_Role_Permission_Link ( REFERENCES Shop_Access_Level(id_access_level), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Role_Permission_Link_id_change_set FOREIGN KEY (id_change_set) @@ -2043,7 +2107,7 @@ CREATE TABLE IF NOT EXISTS Shop_User ( is_included_VAT_default BIT NOT NULL DEFAULT 1, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_User_id_change_set FOREIGN KEY (id_change_set) @@ -2091,7 +2155,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Role_Link ( REFERENCES Shop_Role(id_role), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_User_Role_Link_id_change_set FOREIGN KEY (id_change_set) @@ -2143,7 +2207,7 @@ CREATE TABLE Shop_Address ( county VARCHAR(100) NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Address_id_change_set FOREIGN KEY (id_change_set) @@ -2197,7 +2261,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Basket ( quantity INT NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set_user INT, CONSTRAINT FK_Shop_User_Basket_id_change_set_user FOREIGN KEY (id_change_set_user) @@ -2251,7 +2315,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Order_Status ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_User_Order_Status_id_change_set FOREIGN KEY (id_change_set) @@ -2304,7 +2368,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier ( REFERENCES Shop_Currency(id_currency), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Supplier_id_change_set FOREIGN KEY (id_change_set) @@ -2365,7 +2429,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order ( */ active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INT NULL, @@ -2424,7 +2488,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link ( display_order INT NOT NULL, active BIT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INT NULL, @@ -2513,7 +2577,7 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order ( */ active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INT NULL, @@ -2573,7 +2637,7 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link ( display_order INT NOT NULL, active BIT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INT NULL, @@ -2661,7 +2725,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer ( REFERENCES Shop_Currency(id_currency), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Customer_id_change_set FOREIGN KEY (id_change_set) @@ -2716,7 +2780,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order ( */ active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INT NULL, @@ -2776,7 +2840,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Product_Link ( active BIT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INT NULL, @@ -2854,14 +2918,10 @@ CREATE TRIGGER before_insert_Shop_Access_Level BEFORE INSERT ON Shop_Access_Level FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -2902,7 +2962,7 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; # Product Change Set @@ -2922,7 +2982,7 @@ BEGIN SET NEW.updated_last_by = CURRENT_USER(); END IF; END // -DELIMITER ; +DELIMITER ;; # Shop User Change Set @@ -2943,7 +3003,7 @@ BEGIN SET NEW.updated_last_by = CURRENT_USER(); END IF; END // -DELIMITER ; +DELIMITER ;; # Product Change Set @@ -2962,7 +3022,7 @@ BEGIN SET NEW.updated_last_by = CURRENT_USER(); END IF; END // -DELIMITER ; +DELIMITER ;; # File Type @@ -2976,10 +3036,10 @@ CREATE TRIGGER before_insert_File_Type BEFORE INSERT ON File_Type FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_File_Type @@ -3005,7 +3065,7 @@ BEGIN WHERE NOT OLD.extension <=> NEW.extension ; END // -DELIMITER ; +DELIMITER ;; # File Type Audits @@ -3020,10 +3080,10 @@ CREATE TRIGGER before_insert_File_Type_Audit BEFORE INSERT ON File_Type_Audit FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_File_Type_Audit @@ -3033,7 +3093,7 @@ BEGIN SET NEW.updated_last_on = NOW(); SET NEW.updated_last_by = CURRENT_USER(); END // -DELIMITER ; +DELIMITER ;; # Shop General @@ -3046,10 +3106,10 @@ CREATE TRIGGER before_insert_Shop_General BEFORE INSERT ON Shop_General FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_Shop_General @@ -3073,7 +3133,7 @@ BEGIN WHERE NOT OLD.quantity_max <=> NEW.quantity_max ; END // -DELIMITER ; +DELIMITER ;; # Shop Image Type @@ -3087,10 +3147,10 @@ CREATE TRIGGER before_insert_Shop_Image_Type BEFORE INSERT ON Shop_Image_Type FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -3137,7 +3197,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; # Shop Delivery Region @@ -3151,10 +3211,10 @@ CREATE TRIGGER before_insert_Shop_Region BEFORE INSERT ON Shop_Region FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -3191,7 +3251,7 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; # Shop Region Branch @@ -3206,10 +3266,10 @@ CREATE TRIGGER before_insert_Shop_Region_Branch BEFORE INSERT ON Shop_Region_Branch FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -3244,7 +3304,7 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; # Shop Storage Location @@ -3259,10 +3319,10 @@ CREATE TRIGGER before_insert_Shop_Storage_Location BEFORE INSERT ON Shop_Storage_Location FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -3299,7 +3359,7 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; # Shop Currency @@ -3314,14 +3374,10 @@ CREATE TRIGGER before_insert_Shop_Currency BEFORE INSERT ON Shop_Currency FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -3366,7 +3422,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; # Shop Tax_Or_Surcharge @@ -3380,10 +3436,10 @@ CREATE TRIGGER before_insert_Shop_Tax_Or_Surcharge BEFORE INSERT ON Shop_Tax_Or_Surcharge FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_Shop_Tax_Or_Surcharge @@ -3439,7 +3495,7 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; # Shop Category @@ -3454,10 +3510,10 @@ CREATE TRIGGER before_insert_Shop_Product_Category BEFORE INSERT ON Shop_Product_Category FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_Shop_Product_Category @@ -3495,9 +3551,13 @@ BEGIN # Changed display_order SELECT NEW.id_category, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set WHERE NOT OLD.display_order <=> NEW.display_order + UNION + # Changed id_access_level_required + SELECT NEW.id_category, 'id_access_level_required', CONVERT(OLD.id_access_level_required, CHAR), CONVERT(NEW.id_access_level_required, CHAR), NEW.id_change_set + WHERE NOT OLD.id_access_level_required <=> NEW.id_access_level_required ; END // -DELIMITER ; +DELIMITER ;; # Shop Product @@ -3513,10 +3573,10 @@ CREATE TRIGGER before_insert_Shop_Product BEFORE INSERT ON Shop_Product FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -3667,7 +3727,7 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; # Shop Product Permutation @@ -3682,14 +3742,10 @@ CREATE TRIGGER before_insert_Shop_Product_Permutation BEFORE INSERT ON Shop_Product_Permutation FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -3824,7 +3880,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; # Shop Variation Type @@ -3840,10 +3896,10 @@ CREATE TRIGGER before_insert_Shop_Variation_Type BEFORE INSERT ON Shop_Variation_Type FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -3884,7 +3940,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; # Shop Variation @@ -3899,10 +3955,10 @@ CREATE TRIGGER before_insert_Shop_Variation BEFORE INSERT ON Shop_Variation FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -3939,7 +3995,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; # Shop Product Permutation Variation Link @@ -3954,14 +4010,10 @@ CREATE TRIGGER before_insert_Shop_Product_Permutation_Variation_Link BEFORE INSERT ON Shop_Product_Permutation_Variation_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4000,7 +4052,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; # Shop Product Permutation @@ -4014,14 +4066,10 @@ CREATE TRIGGER before_insert_Shop_Stock_Item BEFORE INSERT ON Shop_Stock_Item FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4094,7 +4142,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; # Shop Product Currency Link @@ -4109,12 +4157,8 @@ CREATE TRIGGER before_insert_Shop_Product_Price BEFORE INSERT ON Shop_Product_Price FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); /* SET NEW.price_local = ( SELECT PP.price_GBP_full * C.factor_from_GBP @@ -4126,7 +4170,7 @@ BEGIN ); */ END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4185,7 +4229,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; # Shop Image @@ -4200,10 +4244,10 @@ CREATE TRIGGER before_insert_Shop_Product_Image BEFORE INSERT ON Shop_Product_Image FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4258,7 +4302,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; # Shop Delivery Option Type @@ -4272,10 +4316,10 @@ CREATE TRIGGER before_insert_Shop_Delivery_Option BEFORE INSERT ON Shop_Delivery_Option FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4328,7 +4372,7 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; # Shop Product Delivery Option Link @@ -4342,14 +4386,10 @@ CREATE TRIGGER before_insert_Shop_Product_Delivery_Option_Link BEFORE INSERT ON Shop_Product_Delivery_Option_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4400,7 +4440,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; # Shop Discount @@ -4414,10 +4454,10 @@ CREATE TRIGGER before_insert_Shop_Discount BEFORE INSERT ON Shop_Discount FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_Shop_Discount @@ -4481,7 +4521,7 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; # Shop Discount Region Currency Link @@ -4497,14 +4537,10 @@ CREATE TRIGGER before_insert_Shop_Discount_Region_Currency_Link BEFORE INSERT ON Shop_Discount_Region_Currency_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4539,7 +4575,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; # Shop Permission Group @@ -4553,14 +4589,10 @@ CREATE TRIGGER before_insert_Shop_Permission_Group BEFORE INSERT ON Shop_Permission_Group FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4597,7 +4629,7 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; # Shop Permission @@ -4611,14 +4643,10 @@ CREATE TRIGGER before_insert_Shop_Permission BEFORE INSERT ON Shop_Permission FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4663,7 +4691,7 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; # Shop Role @@ -4677,14 +4705,10 @@ CREATE TRIGGER before_insert_Shop_Role BEFORE INSERT ON Shop_Role FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4721,7 +4745,7 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; # Shop Role Permission Link @@ -4736,14 +4760,10 @@ CREATE TRIGGER before_insert_Shop_Role_Permission_Link BEFORE INSERT ON Shop_Role_Permission_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4782,7 +4802,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; # Shop User @@ -4797,14 +4817,10 @@ CREATE TRIGGER before_insert_Shop_User BEFORE INSERT ON Shop_User FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4865,7 +4881,7 @@ BEGIN WHERE NOT (OLD.is_included_VAT_default <=> NEW.is_included_VAT_default) ; END // -DELIMITER ; +DELIMITER ;; # Shop User Role Link @@ -4879,14 +4895,10 @@ CREATE TRIGGER before_insert_Shop_User_Role_Link BEFORE INSERT ON Shop_User_Role_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4911,7 +4923,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; # Shop Address @@ -4925,14 +4937,10 @@ CREATE TRIGGER before_insert_Shop_Address BEFORE INSERT ON Shop_Address FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -4989,7 +4997,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; # Shop Product Variation Link @@ -5003,14 +5011,10 @@ CREATE TRIGGER before_insert_Shop_User_Basket BEFORE INSERT ON Shop_User_Basket FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -5047,7 +5051,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; # Shop User Order Type @@ -5061,10 +5065,10 @@ CREATE TRIGGER before_insert_Shop_User_Order_Status BEFORE INSERT ON Shop_User_Order_Status FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -5105,7 +5109,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; # Shop Supplier @@ -5119,14 +5123,10 @@ CREATE TRIGGER before_insert_Shop_Supplier BEFORE INSERT ON Shop_Supplier FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -5183,7 +5183,7 @@ BEGIN WHERE NOT OLD.id_currency <=> NEW.id_currency ; END // -DELIMITER ; +DELIMITER ;; # Shop Unit of Measurement @@ -5198,14 +5198,10 @@ CREATE TRIGGER before_insert_Shop_Unit_Measurement BEFORE INSERT ON Shop_Unit_Measurement FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -5262,7 +5258,7 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; # Shop Unit of Measurement Conversion @@ -5278,14 +5274,10 @@ CREATE TRIGGER before_insert_Shop_Unit_Measurement_Conversion BEFORE INSERT ON Shop_Unit_Measurement_Conversion FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -5330,7 +5322,7 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; # Shop Supplier Purchase Order @@ -5346,14 +5338,10 @@ CREATE TRIGGER before_insert_Shop_Supplier_Purchase_Order BEFORE INSERT ON Shop_Supplier_Purchase_Order FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -5404,7 +5392,7 @@ BEGIN */ ; END // -DELIMITER ; +DELIMITER ;; # Shop Supplier Purchase Order Product Link @@ -5420,14 +5408,10 @@ CREATE TRIGGER before_insert_Shop_Supplier_Purchase_Order_Product_Link BEFORE INSERT ON Shop_Supplier_Purchase_Order_Product_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -5488,7 +5472,7 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; # Shop Manufacturing Purchase Order @@ -5503,14 +5487,10 @@ CREATE TRIGGER before_insert_Shop_Manufacturing_Purchase_Order BEFORE INSERT ON Shop_Manufacturing_Purchase_Order FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -5547,7 +5527,7 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; # Shop Manufacturing Purchase Order Product Link @@ -5562,14 +5542,10 @@ CREATE TRIGGER before_insert_Shop_Manufacturing_Purchase_Order_Product_Link BEFORE INSERT ON Shop_Manufacturing_Purchase_Order_Product_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -5630,7 +5606,7 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; # Shop Customer @@ -5646,14 +5622,10 @@ CREATE TRIGGER before_insert_Shop_Customer BEFORE INSERT ON Shop_Customer FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -5706,7 +5678,7 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; # Shop Customer Sales Order @@ -5722,14 +5694,10 @@ CREATE TRIGGER before_insert_Shop_Customer_Sales_Order BEFORE INSERT ON Shop_Customer_Sales_Order FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -5766,7 +5734,7 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; # Shop Customer Sales Order Product Link @@ -5781,14 +5749,10 @@ CREATE TRIGGER before_insert_Shop_Customer_Sales_Order_Product_Link BEFORE INSERT ON Shop_Customer_Sales_Order_Product_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -5849,7 +5813,7 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; @@ -5932,7 +5896,7 @@ BEGIN */ END // -DELIMITER ; +DELIMITER ;; /* @@ -5961,7 +5925,7 @@ BEGIN COMMIT; END // -DELIMITER ; +DELIMITER ;; /* @@ -5988,8 +5952,31 @@ CALL p_shop_user_eval ( '1' # a_ids_product ) -*/ +DELIMITER $$ +CREATE DEFINER=`root`@`localhost` PROCEDURE `p_clear_shop_user_eval_temp`( + IN a_guid BINARY(36) +) +BEGIN + IF ISNULL(a_guid) THEN + + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'GUID is required.'; + + ELSE + + START TRANSACTION; -- trans_clear + + DELETE FROM Shop_User_Eval_Temp + WHERE GUID = a_guid + ; + + COMMIT; + END IF; + +END$$ +DELIMITER ; +*/ -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_user_eval; @@ -6034,7 +6021,7 @@ BEGIN -- Clear previous proc results # DROP TABLE IF EXISTS tmp_User_Role_Link; # DROP TEMPORARY TABLE IF EXISTS tmp_User_Role_Link; - DROP TABLE IF EXISTS tmp_Shop_Product_p_Shop_User_Eval; + DROP TABLE IF EXISTS tmp_Product_p_Shop_User_Eval; # DROP TABLE IF EXISTS Shop_User_Eval_Temp; @@ -6089,10 +6076,11 @@ BEGIN can_admin BIT -- DEFAULT 0 ); - CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Shop_Product_p_Shop_User_Eval ( + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Product_p_Shop_User_Eval ( id_row INT PRIMARY KEY AUTO_INCREMENT NOT NULL, id_product INT NOT NULL, id_access_level_required INT NOT NULL, + priority_access_level_required INT NOT NULL, guid BINARY(36) NOT NULL, rank_product INT NOT NULL ); @@ -6100,7 +6088,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT, guid BINARY(36) NOT NULL, - id_type INT NOT NULL, + id_type INT NULL, code VARCHAR(50) NOT NULL, msg VARCHAR(4000) NOT NULL ); @@ -6108,6 +6096,8 @@ BEGIN # select * from Shop_Msg_Error_Type; -- Parse filters + SET a_guid := IFNULL(a_guid, UUID()); + /* IF a_guid IS NULL OR EXISTS (SELECT * FROM Shop_User_Eval_Temp WHERE a_guid = guid) THEN INSERT INTO tmp_Msg_Error ( guid, @@ -6123,6 +6113,7 @@ BEGIN ) ; END IF; + */ SET v_has_filter_user = CASE WHEN a_ids_user = '' THEN 0 ELSE 1 END; SET a_ids_permission = REPLACE(a_ids_permission, '|', ','); SET v_has_filter_permission = CASE WHEN a_ids_permission = '' THEN 0 ELSE 1 END; @@ -6216,7 +6207,7 @@ BEGIN IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid) THEN /* IF v_has_filter_permutation THEN - INSERT INTO tmp_Shop_Product_p_Shop_User_Eval ( + INSERT INTO tmp_Product_p_Shop_User_Eval ( id_product, id_permutation, id_access_level_required, @@ -6237,11 +6228,11 @@ BEGIN # AND P.active # not worried as we want users to be able to see their order history ; /* - DELETE FROM tmp_Shop_Product_p_Shop_User_Eval + DELETE FROM tmp_Product_p_Shop_User_Eval WHERE rank_permutation > 1 ; * - SET v_has_filter_permutation = EXISTS (SELECT * FROM tmp_Shop_Product_p_Shop_User_Eval WHERE a_guid = guid); + SET v_has_filter_permutation = EXISTS (SELECT * FROM tmp_Product_p_Shop_User_Eval WHERE a_guid = guid); END IF; IF v_has_filter_permission THEN @@ -6285,10 +6276,11 @@ BEGIN END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid) THEN - INSERT INTO tmp_Shop_Product_p_Shop_User_Eval ( + INSERT INTO tmp_Product_p_Shop_User_Eval ( id_product, -- id_permutation, id_access_level_required, + priority_access_level_required, guid, rank_product -- rank_permutation ) @@ -6296,6 +6288,7 @@ BEGIN DISTINCT P.id_product, -- PP.id_permutation, P.id_access_level_required, + AL.priority AS priority_access_level_required, a_guid, RANK() OVER (ORDER BY C.display_order, P.display_order) AS rank_product FROM Split_Temp ST @@ -6303,16 +6296,26 @@ BEGIN INNER JOIN Shop_Product_Category C ON P.id_category = C.id_category INNER JOIN Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level - AND AL.active + AND AL.active WHERE FIND_IN_SET(P.id_product, a_ids_product) > 0 # FIND_IN_SET(PP.id_permutation, a_ids_permutation) > 0 # AND P.active # not worried as we want users to be able to see their order history ; /* - DELETE FROM tmp_Shop_Product_p_Shop_User_Eval + DELETE FROM tmp_Product_p_Shop_User_Eval WHERE rank_permutation > 1 ; */ - SET v_has_filter_product = EXISTS (SELECT * FROM tmp_Shop_Product_p_Shop_User_Eval WHERE a_guid = guid); + + SET v_has_filter_product = EXISTS (SELECT * FROM tmp_Product_p_Shop_User_Eval WHERE a_guid = guid); + + UPDATE tmp_Product_p_Shop_User_Eval t_P + INNER JOIN Shop_Product P ON t_P.id_product = P.id_product + INNER JOIN Shop_Product_Category PC ON P.id_category = PC.id_category + INNER JOIN Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level + SET + t_P.id_access_level_required = CASE WHEN t_P.priority_access_level_required <= AL.priority THEN t_P.id_access_level_required ELSE AL.id_access_level END + , t_P.priority_access_level_required = LEAST(t_P.priority_access_level_required, AL.priority) + ; END IF; DROP TABLE Split_Temp; @@ -6446,7 +6449,7 @@ BEGIN t_P.id_product, t_P.id_permutation, CASE WHEN UE_T.priority_access_level_required < AL.priority THEN UE_T.priority_access_level_required ELSE AL.priority END -- UE_T.priority_access_level_required - FROM tmp_Shop_Product_p_Shop_User_Eval t_P + FROM tmp_Product_p_Shop_User_Eval t_P INNER JOIN Shop_Access_Level AL ON t_P.id_access_leveL_required = AL.id_access_level AND AL.active @@ -6477,7 +6480,7 @@ BEGIN t_P.id_product, -- t_P.id_permutation, CASE WHEN UE_T.priority_access_level_required < AL.priority THEN UE_T.priority_access_level_required ELSE AL.priority END -- UE_T.priority_access_level_required - FROM tmp_Shop_Product_p_Shop_User_Eval t_P + FROM tmp_Product_p_Shop_User_Eval t_P INNER JOIN Shop_Access_Level AL ON t_P.id_access_leveL_required = AL.id_access_level AND AL.active @@ -6585,14 +6588,14 @@ BEGIN SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid; END IF; - -- select * from tmp_Shop_Product_p_Shop_User_Eval; + -- select * from tmp_Product_p_Shop_User_Eval; -- Clean up - DROP TABLE IF EXISTS tmp_Shop_Product_p_Shop_User_Eval; + DROP TABLE IF EXISTS tmp_Product_p_Shop_User_Eval; # DROP TEMPORARY TABLE IF EXISTS tmp_User_Role_Link; # DROP TABLE IF EXISTS tmp_Msg_Error; DROP TABLE IF EXISTS Split_Temp; END // -DELIMITER ; +DELIMITER ;; /* @@ -6714,7 +6717,7 @@ BEGIN END IF; END // -DELIMITER ; +DELIMITER ;; /* @@ -6763,7 +6766,7 @@ BEGIN ORDER BY R.display_order ; END // -DELIMITER ; +DELIMITER ;; /* @@ -6809,7 +6812,7 @@ BEGIN ORDER BY C.display_order ; END // -DELIMITER ; +DELIMITER ;; /* @@ -6821,6 +6824,547 @@ CALL p_shop_get_many_currency ( +-- Clear previous proc +DROP PROCEDURE IF EXISTS p_save_category; +DROP PROCEDURE IF EXISTS p_shop_save_category; +DROP PROCEDURE IF EXISTS p_shop_save_product_category; + + +DELIMITER // +CREATE PROCEDURE p_shop_save_product_category ( + IN a_id_user INT, + IN a_guid BINARY(36), + IN a_comment VARCHAR(500) +) +BEGIN + DECLARE v_code_type_error_bad_data VARCHAR(100); + DECLARE v_id_type_error_bad_data INT; + DECLARE v_id_permission_product INT; + DECLARE v_ids_product_permission LONGTEXT; + DECLARE v_id_change_set INT; + DECLARE v_id_access_level_edit INT; + DECLARE v_now TIMESTAMP; + + DECLARE exit handler for SQLEXCEPTION + BEGIN + -- Get diagnostic information + GET DIAGNOSTICS CONDITION 1 + @sqlstate = RETURNED_SQLSTATE + , @errno = MYSQL_ERRNO + , @text = MESSAGE_TEXT + ; + + -- Rollback the transaction + ROLLBACK; + + -- Select the error information + -- SELECT 'Error' AS status, @errno AS error_code, @sqlstate AS sql_state, @text AS message; + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , guid BINARY(36) NOT NULL + , id_type INT NULL + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL + ); + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid + , NULL + , @errno + , @text + ; + SELECT * + FROM tmp_Msg_Error; + DROP TABLE IF EXISTS tmp_Msg_Error; + END; + + SET v_code_type_error_bad_data := 'BAD_DATA'; + SET v_id_type_error_bad_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_id_access_level_edit := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); + + SET a_guid := IFNULL(a_guid, UUID()); + + DROP TABLE IF EXISTS tmp_Category; + + CREATE TEMPORARY TABLE tmp_Category ( + id_category INT NOT NULL + , code VARCHAR(50) NOT NULL + , name VARCHAR(255) NOT NULL + , description VARCHAR(4000) NULL + , active BIT NOT NULL + , display_order INT NOT NULL + , can_view BIT NULL + , can_edit BIT NULL + , can_admin BIT NULL + , name_error VARCHAR(255) NOT NULL + , is_new BIT NOT NULL + ); + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , guid BINARY(36) NOT NULL + , id_type INT NULL + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL + ); + + + -- Get data from Temp table + INSERT INTO tmp_Category ( + id_category + , code + , name + , description + , active + , display_order + , name_error + , is_new + ) + SELECT + IFNULL(PC_T.id_category, PC.id_category) AS id_category + , IFNULL(PC_T.code, PC.code) AS code + , IFNULL(PC_T.name, PC.code) AS name + , IFNULL(PC_T.description, PC.description) AS description + , IFNULL(PC_T.active, PC.active) AS active + , IFNULL(PC_T.display_order, PC.display_order) AS display_order + , IFNULL(PC_T.name, IFNULL(PC.name, IFNULL(PC_T.code, IFNULL(PC.code, IFNULL(PC_T.id_category, '(No Product Category)'))))) AS name_error + , CASE WHEN IFNULL(PC_T.id_category, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM Shop_Product_Category_Temp PC_T + LEFT JOIN Shop_Product_Category PC ON PC_T.id_category = PC.id_category + WHERE PC_T.guid = a_guid + ; + + SELECT * + FROM tmp_Category; + + -- Validation + -- Missing mandatory fields + -- code + IF EXISTS (SELECT * FROM tmp_Category t_C WHERE ISNULL(t_C.code) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid AS GUID + , v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following category(s) do not have a code: ', GROUP_CONCAT(IFNULL(t_C.name_error, 'NULL') SEPARATOR ', ')) AS msg + FROM tmp_Category t_C + WHERE ISNULL(t_C.code) + ; + END IF; + -- name + IF EXISTS (SELECT * FROM tmp_Category t_C WHERE ISNULL(t_C.name) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid AS GUID + , v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following category(s) do not have a name: ', GROUP_CONCAT(IFNULL(t_C.name_error, 'NULL') SEPARATOR ', ')) AS msg + FROM tmp_Category t_C + WHERE ISNULL(t_C.name) + ; + END IF; + -- display_order + IF EXISTS (SELECT * FROM tmp_Category t_C WHERE ISNULL(t_C.display_order) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid AS GUID + , v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following category(s) do not have a display order: ', GROUP_CONCAT(IFNULL(t_C.name_error, 'NULL') SEPARATOR ', ')) AS msg + FROM tmp_Category t_C + WHERE ISNULL(t_C.display_order) + ; + END IF; + + -- Permissions + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN -- (SELECT * FROM tmp_Product WHERE is_new = 0 LIMIT 1) THEN + SET v_ids_product_permission := ( + SELECT GROUP_CONCAT(P.id_product SEPARATOR ',') + FROM Shop_Product P + INNER JOIN tmp_Category t_C + ON P.id_category = t_C.id_category + AND t_C.is_new = 0 + ); + IF NOT ISNULL(v_ids_product_permission) THEN + SET v_id_permission_product = (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); + + CALL p_shop_user_eval(a_guid, a_id_user, FALSE, v_id_permission_product, v_id_access_level_edit, v_ids_product_permission); + + UPDATE tmp_Category t_C + INNER JOIN Shop_Product P ON t_C.id_category = P.id_product + INNER JOIN Shop_User_Eval_Temp UE_T + ON P.id_product = UE_T.id_product + AND UE_T.GUID = a_guid + SET + t_C.can_view = UE_T.can_view + , t_C.can_edit = UE_T.can_edit + , t_C.can_admin = UE_T.can_admin + ; + + CALL p_clear_shop_user_eval_temp(a_guid); + END IF; + END IF; + + SET v_now := CURRENT_TIMESTAMP(); + + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN + START TRANSACTION; + + IF NOT ISNULL(v_ids_product_permission) THEN + INSERT INTO Shop_Product_Change_Set ( comment ) + VALUES ( a_comment ) + ; + + SET v_id_change_set := LAST_INSERT_ID(); + + UPDATE Shop_Product_Category PC + INNER JOIN tmp_Category t_C ON PC.id_category = t_C.id_category + SET + PC.id_category = t_C.id_category + , PC.code = t_C.code + , PC.name = t_C.name + , PC.description = t_C.description + , PC.active = t_C.active + , PC.display_order = t_C.display_order + , PC.id_change_set = v_id_change_set + ; + END IF; + + INSERT INTO Shop_Product_Category ( + code + , name + , description + , active + , display_order + , created_by + , created_on + ) + SELECT + -- t_C.id_category AS id_category + t_C.code AS code + , t_C.name AS name + , t_C.description AS description + , t_C.active AS active + , t_C.display_order AS display_order + , a_id_user AS created_by + , v_now AS created_on + FROM tmp_Category t_C + WHERE is_new = 1 + AND active = 1 + ; + + COMMIT; + END IF; + + DELETE FROM Shop_Product_Category_Temp + WHERE GUID = a_guid; + + SELECT * FROM tmp_Msg_Error; + + DROP TEMPORARY TABLE IF EXISTS tmp_Catgory; + DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; +END // +DELIMITER ;; + + + + + +-- Clear previous proc +DROP PROCEDURE IF EXISTS p_shop_save_product_category_test; + + +DELIMITER // +CREATE PROCEDURE p_shop_save_product_category_test ( + IN a_id_user INT, + IN a_guid BINARY(36), + IN a_comment VARCHAR(500) +) +BEGIN + DECLARE v_code_type_error_bad_data VARCHAR(100); + DECLARE v_id_type_error_bad_data INT; + DECLARE v_id_permission_product INT; + DECLARE v_ids_product_permission LONGTEXT; + DECLARE v_id_change_set INT; + + DECLARE exit handler for SQLEXCEPTION + BEGIN + -- Get diagnostic information + GET DIAGNOSTICS CONDITION 1 + @sqlstate = RETURNED_SQLSTATE + , @errno = MYSQL_ERRNO + , @text = MESSAGE_TEXT + ; + + -- Rollback the transaction + ROLLBACK; + + -- Select the error information + -- SELECT 'Error' AS status, @errno AS error_code, @sqlstate AS sql_state, @text AS message; + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , guid BINARY(36) NOT NULL + , id_type INT NULL + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL + ); + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid + , NULL + , @errno + , @text + ; + + SELECT * FROM tmp_Msg_Error; + DROP TABLE IF EXISTS tmp_Msg_Error; + END; + + select 'p_shop_save_product_category_test'; + + SET v_code_type_error_bad_data := 'BAD_DATA'; + SET v_id_type_error_bad_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + + SET a_guid := IFNULL(a_guid, UUID()); + + DROP TABLE IF EXISTS tmp_Category; + + CREATE TEMPORARY TABLE tmp_Category ( + id_category INT NOT NULL + , code VARCHAR(50) NOT NULL + , name VARCHAR(255) NOT NULL + , description VARCHAR(4000) NULL + , active BIT NOT NULL + , display_order INT NOT NULL + , can_view BIT NULL + , can_edit BIT NULL + , can_admin BIT NULL + , name_error VARCHAR(255) NOT NULL + , is_new BIT NOT NULL + ); + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , guid BINARY(36) NOT NULL + , id_type INT NULL + /* + CONSTRAINT FK_tmp_Msg_Error_id_type + FOREIGN KEY (id_type) + REFERENCES Shop_Msg_Error_Type (id_type), + */ + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL + ); + + + -- Get data from Temp table + INSERT INTO tmp_Category ( + id_category + , code + , name + , description + , active + , display_order + , name_error + , is_new + ) + SELECT + IFNULL(PC_T.id_category, PC.id_category) AS id_category + , IFNULL(PC_T.code, PC.code) AS code + , IFNULL(PC_T.name, PC.code) AS name + , IFNULL(PC_T.description, PC.description) AS description + , IFNULL(PC_T.active, PC.active) AS active + , IFNULL(PC_T.display_order, PC.display_order) AS display_order + , IFNULL(PC_T.name, IFNULL(PC.name, IFNULL(PC_T.code, IFNULL(PC.code, IFNULL(PC_T.id_category, '(No Product Category)'))))) AS name_error + , CASE WHEN IFNULL(PC_T.id_category, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM Shop_Product_Category_Temp PC_T + LEFT JOIN Shop_Product_Category PC ON PC_T.id_category = PC.id_category + WHERE PC_T.guid = a_guid + ; + + -- Validation + -- Missing mandatory fields + -- code + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid AS GUID + , v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following category(s) do not have a code: ', GROUP_CONCAT(t_C.name_error SEPARATOR ', ')) AS msg + FROM tmp_Category t_C + ; + -- name + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid AS GUID + , v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following category(s) do not have a name: ', GROUP_CONCAT(t_C.name_error SEPARATOR ', ')) AS msg + FROM tmp_Category t_C + ; + -- display_order + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid AS GUID + , v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following category(s) do not have a display order: ', GROUP_CONCAT(t_C.name_error SEPARATOR ', ')) AS msg + FROM tmp_Category t_C + ; + + SELECT * FROM tmp_Category; + + -- Permissions + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN -- (SELECT * FROM tmp_Product WHERE is_new = 0 LIMIT 1) THEN + SET v_ids_product_permission := ( + SELECT GROUP_CONCAT(P.id_product SEPARATOR ',') + FROM Shop_Product P + INNER JOIN Shop_Product_Category PC + ON P.id_category = PC.id_category + AND PC.is_new = 0 + ); + IF NOT ISNULL(v_ids_product_permission) THEN + SET v_id_permission_product = (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); + + CALL p_shop_user_eval(a_guid, a_id_user, v_id_permission_product, v_ids_product_permission); + + UPDATE tmp_Category t_C + INNER JOIN Shop_Product P ON t_C.id_category = P.id_product + INNER JOIN Shop_User_Eval_Temp UE_T + ON P.id_product = UE_T.id_product + AND UE_T.GUID = a_guid + SET + t_C.can_view = UE_T.can_view + , t_C.can_edit = UE_T.can_edit + , t_C.can_admin = UE_T.can_admin + ; + + CALL p_shop_user_eval_clear_temp(a_guid); + END IF; + END IF; + + SELECT * FROM tmp_Category; + + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN + START TRANSACTION; + + IF NOT ISNULL(v_ids_product_permission) THEN + INSERT INTO Shop_Product_Change_Set ( comment ) + VALUES ( a_comment ) + ; + + SET v_id_change_set := LAST_INSERT_ID(); + + UPDATE Shop_Product_Category PC + INNER JOIN tmp_Category t_C ON PC.id_category = t_C.id_category + SET + PC.id_category = t_C.id_category + , PC.code = t_C.code + , PC.name = t_P.name + , PC.description = t_C.description + , PC.display_order = t_C.display_order + , PC.active = t_C.active + , P.id_change_set = v_id_change_set + ; + END IF; + + INSERT INTO Shop_Product_Category ( + id_category + , code + , name + , description + , display_order + , active + , created_by + , created_on + ) + SELECT + t_C.id_category AS id_category + , t_C.code AS code + , t_C.name AS name + , t_C.description AS description + , t_C.active AS active + , t_P.display_order AS display_order + , a_id_user AS created_by + , v_now AS created_on + FROM tmp_Category t_C + WHERE is_new = 1 + AND active = 1 + ; + + ROLLBACK; + END IF; + + SELECT * FROM tmp_Msg_Error; + SELECT * FROM tmp_Category; + + DROP TEMPORARY TABLE IF EXISTS tmp_Catgory; + DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; +END // +DELIMITER ;; + + +select * +from shop_product_category; +select * +from shop_product_category_temp; + +SELECT 'nips' as guid; + +CALL p_shop_save_product_category_TEST (1, 'nips', 'y'); + +select * +from shop_product_category; +select * +from shop_product_category_temp; + + + + + + -- Clear previous proc DROP PROCEDURE IF EXISTS p_save_product; DROP PROCEDURE IF EXISTS p_shop_save_product; @@ -6890,7 +7434,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , guid BIGINT NOT NULL + , guid BINARY(36) NOT NULL , id_type INT NOT NULL /* CONSTRAINT FK_tmp_Msg_Error_id_type @@ -7060,7 +7604,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Product; DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; -- USE partsltd_prod; @@ -7070,9 +7614,9 @@ DROP PROCEDURE IF EXISTS p_shop_get_many_product; DELIMITER // CREATE PROCEDURE p_shop_get_many_product ( IN a_id_user INT - , IN a_get_all_category BIT - , IN a_get_inactive_category BIT - , IN a_ids_category VARCHAR(500) + , IN a_get_all_product_category BIT + , IN a_get_inactive_product_category BIT + , IN a_ids_product_category VARCHAR(500) , IN a_get_all_product BIT , IN a_get_inactive_product BIT , IN a_ids_product VARCHAR(500) @@ -7087,19 +7631,20 @@ CREATE PROCEDURE p_shop_get_many_product ( BEGIN -- Argument redeclaration -- Variable declaration - DECLARE v_has_filter_category BIT; + DECLARE v_has_filter_product_category BIT; DECLARE v_has_filter_product BIT; DECLARE v_has_filter_permutation BIT; DECLARE v_has_filter_image BIT; DECLARE v_guid BINARY(36); # DECLARE v_id_user VARCHAR(100); - DECLARE v_ids_permutation_unavailable VARCHAR(4000); + -- DECLARE v_ids_permutation_unavailable VARCHAR(4000); DECLARE v_id_permission_product INT; DECLARE v_ids_product_permission VARCHAR(4000); -- DECLARE v_ids_permutation_permission VARCHAR(4000); DECLARE v_id_access_level_view INT; -- DECLARE v_now TIMESTAMP; DECLARE v_id_minimum INT; + DECLARE v_ids_product_invalid VARCHAR(4000); SET v_guid := UUID(); SET v_id_access_level_view := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'VIEW'); @@ -7107,9 +7652,9 @@ BEGIN -- Argument validation + default values SET a_id_user := TRIM(IFNULL(a_id_user, '')); - SET a_get_all_category := IFNULL(a_get_all_category, 0); - SET a_get_inactive_category := IFNULL(a_get_inactive_category, 0); - SET a_ids_category := TRIM(IFNULL(a_ids_category, '')); + SET a_get_all_product_category := IFNULL(a_get_all_product_category, 0); + SET a_get_inactive_product_category := IFNULL(a_get_inactive_product_category, 0); + SET a_ids_product_category := TRIM(IFNULL(a_ids_product_category, '')); SET a_get_all_product := IFNULL(a_get_all_product, 0); SET a_get_inactive_product := IFNULL(a_get_inactive_product, 0); SET a_ids_product := TRIM(IFNULL(a_ids_product, '')); @@ -7122,7 +7667,7 @@ BEGIN SET a_get_products_quantity_stock_below_min := IFNULL(a_get_products_quantity_stock_below_min, 0); /* - SELECT a_id_user, a_get_all_category, a_ids_category, a_get_inactive_category, a_get_all_product, + SELECT a_id_user, a_get_all_product_category, a_ids_product_category, a_get_inactive_product_category, a_get_all_product, a_ids_product, a_get_inactive_product, a_get_first_product_only, a_get_all_product_permutation, a_ids_permutation, a_get_inactive_permutation, a_get_all_image, a_ids_image, a_get_inactive_image, a_get_first_image_only, a_get_all_delivery_region, a_ids_delivery_region, a_get_inactive_delivery_region, a_get_all_currency, a_ids_currency, @@ -7131,187 +7676,155 @@ BEGIN */ -- Temporary tables + DROP TEMPORARY TABLE IF EXISTS tmp_Category; + DROP TEMPORARY TABLE IF EXISTS tmp_Permutation; + DROP TEMPORARY TABLE IF EXISTS tmp_Product; + DROP TEMPORARY TABLE IF EXISTS tmp_Image; DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Image; DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product; + DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product_2; + DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product_Copy; - CREATE TEMPORARY TABLE tmp_Shop_Product ( + CREATE TEMPORARY TABLE tmp_Category ( id_category INT NOT NULL, + active BIT NOT NULL, + display_order INT NOT NULL + ); + + CREATE TEMPORARY TABLE tmp_Product ( + -- id_category INT NOT NULL, + id_product INT NOT NULL, + active BIT NOT NULL, + display_order INT NOT NULL + ); + + CREATE TEMPORARY TABLE tmp_Permutation ( + -- id_category INT NOT NULL, id_product INT NOT NULL, - -- product_has_variations BIT NOT NULL, id_permutation INT NULL, - active_category BIT NOT NULL, - active_product BIT NOT NULL, - active_permutation BIT NULL, - display_order_category INT NOT NULL, - display_order_product INT NOT NULL, - display_order_permutation INT NULL, - rank_permutation INT NOT NULL, # _in_category - name VARCHAR(255) NOT NULL, - description VARCHAR(4000) NOT NULL, - /* - price_GBP_full FLOAT NOT NULL, - price_GBP_min FLOAT NOT NULL, - */ - latency_manufacture INT NOT NULL, - quantity_min FLOAT NOT NULL, - quantity_max FLOAT NOT NULL, - quantity_step FLOAT NOT NULL, - quantity_stock FLOAT NOT NULL, - is_subscription BIT NOT NULL, - id_recurrence_interval INT, - count_recurrence_interval INT, - id_stripe_product VARCHAR(100), - product_has_variations INT NOT NULL, + active BIT NOT NULL, + display_order INT NOT NULL, can_view BIT, can_edit BIT, can_admin BIT ); - CREATE TEMPORARY TABLE tmp_Shop_Image ( + CREATE TEMPORARY TABLE tmp_Image ( id_image INT NOT NULL, - id_product INT NOT NULL, + -- id_product INT NOT NULL, id_permutation INT NULL, active BIT NOT NULL, - display_order INT NOT NULL, - rank_in_product_permutation INT NOT NULL + display_order INT NOT NULL + -- rank_in_product_permutation INT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT, guid BINARY(36) NOT NULL, - id_type INT NOT NULL, + id_type INT NULL, code VARCHAR(50) NOT NULL, msg VARCHAR(4000) NOT NULL ); -- Parse filters - SET v_has_filter_category = CASE WHEN a_ids_category = '' THEN 0 ELSE 1 END; + SET v_has_filter_product_category = CASE WHEN a_ids_product_category = '' THEN 0 ELSE 1 END; SET v_has_filter_product = CASE WHEN a_ids_product = '' THEN 0 ELSE 1 END; SET v_has_filter_permutation = CASE WHEN a_ids_permutation = '' THEN 0 ELSE 1 END; SET v_has_filter_image = CASE WHEN a_ids_image = '' THEN 0 ELSE 1 END; -- select v_has_filter_product, v_has_filter_permutation; - INSERT INTO tmp_Shop_Product ( + INSERT INTO tmp_Category ( id_category, - id_product, - id_permutation, - active_category, - active_product, - active_permutation, - display_order_category, - display_order_product, - display_order_permutation, - rank_permutation, - name, - description, - /* - price_GBP_VAT_incl, - price_GBP_VAT_excl, - price_GBP_min, - */ - latency_manufacture, - quantity_min, - quantity_max, - quantity_step, - quantity_stock, - is_subscription, - id_recurrence_interval, - count_recurrence_interval, - id_stripe_product, - product_has_variations + active, + display_order ) SELECT - P.id_category, - P.id_product, - -- P.has_variations AS product_has_variations, - PP.id_permutation, - C.active AS active_category, - P.active AS active_product, - PP.active AS active_permutation, - C.display_order AS display_order_category, - P.display_order AS display_order_product, - PP.display_order AS display_order_permutation, - RANK() OVER (ORDER BY C.display_order, P.display_order, PP.display_order) AS rank_permutation, #PARTITION BY P.id_category # _in_category - P.name, - PP.description, - /* - PP.price_GBP_VAT_incl, - PP.price_GBP_VAT_excl, - PP.price_GBP_min, - */ - PP.latency_manufacture, - PP.quantity_min, - PP.quantity_max, - PP.quantity_step, - PP.quantity_stock, - PP.is_subscription, - PP.id_interval_recurrence, - PP.count_interval_recurrence, - PP.id_stripe_product, - P.has_variations - FROM Shop_Product P - INNER JOIN Shop_Product_Permutation PP - ON P.id_product = PP.id_product - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - WHERE - # permutations - ( - ( - a_get_all_product_permutation - OR ( - v_has_filter_permutation - AND FIND_IN_SET(PP.id_permutation, a_ids_permutation) > 0 - ) - OR ( - a_get_products_quantity_stock_below_min = 1 - AND PP.quantity_stock < PP.quantity_min - ) + PC.id_category, + PC.active, + PC.display_order + FROM Shop_Product_Category PC + WHERE ( + a_get_all_product_category = 1 + OR ( + v_has_filter_product_category = 1 + AND FIND_IN_SET(PC.id_category, a_ids_product_category) > 0 ) - AND ( - a_get_inactive_permutation - OR PP.active - ) - ) - # categories + ) AND ( - ( - a_get_all_category - OR ( - v_has_filter_category - AND FIND_IN_SET(P.id_category, a_ids_category) > 0 - ) - ) - AND ( - a_get_inactive_category - OR C.active - ) - ) - # products - AND ( - ( - a_get_all_product - OR ( - v_has_filter_product - AND FIND_IN_SET(P.id_product, a_ids_product) > 0 - ) - ) - AND ( - a_get_inactive_product - OR P.active - ) + a_get_inactive_product_category = 1 + OR PC.active = 1 ) ; + INSERT INTO tmp_Product ( + -- id_category, + id_product, + active, + display_order + ) + SELECT + -- P.id_category, + P.id_product, + P.active, + P.display_order + FROM Shop_Product P + INNER JOIN tmp_Category t_C ON P.id_category = t_C.id_category + WHERE ( + a_get_all_product = 1 + OR ( + v_has_filter_product = 1 + AND FIND_IN_SET(P.id_product, a_ids_product) > 0 + ) + ) + AND ( + a_get_inactive_product = 1 + OR P.active = 1 + ) + ; + + INSERT INTO tmp_Permutation ( + -- id_category, + id_product, + id_permutation, + active, + display_order + ) + SELECT + -- P.id_category, + PP.id_product, + PP.id_permutation, + PP.active, + PP.display_order + FROM Shop_Product_Permutation PP + INNER JOIN tmp_Product t_P ON PP.id_product = t_P.id_product + WHERE ( + a_get_all_product_permutation = 1 + OR ( + v_has_filter_permutation = 1 + AND FIND_IN_SET(PP.id_permutation, a_ids_permutation) > 0 + ) + OR ( + a_get_products_quantity_stock_below_min = 1 + AND PP.quantity_stock < PP.quantity_min + ) + ) + AND ( + a_get_inactive_permutation = 1 + OR PP.active = 1 + ) + ; + + select 'nips'; + # Product Images - CREATE TEMPORARY TABLE tmp_Shop_Product_2 SELECT * FROM tmp_Shop_Product; + -- CREATE TEMPORARY TABLE tmp_Shop_Product_Copy SELECT * FROM tmp_Shop_Product; INSERT INTO tmp_Shop_Image ( - id_product - , id_permutation + -- id_product + id_permutation , id_image , active , display_order @@ -7328,16 +7841,21 @@ BEGIN ) */ SELECT - IPP.id_product - , IPP.id_permutation - , IPP.id_image - , IPP.active - , ROW_NUMBER() OVER (ORDER BY IPP.display_order_product_temp, IPP.display_order_image) + -- IPP.id_product + I.id_permutation + , I.id_image + , I.active + , I.display_order -- , RANK() OVER (PARTITION BY IPP.id_product, IPP.id_permutation ORDER BY IPP.display_order_product_temp, IPP.display_order_image) + FROM Shop_Product_Image I + INNER JOIN tmp_Shop_Product t_P + ON I.id_permutation = t_P.id_permutation + AND NOT t_P.product_has_variations + /* FROM ( SELECT - t_P.id_product - , I.id_permutation + -- t_P.id_product + I.id_permutation , I.id_image , I.active , I.display_order AS display_order_image @@ -7346,23 +7864,27 @@ BEGIN INNER JOIN tmp_Shop_Product t_P ON I.id_permutation = t_P.id_permutation AND NOT t_P.product_has_variations + UNION SELECT - t_P2.id_product - , I.id_permutation + -- t_P2_Copy.id_product + I.id_permutation , I.id_image , I.active , I.display_order AS display_order_image -- , t_P2.rank_permutation AS display_order_product_temp FROM Shop_Product_Image I - INNER JOIN tmp_Shop_Product_2 t_P2 - ON I.id_permutation = t_P2.id_permutation - AND t_P2.product_has_variations - ) IPP - WHERE (a_get_all_image OR a_get_first_image_only OR FIND_IN_SET(id_image, a_ids_image) > 0) - AND (a_get_inactive_image OR IPP.active) + INNER JOIN tmp_Shop_Product_Copy t_P_Copy + ON I.id_permutation = t_P_Copy.id_permutation + AND t_P_Copy.product_has_variations + ) IPP + */ + WHERE (a_get_all_image OR FIND_IN_SET(id_image, a_ids_image) > 0) + AND (a_get_inactive_image OR I.active) ; + select 'nips'; + -- Permissions IF EXISTS (SELECT * FROM tmp_Shop_Product LIMIT 1) THEN # SET v_id_user := (SELECT id_user FROM Shop_User WHERE name = CURRENT_USER()); @@ -7377,7 +7899,7 @@ BEGIN -- select * from Shop_User_Eval_Temp; - UPDATE tmp_Shop_Product t_P + UPDATE tmp_Product t_P INNER JOIN Shop_User_Eval_Temp UE_T ON t_P.id_product = UE_T.id_product AND UE_T.GUID = v_guid @@ -7388,25 +7910,30 @@ BEGIN -- select * from Shop_User_Eval_Temp; -- select * from tmp_Shop_Product; + SET v_ids_product_invalid := ( + SELECT GROUP_CONCAT(UET.id_product SEPARATOR ',') + FROM tmp_Product P + WHERE ISNULL(t_P.can_view) + ); + + DELETE -- t_PC + FROM tmp_Category t_PC + WHERE t_PC.id_category IN ( + SELECT id_category + FROM Shop_Product_Category PC + INNER JOIN Shop_Product P ON PC.id_category = P.id_category + WHERE FIND_IN_SET(P.id_product, v_ids_product_invalid) > 0 + ) -- INVALID ON t_PC.id_category = INVALID.id_category + ; + DELETE -- t_P - FROM tmp_Shop_Product t_P - WHERE - FIND_IN_SET(t_P.id_product, (SELECT GROUP_CONCAT(UET.id_product SEPARATOR ',') FROM Shop_User_Eval_Temp UET)) = 0 # id_product NOT LIKE CONCAT('%', (SELECT GROUP_CONCAT(id_product SEPARATOR '|') FROM Shop_User_Eval_Temp), '%'); - OR ( - ISNULL(t_P.can_view) - AND ( - NOT v_has_filter_category - OR FIND_IN_SET(t_P.id_category, a_ids_category) = 0 - ) - AND ( - NOT v_has_filter_product - OR FIND_IN_SET(t_P.id_product, a_ids_product) = 0 - ) - AND ( - NOT v_has_filter_permutation - OR FIND_IN_SET(t_P.id_permutation, a_ids_permutation) = 0 - ) - ) + FROM tmp_Product t_P + WHERE FIND_IN_SET(t_P.id_product, v_ids_product_invalid) > 0 + ; + + DELETE -- t_P + FROM tmp_Permutation t_PP + WHERE FIND_IN_SET(t_PP.id_product, v_ids_product_invalid) > 0 ; CALL p_clear_shop_user_eval_temp(v_guid); @@ -7418,6 +7945,7 @@ BEGIN */ END IF; + select 'nips'; -- select * from tmp_Shop_Product; @@ -7426,52 +7954,76 @@ BEGIN # Categories SELECT - DISTINCT t_C.id_category, - C.name, - C.description, - C.display_order - FROM tmp_Shop_Product t_P - INNER JOIN Shop_Product_Category PC + -- DISTINCT + t_C.id_category + , PC.code + , PC.name + , PC.description + , PC.display_order + , PC.active + , MIN(t_P.can_view) AS can_view + , MIN(t_P.can_edit) AS can_edit + , MIN(t_P.can_admin) AS can_admin + FROM tmp_Category t_C + INNER JOIN Shop_product_category PC ON t_P.id_category = PC.id_category + -- GROUP BY t_P.id_category ORDER BY PC.display_order ; # Products SELECT t_P.id_product, - t_P.id_permutation, - t_P.name, - t_P.description, + P.id_category, + P.name, + P.description, P.has_variations, + P.latency_manufacture, + P.quantity_min, + P.quantity_max, + P.quantity_step, + P.quantity_stock, + P.id_stripe_product, + P.is_subscription, + P.active, + P.display_order, + t_P.can_view, + t_P.can_edit, + t_P.can_admin + FROM tmp_Shop_Product t_P + INNER JOIN Shop_Product P ON t_P.id_product = P.id_product + GROUP BY C.id_category, P.id_product + ORDER BY PC.display_order, P.display_order + ; + + # Product Permutations + SELECT + t_PP.id_permutation, + PP.id_product, P.id_category, PP.cost_local, PP.id_currency_cost, - CURRENCY.code AS code_currency_cost, - CURRENCY.symbol AS symbol_currency_cost, + C.code AS code_currency_cost, + C.symbol AS symbol_currency_cost, PP.profit_local_min, - t_P.latency_manufacture, - t_P.quantity_min, - t_P.quantity_max, - t_P.quantity_step, - t_P.quantity_stock, - t_P.id_stripe_product, - t_P.is_subscription, + P.is_subscription, UM.name_singular AS name_recurrence_interval, UM.name_plural AS name_plural_recurrence_interval, PP.count_interval_recurrence, - t_P.display_order_category, - t_P.display_order_product, - t_P.display_order_permutation, - IFNULL(t_P.can_view, 0) AS can_view, - IFNULL(t_P.can_edit, 0) AS can_edit, - IFNULL(t_P.can_admin, 0) AS can_admin - FROM tmp_Shop_Product t_P - INNER JOIN Shop_Product P ON t_P.id_product = P.id_product - INNER JOIN Shop_Product_Permutation PP ON t_P.id_permutation = PP.id_permutation + t_PP.active, + t_PP.display_order, + IFNULL(t_PP.can_view, 0) AS can_view, + IFNULL(t_PP.can_edit, 0) AS can_edit, + IFNULL(t_PP.can_admin, 0) AS can_admin + FROM tmp_Shop_Product_Permutation t_PP + INNER JOIN Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation + INNER JOIN Shop_Product P ON t_PP.id_product = P.id_product + INNER JOIN Shop_Product_Category PC ON P.id_category = PC.id_category -- LEFT JOIN Shop_Recurrence_Interval RI ON t_P.id_interval_recurrence = RI.id_interval LEFT JOIN Shop_Unit_Measurement UM ON PP.id_interval_recurrence = UM.id_unit_measurement - INNER JOIN Shop_Currency CURRENCY ON PP.id_currency_cost = CURRENCY.id_currency - ORDER BY t_P.rank_permutation + INNER JOIN Shop_Currency C ON PP.id_currency_cost = C.id_currency + GROUP BY C.id_category, P.id_product, PP.id_permutation + ORDER BY PC.display_order, P.display_order, PP.display_order ; # Variations @@ -7493,7 +8045,9 @@ BEGIN FROM Shop_Variation V INNER JOIN Shop_Variation_Type VT ON V.id_type = VT.id_type INNER JOIN Shop_Product_Permutation_Variation_Link PPVL ON V.id_variation = PPVL.id_variation - INNER JOIN tmp_Shop_Product t_P ON PPVL.id_permutation <=> t_P.id_permutation + INNER JOIN tmp_Permutation t_PP ON PPVL.id_permutation = t_PP.id_permutation + INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product + INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category WHERE V.active AND PPVL.active ; @@ -7521,7 +8075,7 @@ BEGIN # Images SELECT t_I.id_image, - t_I.id_product, + t_P.id_product, t_I.id_permutation, t_P.id_category, I.url, @@ -7531,8 +8085,7 @@ BEGIN INNER JOIN Shop_Product_Image I ON t_I.id_image = I.id_image INNER JOIN tmp_Shop_Product t_P - ON t_I.id_product = t_P.id_product - AND t_I.id_permutation <=> t_P.id_permutation + ON t_I.id_permutation = t_P.id_permutation ORDER BY t_P.rank_permutation, I.display_order ; @@ -7554,8 +8107,8 @@ BEGIN /* # Return arguments for test SELECT - a_ids_category, - a_get_inactive_category, + a_ids_product_category, + a_get_inactive_product_category, a_ids_product, a_get_inactive_product, a_get_first_product_only, @@ -7571,20 +8124,25 @@ BEGIN # select * from tmp_Shop_Product; -- Clean up + DROP TEMPORARY TABLE IF EXISTS tmp_Image; DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Image; + DROP TEMPORARY TABLE IF EXISTS tmp_Category; + DROP TEMPORARY TABLE IF EXISTS tmp_Permutation; + DROP TEMPORARY TABLE IF EXISTS tmp_Product; DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product; + DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product_2; + DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product_Copy; END // -DELIMITER ; +DELIMITER ;; -/* CALL partsltd_prod.p_shop_get_many_product ( 1 #'auth0|6582b95c895d09a70ba10fef', # a_id_user - , 1 # a_get_all_category - , 1 # a_get_inactive_category - , '' # a_ids_category + , 1 # a_get_all_product_category + , 1 # a_get_inactive_product_category + , '' # a_ids_product_category , 1 # a_get_all_product , 0 # a_get_inactive_product , '' # a_ids_product @@ -7596,6 +8154,7 @@ CALL partsltd_prod.p_shop_get_many_product ( , '' # a_ids_image , 1 # a_get_products_quantity_stock_below_minimum ); +/* select * FROM Shop_User_Eval_Temp; @@ -7905,7 +8464,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_Product; DROP TABLE IF EXISTS tmp_Shop_User; END // -DELIMITER ; +DELIMITER ;; /* @@ -8474,7 +9033,7 @@ BEGIN DROP TABLE tmp_Shop_Manufacturing_Purchase_Order_Product_Link; DROP TABLE tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; /* @@ -8823,7 +9382,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Variation; DROP TABLE IF EXISTS tmp_Variation_Type; END // -DELIMITER ; +DELIMITER ;; /* @@ -9697,7 +10256,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Category; DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; /* @@ -10517,7 +11076,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product_Category; END // -DELIMITER ; +DELIMITER ;; /* @@ -10813,7 +11372,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_User; DROP TABLE IF EXISTS tmp_Shop_Product_Currency_Link; END // -DELIMITER ; +DELIMITER ;; /* @@ -10992,7 +11551,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Msg_Error; DROP TABLE IF EXISTS tmp_Shop_User; END // -DELIMITER ; +DELIMITER ;; @@ -11245,7 +11804,7 @@ BEGIN */ CALL p_clear_shop_user_eval_temp(v_guid); END // -DELIMITER ; +DELIMITER ;; @@ -12050,7 +12609,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_Product; DROP TABLE IF EXISTS tmp_Shop_User; END // -DELIMITER ; +DELIMITER ;; /* @@ -12384,7 +12943,7 @@ BEGIN DROP TABLE tmp_Shop_Supplier; DROP TABLE tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; -- SELECT * FROM Shop_Supplier; @@ -12630,7 +13189,7 @@ BEGIN -- Clean up DROP TABLE IF EXISTS tmp_Supplier; END // -DELIMITER ; +DELIMITER ;; /* @@ -13147,7 +13706,7 @@ BEGIN DROP TABLE tmp_Shop_Supplier_Purchase_Order_Product_Link; DROP TABLE tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; /* @@ -13938,7 +14497,7 @@ BEGIN WHERE GUID = v_guid ; END // -DELIMITER ; +DELIMITER ;; /* @@ -14516,7 +15075,7 @@ BEGIN DROP TABLE tmp_Shop_Manufacturing_Purchase_Order_Product_Link; DROP TABLE tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; /* @@ -15203,7 +15762,7 @@ BEGIN WHERE GUID = v_guid ; END // -DELIMITER ; +DELIMITER ;; /* @@ -15511,7 +16070,7 @@ BEGIN -- DROP TABLE tmp_Shop_Customer; DROP TABLE tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; /* @@ -15793,7 +16352,7 @@ BEGIN WHERE GUID = v_guid ; END // -DELIMITER ; +DELIMITER ;; /* @@ -16301,7 +16860,7 @@ BEGIN DROP TABLE tmp_Shop_Customer_Sales_Order_Product_Link; DROP TABLE tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; /* @@ -17105,7 +17664,7 @@ BEGIN WHERE GUID = v_guid ; END // -DELIMITER ; +DELIMITER ;; /* @@ -17309,12 +17868,14 @@ INSERT INTO Shop_Product_Category ( display_order, code, name, - description + description, + id_access_level_required, + created_by ) VALUES - (1, 'ASS', 'Assistive Devices', 'Braille product line and other assistive devices'), - (99, 'MISC', 'Miscellaneous', 'Not category allocated products'), - (2, 'TECH', 'Technology', 'Technological devices') + (1, 'ASS', 'Assistive Devices', 'Braille product line and other assistive devices', 1, 1), + (99, 'MISC', 'Miscellaneous', 'Not category allocated products', 1, 1), + (2, 'TECH', 'Technology', 'Technological devices', 1, 1) ; /* @@ -17335,7 +17896,8 @@ INSERT INTO Shop_Product ( id_category, name, has_variations, - id_access_level_required + id_access_level_required, + created_by ) VALUES ( @@ -17343,35 +17905,40 @@ VALUES 1, 'Braille Keyboard Translator', 1, - 3 + 3, + 1 ), ( 2, 2, 'Test product 1', 0, - 3 + 3, + 1 ), ( 3, 3, 'Phone', 0, - 1 + 1, + 1 ), ( 4, 3, 'Laptop', 0, - 1 + 1, + 1 ), ( 5, 3, 'Smart Watch', 0, - 1 + 1, + 1 ) ; @@ -17892,7 +18459,7 @@ VALUES /* -- Clean up END // -DELIMITER ; +DELIMITER ;; -- Call @@ -18133,86 +18700,4 @@ FROM WHERE TABLE_SCHEMA = 'PARTS' -- AND TABLE_NAME = 'your_table_name' -;SELECT URL.id_link, - URL.id_user, - U.name AS name, - URL.id_role, - R.name AS role -FROM Shop_User_Role_Link URL -INNER JOIN Shop_User U - ON URL.id_user = U.id_user -INNER JOIN Shop_Role R - ON URL.id_role = R.id_role -; -SELECT * -FROM Shop_Role_Permission_Link -; -SELECT * -FROM Shop_Access_Level -; -SELECT * -FROM Shop_Permission -; -SELECT * -FROM Shop_Access_Level -; - - -select * from shop_user; -select * from shop_user_audit; -select * from Shop_User_Change_Set; -/* -INSERT INTO Shop_User_Change_Set ( comment ) -VALUES ('Demotion'); -*/ -UPDATE Shop_User -SET is_super_user = 0, - id_change_set = (SELECT id_change_set FROM Shop_User_Change_Set LIMIT 1) -WHERE id_user = 1 -; -select * from shop_user; -select * from shop_user_audit; - - -drop procedure if exists p_test; -delimiter // -create procedure p_test () -begin - declare b0 int; - declare b1 int; - SET b0 = 0; - SET b1 = 1; - select b0, b1; - select cast(b0 as char), cast(b1 as char); - select cast(b0 as char character set utf8), cast(b1 as char character set utf8); - select convert(b0, char), convert(b1, char); - select convert(b0, char character set utf8), convert(b1, char character set utf8); - select convert(convert(b0, signed), char), convert(convert(b1, signed), char); - select convert(convert(b0, signed), char character set utf8), convert(convert(b1, signed), char character set utf8); -end // -delimiter ; -call p_test(); -drop procedure if exists p_test; - -INSERT INTO Shop_User_Audit ( - id_user, - name_field, - value_prev, - value_new, - id_change_set -) -SELECT id_user, name_field, value_prev, value_new, id_change_set -FROM Shop_User_Audit -WHERE id_audit = 1 -UNION -SELECT id_user, name_field, value_prev, value_new, id_change_set -FROM Shop_User_Audit -WHERE id_audit = 1 -; - -select * from shop_user_audit; - - -SELECT * FROM Shop_Access_Level; - -SELECT * FROM Shop_Product; \ No newline at end of file +; \ No newline at end of file diff --git a/static/MySQL/0001_destroy.sql b/static/MySQL/0001_destroy.sql index 6ac27f63..31a3994d 100644 --- a/static/MySQL/0001_destroy.sql +++ b/static/MySQL/0001_destroy.sql @@ -152,6 +152,7 @@ DROP TABLE IF EXISTS Shop_Recurrence_Interval; DROP TABLE IF EXISTS Shop_Product_Audit; DROP TABLE IF EXISTS Shop_Product; +DROP TABLE IF EXISTS Shop_Product_Category_Temp; DROP TABLE IF EXISTS Shop_Product_Category_Audit; DROP TABLE IF EXISTS Shop_Product_Category; DROP TABLE IF EXISTS Shop_Category_Audit; @@ -214,3 +215,43 @@ DROP TABLE IF EXISTS Shop_Access_Level; DROP TABLE IF EXISTS Shop_Sales_And_Purchasing_Change_Set; DROP TABLE IF EXISTS Shop_User_Change_Set; DROP TABLE IF EXISTS Shop_Product_Change_Set; + + +-- Procedures +DROP PROCEDURE IF EXISTS p_split; +DROP PROCEDURE IF EXISTS p_clear_split_temp; + +DROP PROCEDURE IF EXISTS p_shop_user_eval; +DROP PROCEDURE IF EXISTS p_clear_shop_user_eval_temp; + +DROP PROCEDURE IF EXISTS p_shop_get_many_region; +DROP PROCEDURE IF EXISTS p_shop_get_many_currency; + +DROP PROCEDURE IF EXISTS p_shop_save_category; +DROP PROCEDURE IF EXISTS p_shop_save_product_category; +DROP PROCEDURE IF EXISTS p_shop_save_product_category_test; +DROP PROCEDURE IF EXISTS p_shop_save_product; +DROP PROCEDURE IF EXISTS p_shop_get_many_product; +DROP PROCEDURE IF EXISTS p_shop_get_many_stripe_product_new; +DROP PROCEDURE IF EXISTS p_shop_save_permutation; +DROP PROCEDURE IF EXISTS p_shop_get_many_product_variation; +DROP PROCEDURE IF EXISTS p_shop_get_many_stock_item; +DROP PROCEDURE IF EXISTS p_shop_get_many_product_price_and_discount_and_delivery_option; +DROP PROCEDURE IF EXISTS p_shop_get_many_product_price_and_discount_and_delivery_region; +DROP PROCEDURE IF EXISTS p_shop_get_many_stripe_price_new; +DROP PROCEDURE IF EXISTS p_shop_save_user; +DROP PROCEDURE IF EXISTS p_shop_edit_user; +DROP PROCEDURE IF EXISTS p_shop_get_many_user; +DROP PROCEDURE IF EXISTS p_get_many_user; +DROP PROCEDURE IF EXISTS p_shop_get_many_user_basket; +DROP PROCEDURE IF EXISTS p_shop_edit_user_basket; +DROP PROCEDURE IF EXISTS p_shop_save_supplier; +DROP PROCEDURE IF EXISTS p_shop_get_many_supplier; +DROP PROCEDURE IF EXISTS p_shop_save_supplier_purchase_order; +DROP PROCEDURE IF EXISTS p_shop_get_many_supplier_purchase_order; +DROP PROCEDURE IF EXISTS p_shop_save_manufacturing_purchase_order; +DROP PROCEDURE IF EXISTS p_shop_get_many_manufacturing_purchase_order; +DROP PROCEDURE IF EXISTS p_shop_save_customer; +DROP PROCEDURE IF EXISTS p_shop_get_many_customer; +DROP PROCEDURE IF EXISTS p_shop_save_customer_sales_order; +DROP PROCEDURE IF EXISTS p_shop_get_many_customer_sales_order; diff --git a/static/MySQL/1003_tbl_Shop_Access_Level.sql b/static/MySQL/1003_tbl_Shop_Access_Level.sql index 6eeb5893..21094a5d 100644 --- a/static/MySQL/1003_tbl_Shop_Access_Level.sql +++ b/static/MySQL/1003_tbl_Shop_Access_Level.sql @@ -13,9 +13,11 @@ CREATE TABLE IF NOT EXISTS Shop_Access_Level ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Access_Level_id_change_set FOREIGN KEY (id_change_set) REFERENCES Shop_User_Change_Set(id_change_set) -); \ No newline at end of file +); + + diff --git a/static/MySQL/1010_tbl_File_Type.sql b/static/MySQL/1010_tbl_File_Type.sql index 6066803f..81dbf0c6 100644 --- a/static/MySQL/1010_tbl_File_Type.sql +++ b/static/MySQL/1010_tbl_File_Type.sql @@ -11,7 +11,7 @@ CREATE TABLE IF NOT EXISTS File_Type ( name VARCHAR(100), extension VARCHAR(50), created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP, updated_last_by VARCHAR(100) ); diff --git a/static/MySQL/1011_tbl_File_Type_Audit.sql b/static/MySQL/1011_tbl_File_Type_Audit.sql index d571bf67..e21dd2e5 100644 --- a/static/MySQL/1011_tbl_File_Type_Audit.sql +++ b/static/MySQL/1011_tbl_File_Type_Audit.sql @@ -16,7 +16,7 @@ CREATE TABLE IF NOT EXISTS File_Type_Audit ( value_prev VARCHAR(500), value_new VARCHAR(500), created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP, updated_last_by VARCHAR(100) ); \ No newline at end of file diff --git a/static/MySQL/1012_tbl_Shop_General.sql b/static/MySQL/1012_tbl_Shop_General.sql index 5fe2b225..e587dece 100644 --- a/static/MySQL/1012_tbl_Shop_General.sql +++ b/static/MySQL/1012_tbl_Shop_General.sql @@ -9,7 +9,7 @@ CREATE TABLE IF NOT EXISTS Shop_General ( id_general INT NOT NULL AUTO_INCREMENT PRIMARY KEY, quantity_max FLOAT, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT CHK_Shop_General_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1014_tbl_Shop_Image_Type.sql b/static/MySQL/1014_tbl_Shop_Image_Type.sql index 090c4bbb..658c6489 100644 --- a/static/MySQL/1014_tbl_Shop_Image_Type.sql +++ b/static/MySQL/1014_tbl_Shop_Image_Type.sql @@ -19,7 +19,7 @@ CREATE TABLE IF NOT EXISTS Shop_Image_Type ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Image_Type_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1100_tbl_Shop_Region.sql b/static/MySQL/1100_tbl_Shop_Region.sql index 095feeed..bab1a4e1 100644 --- a/static/MySQL/1100_tbl_Shop_Region.sql +++ b/static/MySQL/1100_tbl_Shop_Region.sql @@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Region_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1102_tbl_Shop_Region_Temp.sql b/static/MySQL/1102_tbl_Shop_Region_Temp.sql index daf77daf..587373fa 100644 --- a/static/MySQL/1102_tbl_Shop_Region_Temp.sql +++ b/static/MySQL/1102_tbl_Shop_Region_Temp.sql @@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Temp ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Region_Temp_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1103_tbl_Shop_Region_Branch.sql b/static/MySQL/1103_tbl_Shop_Region_Branch.sql index e91034f5..0910966a 100644 --- a/static/MySQL/1103_tbl_Shop_Region_Branch.sql +++ b/static/MySQL/1103_tbl_Shop_Region_Branch.sql @@ -21,7 +21,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Branch ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Region_Branch_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1106_tbl_Shop_Plant.sql b/static/MySQL/1106_tbl_Shop_Plant.sql index d951190a..a040ea03 100644 --- a/static/MySQL/1106_tbl_Shop_Plant.sql +++ b/static/MySQL/1106_tbl_Shop_Plant.sql @@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS Shop_Plant ( id_user_manager INT NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Plant_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1109_tbl_Shop_Storage_Location.sql b/static/MySQL/1109_tbl_Shop_Storage_Location.sql index 1c7ca508..8a0a18a3 100644 --- a/static/MySQL/1109_tbl_Shop_Storage_Location.sql +++ b/static/MySQL/1109_tbl_Shop_Storage_Location.sql @@ -15,7 +15,7 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location ( name VARCHAR(500) NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Storage_Location_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1112_tbl_Shop_Storage_Location_Branch.sql b/static/MySQL/1112_tbl_Shop_Storage_Location_Branch.sql index b7ecdeeb..6bcaeb0b 100644 --- a/static/MySQL/1112_tbl_Shop_Storage_Location_Branch.sql +++ b/static/MySQL/1112_tbl_Shop_Storage_Location_Branch.sql @@ -21,7 +21,7 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location_Branch ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Storage_Location_Branch_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1115_tbl_Shop_Currency.sql b/static/MySQL/1115_tbl_Shop_Currency.sql index c9305eaf..90cda8d6 100644 --- a/static/MySQL/1115_tbl_Shop_Currency.sql +++ b/static/MySQL/1115_tbl_Shop_Currency.sql @@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS Shop_Currency ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Currency_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1118_tbl_Shop_Tax_Or_Surcharge.sql b/static/MySQL/1118_tbl_Shop_Tax_Or_Surcharge.sql index d48ccdd9..af8a20f3 100644 --- a/static/MySQL/1118_tbl_Shop_Tax_Or_Surcharge.sql +++ b/static/MySQL/1118_tbl_Shop_Tax_Or_Surcharge.sql @@ -30,7 +30,7 @@ CREATE TABLE Shop_Tax_Or_Surcharge ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Tax_Or_Surcharge_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1121_tbl_Shop_Unit_Measurement.sql b/static/MySQL/1121_tbl_Shop_Unit_Measurement.sql index d28830e9..c8b62ba5 100644 --- a/static/MySQL/1121_tbl_Shop_Unit_Measurement.sql +++ b/static/MySQL/1121_tbl_Shop_Unit_Measurement.sql @@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement ( is_unit_of_volume BIT NOT NULL DEFAULT 0, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Unit_Measurement_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1124_tbl_Shop_Unit_Measurement_Conversion.sql b/static/MySQL/1124_tbl_Shop_Unit_Measurement_Conversion.sql index 1c0902f9..249da5fd 100644 --- a/static/MySQL/1124_tbl_Shop_Unit_Measurement_Conversion.sql +++ b/static/MySQL/1124_tbl_Shop_Unit_Measurement_Conversion.sql @@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Conversion ( increment_unit_base FLOAT NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Unit_Measurement_Conversion_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1200_tbl_Shop_Category.sql b/static/MySQL/1200_tbl_Shop_Category.sql deleted file mode 100644 index 498cf28e..00000000 --- a/static/MySQL/1200_tbl_Shop_Category.sql +++ /dev/null @@ -1,20 +0,0 @@ - -# Categories - - -SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Category'; - -CREATE TABLE IF NOT EXISTS Shop_Product_Category ( - id_category INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - code VARCHAR(50), - name VARCHAR(255), - description VARCHAR(4000), - active BIT NOT NULL DEFAULT 1, - display_order INT NOT NULL, - created_on TIMESTAMP, - created_by VARCHAR(100), - id_change_set INT, - CONSTRAINT FK_Shop_Product_Category_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); diff --git a/static/MySQL/1200_tbl_Shop_Product_Category.sql b/static/MySQL/1200_tbl_Shop_Product_Category.sql new file mode 100644 index 00000000..c92f7def --- /dev/null +++ b/static/MySQL/1200_tbl_Shop_Product_Category.sql @@ -0,0 +1,24 @@ + +# Categories + + +SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Category'; + +CREATE TABLE IF NOT EXISTS Shop_Product_Category ( + id_category INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , code VARCHAR(50) + , name VARCHAR(255) + , description VARCHAR(4000) + , active BIT NOT NULL DEFAULT 1 + , display_order INT NOT NULL + , id_access_level_required INT NOT NULL + , CONSTRAINT FK_Shop_Product_Category_id_access_level_required + FOREIGN KEY (id_access_level_required) + REFERENCES Shop_Access_Level(id_access_level) + , created_on TIMESTAMP + , created_by INT NOT NULL + , id_change_set INT + , CONSTRAINT FK_Shop_Product_Category_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES Shop_Product_Change_Set(id_change_set) +); diff --git a/static/MySQL/1201_tbl_Shop_Category_Audit.sql b/static/MySQL/1201_tbl_Shop_Product_Category_Audit.sql similarity index 100% rename from static/MySQL/1201_tbl_Shop_Category_Audit.sql rename to static/MySQL/1201_tbl_Shop_Product_Category_Audit.sql diff --git a/static/MySQL/1202_tbl_Shop_Product_Category_Temp.sql b/static/MySQL/1202_tbl_Shop_Product_Category_Temp.sql new file mode 100644 index 00000000..f033892d --- /dev/null +++ b/static/MySQL/1202_tbl_Shop_Product_Category_Temp.sql @@ -0,0 +1,19 @@ + +# Categories Temp + +-- DROP TABLE Shop_Product_Category_Temp; + +SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Category_Temp'; + +CREATE TABLE IF NOT EXISTS Shop_Product_Category_Temp ( + id_category INT NOT NULL + , code VARCHAR(50) NOT NULL + , name VARCHAR(255) NOT NULL + , description VARCHAR(4000) NULL + , active BIT NOT NULL + , display_order INT NOT NULL + , id_access_level_required INT NOT NULL DEFAULT 1 + , guid BINARY(36) NOT NULL + , created_on TIMESTAMP NOT NULL + , created_by INT NOT NULL +); diff --git a/static/MySQL/1203_tbl_Shop_Product.sql b/static/MySQL/1203_tbl_Shop_Product.sql index edef40c4..fce7bd2e 100644 --- a/static/MySQL/1203_tbl_Shop_Product.sql +++ b/static/MySQL/1203_tbl_Shop_Product.sql @@ -39,8 +39,8 @@ CREATE TABLE IF NOT EXISTS Shop_Product ( # id_stripe_price VARCHAR(100) NOT NULL, active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, - created_on TIMESTAMP, - created_by VARCHAR(100), + created_on TIMESTAMP NOT NULL, + created_by INT NOT NULL, id_change_set INT, CONSTRAINT FK_Shop_Product_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1205_tbl_Shop_Product_Temp.sql b/static/MySQL/1205_tbl_Shop_Product_Temp.sql index 41679c37..dbc48dd1 100644 --- a/static/MySQL/1205_tbl_Shop_Product_Temp.sql +++ b/static/MySQL/1205_tbl_Shop_Product_Temp.sql @@ -12,5 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Temp ( has_variations BIT NOT NULL, id_access_level_required INT NOT NULL, active BIT NOT NULL DEFAULT 1, - display_order INT NOT NULL + display_order INT NOT NULL, + created_on TIMESTAMP, + created_by INT ); diff --git a/static/MySQL/1206_tbl_Shop_Product_Permutation.sql b/static/MySQL/1206_tbl_Shop_Product_Permutation.sql index 35eda505..3473bbba 100644 --- a/static/MySQL/1206_tbl_Shop_Product_Permutation.sql +++ b/static/MySQL/1206_tbl_Shop_Product_Permutation.sql @@ -47,7 +47,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Permutation_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1208_tbl_Shop_Product_Permutation_Temp.sql b/static/MySQL/1208_tbl_Shop_Product_Permutation_Temp.sql index c81f45c8..ed763447 100644 --- a/static/MySQL/1208_tbl_Shop_Product_Permutation_Temp.sql +++ b/static/MySQL/1208_tbl_Shop_Product_Permutation_Temp.sql @@ -37,6 +37,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Temp ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, guid BINARY(36) ); diff --git a/static/MySQL/1209_tbl_Shop_Variation_Type.sql b/static/MySQL/1209_tbl_Shop_Variation_Type.sql index fbf01c03..aa911b67 100644 --- a/static/MySQL/1209_tbl_Shop_Variation_Type.sql +++ b/static/MySQL/1209_tbl_Shop_Variation_Type.sql @@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS Shop_Variation_Type ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Variation_Type_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1212_tbl_Shop_Variation.sql b/static/MySQL/1212_tbl_Shop_Variation.sql index c54869ac..e36294e3 100644 --- a/static/MySQL/1212_tbl_Shop_Variation.sql +++ b/static/MySQL/1212_tbl_Shop_Variation.sql @@ -17,7 +17,7 @@ CREATE TABLE Shop_Variation ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Variation_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1215_tbl_Shop_Product_Permutation_Variation_Link.sql b/static/MySQL/1215_tbl_Shop_Product_Permutation_Variation_Link.sql index db7318ff..c2ed9a4a 100644 --- a/static/MySQL/1215_tbl_Shop_Product_Permutation_Variation_Link.sql +++ b/static/MySQL/1215_tbl_Shop_Product_Permutation_Variation_Link.sql @@ -20,7 +20,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Variation_Link ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Permutation_Variation_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1218_tbl_Shop_Stock_Item.sql b/static/MySQL/1218_tbl_Shop_Stock_Item.sql index 47ca5c37..f8591647 100644 --- a/static/MySQL/1218_tbl_Shop_Stock_Item.sql +++ b/static/MySQL/1218_tbl_Shop_Stock_Item.sql @@ -30,7 +30,7 @@ CREATE TABLE IF NOT EXISTS Shop_Stock_Item ( date_consumed TIMESTAMP NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Stock_Item_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1221_tbl_Shop_Product_Price.sql b/static/MySQL/1221_tbl_Shop_Product_Price.sql index 761e897c..42bd70b2 100644 --- a/static/MySQL/1221_tbl_Shop_Product_Price.sql +++ b/static/MySQL/1221_tbl_Shop_Product_Price.sql @@ -24,7 +24,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Price ( id_stripe_price VARCHAR(200), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Price_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1224_tbl_Shop_Product_Image.sql b/static/MySQL/1224_tbl_Shop_Product_Image.sql index 272dc913..54a788fd 100644 --- a/static/MySQL/1224_tbl_Shop_Product_Image.sql +++ b/static/MySQL/1224_tbl_Shop_Product_Image.sql @@ -19,7 +19,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Image ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Image_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1227_tbl_Shop_Delivery_Option.sql b/static/MySQL/1227_tbl_Shop_Delivery_Option.sql index 04fb9bdd..9571c244 100644 --- a/static/MySQL/1227_tbl_Shop_Delivery_Option.sql +++ b/static/MySQL/1227_tbl_Shop_Delivery_Option.sql @@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS Shop_Delivery_Option ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Delivery_Option_Type_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1230_tbl_Shop_Product_Delivery_Option_Link.sql b/static/MySQL/1230_tbl_Shop_Product_Delivery_Option_Link.sql index 61cee11e..f55e8314 100644 --- a/static/MySQL/1230_tbl_Shop_Product_Delivery_Option_Link.sql +++ b/static/MySQL/1230_tbl_Shop_Product_Delivery_Option_Link.sql @@ -36,7 +36,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Delivery_Option_Link ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Delivery_Option_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1233_tbl_Shop_Discount.sql b/static/MySQL/1233_tbl_Shop_Discount.sql index 2a3d5b7b..7094da71 100644 --- a/static/MySQL/1233_tbl_Shop_Discount.sql +++ b/static/MySQL/1233_tbl_Shop_Discount.sql @@ -40,7 +40,7 @@ CREATE TABLE Shop_Discount ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Discount_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1236_tbl_Shop_Discount_Region_Currency_Link.sql b/static/MySQL/1236_tbl_Shop_Discount_Region_Currency_Link.sql index 376adb22..b9d60556 100644 --- a/static/MySQL/1236_tbl_Shop_Discount_Region_Currency_Link.sql +++ b/static/MySQL/1236_tbl_Shop_Discount_Region_Currency_Link.sql @@ -24,7 +24,7 @@ CREATE TABLE IF NOT EXISTS Shop_Discount_Region_Currency_Link ( ON UPDATE RESTRICT, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Discount_Region_Currency_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1236_tbl_Shop_Product_Currency_Region_Link.sql b/static/MySQL/1236_tbl_Shop_Product_Currency_Region_Link.sql index d0d27b9c..bfa1e7fa 100644 --- a/static/MySQL/1236_tbl_Shop_Product_Currency_Region_Link.sql +++ b/static/MySQL/1236_tbl_Shop_Product_Currency_Region_Link.sql @@ -32,7 +32,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Currency_Region_Link ( id_stripe_price VARCHAR(200), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Currency_Region_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1300_tbl_Shop_Permission_Group.sql b/static/MySQL/1300_tbl_Shop_Permission_Group.sql index 251fafe8..5a4a6ff7 100644 --- a/static/MySQL/1300_tbl_Shop_Permission_Group.sql +++ b/static/MySQL/1300_tbl_Shop_Permission_Group.sql @@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_Permission_Group ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Permission_Group_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1303_tbl_Shop_Permission.sql b/static/MySQL/1303_tbl_Shop_Permission.sql index 97b44fef..7a682ab1 100644 --- a/static/MySQL/1303_tbl_Shop_Permission.sql +++ b/static/MySQL/1303_tbl_Shop_Permission.sql @@ -21,7 +21,7 @@ CREATE TABLE IF NOT EXISTS Shop_Permission ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Permission_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1306_tbl_Shop_Role.sql b/static/MySQL/1306_tbl_Shop_Role.sql index 57fa4a77..22da3b74 100644 --- a/static/MySQL/1306_tbl_Shop_Role.sql +++ b/static/MySQL/1306_tbl_Shop_Role.sql @@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_Role ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Role_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1309_tbl_Shop_Role_Permission_Link.sql b/static/MySQL/1309_tbl_Shop_Role_Permission_Link.sql index 63ca7c7d..42faddd2 100644 --- a/static/MySQL/1309_tbl_Shop_Role_Permission_Link.sql +++ b/static/MySQL/1309_tbl_Shop_Role_Permission_Link.sql @@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS Shop_Role_Permission_Link ( REFERENCES Shop_Access_Level(id_access_level), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Role_Permission_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1312_tbl_Shop_User.sql b/static/MySQL/1312_tbl_Shop_User.sql index 9549d332..7df32a6e 100644 --- a/static/MySQL/1312_tbl_Shop_User.sql +++ b/static/MySQL/1312_tbl_Shop_User.sql @@ -18,7 +18,7 @@ CREATE TABLE IF NOT EXISTS Shop_User ( is_included_VAT_default BIT NOT NULL DEFAULT 1, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_User_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1315_tbl_Shop_User_Role_Link.sql b/static/MySQL/1315_tbl_Shop_User_Role_Link.sql index 266dd3fd..f75b63a6 100644 --- a/static/MySQL/1315_tbl_Shop_User_Role_Link.sql +++ b/static/MySQL/1315_tbl_Shop_User_Role_Link.sql @@ -18,7 +18,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Role_Link ( REFERENCES Shop_Role(id_role), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_User_Role_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1318_tbl_Shop_Address.sql b/static/MySQL/1318_tbl_Shop_Address.sql index eaa5edd6..ed309ee4 100644 --- a/static/MySQL/1318_tbl_Shop_Address.sql +++ b/static/MySQL/1318_tbl_Shop_Address.sql @@ -23,7 +23,7 @@ CREATE TABLE Shop_Address ( county VARCHAR(100) NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Address_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1321_tbl_Shop_User_Basket.sql b/static/MySQL/1321_tbl_Shop_User_Basket.sql index 73f1394c..122a183e 100644 --- a/static/MySQL/1321_tbl_Shop_User_Basket.sql +++ b/static/MySQL/1321_tbl_Shop_User_Basket.sql @@ -25,7 +25,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Basket ( quantity INT NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set_user INT, CONSTRAINT FK_Shop_User_Basket_id_change_set_user FOREIGN KEY (id_change_set_user) diff --git a/static/MySQL/1397_tbl_Shop_Order_Status.sql b/static/MySQL/1397_tbl_Shop_Order_Status.sql index cf45a358..76495f1b 100644 --- a/static/MySQL/1397_tbl_Shop_Order_Status.sql +++ b/static/MySQL/1397_tbl_Shop_Order_Status.sql @@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Order_Status ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_User_Order_Status_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1400_tbl_Shop_Supplier.sql b/static/MySQL/1400_tbl_Shop_Supplier.sql index e87ea8b2..c632c74e 100644 --- a/static/MySQL/1400_tbl_Shop_Supplier.sql +++ b/static/MySQL/1400_tbl_Shop_Supplier.sql @@ -24,7 +24,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier ( REFERENCES Shop_Currency(id_currency), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Supplier_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1409_tbl_Shop_Supplier_Purchase_Order.sql b/static/MySQL/1409_tbl_Shop_Supplier_Purchase_Order.sql index f64ef89e..ee419866 100644 --- a/static/MySQL/1409_tbl_Shop_Supplier_Purchase_Order.sql +++ b/static/MySQL/1409_tbl_Shop_Supplier_Purchase_Order.sql @@ -31,7 +31,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order ( */ active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INT NULL, diff --git a/static/MySQL/1412_tbl_Shop_Supplier_Purchase_Order_Product_Link.sql b/static/MySQL/1412_tbl_Shop_Supplier_Purchase_Order_Product_Link.sql index 1048de65..c8dd884b 100644 --- a/static/MySQL/1412_tbl_Shop_Supplier_Purchase_Order_Product_Link.sql +++ b/static/MySQL/1412_tbl_Shop_Supplier_Purchase_Order_Product_Link.sql @@ -27,7 +27,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link ( display_order INT NOT NULL, active BIT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INT NULL, diff --git a/static/MySQL/1415_tbl_Shop_Manufacturing_Purchase_Order.sql b/static/MySQL/1415_tbl_Shop_Manufacturing_Purchase_Order.sql index 0ddcece8..4b8dd49a 100644 --- a/static/MySQL/1415_tbl_Shop_Manufacturing_Purchase_Order.sql +++ b/static/MySQL/1415_tbl_Shop_Manufacturing_Purchase_Order.sql @@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order ( */ active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INT NULL, diff --git a/static/MySQL/1418_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql b/static/MySQL/1418_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql index da769a81..aa5c21b8 100644 --- a/static/MySQL/1418_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql +++ b/static/MySQL/1418_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql @@ -28,7 +28,7 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link ( display_order INT NOT NULL, active BIT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INT NULL, diff --git a/static/MySQL/1421_tbl_Shop_Customer.sql b/static/MySQL/1421_tbl_Shop_Customer.sql index e3722f26..fd8785ce 100644 --- a/static/MySQL/1421_tbl_Shop_Customer.sql +++ b/static/MySQL/1421_tbl_Shop_Customer.sql @@ -21,7 +21,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer ( REFERENCES Shop_Currency(id_currency), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Customer_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/1424_tbl_Shop_Customer_Sales_Order.sql b/static/MySQL/1424_tbl_Shop_Customer_Sales_Order.sql index abbc86fc..537d21ce 100644 --- a/static/MySQL/1424_tbl_Shop_Customer_Sales_Order.sql +++ b/static/MySQL/1424_tbl_Shop_Customer_Sales_Order.sql @@ -25,7 +25,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order ( */ active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INT NULL, diff --git a/static/MySQL/1427_tbl_Shop_Customer_Sales_Order_Product_Link.sql b/static/MySQL/1427_tbl_Shop_Customer_Sales_Order_Product_Link.sql index 170d77ec..b17f7e16 100644 --- a/static/MySQL/1427_tbl_Shop_Customer_Sales_Order_Product_Link.sql +++ b/static/MySQL/1427_tbl_Shop_Customer_Sales_Order_Product_Link.sql @@ -28,7 +28,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Product_Link ( active BIT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INT NULL, diff --git a/static/MySQL/3000_tri_Shop_Access_Level.sql b/static/MySQL/3000_tri_Shop_Access_Level.sql index ec7c37f5..2aac8eb1 100644 --- a/static/MySQL/3000_tri_Shop_Access_Level.sql +++ b/static/MySQL/3000_tri_Shop_Access_Level.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Access_Level BEFORE INSERT ON Shop_Access_Level FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -60,4 +56,4 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3000_tri_Shop_Product_Change_Set.sql b/static/MySQL/3000_tri_Shop_Product_Change_Set.sql index bc6ebc0b..9381df44 100644 --- a/static/MySQL/3000_tri_Shop_Product_Change_Set.sql +++ b/static/MySQL/3000_tri_Shop_Product_Change_Set.sql @@ -17,4 +17,4 @@ BEGIN SET NEW.updated_last_by = CURRENT_USER(); END IF; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3001_tri_Shop_User_Change_Set.sql b/static/MySQL/3001_tri_Shop_User_Change_Set.sql index 8e20859f..afb0e726 100644 --- a/static/MySQL/3001_tri_Shop_User_Change_Set.sql +++ b/static/MySQL/3001_tri_Shop_User_Change_Set.sql @@ -18,4 +18,4 @@ BEGIN SET NEW.updated_last_by = CURRENT_USER(); END IF; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3002_tri_Shop_Sales_And_Purchasing_Change_Set.sql b/static/MySQL/3002_tri_Shop_Sales_And_Purchasing_Change_Set.sql index 60f1abda..7c10bf4c 100644 --- a/static/MySQL/3002_tri_Shop_Sales_And_Purchasing_Change_Set.sql +++ b/static/MySQL/3002_tri_Shop_Sales_And_Purchasing_Change_Set.sql @@ -17,4 +17,4 @@ BEGIN SET NEW.updated_last_by = CURRENT_USER(); END IF; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3010_tri_File_Type.sql b/static/MySQL/3010_tri_File_Type.sql index 5770e646..18176d0d 100644 --- a/static/MySQL/3010_tri_File_Type.sql +++ b/static/MySQL/3010_tri_File_Type.sql @@ -11,10 +11,10 @@ CREATE TRIGGER before_insert_File_Type BEFORE INSERT ON File_Type FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_File_Type @@ -40,4 +40,4 @@ BEGIN WHERE NOT OLD.extension <=> NEW.extension ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3011_tri_File_Type_Audit.sql b/static/MySQL/3011_tri_File_Type_Audit.sql index 06f16ed5..e94ad6ea 100644 --- a/static/MySQL/3011_tri_File_Type_Audit.sql +++ b/static/MySQL/3011_tri_File_Type_Audit.sql @@ -12,10 +12,10 @@ CREATE TRIGGER before_insert_File_Type_Audit BEFORE INSERT ON File_Type_Audit FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_File_Type_Audit @@ -25,4 +25,4 @@ BEGIN SET NEW.updated_last_on = NOW(); SET NEW.updated_last_by = CURRENT_USER(); END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3012_tri_Shop_General.sql b/static/MySQL/3012_tri_Shop_General.sql index 81b56a33..8f98175e 100644 --- a/static/MySQL/3012_tri_Shop_General.sql +++ b/static/MySQL/3012_tri_Shop_General.sql @@ -11,10 +11,10 @@ CREATE TRIGGER before_insert_Shop_General BEFORE INSERT ON Shop_General FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_Shop_General @@ -38,4 +38,4 @@ BEGIN WHERE NOT OLD.quantity_max <=> NEW.quantity_max ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3014_tri_Shop_Image_Type.sql b/static/MySQL/3014_tri_Shop_Image_Type.sql index 3cca004b..8b6d190e 100644 --- a/static/MySQL/3014_tri_Shop_Image_Type.sql +++ b/static/MySQL/3014_tri_Shop_Image_Type.sql @@ -12,10 +12,10 @@ CREATE TRIGGER before_insert_Shop_Image_Type BEFORE INSERT ON Shop_Image_Type FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -62,4 +62,4 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3100_tri_Shop_Region.sql b/static/MySQL/3100_tri_Shop_Region.sql index 7bc4b939..40a4598c 100644 --- a/static/MySQL/3100_tri_Shop_Region.sql +++ b/static/MySQL/3100_tri_Shop_Region.sql @@ -12,10 +12,10 @@ CREATE TRIGGER before_insert_Shop_Region BEFORE INSERT ON Shop_Region FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -52,4 +52,4 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3103_tri_Shop_Region_Branch.sql b/static/MySQL/3103_tri_Shop_Region_Branch.sql index eb18cf3b..53dfc5d6 100644 --- a/static/MySQL/3103_tri_Shop_Region_Branch.sql +++ b/static/MySQL/3103_tri_Shop_Region_Branch.sql @@ -12,10 +12,10 @@ CREATE TRIGGER before_insert_Shop_Region_Branch BEFORE INSERT ON Shop_Region_Branch FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -50,4 +50,4 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3109_tri_Shop_Storage_Location.sql b/static/MySQL/3109_tri_Shop_Storage_Location.sql index 5b68a2be..f004d3a9 100644 --- a/static/MySQL/3109_tri_Shop_Storage_Location.sql +++ b/static/MySQL/3109_tri_Shop_Storage_Location.sql @@ -12,10 +12,10 @@ CREATE TRIGGER before_insert_Shop_Storage_Location BEFORE INSERT ON Shop_Storage_Location FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -52,4 +52,4 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3115_tri_Shop_Currency.sql b/static/MySQL/3115_tri_Shop_Currency.sql index 1e249c94..f540d7a7 100644 --- a/static/MySQL/3115_tri_Shop_Currency.sql +++ b/static/MySQL/3115_tri_Shop_Currency.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Currency BEFORE INSERT ON Shop_Currency FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -64,4 +60,4 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3118_tri_Shop_Tax_Or_Surcharge.sql b/static/MySQL/3118_tri_Shop_Tax_Or_Surcharge.sql index e02fd531..54215b15 100644 --- a/static/MySQL/3118_tri_Shop_Tax_Or_Surcharge.sql +++ b/static/MySQL/3118_tri_Shop_Tax_Or_Surcharge.sql @@ -12,10 +12,10 @@ CREATE TRIGGER before_insert_Shop_Tax_Or_Surcharge BEFORE INSERT ON Shop_Tax_Or_Surcharge FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_Shop_Tax_Or_Surcharge @@ -71,5 +71,5 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3200_tri_Shop_Category.sql b/static/MySQL/3200_tri_Shop_Category.sql index 22b99e60..051a98ec 100644 --- a/static/MySQL/3200_tri_Shop_Category.sql +++ b/static/MySQL/3200_tri_Shop_Category.sql @@ -11,10 +11,10 @@ CREATE TRIGGER before_insert_Shop_Product_Category BEFORE INSERT ON Shop_Product_Category FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_Shop_Product_Category @@ -52,6 +52,10 @@ BEGIN # Changed display_order SELECT NEW.id_category, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set WHERE NOT OLD.display_order <=> NEW.display_order + UNION + # Changed id_access_level_required + SELECT NEW.id_category, 'id_access_level_required', CONVERT(OLD.id_access_level_required, CHAR), CONVERT(NEW.id_access_level_required, CHAR), NEW.id_change_set + WHERE NOT OLD.id_access_level_required <=> NEW.id_access_level_required ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3203_tri_Shop_Product.sql b/static/MySQL/3203_tri_Shop_Product.sql index cf39d3a0..f94f065d 100644 --- a/static/MySQL/3203_tri_Shop_Product.sql +++ b/static/MySQL/3203_tri_Shop_Product.sql @@ -13,10 +13,10 @@ CREATE TRIGGER before_insert_Shop_Product BEFORE INSERT ON Shop_Product FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -167,4 +167,4 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3206_tri_Shop_Product_Permutation.sql b/static/MySQL/3206_tri_Shop_Product_Permutation.sql index fc0280b4..4f1075a3 100644 --- a/static/MySQL/3206_tri_Shop_Product_Permutation.sql +++ b/static/MySQL/3206_tri_Shop_Product_Permutation.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Product_Permutation BEFORE INSERT ON Shop_Product_Permutation FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -154,4 +150,4 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3209_tri_Shop_Variation_Type.sql b/static/MySQL/3209_tri_Shop_Variation_Type.sql index 0be26c8d..d9e8774b 100644 --- a/static/MySQL/3209_tri_Shop_Variation_Type.sql +++ b/static/MySQL/3209_tri_Shop_Variation_Type.sql @@ -13,10 +13,10 @@ CREATE TRIGGER before_insert_Shop_Variation_Type BEFORE INSERT ON Shop_Variation_Type FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -57,4 +57,4 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3212_tri_Shop_Variation.sql b/static/MySQL/3212_tri_Shop_Variation.sql index 09c20073..d2b8207f 100644 --- a/static/MySQL/3212_tri_Shop_Variation.sql +++ b/static/MySQL/3212_tri_Shop_Variation.sql @@ -12,10 +12,10 @@ CREATE TRIGGER before_insert_Shop_Variation BEFORE INSERT ON Shop_Variation FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -52,4 +52,4 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3215_tri_Shop_Product_Permutation_Variation_Link.sql b/static/MySQL/3215_tri_Shop_Product_Permutation_Variation_Link.sql index 4e1150fa..b2bef410 100644 --- a/static/MySQL/3215_tri_Shop_Product_Permutation_Variation_Link.sql +++ b/static/MySQL/3215_tri_Shop_Product_Permutation_Variation_Link.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Product_Permutation_Variation_Link BEFORE INSERT ON Shop_Product_Permutation_Variation_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -58,4 +54,4 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3218_tri_Shop_Stock_Item.sql b/static/MySQL/3218_tri_Shop_Stock_Item.sql index 56087e72..f88085fe 100644 --- a/static/MySQL/3218_tri_Shop_Stock_Item.sql +++ b/static/MySQL/3218_tri_Shop_Stock_Item.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Stock_Item BEFORE INSERT ON Shop_Stock_Item FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -92,4 +88,4 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3221_tri_Shop_Product_Price.sql b/static/MySQL/3221_tri_Shop_Product_Price.sql index 344fd8aa..f4d7b7e9 100644 --- a/static/MySQL/3221_tri_Shop_Product_Price.sql +++ b/static/MySQL/3221_tri_Shop_Product_Price.sql @@ -12,12 +12,8 @@ CREATE TRIGGER before_insert_Shop_Product_Price BEFORE INSERT ON Shop_Product_Price FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); /* SET NEW.price_local = ( SELECT PP.price_GBP_full * C.factor_from_GBP @@ -29,7 +25,7 @@ BEGIN ); */ END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -88,4 +84,4 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3224_tri_Shop_Product_Image.sql b/static/MySQL/3224_tri_Shop_Product_Image.sql index e7bb5db4..99520b72 100644 --- a/static/MySQL/3224_tri_Shop_Product_Image.sql +++ b/static/MySQL/3224_tri_Shop_Product_Image.sql @@ -12,10 +12,10 @@ CREATE TRIGGER before_insert_Shop_Product_Image BEFORE INSERT ON Shop_Product_Image FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -70,4 +70,4 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3227_tri_Shop_Delivery_Option.sql b/static/MySQL/3227_tri_Shop_Delivery_Option.sql index ff68551b..c3e99305 100644 --- a/static/MySQL/3227_tri_Shop_Delivery_Option.sql +++ b/static/MySQL/3227_tri_Shop_Delivery_Option.sql @@ -12,10 +12,10 @@ CREATE TRIGGER before_insert_Shop_Delivery_Option BEFORE INSERT ON Shop_Delivery_Option FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -68,4 +68,4 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3230_tri_Shop_Product_Delivery_Option_Link.sql b/static/MySQL/3230_tri_Shop_Product_Delivery_Option_Link.sql index a819edba..9c6c701a 100644 --- a/static/MySQL/3230_tri_Shop_Product_Delivery_Option_Link.sql +++ b/static/MySQL/3230_tri_Shop_Product_Delivery_Option_Link.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Product_Delivery_Option_Link BEFORE INSERT ON Shop_Product_Delivery_Option_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -70,4 +66,4 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3233_tri_Shop_Discount.sql b/static/MySQL/3233_tri_Shop_Discount.sql index 3983d28d..dd9b504a 100644 --- a/static/MySQL/3233_tri_Shop_Discount.sql +++ b/static/MySQL/3233_tri_Shop_Discount.sql @@ -12,10 +12,10 @@ CREATE TRIGGER before_insert_Shop_Discount BEFORE INSERT ON Shop_Discount FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_Shop_Discount @@ -79,5 +79,5 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3236_tri_Shop_Discount_Region_Currency_Link.sql b/static/MySQL/3236_tri_Shop_Discount_Region_Currency_Link.sql index 7c4a4d91..58357d73 100644 --- a/static/MySQL/3236_tri_Shop_Discount_Region_Currency_Link.sql +++ b/static/MySQL/3236_tri_Shop_Discount_Region_Currency_Link.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Discount_Region_Currency_Link BEFORE INSERT ON Shop_Discount_Region_Currency_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -54,4 +50,4 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3300_tri_Shop_Permission_Group.sql b/static/MySQL/3300_tri_Shop_Permission_Group.sql index 06bd3a22..b74a6b75 100644 --- a/static/MySQL/3300_tri_Shop_Permission_Group.sql +++ b/static/MySQL/3300_tri_Shop_Permission_Group.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Permission_Group BEFORE INSERT ON Shop_Permission_Group FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -56,4 +52,4 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3303_tri_Shop_Permission.sql b/static/MySQL/3303_tri_Shop_Permission.sql index 82c335b9..33bd3c89 100644 --- a/static/MySQL/3303_tri_Shop_Permission.sql +++ b/static/MySQL/3303_tri_Shop_Permission.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Permission BEFORE INSERT ON Shop_Permission FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -64,4 +60,4 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3306_tri_Shop_Role.sql b/static/MySQL/3306_tri_Shop_Role.sql index 5a4a65ea..20402a15 100644 --- a/static/MySQL/3306_tri_Shop_Role.sql +++ b/static/MySQL/3306_tri_Shop_Role.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Role BEFORE INSERT ON Shop_Role FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -56,4 +52,4 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3309_tri_Shop_Role_Permission_Link.sql b/static/MySQL/3309_tri_Shop_Role_Permission_Link.sql index 12e5e90e..c6fb897c 100644 --- a/static/MySQL/3309_tri_Shop_Role_Permission_Link.sql +++ b/static/MySQL/3309_tri_Shop_Role_Permission_Link.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Role_Permission_Link BEFORE INSERT ON Shop_Role_Permission_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -58,4 +54,4 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3312_tri_Shop_User.sql b/static/MySQL/3312_tri_Shop_User.sql index e73dc724..cfc67e99 100644 --- a/static/MySQL/3312_tri_Shop_User.sql +++ b/static/MySQL/3312_tri_Shop_User.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_User BEFORE INSERT ON Shop_User FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -80,4 +76,4 @@ BEGIN WHERE NOT (OLD.is_included_VAT_default <=> NEW.is_included_VAT_default) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3315_tri_Shop_User_Role_Link.sql b/static/MySQL/3315_tri_Shop_User_Role_Link.sql index 9bf30794..904ee0d5 100644 --- a/static/MySQL/3315_tri_Shop_User_Role_Link.sql +++ b/static/MySQL/3315_tri_Shop_User_Role_Link.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_User_Role_Link BEFORE INSERT ON Shop_User_Role_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -44,4 +40,4 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3318_tri_Shop_Address.sql b/static/MySQL/3318_tri_Shop_Address.sql index bd34b1d2..6fa1df86 100644 --- a/static/MySQL/3318_tri_Shop_Address.sql +++ b/static/MySQL/3318_tri_Shop_Address.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Address BEFORE INSERT ON Shop_Address FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -76,4 +72,4 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3321_tri_Shop_User_Basket.sql b/static/MySQL/3321_tri_Shop_User_Basket.sql index 404875d6..7a20a6c9 100644 --- a/static/MySQL/3321_tri_Shop_User_Basket.sql +++ b/static/MySQL/3321_tri_Shop_User_Basket.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_User_Basket BEFORE INSERT ON Shop_User_Basket FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -56,4 +52,4 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3324_tri_Shop_User_Order_Status.sql b/static/MySQL/3324_tri_Shop_User_Order_Status.sql index 8efa08c6..4c40cd6a 100644 --- a/static/MySQL/3324_tri_Shop_User_Order_Status.sql +++ b/static/MySQL/3324_tri_Shop_User_Order_Status.sql @@ -12,10 +12,10 @@ CREATE TRIGGER before_insert_Shop_User_Order_Status BEFORE INSERT ON Shop_User_Order_Status FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -56,4 +56,4 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/3400_tri_Shop_Supplier.sql b/static/MySQL/3400_tri_Shop_Supplier.sql index ba9c5a8f..a43b1ec4 100644 --- a/static/MySQL/3400_tri_Shop_Supplier.sql +++ b/static/MySQL/3400_tri_Shop_Supplier.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Supplier BEFORE INSERT ON Shop_Supplier FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -76,4 +72,4 @@ BEGIN WHERE NOT OLD.id_currency <=> NEW.id_currency ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3403_tri_Shop_Unit_Measurement.sql b/static/MySQL/3403_tri_Shop_Unit_Measurement.sql index 893f4ed1..382523f4 100644 --- a/static/MySQL/3403_tri_Shop_Unit_Measurement.sql +++ b/static/MySQL/3403_tri_Shop_Unit_Measurement.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Unit_Measurement BEFORE INSERT ON Shop_Unit_Measurement FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -76,5 +72,5 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3406_tri_Shop_Unit_Of_Measurement_Conversion.sql b/static/MySQL/3406_tri_Shop_Unit_Of_Measurement_Conversion.sql index 65864c52..f19b618d 100644 --- a/static/MySQL/3406_tri_Shop_Unit_Of_Measurement_Conversion.sql +++ b/static/MySQL/3406_tri_Shop_Unit_Of_Measurement_Conversion.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Unit_Measurement_Conversion BEFORE INSERT ON Shop_Unit_Measurement_Conversion FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -64,5 +60,5 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3409_tri_Shop_Supplier_Purchase_Order.sql b/static/MySQL/3409_tri_Shop_Supplier_Purchase_Order.sql index 9eea0fd3..15bb25e9 100644 --- a/static/MySQL/3409_tri_Shop_Supplier_Purchase_Order.sql +++ b/static/MySQL/3409_tri_Shop_Supplier_Purchase_Order.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Supplier_Purchase_Order BEFORE INSERT ON Shop_Supplier_Purchase_Order FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -70,5 +66,5 @@ BEGIN */ ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3412_tri_Shop_Supplier_Purchase_Order_Product_Link.sql b/static/MySQL/3412_tri_Shop_Supplier_Purchase_Order_Product_Link.sql index df3d58c6..5a3fa14e 100644 --- a/static/MySQL/3412_tri_Shop_Supplier_Purchase_Order_Product_Link.sql +++ b/static/MySQL/3412_tri_Shop_Supplier_Purchase_Order_Product_Link.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Supplier_Purchase_Order_Product_Link BEFORE INSERT ON Shop_Supplier_Purchase_Order_Product_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -80,4 +76,4 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3415_tri_Shop_Manufacturing_Purchase_Order.sql b/static/MySQL/3415_tri_Shop_Manufacturing_Purchase_Order.sql index 5f51edf8..08623a2f 100644 --- a/static/MySQL/3415_tri_Shop_Manufacturing_Purchase_Order.sql +++ b/static/MySQL/3415_tri_Shop_Manufacturing_Purchase_Order.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Manufacturing_Purchase_Order BEFORE INSERT ON Shop_Manufacturing_Purchase_Order FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -56,4 +52,4 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3418_tri_Shop_Manufacturing_Purchase_Order_Product_Link.sql b/static/MySQL/3418_tri_Shop_Manufacturing_Purchase_Order_Product_Link.sql index f86a0009..34acff81 100644 --- a/static/MySQL/3418_tri_Shop_Manufacturing_Purchase_Order_Product_Link.sql +++ b/static/MySQL/3418_tri_Shop_Manufacturing_Purchase_Order_Product_Link.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Manufacturing_Purchase_Order_Product_Link BEFORE INSERT ON Shop_Manufacturing_Purchase_Order_Product_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -80,5 +76,5 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3421_tri_Shop_Customer.sql b/static/MySQL/3421_tri_Shop_Customer.sql index 065dc142..13757770 100644 --- a/static/MySQL/3421_tri_Shop_Customer.sql +++ b/static/MySQL/3421_tri_Shop_Customer.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Customer BEFORE INSERT ON Shop_Customer FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -72,5 +68,5 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3424_tri_Shop_Customer_Sales_Order.sql b/static/MySQL/3424_tri_Shop_Customer_Sales_Order.sql index 6141506f..e773a121 100644 --- a/static/MySQL/3424_tri_Shop_Customer_Sales_Order.sql +++ b/static/MySQL/3424_tri_Shop_Customer_Sales_Order.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Customer_Sales_Order BEFORE INSERT ON Shop_Customer_Sales_Order FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -56,4 +52,4 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/3427_tri_Shop_Customer_Sales_Order_Product_Link.sql b/static/MySQL/3427_tri_Shop_Customer_Sales_Order_Product_Link.sql index 31ba9cad..c291aa10 100644 --- a/static/MySQL/3427_tri_Shop_Customer_Sales_Order_Product_Link.sql +++ b/static/MySQL/3427_tri_Shop_Customer_Sales_Order_Product_Link.sql @@ -12,14 +12,10 @@ CREATE TRIGGER before_insert_Shop_Customer_Sales_Order_Product_Link BEFORE INSERT ON Shop_Customer_Sales_Order_Product_Link FOR EACH ROW BEGIN - IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); - END IF; - IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); - END IF; + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -80,4 +76,4 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/6000_p_split.sql b/static/MySQL/6000_p_split.sql index 41cc5796..6cb1c368 100644 --- a/static/MySQL/6000_p_split.sql +++ b/static/MySQL/6000_p_split.sql @@ -80,7 +80,7 @@ BEGIN */ END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/6001_p_clear_split_temp.sql b/static/MySQL/6001_p_clear_split_temp.sql index d619cbf4..0a858f12 100644 --- a/static/MySQL/6001_p_clear_split_temp.sql +++ b/static/MySQL/6001_p_clear_split_temp.sql @@ -13,7 +13,7 @@ BEGIN COMMIT; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/6500_p_shop_user_eval.sql b/static/MySQL/6500_p_shop_user_eval.sql index 2eb09282..cb0b51d4 100644 --- a/static/MySQL/6500_p_shop_user_eval.sql +++ b/static/MySQL/6500_p_shop_user_eval.sql @@ -13,8 +13,31 @@ CALL p_shop_user_eval ( '1' # a_ids_product ) -*/ +DELIMITER $$ +CREATE DEFINER=`root`@`localhost` PROCEDURE `p_clear_shop_user_eval_temp`( + IN a_guid BINARY(36) +) +BEGIN + IF ISNULL(a_guid) THEN + + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'GUID is required.'; + + ELSE + + START TRANSACTION; -- trans_clear + + DELETE FROM Shop_User_Eval_Temp + WHERE GUID = a_guid + ; + + COMMIT; + END IF; + +END$$ +DELIMITER ; +*/ -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_user_eval; @@ -59,7 +82,7 @@ BEGIN -- Clear previous proc results # DROP TABLE IF EXISTS tmp_User_Role_Link; # DROP TEMPORARY TABLE IF EXISTS tmp_User_Role_Link; - DROP TABLE IF EXISTS tmp_Shop_Product_p_Shop_User_Eval; + DROP TABLE IF EXISTS tmp_Product_p_Shop_User_Eval; # DROP TABLE IF EXISTS Shop_User_Eval_Temp; @@ -114,10 +137,11 @@ BEGIN can_admin BIT -- DEFAULT 0 ); - CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Shop_Product_p_Shop_User_Eval ( + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Product_p_Shop_User_Eval ( id_row INT PRIMARY KEY AUTO_INCREMENT NOT NULL, id_product INT NOT NULL, id_access_level_required INT NOT NULL, + priority_access_level_required INT NOT NULL, guid BINARY(36) NOT NULL, rank_product INT NOT NULL ); @@ -125,7 +149,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT, guid BINARY(36) NOT NULL, - id_type INT NOT NULL, + id_type INT NULL, code VARCHAR(50) NOT NULL, msg VARCHAR(4000) NOT NULL ); @@ -133,6 +157,8 @@ BEGIN # select * from Shop_Msg_Error_Type; -- Parse filters + SET a_guid := IFNULL(a_guid, UUID()); + /* IF a_guid IS NULL OR EXISTS (SELECT * FROM Shop_User_Eval_Temp WHERE a_guid = guid) THEN INSERT INTO tmp_Msg_Error ( guid, @@ -148,6 +174,7 @@ BEGIN ) ; END IF; + */ SET v_has_filter_user = CASE WHEN a_ids_user = '' THEN 0 ELSE 1 END; SET a_ids_permission = REPLACE(a_ids_permission, '|', ','); SET v_has_filter_permission = CASE WHEN a_ids_permission = '' THEN 0 ELSE 1 END; @@ -241,7 +268,7 @@ BEGIN IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid) THEN /* IF v_has_filter_permutation THEN - INSERT INTO tmp_Shop_Product_p_Shop_User_Eval ( + INSERT INTO tmp_Product_p_Shop_User_Eval ( id_product, id_permutation, id_access_level_required, @@ -262,11 +289,11 @@ BEGIN # AND P.active # not worried as we want users to be able to see their order history ; /* - DELETE FROM tmp_Shop_Product_p_Shop_User_Eval + DELETE FROM tmp_Product_p_Shop_User_Eval WHERE rank_permutation > 1 ; * - SET v_has_filter_permutation = EXISTS (SELECT * FROM tmp_Shop_Product_p_Shop_User_Eval WHERE a_guid = guid); + SET v_has_filter_permutation = EXISTS (SELECT * FROM tmp_Product_p_Shop_User_Eval WHERE a_guid = guid); END IF; IF v_has_filter_permission THEN @@ -310,10 +337,11 @@ BEGIN END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid) THEN - INSERT INTO tmp_Shop_Product_p_Shop_User_Eval ( + INSERT INTO tmp_Product_p_Shop_User_Eval ( id_product, -- id_permutation, id_access_level_required, + priority_access_level_required, guid, rank_product -- rank_permutation ) @@ -321,6 +349,7 @@ BEGIN DISTINCT P.id_product, -- PP.id_permutation, P.id_access_level_required, + AL.priority AS priority_access_level_required, a_guid, RANK() OVER (ORDER BY C.display_order, P.display_order) AS rank_product FROM Split_Temp ST @@ -328,16 +357,26 @@ BEGIN INNER JOIN Shop_Product_Category C ON P.id_category = C.id_category INNER JOIN Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level - AND AL.active + AND AL.active WHERE FIND_IN_SET(P.id_product, a_ids_product) > 0 # FIND_IN_SET(PP.id_permutation, a_ids_permutation) > 0 # AND P.active # not worried as we want users to be able to see their order history ; /* - DELETE FROM tmp_Shop_Product_p_Shop_User_Eval + DELETE FROM tmp_Product_p_Shop_User_Eval WHERE rank_permutation > 1 ; */ - SET v_has_filter_product = EXISTS (SELECT * FROM tmp_Shop_Product_p_Shop_User_Eval WHERE a_guid = guid); + + SET v_has_filter_product = EXISTS (SELECT * FROM tmp_Product_p_Shop_User_Eval WHERE a_guid = guid); + + UPDATE tmp_Product_p_Shop_User_Eval t_P + INNER JOIN Shop_Product P ON t_P.id_product = P.id_product + INNER JOIN Shop_Product_Category PC ON P.id_category = PC.id_category + INNER JOIN Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level + SET + t_P.id_access_level_required = CASE WHEN t_P.priority_access_level_required <= AL.priority THEN t_P.id_access_level_required ELSE AL.id_access_level END + , t_P.priority_access_level_required = LEAST(t_P.priority_access_level_required, AL.priority) + ; END IF; DROP TABLE Split_Temp; @@ -471,7 +510,7 @@ BEGIN t_P.id_product, t_P.id_permutation, CASE WHEN UE_T.priority_access_level_required < AL.priority THEN UE_T.priority_access_level_required ELSE AL.priority END -- UE_T.priority_access_level_required - FROM tmp_Shop_Product_p_Shop_User_Eval t_P + FROM tmp_Product_p_Shop_User_Eval t_P INNER JOIN Shop_Access_Level AL ON t_P.id_access_leveL_required = AL.id_access_level AND AL.active @@ -502,7 +541,7 @@ BEGIN t_P.id_product, -- t_P.id_permutation, CASE WHEN UE_T.priority_access_level_required < AL.priority THEN UE_T.priority_access_level_required ELSE AL.priority END -- UE_T.priority_access_level_required - FROM tmp_Shop_Product_p_Shop_User_Eval t_P + FROM tmp_Product_p_Shop_User_Eval t_P INNER JOIN Shop_Access_Level AL ON t_P.id_access_leveL_required = AL.id_access_level AND AL.active @@ -610,14 +649,14 @@ BEGIN SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid; END IF; - -- select * from tmp_Shop_Product_p_Shop_User_Eval; + -- select * from tmp_Product_p_Shop_User_Eval; -- Clean up - DROP TABLE IF EXISTS tmp_Shop_Product_p_Shop_User_Eval; + DROP TABLE IF EXISTS tmp_Product_p_Shop_User_Eval; # DROP TEMPORARY TABLE IF EXISTS tmp_User_Role_Link; # DROP TABLE IF EXISTS tmp_Msg_Error; DROP TABLE IF EXISTS Split_Temp; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/6501_p_clear_shop_user_eval_temp.sql b/static/MySQL/6501_p_clear_shop_user_eval_temp.sql index f96ffd4c..5912de75 100644 --- a/static/MySQL/6501_p_clear_shop_user_eval_temp.sql +++ b/static/MySQL/6501_p_clear_shop_user_eval_temp.sql @@ -25,7 +25,7 @@ BEGIN END IF; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7003_p_shop_get_many_access_level.sql b/static/MySQL/7003_p_shop_get_many_access_level.sql new file mode 100644 index 00000000..1dd4279c --- /dev/null +++ b/static/MySQL/7003_p_shop_get_many_access_level.sql @@ -0,0 +1,47 @@ + + + +/* + +CALL p_shop_get_many_access_level ( + 0 # a_get_inactive_access_level +) + +*/ + + +-- Clear previous proc +DROP PROCEDURE IF EXISTS p_shop_get_many_access_level; + + +DELIMITER // +CREATE PROCEDURE p_shop_get_many_access_level ( + IN a_get_inactive_access_level BIT +) +BEGIN + IF a_get_inactive_access_level IS NULL THEN + SET a_get_inactive_access_level = 0; + END IF; + + SELECT + AL.id_access_level, + AL.code, + AL.name, + AL.active, + AL.priority, + AL.display_order + FROM Shop_Access_Level AL + WHERE + a_get_inactive_access_level = 1 + OR AL.active = 1 + ORDER BY AL.display_order + ; +END // +DELIMITER ;; + + +/* +CALL p_shop_get_many_access_level ( + 0 # a_get_inactive_access_level +); +*/ diff --git a/static/MySQL/7101_p_shop_get_many_region.sql b/static/MySQL/7101_p_shop_get_many_region.sql index fc9f6f2c..60fe2d79 100644 --- a/static/MySQL/7101_p_shop_get_many_region.sql +++ b/static/MySQL/7101_p_shop_get_many_region.sql @@ -35,7 +35,7 @@ BEGIN ORDER BY R.display_order ; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7116_p_shop_get_many_currency.sql b/static/MySQL/7116_p_shop_get_many_currency.sql index 6e81c95b..929eba44 100644 --- a/static/MySQL/7116_p_shop_get_many_currency.sql +++ b/static/MySQL/7116_p_shop_get_many_currency.sql @@ -36,7 +36,7 @@ BEGIN ORDER BY C.display_order ; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7200_p_shop_save_product_category.sql b/static/MySQL/7200_p_shop_save_product_category.sql new file mode 100644 index 00000000..422e310f --- /dev/null +++ b/static/MySQL/7200_p_shop_save_product_category.sql @@ -0,0 +1,270 @@ + + + + +-- Clear previous proc +DROP PROCEDURE IF EXISTS p_save_category; +DROP PROCEDURE IF EXISTS p_shop_save_category; +DROP PROCEDURE IF EXISTS p_shop_save_product_category; + + +DELIMITER // +CREATE PROCEDURE p_shop_save_product_category ( + IN a_id_user INT, + IN a_guid BINARY(36), + IN a_comment VARCHAR(500) +) +BEGIN + DECLARE v_code_type_error_bad_data VARCHAR(100); + DECLARE v_id_type_error_bad_data INT; + DECLARE v_id_permission_product INT; + DECLARE v_ids_product_permission LONGTEXT; + DECLARE v_id_change_set INT; + DECLARE v_id_access_level_edit INT; + DECLARE v_now TIMESTAMP; + + DECLARE exit handler for SQLEXCEPTION + BEGIN + -- Get diagnostic information + GET DIAGNOSTICS CONDITION 1 + @sqlstate = RETURNED_SQLSTATE + , @errno = MYSQL_ERRNO + , @text = MESSAGE_TEXT + ; + + -- Rollback the transaction + ROLLBACK; + + -- Select the error information + -- SELECT 'Error' AS status, @errno AS error_code, @sqlstate AS sql_state, @text AS message; + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , guid BINARY(36) NOT NULL + , id_type INT NULL + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL + ); + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid + , NULL + , @errno + , @text + ; + SELECT * + FROM tmp_Msg_Error; + DROP TABLE IF EXISTS tmp_Msg_Error; + END; + + SET v_code_type_error_bad_data := 'BAD_DATA'; + SET v_id_type_error_bad_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_id_access_level_edit := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); + + SET a_guid := IFNULL(a_guid, UUID()); + + DROP TABLE IF EXISTS tmp_Category; + + CREATE TEMPORARY TABLE tmp_Category ( + id_category INT NOT NULL + , code VARCHAR(50) NOT NULL + , name VARCHAR(255) NOT NULL + , description VARCHAR(4000) NULL + , id_access_level_required INT NOT NULL + , active BIT NOT NULL + , display_order INT NOT NULL + , can_view BIT NULL + , can_edit BIT NULL + , can_admin BIT NULL + , name_error VARCHAR(255) NOT NULL + , is_new BIT NOT NULL + ); + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , guid BINARY(36) NOT NULL + , id_type INT NULL + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL + ); + + + -- Get data from Temp table + INSERT INTO tmp_Category ( + id_category + , code + , name + , description + , id_access_level_required + , active + , display_order + , name_error + , is_new + ) + SELECT + IFNULL(PC_T.id_category, PC.id_category) AS id_category + , IFNULL(PC_T.code, PC.code) AS code + , IFNULL(PC_T.name, PC.code) AS name + , IFNULL(PC_T.description, PC.description) AS description + , PC_T.id_access_level_required AS id_access_level_required + , IFNULL(PC_T.active, PC.active) AS active + , IFNULL(PC_T.display_order, PC.display_order) AS display_order + , IFNULL(PC_T.name, IFNULL(PC.name, IFNULL(PC_T.code, IFNULL(PC.code, IFNULL(PC_T.id_category, '(No Product Category)'))))) AS name_error + , CASE WHEN IFNULL(PC_T.id_category, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM Shop_Product_Category_Temp PC_T + LEFT JOIN Shop_Product_Category PC ON PC_T.id_category = PC.id_category + WHERE PC_T.guid = a_guid + ; + + -- Validation + -- Missing mandatory fields + -- code + IF EXISTS (SELECT * FROM tmp_Category t_C WHERE ISNULL(t_C.code) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid AS GUID + , v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following category(s) do not have a code: ', GROUP_CONCAT(IFNULL(t_C.name_error, 'NULL') SEPARATOR ', ')) AS msg + FROM tmp_Category t_C + WHERE ISNULL(t_C.code) + ; + END IF; + -- name + IF EXISTS (SELECT * FROM tmp_Category t_C WHERE ISNULL(t_C.name) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid AS GUID + , v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following category(s) do not have a name: ', GROUP_CONCAT(IFNULL(t_C.name_error, 'NULL') SEPARATOR ', ')) AS msg + FROM tmp_Category t_C + WHERE ISNULL(t_C.name) + ; + END IF; + -- display_order + IF EXISTS (SELECT * FROM tmp_Category t_C WHERE ISNULL(t_C.display_order) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid AS GUID + , v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following category(s) do not have a display order: ', GROUP_CONCAT(IFNULL(t_C.name_error, 'NULL') SEPARATOR ', ')) AS msg + FROM tmp_Category t_C + WHERE ISNULL(t_C.display_order) + ; + END IF; + + -- Permissions + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN -- (SELECT * FROM tmp_Product WHERE is_new = 0 LIMIT 1) THEN + SET v_ids_product_permission := ( + SELECT GROUP_CONCAT(P.id_product SEPARATOR ',') + FROM Shop_Product P + INNER JOIN tmp_Category t_C + ON P.id_category = t_C.id_category + AND t_C.is_new = 0 + ); + IF NOT ISNULL(v_ids_product_permission) THEN + SET v_id_permission_product = (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); + + CALL p_shop_user_eval(a_guid, a_id_user, FALSE, v_id_permission_product, v_id_access_level_edit, v_ids_product_permission); + + UPDATE tmp_Category t_C + INNER JOIN Shop_Product P ON t_C.id_category = P.id_product + INNER JOIN Shop_User_Eval_Temp UE_T + ON P.id_product = UE_T.id_product + AND UE_T.GUID = a_guid + SET + t_C.can_view = UE_T.can_view + , t_C.can_edit = UE_T.can_edit + , t_C.can_admin = UE_T.can_admin + ; + + CALL p_clear_shop_user_eval_temp(a_guid); + END IF; + END IF; + + SET v_now := CURRENT_TIMESTAMP(); + + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN + START TRANSACTION; + + IF NOT ISNULL(v_ids_product_permission) THEN + INSERT INTO Shop_Product_Change_Set ( comment ) + VALUES ( a_comment ) + ; + + SET v_id_change_set := LAST_INSERT_ID(); + + UPDATE Shop_Product_Category PC + INNER JOIN tmp_Category t_C ON PC.id_category = t_C.id_category + SET + PC.id_category = t_C.id_category + , PC.code = t_C.code + , PC.name = t_C.name + , PC.description = t_C.description + , PC.id_access_level_required = t_C.id_access_level_required + , PC.active = t_C.active + , PC.display_order = t_C.display_order + , PC.id_change_set = v_id_change_set + ; + END IF; + + INSERT INTO Shop_Product_Category ( + code + , name + , description + , id_access_level_required + , active + , display_order + , created_by + , created_on + ) + SELECT + -- t_C.id_category AS id_category + t_C.code AS code + , t_C.name AS name + , t_C.description AS description + , t_C.id_access_level_required AS id_access_level_required + , t_C.active AS active + , t_C.display_order AS display_order + , a_id_user AS created_by + , v_now AS created_on + FROM tmp_Category t_C + WHERE is_new = 1 + AND active = 1 + ; + + COMMIT; + END IF; + + DELETE FROM Shop_Product_Category_Temp + WHERE GUID = a_guid; + + SELECT * FROM tmp_Msg_Error; + + DROP TEMPORARY TABLE IF EXISTS tmp_Catgory; + DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; +END // +DELIMITER ;; + diff --git a/static/MySQL/7200_p_shop_save_product_category_test.sql b/static/MySQL/7200_p_shop_save_product_category_test.sql new file mode 100644 index 00000000..995e6609 --- /dev/null +++ b/static/MySQL/7200_p_shop_save_product_category_test.sql @@ -0,0 +1,274 @@ + + + + +-- Clear previous proc +DROP PROCEDURE IF EXISTS p_shop_save_product_category_test; + + +DELIMITER // +CREATE PROCEDURE p_shop_save_product_category_test ( + IN a_id_user INT, + IN a_guid BINARY(36), + IN a_comment VARCHAR(500) +) +BEGIN + DECLARE v_code_type_error_bad_data VARCHAR(100); + DECLARE v_id_type_error_bad_data INT; + DECLARE v_id_permission_product INT; + DECLARE v_ids_product_permission LONGTEXT; + DECLARE v_id_change_set INT; + + DECLARE exit handler for SQLEXCEPTION + BEGIN + -- Get diagnostic information + GET DIAGNOSTICS CONDITION 1 + @sqlstate = RETURNED_SQLSTATE + , @errno = MYSQL_ERRNO + , @text = MESSAGE_TEXT + ; + + -- Rollback the transaction + ROLLBACK; + + -- Select the error information + -- SELECT 'Error' AS status, @errno AS error_code, @sqlstate AS sql_state, @text AS message; + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , guid BINARY(36) NOT NULL + , id_type INT NULL + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL + ); + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid + , NULL + , @errno + , @text + ; + + SELECT * FROM tmp_Msg_Error; + DROP TABLE IF EXISTS tmp_Msg_Error; + END; + + select 'p_shop_save_product_category_test'; + + SET v_code_type_error_bad_data := 'BAD_DATA'; + SET v_id_type_error_bad_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + + SET a_guid := IFNULL(a_guid, UUID()); + + DROP TABLE IF EXISTS tmp_Category; + + CREATE TEMPORARY TABLE tmp_Category ( + id_category INT NOT NULL + , code VARCHAR(50) NOT NULL + , name VARCHAR(255) NOT NULL + , description VARCHAR(4000) NULL + , active BIT NOT NULL + , display_order INT NOT NULL + , can_view BIT NULL + , can_edit BIT NULL + , can_admin BIT NULL + , name_error VARCHAR(255) NOT NULL + , is_new BIT NOT NULL + ); + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , guid BINARY(36) NOT NULL + , id_type INT NULL + /* + CONSTRAINT FK_tmp_Msg_Error_id_type + FOREIGN KEY (id_type) + REFERENCES Shop_Msg_Error_Type (id_type), + */ + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL + ); + + + -- Get data from Temp table + INSERT INTO tmp_Category ( + id_category + , code + , name + , description + , active + , display_order + , name_error + , is_new + ) + SELECT + IFNULL(PC_T.id_category, PC.id_category) AS id_category + , IFNULL(PC_T.code, PC.code) AS code + , IFNULL(PC_T.name, PC.code) AS name + , IFNULL(PC_T.description, PC.description) AS description + , IFNULL(PC_T.active, PC.active) AS active + , IFNULL(PC_T.display_order, PC.display_order) AS display_order + , IFNULL(PC_T.name, IFNULL(PC.name, IFNULL(PC_T.code, IFNULL(PC.code, IFNULL(PC_T.id_category, '(No Product Category)'))))) AS name_error + , CASE WHEN IFNULL(PC_T.id_category, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM Shop_Product_Category_Temp PC_T + LEFT JOIN Shop_Product_Category PC ON PC_T.id_category = PC.id_category + WHERE PC_T.guid = a_guid + ; + + -- Validation + -- Missing mandatory fields + -- code + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid AS GUID + , v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following category(s) do not have a code: ', GROUP_CONCAT(t_C.name_error SEPARATOR ', ')) AS msg + FROM tmp_Category t_C + ; + -- name + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid AS GUID + , v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following category(s) do not have a name: ', GROUP_CONCAT(t_C.name_error SEPARATOR ', ')) AS msg + FROM tmp_Category t_C + ; + -- display_order + INSERT INTO tmp_Msg_Error ( + guid + , id_type + , code + , msg + ) + SELECT + a_guid AS GUID + , v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following category(s) do not have a display order: ', GROUP_CONCAT(t_C.name_error SEPARATOR ', ')) AS msg + FROM tmp_Category t_C + ; + + SELECT * FROM tmp_Category; + + -- Permissions + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN -- (SELECT * FROM tmp_Product WHERE is_new = 0 LIMIT 1) THEN + SET v_ids_product_permission := ( + SELECT GROUP_CONCAT(P.id_product SEPARATOR ',') + FROM Shop_Product P + INNER JOIN Shop_Product_Category PC + ON P.id_category = PC.id_category + AND PC.is_new = 0 + ); + IF NOT ISNULL(v_ids_product_permission) THEN + SET v_id_permission_product = (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); + + CALL p_shop_user_eval(a_guid, a_id_user, v_id_permission_product, v_ids_product_permission); + + UPDATE tmp_Category t_C + INNER JOIN Shop_Product P ON t_C.id_category = P.id_product + INNER JOIN Shop_User_Eval_Temp UE_T + ON P.id_product = UE_T.id_product + AND UE_T.GUID = a_guid + SET + t_C.can_view = UE_T.can_view + , t_C.can_edit = UE_T.can_edit + , t_C.can_admin = UE_T.can_admin + ; + + CALL p_shop_user_eval_clear_temp(a_guid); + END IF; + END IF; + + SELECT * FROM tmp_Category; + + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN + START TRANSACTION; + + IF NOT ISNULL(v_ids_product_permission) THEN + INSERT INTO Shop_Product_Change_Set ( comment ) + VALUES ( a_comment ) + ; + + SET v_id_change_set := LAST_INSERT_ID(); + + UPDATE Shop_Product_Category PC + INNER JOIN tmp_Category t_C ON PC.id_category = t_C.id_category + SET + PC.id_category = t_C.id_category + , PC.code = t_C.code + , PC.name = t_P.name + , PC.description = t_C.description + , PC.display_order = t_C.display_order + , PC.active = t_C.active + , P.id_change_set = v_id_change_set + ; + END IF; + + INSERT INTO Shop_Product_Category ( + id_category + , code + , name + , description + , display_order + , active + , created_by + , created_on + ) + SELECT + t_C.id_category AS id_category + , t_C.code AS code + , t_C.name AS name + , t_C.description AS description + , t_C.active AS active + , t_P.display_order AS display_order + , a_id_user AS created_by + , v_now AS created_on + FROM tmp_Category t_C + WHERE is_new = 1 + AND active = 1 + ; + + ROLLBACK; + END IF; + + SELECT * FROM tmp_Msg_Error; + SELECT * FROM tmp_Category; + + DROP TEMPORARY TABLE IF EXISTS tmp_Catgory; + DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; +END // +DELIMITER ;; + + +select * +from shop_product_category; +select * +from shop_product_category_temp; + +SELECT 'nips' as guid; + +CALL p_shop_save_product_category_TEST (1, 'nips', 'y'); + +select * +from shop_product_category; +select * +from shop_product_category_temp; + + diff --git a/static/MySQL/7203_p_shop_save_product.sql b/static/MySQL/7203_p_shop_save_product.sql index 389d6313..7ffaa9ef 100644 --- a/static/MySQL/7203_p_shop_save_product.sql +++ b/static/MySQL/7203_p_shop_save_product.sql @@ -71,7 +71,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , guid BIGINT NOT NULL + , guid BINARY(36) NOT NULL , id_type INT NOT NULL /* CONSTRAINT FK_tmp_Msg_Error_id_type @@ -241,5 +241,5 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Product; DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/7204_p_shop_get_many_product.sql b/static/MySQL/7204_p_shop_get_many_product.sql index 6cb708ed..725251ab 100644 --- a/static/MySQL/7204_p_shop_get_many_product.sql +++ b/static/MySQL/7204_p_shop_get_many_product.sql @@ -6,9 +6,9 @@ DROP PROCEDURE IF EXISTS p_shop_get_many_product; DELIMITER // CREATE PROCEDURE p_shop_get_many_product ( IN a_id_user INT - , IN a_get_all_category BIT - , IN a_get_inactive_category BIT - , IN a_ids_category VARCHAR(500) + , IN a_get_all_product_category BIT + , IN a_get_inactive_product_category BIT + , IN a_ids_product_category VARCHAR(500) , IN a_get_all_product BIT , IN a_get_inactive_product BIT , IN a_ids_product VARCHAR(500) @@ -23,19 +23,20 @@ CREATE PROCEDURE p_shop_get_many_product ( BEGIN -- Argument redeclaration -- Variable declaration - DECLARE v_has_filter_category BIT; + DECLARE v_has_filter_product_category BIT; DECLARE v_has_filter_product BIT; DECLARE v_has_filter_permutation BIT; DECLARE v_has_filter_image BIT; DECLARE v_guid BINARY(36); # DECLARE v_id_user VARCHAR(100); - DECLARE v_ids_permutation_unavailable VARCHAR(4000); + -- DECLARE v_ids_permutation_unavailable VARCHAR(4000); DECLARE v_id_permission_product INT; DECLARE v_ids_product_permission VARCHAR(4000); -- DECLARE v_ids_permutation_permission VARCHAR(4000); DECLARE v_id_access_level_view INT; -- DECLARE v_now TIMESTAMP; DECLARE v_id_minimum INT; + DECLARE v_ids_product_invalid VARCHAR(4000); SET v_guid := UUID(); SET v_id_access_level_view := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'VIEW'); @@ -43,9 +44,9 @@ BEGIN -- Argument validation + default values SET a_id_user := TRIM(IFNULL(a_id_user, '')); - SET a_get_all_category := IFNULL(a_get_all_category, 0); - SET a_get_inactive_category := IFNULL(a_get_inactive_category, 0); - SET a_ids_category := TRIM(IFNULL(a_ids_category, '')); + SET a_get_all_product_category := IFNULL(a_get_all_product_category, 0); + SET a_get_inactive_product_category := IFNULL(a_get_inactive_product_category, 0); + SET a_ids_product_category := TRIM(IFNULL(a_ids_product_category, '')); SET a_get_all_product := IFNULL(a_get_all_product, 0); SET a_get_inactive_product := IFNULL(a_get_inactive_product, 0); SET a_ids_product := TRIM(IFNULL(a_ids_product, '')); @@ -58,7 +59,7 @@ BEGIN SET a_get_products_quantity_stock_below_min := IFNULL(a_get_products_quantity_stock_below_min, 0); /* - SELECT a_id_user, a_get_all_category, a_ids_category, a_get_inactive_category, a_get_all_product, + SELECT a_id_user, a_get_all_product_category, a_ids_product_category, a_get_inactive_product_category, a_get_all_product, a_ids_product, a_get_inactive_product, a_get_first_product_only, a_get_all_product_permutation, a_ids_permutation, a_get_inactive_permutation, a_get_all_image, a_ids_image, a_get_inactive_image, a_get_first_image_only, a_get_all_delivery_region, a_ids_delivery_region, a_get_inactive_delivery_region, a_get_all_currency, a_ids_currency, @@ -67,46 +68,41 @@ BEGIN */ -- Temporary tables - DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Image; - DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product; - DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product_2; - DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product_Copy; + DROP TEMPORARY TABLE IF EXISTS tmp_Category; + DROP TEMPORARY TABLE IF EXISTS tmp_Permutation; + DROP TEMPORARY TABLE IF EXISTS tmp_Product; + DROP TEMPORARY TABLE IF EXISTS tmp_Image; + DROP TEMPORARY TABLE IF EXISTS tmp_Image; + DROP TEMPORARY TABLE IF EXISTS tmp_Product; + DROP TEMPORARY TABLE IF EXISTS tmp_Product_2; + DROP TEMPORARY TABLE IF EXISTS tmp_Product_Copy; - CREATE TEMPORARY TABLE tmp_Shop_Product ( + CREATE TEMPORARY TABLE tmp_Category ( + id_category INT NOT NULL, + active BIT NOT NULL, + display_order INT NOT NULL + ); + + CREATE TEMPORARY TABLE tmp_Product ( id_category INT NOT NULL, id_product INT NOT NULL, - -- product_has_variations BIT NOT NULL, - id_permutation INT NULL, - active_category BIT NOT NULL, - active_product BIT NOT NULL, - active_permutation BIT NULL, - display_order_category INT NOT NULL, - display_order_product INT NOT NULL, - display_order_permutation INT NULL, - rank_permutation INT NOT NULL, # _in_category - name VARCHAR(255) NOT NULL, - description VARCHAR(4000) NOT NULL, - /* - price_GBP_full FLOAT NOT NULL, - price_GBP_min FLOAT NOT NULL, - */ - latency_manufacture INT NOT NULL, - quantity_min FLOAT NOT NULL, - quantity_max FLOAT NOT NULL, - quantity_step FLOAT NOT NULL, - quantity_stock FLOAT NOT NULL, - is_subscription BIT NOT NULL, - id_recurrence_interval INT, - count_recurrence_interval INT, - id_stripe_product VARCHAR(100), - product_has_variations INT NOT NULL, + active BIT NOT NULL, + display_order INT NOT NULL, can_view BIT, can_edit BIT, can_admin BIT ); - CREATE TEMPORARY TABLE tmp_Shop_Image ( + CREATE TEMPORARY TABLE tmp_Permutation ( + -- id_category INT NOT NULL, + id_product INT NOT NULL, + id_permutation INT NULL, + active BIT NOT NULL, + display_order INT NOT NULL + ); + + CREATE TEMPORARY TABLE tmp_Image ( id_image INT NOT NULL, -- id_product INT NOT NULL, id_permutation INT NULL, @@ -118,136 +114,105 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT, guid BINARY(36) NOT NULL, - id_type INT NOT NULL, + id_type INT NULL, code VARCHAR(50) NOT NULL, msg VARCHAR(4000) NOT NULL ); -- Parse filters - SET v_has_filter_category = CASE WHEN a_ids_category = '' THEN 0 ELSE 1 END; + SET v_has_filter_product_category = CASE WHEN a_ids_product_category = '' THEN 0 ELSE 1 END; SET v_has_filter_product = CASE WHEN a_ids_product = '' THEN 0 ELSE 1 END; SET v_has_filter_permutation = CASE WHEN a_ids_permutation = '' THEN 0 ELSE 1 END; SET v_has_filter_image = CASE WHEN a_ids_image = '' THEN 0 ELSE 1 END; -- select v_has_filter_product, v_has_filter_permutation; - INSERT INTO tmp_Shop_Product ( + INSERT INTO tmp_Category ( + id_category, + active, + display_order + ) + SELECT + PC.id_category, + PC.active, + PC.display_order + FROM Shop_Product_Category PC + WHERE ( + a_get_all_product_category = 1 + OR ( + v_has_filter_product_category = 1 + AND FIND_IN_SET(PC.id_category, a_ids_product_category) > 0 + ) + ) + AND ( + a_get_inactive_product_category = 1 + OR PC.active = 1 + ) + ; + + INSERT INTO tmp_Product ( id_category, id_product, - id_permutation, - active_category, - active_product, - active_permutation, - display_order_category, - display_order_product, - display_order_permutation, - rank_permutation, - name, - description, - /* - price_GBP_VAT_incl, - price_GBP_VAT_excl, - price_GBP_min, - */ - latency_manufacture, - quantity_min, - quantity_max, - quantity_step, - quantity_stock, - is_subscription, - id_recurrence_interval, - count_recurrence_interval, - id_stripe_product, - product_has_variations + active, + display_order ) SELECT P.id_category, P.id_product, - -- P.has_variations AS product_has_variations, - PP.id_permutation, - C.active AS active_category, - P.active AS active_product, - PP.active AS active_permutation, - C.display_order AS display_order_category, - P.display_order AS display_order_product, - PP.display_order AS display_order_permutation, - RANK() OVER (ORDER BY C.display_order, P.display_order, PP.display_order) AS rank_permutation, #PARTITION BY P.id_category # _in_category - P.name, - PP.description, - /* - PP.price_GBP_VAT_incl, - PP.price_GBP_VAT_excl, - PP.price_GBP_min, - */ - PP.latency_manufacture, - PP.quantity_min, - PP.quantity_max, - PP.quantity_step, - PP.quantity_stock, - PP.is_subscription, - PP.id_interval_recurrence, - PP.count_interval_recurrence, - PP.id_stripe_product, - P.has_variations + P.active, + P.display_order FROM Shop_Product P - INNER JOIN Shop_Product_Permutation PP - ON P.id_product = PP.id_product - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - WHERE - # permutations - ( - ( - a_get_all_product_permutation - OR ( - v_has_filter_permutation - AND FIND_IN_SET(PP.id_permutation, a_ids_permutation) > 0 - ) - OR ( - a_get_products_quantity_stock_below_min = 1 - AND PP.quantity_stock < PP.quantity_min - ) + INNER JOIN tmp_Category t_C ON P.id_category = t_C.id_category + WHERE ( + a_get_all_product = 1 + OR ( + v_has_filter_product = 1 + AND FIND_IN_SET(P.id_product, a_ids_product) > 0 ) - AND ( - a_get_inactive_permutation - OR PP.active - ) - ) - # categories + ) AND ( - ( - a_get_all_category - OR ( - v_has_filter_category - AND FIND_IN_SET(P.id_category, a_ids_category) > 0 - ) + a_get_inactive_product = 1 + OR P.active = 1 + ) + ; + + INSERT INTO tmp_Permutation ( + -- id_category, + id_product, + id_permutation, + active, + display_order + ) + SELECT + -- P.id_category, + PP.id_product, + PP.id_permutation, + PP.active, + PP.display_order + FROM Shop_Product_Permutation PP + INNER JOIN tmp_Product t_P ON PP.id_product = t_P.id_product + WHERE ( + a_get_all_product_permutation = 1 + OR ( + v_has_filter_permutation = 1 + AND FIND_IN_SET(PP.id_permutation, a_ids_permutation) > 0 ) - AND ( - a_get_inactive_category - OR C.active - ) - ) - # products + OR ( + a_get_products_quantity_stock_below_min = 1 + AND PP.quantity_stock < PP.quantity_min + ) + ) AND ( - ( - a_get_all_product - OR ( - v_has_filter_product - AND FIND_IN_SET(P.id_product, a_ids_product) > 0 - ) - ) - AND ( - a_get_inactive_product - OR P.active - ) + a_get_inactive_permutation = 1 + OR PP.active = 1 ) ; # Product Images - -- CREATE TEMPORARY TABLE tmp_Shop_Product_Copy SELECT * FROM tmp_Shop_Product; + -- CREATE TEMPORARY TABLE tmp_Product_Copy SELECT * FROM tmp_Product; - INSERT INTO tmp_Shop_Image ( + INSERT INTO tmp_Image ( -- id_product id_permutation , id_image @@ -262,7 +227,7 @@ BEGIN , t_P.id_permutation , t_P.product_has_variations , t_P.rank_permutation - FROM tmp_Shop_Product t_P + FROM tmp_Product t_P ) */ SELECT @@ -273,47 +238,26 @@ BEGIN , I.display_order -- , RANK() OVER (PARTITION BY IPP.id_product, IPP.id_permutation ORDER BY IPP.display_order_product_temp, IPP.display_order_image) FROM Shop_Product_Image I - INNER JOIN tmp_Shop_Product t_P - ON I.id_permutation = t_P.id_permutation - AND NOT t_P.product_has_variations - /* - FROM ( - SELECT - -- t_P.id_product - I.id_permutation - , I.id_image - , I.active - , I.display_order AS display_order_image - -- , t_P.rank_permutation AS display_order_product_temp - FROM Shop_Product_Image I - INNER JOIN tmp_Shop_Product t_P - ON I.id_permutation = t_P.id_permutation - AND NOT t_P.product_has_variations - - UNION - SELECT - -- t_P2_Copy.id_product - I.id_permutation - , I.id_image - , I.active - , I.display_order AS display_order_image - -- , t_P2.rank_permutation AS display_order_product_temp - FROM Shop_Product_Image I - INNER JOIN tmp_Shop_Product_Copy t_P_Copy - ON I.id_permutation = t_P_Copy.id_permutation - AND t_P_Copy.product_has_variations - ) IPP - */ - WHERE (a_get_all_image OR FIND_IN_SET(id_image, a_ids_image) > 0) - AND (a_get_inactive_image OR I.active) + INNER JOIN tmp_Permutation t_PP ON I.id_permutation = t_PP.id_permutation + INNER JOIN Shop_Product P ON t_PP.id_product = P.id_product + WHERE + P.has_variations = 0 + AND ( + a_get_all_image = 1 OR + FIND_IN_SET(id_image, a_ids_image) > 0 + ) + AND ( + a_get_inactive_image = 1 + OR I.active = 1 + ) ; -- Permissions - IF EXISTS (SELECT * FROM tmp_Shop_Product LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Product LIMIT 1) THEN # SET v_id_user := (SELECT id_user FROM Shop_User WHERE name = CURRENT_USER()); SET v_id_permission_product := (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); - SET v_ids_product_permission := (SELECT GROUP_CONCAT(id_product SEPARATOR ',') FROM tmp_Shop_Product WHERE NOT ISNULL(id_product)); - -- SET v_ids_permutation_permission := (SELECT GROUP_CONCAT(id_permutation SEPARATOR ',') FROM tmp_Shop_Product WHERE NOT ISNULL(id_permutation)); + SET v_ids_product_permission := (SELECT GROUP_CONCAT(id_product SEPARATOR ',') FROM tmp_Product WHERE NOT ISNULL(id_product)); + -- SET v_ids_permutation_permission := (SELECT GROUP_CONCAT(id_permutation SEPARATOR ',') FROM tmp_Product WHERE NOT ISNULL(id_permutation)); -- SELECT v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_product_permission; -- select * from Shop_User_Eval_Temp; @@ -322,7 +266,7 @@ BEGIN -- select * from Shop_User_Eval_Temp; - UPDATE tmp_Shop_Product t_P + UPDATE tmp_Product t_P INNER JOIN Shop_User_Eval_Temp UE_T ON t_P.id_product = UE_T.id_product AND UE_T.GUID = v_guid @@ -331,27 +275,32 @@ BEGIN t_P.can_admin = UE_T.can_admin ; -- select * from Shop_User_Eval_Temp; - -- select * from tmp_Shop_Product; + -- select * from tmp_Product; + + SET v_ids_product_invalid := ( + SELECT GROUP_CONCAT(t_P.id_product SEPARATOR ',') + FROM tmp_Product t_P + WHERE ISNULL(t_P.can_view) + ); + + DELETE -- t_PC + FROM tmp_Category t_PC + WHERE t_PC.id_category IN ( + SELECT PC.id_category + FROM Shop_Product_Category PC + INNER JOIN Shop_Product P ON PC.id_category = P.id_category + WHERE FIND_IN_SET(P.id_product, v_ids_product_invalid) > 0 + ) -- INVALID ON t_PC.id_category = INVALID.id_category + ; DELETE -- t_P - FROM tmp_Shop_Product t_P - WHERE - FIND_IN_SET(t_P.id_product, (SELECT GROUP_CONCAT(UET.id_product SEPARATOR ',') FROM Shop_User_Eval_Temp UET)) = 0 # id_product NOT LIKE CONCAT('%', (SELECT GROUP_CONCAT(id_product SEPARATOR '|') FROM Shop_User_Eval_Temp), '%'); - OR ( - ISNULL(t_P.can_view) - AND ( - NOT v_has_filter_category - OR FIND_IN_SET(t_P.id_category, a_ids_category) = 0 - ) - AND ( - NOT v_has_filter_product - OR FIND_IN_SET(t_P.id_product, a_ids_product) = 0 - ) - AND ( - NOT v_has_filter_permutation - OR FIND_IN_SET(t_P.id_permutation, a_ids_permutation) = 0 - ) - ) + FROM tmp_Product t_P + WHERE FIND_IN_SET(t_P.id_product, v_ids_product_invalid) > 0 + ; + + DELETE -- t_P + FROM tmp_Permutation t_PP + WHERE FIND_IN_SET(t_PP.id_product, v_ids_product_invalid) > 0 ; CALL p_clear_shop_user_eval_temp(v_guid); @@ -363,60 +312,86 @@ BEGIN */ END IF; - - -- select * from tmp_Shop_Product; + -- select * from tmp_Product; -- Returns -- SET v_now := NOW(); # Categories SELECT - DISTINCT t_P.id_category, - PC.name, - PC.description, - PC.display_order - FROM tmp_Shop_Product t_P - INNER JOIN Shop_Product_Category PC - ON t_P.id_category = PC.id_category + -- DISTINCT + t_C.id_category + , PC.code + , PC.name + , PC.description + , PC.id_access_level_required + , PC.display_order + , PC.active + , MIN(t_P.can_view) AS can_view + , MIN(t_P.can_edit) AS can_edit + , MIN(t_P.can_admin) AS can_admin + FROM tmp_Category t_C + INNER JOIN Shop_product_category PC ON t_C.id_category = PC.id_category + LEFT JOIN tmp_Product t_P ON t_C.id_category = t_P.id_product + GROUP BY t_C.id_category -- , t_P.id_product ORDER BY PC.display_order ; # Products SELECT t_P.id_product, - t_P.id_permutation, - t_P.name, - t_P.description, - P.has_variations, P.id_category, + P.name, + P.has_variations, + P.id_access_level_required, + P.active, + P.display_order, + t_P.can_view, + t_P.can_edit, + t_P.can_admin + FROM tmp_Product t_P + INNER JOIN Shop_Product P ON t_P.id_product = P.id_product + INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category + GROUP BY t_P.id_category, t_C.display_order, t_P.id_product, t_P.can_view, t_P.can_edit, t_P.can_admin + ORDER BY t_C.display_order, P.display_order + ; + + # Product Permutations + SELECT + t_PP.id_permutation, + PP.id_product, + P.id_category, + PP.description, PP.cost_local, PP.id_currency_cost, - CURRENCY.code AS code_currency_cost, - CURRENCY.symbol AS symbol_currency_cost, + C.code AS code_currency_cost, + C.symbol AS symbol_currency_cost, PP.profit_local_min, - t_P.latency_manufacture, - t_P.quantity_min, - t_P.quantity_max, - t_P.quantity_step, - t_P.quantity_stock, - t_P.id_stripe_product, - t_P.is_subscription, + PP.latency_manufacture, + PP.quantity_min, + PP.quantity_max, + PP.quantity_step, + PP.quantity_stock, + PP.id_stripe_product, + PP.is_subscription, UM.name_singular AS name_recurrence_interval, UM.name_plural AS name_plural_recurrence_interval, PP.count_interval_recurrence, - t_P.display_order_category, - t_P.display_order_product, - t_P.display_order_permutation, + PP.active, + PP.display_order, IFNULL(t_P.can_view, 0) AS can_view, IFNULL(t_P.can_edit, 0) AS can_edit, IFNULL(t_P.can_admin, 0) AS can_admin - FROM tmp_Shop_Product t_P - INNER JOIN Shop_Product P ON t_P.id_product = P.id_product - INNER JOIN Shop_Product_Permutation PP ON t_P.id_permutation = PP.id_permutation + FROM tmp_Permutation t_PP + INNER JOIN Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation + INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product + INNER JOIN Shop_Product P ON t_PP.id_product = P.id_product + INNER JOIN Shop_Product_Category PC ON P.id_category = PC.id_category -- LEFT JOIN Shop_Recurrence_Interval RI ON t_P.id_interval_recurrence = RI.id_interval LEFT JOIN Shop_Unit_Measurement UM ON PP.id_interval_recurrence = UM.id_unit_measurement - INNER JOIN Shop_Currency CURRENCY ON PP.id_currency_cost = CURRENCY.id_currency - ORDER BY t_P.rank_permutation + INNER JOIN Shop_Currency C ON PP.id_currency_cost = C.id_currency + GROUP BY PC.id_category, P.id_product, PP.id_permutation, t_P.can_view, t_P.can_edit, t_P.can_admin + ORDER BY PC.display_order, P.display_order, PP.display_order ; # Variations @@ -433,12 +408,14 @@ BEGIN , VT.active AS active_variation_type , VT.display_order , t_P.id_product - , t_P.id_permutation - , t_P.id_category + , t_PP.id_permutation + , t_C.id_category FROM Shop_Variation V INNER JOIN Shop_Variation_Type VT ON V.id_type = VT.id_type INNER JOIN Shop_Product_Permutation_Variation_Link PPVL ON V.id_variation = PPVL.id_variation - INNER JOIN tmp_Shop_Product t_P ON PPVL.id_permutation <=> t_P.id_permutation + INNER JOIN tmp_Permutation t_PP ON PPVL.id_permutation = t_PP.id_permutation + INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product + INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category WHERE V.active AND PPVL.active ; @@ -450,7 +427,7 @@ BEGIN t_P.id_category, id_variation FROM Shop_Product_Permutation_Variation_Link PPVL - INNER JOIN tmp_Shop_Product t_P + INNER JOIN tmp_Product t_P ON t_P.id_permutation = PPVL.id_permutation ORDER BY t_P.display_order ; @@ -460,25 +437,24 @@ BEGIN /* select * from tmp_Currency; select * from tmp_delivery_region; - select * from tmp_shop_product; + select * from tmp_product; */ # Images SELECT t_I.id_image, - t_P.id_product, + t_PP.id_product, t_I.id_permutation, - t_P.id_category, + t_C.id_category, I.url, I.active, I.display_order - FROM tmp_Shop_Image t_I - INNER JOIN Shop_Product_Image I - ON t_I.id_image = I.id_image - INNER JOIN tmp_Shop_Product t_P - ON t_I.id_product = t_P.id_product - AND t_I.id_permutation <=> t_P.id_permutation - ORDER BY t_P.rank_permutation, I.display_order + FROM tmp_Image t_I + INNER JOIN Shop_Product_Image I ON t_I.id_image = I.id_image + INNER JOIN tmp_Permutation t_PP ON t_I.id_permutation = t_PP.id_permutation + INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product + INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category + ORDER BY t_C.display_order, t_P.display_order, t_PP.display_order, I.display_order ; # Errors @@ -499,8 +475,8 @@ BEGIN /* # Return arguments for test SELECT - a_ids_category, - a_get_inactive_category, + a_ids_product_category, + a_get_inactive_product_category, a_ids_product, a_get_inactive_product, a_get_first_product_only, @@ -513,24 +489,29 @@ BEGIN */ # select 'other outputs'; - # select * from tmp_Shop_Product; + # select * from tmp_Product; -- Clean up - DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Image; - DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product; - DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product_2; - DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product_Copy; + DROP TEMPORARY TABLE IF EXISTS tmp_Image; + DROP TEMPORARY TABLE IF EXISTS tmp_Image; + DROP TEMPORARY TABLE IF EXISTS tmp_Category; + DROP TEMPORARY TABLE IF EXISTS tmp_Permutation; + DROP TEMPORARY TABLE IF EXISTS tmp_Product; + DROP TEMPORARY TABLE IF EXISTS tmp_Product; + DROP TEMPORARY TABLE IF EXISTS tmp_Product_2; + DROP TEMPORARY TABLE IF EXISTS tmp_Product_Copy; END // -DELIMITER ; +DELIMITER ;; +/* CALL partsltd_prod.p_shop_get_many_product ( 1 #'auth0|6582b95c895d09a70ba10fef', # a_id_user - , 1 # a_get_all_category - , 1 # a_get_inactive_category - , '' # a_ids_category + , 1 # a_get_all_product_category + , 1 # a_get_inactive_product_category + , '' # a_ids_product_category , 1 # a_get_all_product , 0 # a_get_inactive_product , '' # a_ids_product @@ -543,9 +524,9 @@ CALL partsltd_prod.p_shop_get_many_product ( , 1 # a_get_products_quantity_stock_below_minimum ); -/* select * FROM Shop_User_Eval_Temp; +select * from Shop_Product_Category; select * from Shop_Product_Permutation; select * from shop_product_change_set; insert into shop_product_change_set ( comment ) values ('set stock quantities below minimum for testing'); diff --git a/static/MySQL/7205_p_shop_get_many_stripe_product_new.sql b/static/MySQL/7205_p_shop_get_many_stripe_product_new.sql index ee5dc183..94fa1aaa 100644 --- a/static/MySQL/7205_p_shop_get_many_stripe_product_new.sql +++ b/static/MySQL/7205_p_shop_get_many_stripe_product_new.sql @@ -277,7 +277,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_Product; DROP TABLE IF EXISTS tmp_Shop_User; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7206_p_shop_save_permutation.sql b/static/MySQL/7206_p_shop_save_permutation.sql index a4dccde0..b64dab31 100644 --- a/static/MySQL/7206_p_shop_save_permutation.sql +++ b/static/MySQL/7206_p_shop_save_permutation.sql @@ -539,7 +539,7 @@ BEGIN DROP TABLE tmp_Shop_Manufacturing_Purchase_Order_Product_Link; DROP TABLE tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7210_p_shop_get_many_product_variation.sql b/static/MySQL/7210_p_shop_get_many_product_variation.sql index a468739d..04af5d47 100644 --- a/static/MySQL/7210_p_shop_get_many_product_variation.sql +++ b/static/MySQL/7210_p_shop_get_many_product_variation.sql @@ -283,7 +283,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Variation; DROP TABLE IF EXISTS tmp_Variation_Type; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7219_p_shop_get_many_stock_item.sql b/static/MySQL/7219_p_shop_get_many_stock_item.sql index fb790a05..8a649694 100644 --- a/static/MySQL/7219_p_shop_get_many_stock_item.sql +++ b/static/MySQL/7219_p_shop_get_many_stock_item.sql @@ -809,7 +809,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Category; DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7221_p_get_many_shop_product_price_and_discount_and_delivery_option.sql b/static/MySQL/7221_p_get_many_shop_product_price_and_discount_and_delivery_option.sql index 52f50ef3..d732910f 100644 --- a/static/MySQL/7221_p_get_many_shop_product_price_and_discount_and_delivery_option.sql +++ b/static/MySQL/7221_p_get_many_shop_product_price_and_discount_and_delivery_option.sql @@ -759,7 +759,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Product_Category; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7223_p_shop_get_many_stripe_price_new.sql b/static/MySQL/7223_p_shop_get_many_stripe_price_new.sql index 19cbd738..4502cc41 100644 --- a/static/MySQL/7223_p_shop_get_many_stripe_price_new.sql +++ b/static/MySQL/7223_p_shop_get_many_stripe_price_new.sql @@ -228,7 +228,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_User; DROP TABLE IF EXISTS tmp_Shop_Product_Currency_Link; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7312_p_shop_save_user.sql b/static/MySQL/7312_p_shop_save_user.sql index 7ee8aa24..5a06a5ef 100644 --- a/static/MySQL/7312_p_shop_save_user.sql +++ b/static/MySQL/7312_p_shop_save_user.sql @@ -164,7 +164,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Msg_Error; DROP TABLE IF EXISTS tmp_Shop_User; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/7313_p_get_many_user.sql b/static/MySQL/7313_p_get_many_user.sql index 75c3d95c..23baf247 100644 --- a/static/MySQL/7313_p_get_many_user.sql +++ b/static/MySQL/7313_p_get_many_user.sql @@ -237,7 +237,7 @@ BEGIN */ CALL p_clear_shop_user_eval_temp(v_guid); END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/7321_p_shop_save_user_basket.sql b/static/MySQL/7321_p_shop_save_user_basket.sql index 13900738..d98f8a00 100644 --- a/static/MySQL/7321_p_shop_save_user_basket.sql +++ b/static/MySQL/7321_p_shop_save_user_basket.sql @@ -772,7 +772,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_Product; DROP TABLE IF EXISTS tmp_Shop_User; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7400_p_shop_save_supplier.sql b/static/MySQL/7400_p_shop_save_supplier.sql index 4af680c4..ae58cc1e 100644 --- a/static/MySQL/7400_p_shop_save_supplier.sql +++ b/static/MySQL/7400_p_shop_save_supplier.sql @@ -276,7 +276,7 @@ BEGIN DROP TABLE tmp_Shop_Supplier; DROP TABLE tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; -- SELECT * FROM Shop_Supplier; diff --git a/static/MySQL/7401_p_shop_get_many_supplier.sql b/static/MySQL/7401_p_shop_get_many_supplier.sql index 3a684265..6755ad3e 100644 --- a/static/MySQL/7401_p_shop_get_many_supplier.sql +++ b/static/MySQL/7401_p_shop_get_many_supplier.sql @@ -239,7 +239,7 @@ BEGIN -- Clean up DROP TABLE IF EXISTS tmp_Supplier; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7403_p_save_supplier_purchase_order.sql b/static/MySQL/7403_p_save_supplier_purchase_order.sql index 2d8a9d32..0d2dcbb9 100644 --- a/static/MySQL/7403_p_save_supplier_purchase_order.sql +++ b/static/MySQL/7403_p_save_supplier_purchase_order.sql @@ -491,7 +491,7 @@ BEGIN DROP TABLE tmp_Shop_Supplier_Purchase_Order_Product_Link; DROP TABLE tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7404_p_shop_get_many_supplier_purchase_order.sql b/static/MySQL/7404_p_shop_get_many_supplier_purchase_order.sql index 3ea9289a..64756059 100644 --- a/static/MySQL/7404_p_shop_get_many_supplier_purchase_order.sql +++ b/static/MySQL/7404_p_shop_get_many_supplier_purchase_order.sql @@ -726,7 +726,7 @@ BEGIN WHERE GUID = v_guid ; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7415_p_shop_save_manufacturing_purchase_order.sql b/static/MySQL/7415_p_shop_save_manufacturing_purchase_order.sql index 593f4548..ae5d7165 100644 --- a/static/MySQL/7415_p_shop_save_manufacturing_purchase_order.sql +++ b/static/MySQL/7415_p_shop_save_manufacturing_purchase_order.sql @@ -539,7 +539,7 @@ BEGIN DROP TABLE tmp_Shop_Manufacturing_Purchase_Order_Product_Link; DROP TABLE tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7416_p_shop_get_many_manufacturing_purchase_order.sql b/static/MySQL/7416_p_shop_get_many_manufacturing_purchase_order.sql index c0c42b28..25432aa5 100644 --- a/static/MySQL/7416_p_shop_get_many_manufacturing_purchase_order.sql +++ b/static/MySQL/7416_p_shop_get_many_manufacturing_purchase_order.sql @@ -621,7 +621,7 @@ BEGIN WHERE GUID = v_guid ; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7421_p_shop_save_customer.sql b/static/MySQL/7421_p_shop_save_customer.sql index 190d4ef6..41193340 100644 --- a/static/MySQL/7421_p_shop_save_customer.sql +++ b/static/MySQL/7421_p_shop_save_customer.sql @@ -271,7 +271,7 @@ BEGIN -- DROP TABLE tmp_Shop_Customer; DROP TABLE tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7422_p_shop_get_many_customer.sql b/static/MySQL/7422_p_shop_get_many_customer.sql index 98722e98..16426670 100644 --- a/static/MySQL/7422_p_shop_get_many_customer.sql +++ b/static/MySQL/7422_p_shop_get_many_customer.sql @@ -253,7 +253,7 @@ BEGIN WHERE GUID = v_guid ; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7424_p_shop_save_customer_sales_order.sql b/static/MySQL/7424_p_shop_save_customer_sales_order.sql index 988fb99b..b37a3210 100644 --- a/static/MySQL/7424_p_shop_save_customer_sales_order.sql +++ b/static/MySQL/7424_p_shop_save_customer_sales_order.sql @@ -490,7 +490,7 @@ BEGIN DROP TABLE tmp_Shop_Customer_Sales_Order_Product_Link; DROP TABLE tmp_Msg_Error; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/7425_p_shop_get_many_customer_sales_order.sql b/static/MySQL/7425_p_shop_get_many_customer_sales_order.sql index 7a08f418..deb220fe 100644 --- a/static/MySQL/7425_p_shop_get_many_customer_sales_order.sql +++ b/static/MySQL/7425_p_shop_get_many_customer_sales_order.sql @@ -737,7 +737,7 @@ BEGIN WHERE GUID = v_guid ; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/9000_populate.sql b/static/MySQL/9000_populate.sql index e80e8c5d..da7abdd9 100644 --- a/static/MySQL/9000_populate.sql +++ b/static/MySQL/9000_populate.sql @@ -165,12 +165,14 @@ INSERT INTO Shop_Product_Category ( display_order, code, name, - description + description, + id_access_level_required, + created_by ) VALUES - (1, 'ASS', 'Assistive Devices', 'Braille product line and other assistive devices'), - (99, 'MISC', 'Miscellaneous', 'Not category allocated products'), - (2, 'TECH', 'Technology', 'Technological devices') + (1, 'ASS', 'Assistive Devices', 'Braille product line and other assistive devices', 1, 1), + (99, 'MISC', 'Miscellaneous', 'Not category allocated products', 1, 1), + (2, 'TECH', 'Technology', 'Technological devices', 1, 1) ; /* @@ -191,7 +193,8 @@ INSERT INTO Shop_Product ( id_category, name, has_variations, - id_access_level_required + id_access_level_required, + created_by ) VALUES ( @@ -199,35 +202,40 @@ VALUES 1, 'Braille Keyboard Translator', 1, - 3 + 3, + 1 ), ( 2, 2, 'Test product 1', 0, - 3 + 3, + 1 ), ( 3, 3, 'Phone', 0, - 1 + 1, + 1 ), ( 4, 3, 'Laptop', 0, - 1 + 1, + 1 ), ( 5, 3, 'Smart Watch', 0, - 1 + 1, + 1 ) ; @@ -748,7 +756,7 @@ VALUES /* -- Clean up END // -DELIMITER ; +DELIMITER ;; -- Call diff --git a/static/MySQL/deprecated/000_init_tables_authentication.sql b/static/MySQL/deprecated/000_init_tables_authentication.sql index 20b9de33..72fe463d 100644 --- a/static/MySQL/deprecated/000_init_tables_authentication.sql +++ b/static/MySQL/deprecated/000_init_tables_authentication.sql @@ -54,7 +54,7 @@ BEGIN SET NEW.updated_last_by = CURRENT_USER(); END IF; END // -DELIMITER ; +DELIMITER ;; SELECT * FROM Shop_User_Change_Set; @@ -69,7 +69,7 @@ CREATE TABLE Shop_Access_Level ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Access_Level_id_change_set FOREIGN KEY (id_change_set) @@ -82,13 +82,13 @@ BEFORE INSERT ON Shop_Access_Level FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Access_Level_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -135,7 +135,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Access_Level ( display_order, code, name, priority @@ -159,7 +159,7 @@ CREATE TABLE Shop_Permission_Group ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Permission_Group_id_change_set FOREIGN KEY (id_change_set) @@ -173,13 +173,13 @@ BEFORE INSERT ON Shop_Permission_Group FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Permission_Group_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -223,7 +223,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Permission_Group ( display_order, code, name @@ -254,7 +254,7 @@ CREATE TABLE Shop_Permission ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Permission_id_change_set FOREIGN KEY (id_change_set) @@ -267,13 +267,13 @@ BEFORE INSERT ON Shop_Permission FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Permission_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -325,7 +325,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Permission ( display_order, code, name, id_permission_group, required_access_level @@ -349,7 +349,7 @@ CREATE TABLE Shop_Role ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Role_id_change_set FOREIGN KEY (id_change_set) @@ -362,13 +362,13 @@ BEFORE INSERT ON Shop_Role FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Role_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -412,7 +412,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Role ( display_order, @@ -449,7 +449,7 @@ CREATE TABLE Shop_Role_Permission_Link ( ON UPDATE RESTRICT, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Role_Permission_Link_id_change_set FOREIGN KEY (id_change_set) @@ -462,13 +462,13 @@ BEFORE INSERT ON Shop_Role_Permission_Link FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Role_Permission_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -516,7 +516,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Role_Permission_Link ( id_role, id_permission, id_access_level @@ -542,7 +542,7 @@ CREATE TABLE Shop_User ( is_super_user BIT NOT NULL DEFAULT 0, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_User_id_change_set FOREIGN KEY (id_change_set) @@ -555,13 +555,13 @@ BEFORE INSERT ON Shop_User FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_User_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -605,7 +605,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_User ( name, @@ -636,7 +636,7 @@ CREATE TABLE Shop_User_Role_Link ( ON UPDATE RESTRICT, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_User_Role_Link_id_change_set FOREIGN KEY (id_change_set) @@ -649,13 +649,13 @@ BEFORE INSERT ON Shop_User_Role_Link FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_User_Role_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -691,7 +691,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_User_Role_Link ( id_user, id_role @@ -723,7 +723,7 @@ CREATE TABLE Shop_Address ( county VARCHAR(100) NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Address_id_change_set FOREIGN KEY (id_change_set) @@ -736,13 +736,13 @@ BEFORE INSERT ON Shop_Address FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Address_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -810,7 +810,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Address ( id_user, region, name_full, phone_number, postcode, address_line_1, address_line_2, city, county diff --git a/static/MySQL/deprecated/000_init_tables_product.sql b/static/MySQL/deprecated/000_init_tables_product.sql index 42eff57f..12ab4c35 100644 --- a/static/MySQL/deprecated/000_init_tables_product.sql +++ b/static/MySQL/deprecated/000_init_tables_product.sql @@ -72,7 +72,7 @@ BEGIN SET NEW.updated_last_by = CURRENT_USER(); END IF; END // -DELIMITER ; +DELIMITER ;; SELECT * FROM Shop_Product_Change_Set; @@ -85,7 +85,7 @@ CREATE TABLE File_Type ( name VARCHAR(100), extension VARCHAR(50), created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP, updated_last_by VARCHAR(100) ); @@ -95,10 +95,10 @@ CREATE TRIGGER before_insert_File_Type BEFORE INSERT ON File_Type FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; CREATE TABLE File_Type_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -111,7 +111,7 @@ CREATE TABLE File_Type_Audit ( value_prev VARCHAR(500), value_new VARCHAR(500), created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP, updated_last_by VARCHAR(100) ); @@ -121,10 +121,10 @@ CREATE TRIGGER before_insert_File_Type_Audit BEFORE INSERT ON File_Type_Audit FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_File_Type_Audit @@ -134,7 +134,7 @@ BEGIN SET NEW.updated_last_on = NOW(); SET NEW.updated_last_by = CURRENT_USER(); END // -DELIMITER ; +DELIMITER ;; DELIMITER // CREATE TRIGGER before_update_File_Type @@ -160,7 +160,7 @@ BEGIN WHERE NOT OLD.extension <=> NEW.extension ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO File_Type ( code, name, extension @@ -182,7 +182,7 @@ CREATE TABLE Shop_General ( id_general INT NOT NULL AUTO_INCREMENT PRIMARY KEY, quantity_max FLOAT, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_General_id_change_set FOREIGN KEY (id_change_set) @@ -194,10 +194,10 @@ CREATE TRIGGER before_insert_Shop_General BEFORE INSERT ON Shop_General FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_General_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -232,7 +232,7 @@ BEGIN WHERE NOT OLD.quantity_max <=> NEW.quantity_max ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_General ( quantity_max @@ -255,7 +255,7 @@ CREATE TABLE Shop_Product_Category ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Category_id_change_set FOREIGN KEY (id_change_set) @@ -267,10 +267,10 @@ CREATE TRIGGER before_insert_Shop_Product_Category BEFORE INSERT ON Shop_Product_Category FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Product_Category_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -321,7 +321,7 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Product_Category ( display_order, @@ -348,7 +348,7 @@ CREATE TABLE Shop_Recurrence_Interval ( name VARCHAR(255), name_plural VARCHAR(256), created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Recurrence_Interval_id_change_set FOREIGN KEY (id_change_set) @@ -360,10 +360,10 @@ CREATE TRIGGER before_insert_Shop_Recurrence_Interval BEFORE INSERT ON Shop_Recurrence_Interval FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Recurrence_Interval_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -406,7 +406,7 @@ BEGIN WHERE NOT OLD.name_plural <=> NEW.name_plural ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Recurrence_Interval ( code, name, name_plural @@ -449,7 +449,7 @@ CREATE TABLE Shop_Product ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_id_change_set FOREIGN KEY (id_change_set) @@ -461,10 +461,10 @@ CREATE TRIGGER before_insert_Shop_Product BEFORE INSERT ON Shop_Product FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Product_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -559,7 +559,7 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Product ( display_order, @@ -598,7 +598,7 @@ CREATE TABLE Shop_Variation_Type ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Variation_Type_id_change_set FOREIGN KEY (id_change_set) @@ -610,10 +610,10 @@ CREATE TRIGGER before_insert_Shop_Variation_Type BEFORE INSERT ON Shop_Variation_Type FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Variation_Type_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -664,7 +664,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Variation_Type ( display_order, code, name, name_plural @@ -691,7 +691,7 @@ CREATE TABLE Shop_Variation ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Variation_id_change_set FOREIGN KEY (id_change_set) @@ -703,10 +703,10 @@ CREATE TRIGGER before_insert_Shop_Variation BEFORE INSERT ON Shop_Variation FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Variation_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -753,7 +753,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Variation ( display_order, id_type, code, name @@ -783,7 +783,7 @@ CREATE TABLE Shop_Product_Variation_Link ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Variation_Link_id_change_set FOREIGN KEY (id_change_set) @@ -796,13 +796,13 @@ BEFORE INSERT ON Shop_Product_Variation_Link FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Product_Variation_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -850,7 +850,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Product_Variation_Link ( display_order, id_product, id_variation @@ -873,7 +873,7 @@ CREATE TABLE Shop_Image_Type ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Image_Type_id_change_set FOREIGN KEY (id_change_set) @@ -885,10 +885,10 @@ CREATE TRIGGER before_insert_Shop_Image_Type BEFORE INSERT ON Shop_Image_Type FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Image_Type_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -939,7 +939,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Image_Type ( display_order, code, name, name_plural @@ -970,7 +970,7 @@ CREATE TABLE Shop_Image ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Image_id_change_set FOREIGN KEY (id_change_set) @@ -982,10 +982,10 @@ CREATE TRIGGER before_insert_Shop_Image BEFORE INSERT ON Shop_Image FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Image_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -1035,7 +1035,7 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Image ( display_order, id_product, id_type, url @@ -1064,7 +1064,7 @@ CREATE TABLE Shop_Product_Image_Link ( ON UPDATE RESTRICT, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Image_Link_id_change_set FOREIGN KEY (id_change_set) @@ -1077,13 +1077,13 @@ BEFORE INSERT ON Shop_Product_Image_Link FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Product_Image_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -1129,7 +1129,7 @@ BEGIN ) ); END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Product_Image_Link ( id_product, id_image @@ -1155,7 +1155,7 @@ CREATE TABLE Shop_Delivery_Option_Type ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Delivery_Option_Type_id_change_set FOREIGN KEY (id_change_set) @@ -1167,10 +1167,10 @@ CREATE TRIGGER before_insert_Shop_Delivery_Option_Type BEFORE INSERT ON Shop_Delivery_Option_Type FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Delivery_Option_Type_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -1233,7 +1233,7 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Delivery_Option_Type ( display_order, code, name, latency_delivery_min, latency_delivery_max, quantity_min, quantity_max @@ -1264,7 +1264,7 @@ CREATE TABLE Shop_Delivery_Option ( price_GBP FLOAT NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Delivery_Option_id_change_set FOREIGN KEY (id_change_set) @@ -1277,13 +1277,13 @@ BEFORE INSERT ON Shop_Delivery_Option FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Delivery_Option_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -1331,7 +1331,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Delivery_Option ( id_product, id_delivery_type, price_GBP @@ -1353,7 +1353,7 @@ CREATE TABLE Shop_Delivery_Region ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Delivery_Region_id_change_set FOREIGN KEY (id_change_set) @@ -1365,10 +1365,10 @@ CREATE TRIGGER before_insert_Shop_Delivery_Region BEFORE INSERT ON Shop_Delivery_Region FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Delivery_Region_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -1415,7 +1415,7 @@ BEGIN WHERE NOT OLD.display_order <=> NEW.display_order ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Delivery_Region ( display_order, code, name @@ -1444,7 +1444,7 @@ CREATE TABLE Shop_Product_Delivery_Region_Link ( ON UPDATE RESTRICT, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Delivery_Region_Link_id_change_set FOREIGN KEY (id_change_set) @@ -1457,13 +1457,13 @@ BEFORE INSERT ON Shop_Product_Delivery_Region_Link FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; CREATE TABLE Shop_Product_Delivery_Region_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, @@ -1507,7 +1507,7 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; INSERT INTO Shop_Product_Delivery_Region_Link ( id_product, id_region diff --git a/static/MySQL/deprecated/108_tbl_Shop_Recurrence_Interval.sql b/static/MySQL/deprecated/108_tbl_Shop_Recurrence_Interval.sql index 37fca188..e75895d3 100644 --- a/static/MySQL/deprecated/108_tbl_Shop_Recurrence_Interval.sql +++ b/static/MySQL/deprecated/108_tbl_Shop_Recurrence_Interval.sql @@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_Recurrence_Interval ( name_plural VARCHAR(256), active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Recurrence_Interval_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/deprecated/113.1_tbl_Shop_Product_Variation_Type_Link.sql b/static/MySQL/deprecated/113.1_tbl_Shop_Product_Variation_Type_Link.sql index a6cb6d5d..2e733013 100644 --- a/static/MySQL/deprecated/113.1_tbl_Shop_Product_Variation_Type_Link.sql +++ b/static/MySQL/deprecated/113.1_tbl_Shop_Product_Variation_Type_Link.sql @@ -20,7 +20,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Variation_Type_Link ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Variation_Type_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/deprecated/116_tbl_Shop_Product_Variation_Link.sql b/static/MySQL/deprecated/116_tbl_Shop_Product_Variation_Link.sql index 330b1aec..70ac6e39 100644 --- a/static/MySQL/deprecated/116_tbl_Shop_Product_Variation_Link.sql +++ b/static/MySQL/deprecated/116_tbl_Shop_Product_Variation_Link.sql @@ -27,7 +27,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Variation_Link ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Variation_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/deprecated/128_tbl_Shop_Product_Delivery_Region_Link.sql b/static/MySQL/deprecated/128_tbl_Shop_Product_Delivery_Region_Link.sql index f11e40d3..1cb4d874 100644 --- a/static/MySQL/deprecated/128_tbl_Shop_Product_Delivery_Region_Link.sql +++ b/static/MySQL/deprecated/128_tbl_Shop_Product_Delivery_Region_Link.sql @@ -24,7 +24,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Delivery_Region_Link ( ON UPDATE RESTRICT, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_Product_Delivery_Region_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/deprecated/170_ish_tbl_ERP_Order.sql b/static/MySQL/deprecated/170_ish_tbl_ERP_Order.sql index 64a96a5b..87cd5430 100644 --- a/static/MySQL/deprecated/170_ish_tbl_ERP_Order.sql +++ b/static/MySQL/deprecated/170_ish_tbl_ERP_Order.sql @@ -11,7 +11,7 @@ CREATE TABLE IF NOT EXISTS ERP_Order ( name VARCHAR(100), extension VARCHAR(50), created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_customer INT NOT NULL, CONSTRAINT FK_ERP_Order_id_customer FOREIGN KEY (id_customer) diff --git a/static/MySQL/deprecated/171_tbl_Shop_User_Order.sql b/static/MySQL/deprecated/171_tbl_Shop_User_Order.sql index 62caf770..badaa665 100644 --- a/static/MySQL/deprecated/171_tbl_Shop_User_Order.sql +++ b/static/MySQL/deprecated/171_tbl_Shop_User_Order.sql @@ -25,7 +25,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Order ( ON UPDATE RESTRICT, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set_user INT, CONSTRAINT FK_Shop_User_Order_id_change_set_user FOREIGN KEY (id_change_set_user) diff --git a/static/MySQL/deprecated/173_tbl_Shop_User_Order_Product_Link.sql b/static/MySQL/deprecated/173_tbl_Shop_User_Order_Product_Link.sql index 96f6719e..cd28af28 100644 --- a/static/MySQL/deprecated/173_tbl_Shop_User_Order_Product_Link.sql +++ b/static/MySQL/deprecated/173_tbl_Shop_User_Order_Product_Link.sql @@ -25,7 +25,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Order_Product_Link ( quantity FLOAT NOT NULL, active BIT NOT NULL DEFAULT 1, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INT, CONSTRAINT FK_Shop_User_Order_Product_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/MySQL/deprecated/308_tri_Shop_Recurrence_Interval.sql b/static/MySQL/deprecated/308_tri_Shop_Recurrence_Interval.sql index 12c9cd83..d3088c7d 100644 --- a/static/MySQL/deprecated/308_tri_Shop_Recurrence_Interval.sql +++ b/static/MySQL/deprecated/308_tri_Shop_Recurrence_Interval.sql @@ -13,10 +13,10 @@ CREATE TRIGGER before_insert_Shop_Recurrence_Interval BEFORE INSERT ON Shop_Recurrence_Interval FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -53,4 +53,4 @@ BEGIN WHERE NOT OLD.active <=> NEW.active ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/deprecated/313.1_tri_Shop_Product_Variation_Type_Link.sql b/static/MySQL/deprecated/313.1_tri_Shop_Product_Variation_Type_Link.sql index dab66050..b5c14ee5 100644 --- a/static/MySQL/deprecated/313.1_tri_Shop_Product_Variation_Type_Link.sql +++ b/static/MySQL/deprecated/313.1_tri_Shop_Product_Variation_Type_Link.sql @@ -13,13 +13,13 @@ BEFORE INSERT ON Shop_Product_Variation_Type_Link FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -58,4 +58,4 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/deprecated/316_tri_Shop_Product_Variation_Link.sql b/static/MySQL/deprecated/316_tri_Shop_Product_Variation_Link.sql index 1320103b..50dbcb62 100644 --- a/static/MySQL/deprecated/316_tri_Shop_Product_Variation_Link.sql +++ b/static/MySQL/deprecated/316_tri_Shop_Product_Variation_Link.sql @@ -13,13 +13,13 @@ BEFORE INSERT ON Shop_Product_Variation_Link FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -58,4 +58,4 @@ BEGIN WHERE NOT (OLD.display_order <=> NEW.display_order) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/deprecated/322_tri_Shop_Price.sql b/static/MySQL/deprecated/322_tri_Shop_Price.sql index 8f730c2e..277ca4e6 100644 --- a/static/MySQL/deprecated/322_tri_Shop_Price.sql +++ b/static/MySQL/deprecated/322_tri_Shop_Price.sql @@ -13,10 +13,10 @@ BEFORE INSERT ON Shop_Product_Currency_Region_Link FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; /* SET NEW.price_local = ( @@ -29,7 +29,7 @@ BEGIN ); */ END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -90,4 +90,4 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/deprecated/328_tri_Shop_Product_Delivery_Region_Link.sql b/static/MySQL/deprecated/328_tri_Shop_Product_Delivery_Region_Link.sql index 5504b00a..c14e165b 100644 --- a/static/MySQL/deprecated/328_tri_Shop_Product_Delivery_Region_Link.sql +++ b/static/MySQL/deprecated/328_tri_Shop_Product_Delivery_Region_Link.sql @@ -13,13 +13,13 @@ BEFORE INSERT ON Shop_Product_Delivery_Region_Link FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -54,4 +54,4 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/deprecated/371_tri_Shop_User_Order.sql b/static/MySQL/deprecated/371_tri_Shop_User_Order.sql index dcf7be0b..cbfc2987 100644 --- a/static/MySQL/deprecated/371_tri_Shop_User_Order.sql +++ b/static/MySQL/deprecated/371_tri_Shop_User_Order.sql @@ -13,13 +13,13 @@ BEFORE INSERT ON Shop_User_Order FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -64,4 +64,4 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/deprecated/373_tri_Shop_User_Order_Product_Link.sql b/static/MySQL/deprecated/373_tri_Shop_User_Order_Product_Link.sql index f877e641..16a324fd 100644 --- a/static/MySQL/deprecated/373_tri_Shop_User_Order_Product_Link.sql +++ b/static/MySQL/deprecated/373_tri_Shop_User_Order_Product_Link.sql @@ -13,13 +13,13 @@ BEFORE INSERT ON Shop_User_Order_Product_Link FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END // -DELIMITER ; +DELIMITER ;; DELIMITER // @@ -52,4 +52,4 @@ BEGIN WHERE NOT (OLD.active <=> NEW.active) ; END // -DELIMITER ; \ No newline at end of file +DELIMITER ;; \ No newline at end of file diff --git a/static/MySQL/deprecated/7000_p_shop_get_many_role_permission.sql b/static/MySQL/deprecated/7000_p_shop_get_many_role_permission.sql index e1013cc1..43d0b02f 100644 --- a/static/MySQL/deprecated/7000_p_shop_get_many_role_permission.sql +++ b/static/MySQL/deprecated/7000_p_shop_get_many_role_permission.sql @@ -127,5 +127,5 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_Product; DROP TABLE IF EXISTS tmp_Shop_Image; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/deprecated/7000_p_shop_get_many_user_order.sql b/static/MySQL/deprecated/7000_p_shop_get_many_user_order.sql index 33c37952..207846c1 100644 --- a/static/MySQL/deprecated/7000_p_shop_get_many_user_order.sql +++ b/static/MySQL/deprecated/7000_p_shop_get_many_user_order.sql @@ -255,7 +255,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_User; DROP TABLE IF EXISTS tmp_Shop_Order; END // -DELIMITER ; +DELIMITER ;; /* diff --git a/static/MySQL/deprecated/706_p_shop_get_product.sql b/static/MySQL/deprecated/706_p_shop_get_product.sql index 831eea3b..15fd3d94 100644 --- a/static/MySQL/deprecated/706_p_shop_get_product.sql +++ b/static/MySQL/deprecated/706_p_shop_get_product.sql @@ -633,7 +633,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_Variation; DROP TABLE IF EXISTS tmp_Shop_Product; END // -DELIMITER ; +DELIMITER ;; diff --git a/static/MySQL/9020_edit_permissions.sql b/static/MySQL/deprecated/9020_edit_permissions.sql similarity index 100% rename from static/MySQL/9020_edit_permissions.sql rename to static/MySQL/deprecated/9020_edit_permissions.sql diff --git a/static/MySQL/deprecated/dump.sql b/static/MySQL/deprecated/dump.sql index 3937b439..63450d0f 100644 --- a/static/MySQL/deprecated/dump.sql +++ b/static/MySQL/deprecated/dump.sql @@ -54,12 +54,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_File_Type` BEFORE INSERT ON `file_type` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -72,7 +72,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_File_Type` BEFORE UPDATE ON `file_type` FOR EACH ROW BEGIN INSERT INTO File_Type_Audit ( id_type, @@ -93,7 +93,7 @@ DELIMITER ;; WHERE NOT OLD.extension <=> NEW.extension ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -138,12 +138,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_File_Type_Audit` BEFORE INSERT ON `file_type_audit` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -156,12 +156,12 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_File_Type_Audit` BEFORE UPDATE ON `file_type_audit` FOR EACH ROW BEGIN SET NEW.updated_last_on = NOW(); SET NEW.updated_last_by = CURRENT_USER(); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -207,16 +207,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Access_Level` BEFORE INSERT ON `shop_access_level` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -229,7 +229,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Access_Level` BEFORE UPDATE ON `shop_access_level` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -264,7 +264,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -348,16 +348,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Address` BEFORE INSERT ON `shop_address` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -370,7 +370,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Address` BEFORE UPDATE ON `shop_address` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -421,7 +421,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -498,12 +498,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Category` BEFORE INSERT ON `shop_category` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -516,7 +516,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Category` BEFORE UPDATE ON `shop_category` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -551,7 +551,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -629,16 +629,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Currency` BEFORE INSERT ON `shop_currency` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -651,7 +651,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Currency` BEFORE UPDATE ON `shop_currency` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -690,7 +690,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -771,12 +771,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Delivery_Option` BEFORE INSERT ON `shop_delivery_option` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -789,7 +789,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Delivery_Option` BEFORE UPDATE ON `shop_delivery_option` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -836,7 +836,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -926,12 +926,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Discount` BEFORE INSERT ON `shop_discount` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -944,7 +944,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Discount` BEFORE UPDATE ON `shop_discount` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1003,7 +1003,7 @@ DELIMITER ;; WHERE NOT OLD.active <=> NEW.active ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1085,16 +1085,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Discount_Region_Currency_Link` BEFORE INSERT ON `shop_discount_region_currency_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1107,7 +1107,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Discount_Region_Currency_Link` BEFORE UPDATE ON `shop_discount_region_currency_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1136,7 +1136,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1209,12 +1209,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_General` BEFORE INSERT ON `shop_general` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1227,7 +1227,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_General` BEFORE UPDATE ON `shop_general` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1246,7 +1246,7 @@ DELIMITER ;; WHERE NOT OLD.quantity_max <=> NEW.quantity_max ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1333,12 +1333,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Image` BEFORE INSERT ON `shop_image` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1351,7 +1351,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Image` BEFORE UPDATE ON `shop_image` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1398,7 +1398,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1475,12 +1475,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Image_Type` BEFORE INSERT ON `shop_image_type` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1493,7 +1493,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Image_Type` BEFORE UPDATE ON `shop_image_type` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1528,7 +1528,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1636,16 +1636,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Permission` BEFORE INSERT ON `shop_permission` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1658,7 +1658,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Permission` BEFORE UPDATE ON `shop_permission` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1697,7 +1697,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1773,16 +1773,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Permission_Group` BEFORE INSERT ON `shop_permission_group` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1795,7 +1795,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Permission_Group` BEFORE UPDATE ON `shop_permission_group` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1826,7 +1826,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1906,12 +1906,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product` BEFORE INSERT ON `shop_product` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1924,7 +1924,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product` BEFORE UPDATE ON `shop_product` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -2069,7 +2069,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2138,7 +2138,7 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Change_Set` BEFORE INSERT ON `shop_product_change_set` FOR EACH ROW BEGIN IF NEW.updated_last_on <=> NULL THEN SET NEW.updated_last_on = NOW(); @@ -2147,7 +2147,7 @@ DELIMITER ;; SET NEW.updated_last_by = CURRENT_USER(); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2203,13 +2203,13 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Currency_Link` BEFORE INSERT ON `shop_product_currency_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; /* SET NEW.price_local = ( @@ -2222,7 +2222,7 @@ DELIMITER ;; ); */ END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2235,7 +2235,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Currency_Link` BEFORE UPDATE ON `shop_product_currency_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -2290,7 +2290,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2378,13 +2378,13 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Currency_Region_Link` BEFORE INSERT ON `shop_product_currency_region_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; /* SET NEW.price_local = ( @@ -2397,7 +2397,7 @@ DELIMITER ;; ); */ END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2410,7 +2410,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Currency_Region_Link` BEFORE UPDATE ON `shop_product_currency_region_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -2465,7 +2465,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2555,16 +2555,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Delivery_Option_Link` BEFORE INSERT ON `shop_product_delivery_option_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2577,7 +2577,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Delivery_Option_Link` BEFORE UPDATE ON `shop_product_delivery_option_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -2622,7 +2622,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2718,16 +2718,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Permutation` BEFORE INSERT ON `shop_product_permutation` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2740,7 +2740,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Permutation` BEFORE UPDATE ON `shop_product_permutation` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -2839,7 +2839,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2919,16 +2919,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Permutation_Variation_Link` BEFORE INSERT ON `shop_product_permutation_variation_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2941,7 +2941,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Permutation_Variation_Link` BEFORE UPDATE ON `shop_product_permutation_variation_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -2974,7 +2974,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3050,12 +3050,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Recurrence_Interval` BEFORE INSERT ON `shop_recurrence_interval` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3068,7 +3068,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Recurrence_Interval` BEFORE UPDATE ON `shop_recurrence_interval` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3099,7 +3099,7 @@ DELIMITER ;; WHERE NOT OLD.active <=> NEW.active ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3175,12 +3175,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Region` BEFORE INSERT ON `shop_region` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3193,7 +3193,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Region` BEFORE UPDATE ON `shop_region` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3224,7 +3224,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3303,12 +3303,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Region_Branch` BEFORE INSERT ON `shop_region_branch` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3321,7 +3321,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Region_Branch` BEFORE UPDATE ON `shop_region_branch` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3350,7 +3350,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3426,16 +3426,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Role` BEFORE INSERT ON `shop_role` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3448,7 +3448,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Role` BEFORE UPDATE ON `shop_role` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3479,7 +3479,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3561,16 +3561,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Role_Permission_Link` BEFORE INSERT ON `shop_role_permission_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3583,7 +3583,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Role_Permission_Link` BEFORE UPDATE ON `shop_role_permission_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3616,7 +3616,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3707,12 +3707,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Tax_Or_Surcharge` BEFORE INSERT ON `shop_tax_or_surcharge` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3725,7 +3725,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Tax_Or_Surcharge` BEFORE UPDATE ON `shop_tax_or_surcharge` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3776,7 +3776,7 @@ DELIMITER ;; WHERE NOT OLD.active <=> NEW.active ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3853,16 +3853,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User` BEFORE INSERT ON `shop_user` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3875,7 +3875,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User` BEFORE UPDATE ON `shop_user` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3902,7 +3902,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3985,16 +3985,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Basket` BEFORE INSERT ON `shop_user_basket` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4007,7 +4007,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Basket` BEFORE UPDATE ON `shop_user_basket` FOR EACH ROW BEGIN IF NEW.id_change_set_user <=> OLD.id_change_set_user THEN SIGNAL SQLSTATE '45000' @@ -4038,7 +4038,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4107,7 +4107,7 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Change_Set` BEFORE INSERT ON `shop_user_change_set` FOR EACH ROW BEGIN IF NEW.updated_last_on <=> NULL THEN SET NEW.updated_last_on = NOW(); @@ -4116,7 +4116,7 @@ DELIMITER ;; SET NEW.updated_last_by = CURRENT_USER(); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4169,16 +4169,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Order` BEFORE INSERT ON `shop_user_order` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4191,7 +4191,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Order` BEFORE UPDATE ON `shop_user_order` FOR EACH ROW BEGIN IF OLD.id_change_set_user <=> NEW.id_change_set_user THEN SIGNAL SQLSTATE '45000' @@ -4230,7 +4230,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4313,16 +4313,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Order_Product_Link` BEFORE INSERT ON `shop_user_order_product_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4335,7 +4335,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Order_Product_Link` BEFORE UPDATE ON `shop_user_order_product_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -4362,7 +4362,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4439,12 +4439,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Order_Status` BEFORE INSERT ON `shop_user_order_status` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4457,7 +4457,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Order_Status` BEFORE UPDATE ON `shop_user_order_status` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -4492,7 +4492,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4571,16 +4571,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Role_Link` BEFORE INSERT ON `shop_user_role_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4593,7 +4593,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Role_Link` BEFORE UPDATE ON `shop_user_role_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -4612,7 +4612,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4691,12 +4691,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Variation` BEFORE INSERT ON `shop_variation` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4709,7 +4709,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Variation` BEFORE UPDATE ON `shop_variation` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -4740,7 +4740,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4817,12 +4817,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Variation_Type` BEFORE INSERT ON `shop_variation_type` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4835,7 +4835,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Variation_Type` BEFORE UPDATE ON `shop_variation_type` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -4870,7 +4870,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4950,7 +4950,7 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_edit_user`( IN a_id_user INT, IN a_name VARCHAR(255), @@ -5097,7 +5097,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Msg_Error; DROP TABLE IF EXISTS tmp_Shop_User; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -5111,7 +5111,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_edit_user_basket`( IN a_id_user INT, IN a_ids_permutation_basket VARCHAR(4000), @@ -5862,7 +5862,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_Product; DROP TABLE IF EXISTS tmp_Shop_User; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -5876,7 +5876,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_currency`( IN a_get_inactive_currency BIT ) @@ -5898,7 +5898,7 @@ BEGIN ORDER BY C.display_order ; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -5912,7 +5912,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_product`( IN a_id_user INT, IN a_get_all_category BIT, @@ -6976,7 +6976,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_Product; DROP TABLE IF EXISTS tmp_Shop_Product_Category; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -6990,7 +6990,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_region`( IN a_get_inactive_region BIT ) @@ -7011,7 +7011,7 @@ BEGIN ORDER BY R.display_order ; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -7025,7 +7025,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_stripe_price_new`( IN a_id_user INT ) @@ -7239,7 +7239,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_User; DROP TABLE IF EXISTS tmp_Shop_Product_Currency_Link; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -7253,7 +7253,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_stripe_product_new`( IN a_id_user INT ) @@ -7516,7 +7516,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_Product; DROP TABLE IF EXISTS tmp_Shop_User; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -7530,7 +7530,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_user_order`( IN a_id_user INT, IN a_ids_order VARCHAR(4000), @@ -7768,7 +7768,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_User; DROP TABLE IF EXISTS tmp_Shop_Order; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -7782,7 +7782,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_user_eval`( IN a_guid BINARY(36), IN a_id_user INT, @@ -8217,7 +8217,7 @@ BEGIN # DROP TEMPORARY TABLE IF EXISTS tmp_User_Role_Link; # DROP TABLE IF EXISTS tmp_Msg_Error; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; diff --git a/static/MySQL/deprecated/dump2.sql b/static/MySQL/deprecated/dump2.sql index 08900887..450d859c 100644 --- a/static/MySQL/deprecated/dump2.sql +++ b/static/MySQL/deprecated/dump2.sql @@ -54,12 +54,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_File_Type` BEFORE INSERT ON `file_type` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -72,7 +72,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_File_Type` BEFORE UPDATE ON `file_type` FOR EACH ROW BEGIN INSERT INTO File_Type_Audit ( id_type, @@ -93,7 +93,7 @@ DELIMITER ;; WHERE NOT OLD.extension <=> NEW.extension ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -138,12 +138,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_File_Type_Audit` BEFORE INSERT ON `file_type_audit` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -156,12 +156,12 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_File_Type_Audit` BEFORE UPDATE ON `file_type_audit` FOR EACH ROW BEGIN SET NEW.updated_last_on = NOW(); SET NEW.updated_last_by = CURRENT_USER(); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -207,16 +207,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Access_Level` BEFORE INSERT ON `shop_access_level` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -229,7 +229,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Access_Level` BEFORE UPDATE ON `shop_access_level` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -264,7 +264,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -348,16 +348,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Address` BEFORE INSERT ON `shop_address` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -370,7 +370,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Address` BEFORE UPDATE ON `shop_address` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -421,7 +421,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -498,12 +498,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Category` BEFORE INSERT ON `shop_category` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -516,7 +516,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Category` BEFORE UPDATE ON `shop_category` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -551,7 +551,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -629,16 +629,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Currency` BEFORE INSERT ON `shop_currency` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -651,7 +651,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Currency` BEFORE UPDATE ON `shop_currency` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -690,7 +690,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -771,12 +771,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Delivery_Option` BEFORE INSERT ON `shop_delivery_option` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -789,7 +789,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Delivery_Option` BEFORE UPDATE ON `shop_delivery_option` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -836,7 +836,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -926,12 +926,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Discount` BEFORE INSERT ON `shop_discount` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -944,7 +944,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Discount` BEFORE UPDATE ON `shop_discount` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1003,7 +1003,7 @@ DELIMITER ;; WHERE NOT OLD.active <=> NEW.active ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1085,16 +1085,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Discount_Region_Currency_Link` BEFORE INSERT ON `shop_discount_region_currency_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1107,7 +1107,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Discount_Region_Currency_Link` BEFORE UPDATE ON `shop_discount_region_currency_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1136,7 +1136,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1209,12 +1209,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_General` BEFORE INSERT ON `shop_general` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1227,7 +1227,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_General` BEFORE UPDATE ON `shop_general` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1246,7 +1246,7 @@ DELIMITER ;; WHERE NOT OLD.quantity_max <=> NEW.quantity_max ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1333,12 +1333,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Image` BEFORE INSERT ON `shop_image` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1351,7 +1351,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Image` BEFORE UPDATE ON `shop_image` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1398,7 +1398,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1475,12 +1475,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Image_Type` BEFORE INSERT ON `shop_image_type` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1493,7 +1493,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Image_Type` BEFORE UPDATE ON `shop_image_type` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1528,7 +1528,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1636,16 +1636,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Permission` BEFORE INSERT ON `shop_permission` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1658,7 +1658,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Permission` BEFORE UPDATE ON `shop_permission` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1697,7 +1697,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1773,16 +1773,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Permission_Group` BEFORE INSERT ON `shop_permission_group` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1795,7 +1795,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Permission_Group` BEFORE UPDATE ON `shop_permission_group` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -1826,7 +1826,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1906,12 +1906,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product` BEFORE INSERT ON `shop_product` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -1924,7 +1924,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product` BEFORE UPDATE ON `shop_product` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -2069,7 +2069,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2138,7 +2138,7 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Change_Set` BEFORE INSERT ON `shop_product_change_set` FOR EACH ROW BEGIN IF NEW.updated_last_on <=> NULL THEN SET NEW.updated_last_on = NOW(); @@ -2147,7 +2147,7 @@ DELIMITER ;; SET NEW.updated_last_by = CURRENT_USER(); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2203,13 +2203,13 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Currency_Link` BEFORE INSERT ON `shop_product_currency_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; /* SET NEW.price_local = ( @@ -2222,7 +2222,7 @@ DELIMITER ;; ); */ END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2235,7 +2235,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Currency_Link` BEFORE UPDATE ON `shop_product_currency_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -2290,7 +2290,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2378,13 +2378,13 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Currency_Region_Link` BEFORE INSERT ON `shop_product_currency_region_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; /* SET NEW.price_local = ( @@ -2397,7 +2397,7 @@ DELIMITER ;; ); */ END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2410,7 +2410,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Currency_Region_Link` BEFORE UPDATE ON `shop_product_currency_region_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -2465,7 +2465,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2555,16 +2555,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Delivery_Option_Link` BEFORE INSERT ON `shop_product_delivery_option_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2577,7 +2577,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Delivery_Option_Link` BEFORE UPDATE ON `shop_product_delivery_option_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -2622,7 +2622,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2718,16 +2718,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Permutation` BEFORE INSERT ON `shop_product_permutation` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2740,7 +2740,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Permutation` BEFORE UPDATE ON `shop_product_permutation` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -2839,7 +2839,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2919,16 +2919,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Permutation_Variation_Link` BEFORE INSERT ON `shop_product_permutation_variation_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -2941,7 +2941,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Permutation_Variation_Link` BEFORE UPDATE ON `shop_product_permutation_variation_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -2974,7 +2974,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3050,12 +3050,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Recurrence_Interval` BEFORE INSERT ON `shop_recurrence_interval` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3068,7 +3068,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Recurrence_Interval` BEFORE UPDATE ON `shop_recurrence_interval` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3099,7 +3099,7 @@ DELIMITER ;; WHERE NOT OLD.active <=> NEW.active ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3175,12 +3175,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Region` BEFORE INSERT ON `shop_region` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3193,7 +3193,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Region` BEFORE UPDATE ON `shop_region` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3224,7 +3224,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3303,12 +3303,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Region_Branch` BEFORE INSERT ON `shop_region_branch` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3321,7 +3321,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Region_Branch` BEFORE UPDATE ON `shop_region_branch` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3350,7 +3350,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3426,16 +3426,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Role` BEFORE INSERT ON `shop_role` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3448,7 +3448,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Role` BEFORE UPDATE ON `shop_role` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3479,7 +3479,7 @@ DELIMITER ;; WHERE NOT OLD.display_order <=> NEW.display_order ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3561,16 +3561,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Role_Permission_Link` BEFORE INSERT ON `shop_role_permission_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3583,7 +3583,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Role_Permission_Link` BEFORE UPDATE ON `shop_role_permission_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3616,7 +3616,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3707,12 +3707,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Tax_Or_Surcharge` BEFORE INSERT ON `shop_tax_or_surcharge` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3725,7 +3725,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Tax_Or_Surcharge` BEFORE UPDATE ON `shop_tax_or_surcharge` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3776,7 +3776,7 @@ DELIMITER ;; WHERE NOT OLD.active <=> NEW.active ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3853,16 +3853,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User` BEFORE INSERT ON `shop_user` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3875,7 +3875,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User` BEFORE UPDATE ON `shop_user` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -3902,7 +3902,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -3985,16 +3985,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Basket` BEFORE INSERT ON `shop_user_basket` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4007,7 +4007,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Basket` BEFORE UPDATE ON `shop_user_basket` FOR EACH ROW BEGIN IF NEW.id_change_set_user <=> OLD.id_change_set_user THEN SIGNAL SQLSTATE '45000' @@ -4038,7 +4038,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4107,7 +4107,7 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Change_Set` BEFORE INSERT ON `shop_user_change_set` FOR EACH ROW BEGIN IF NEW.updated_last_on <=> NULL THEN SET NEW.updated_last_on = NOW(); @@ -4116,7 +4116,7 @@ DELIMITER ;; SET NEW.updated_last_by = CURRENT_USER(); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4169,16 +4169,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Order` BEFORE INSERT ON `shop_user_order` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4191,7 +4191,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Order` BEFORE UPDATE ON `shop_user_order` FOR EACH ROW BEGIN IF OLD.id_change_set_user <=> NEW.id_change_set_user THEN SIGNAL SQLSTATE '45000' @@ -4230,7 +4230,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4313,16 +4313,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Order_Product_Link` BEFORE INSERT ON `shop_user_order_product_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4335,7 +4335,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Order_Product_Link` BEFORE UPDATE ON `shop_user_order_product_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -4362,7 +4362,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4439,12 +4439,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Order_Status` BEFORE INSERT ON `shop_user_order_status` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4457,7 +4457,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Order_Status` BEFORE UPDATE ON `shop_user_order_status` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -4492,7 +4492,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4571,16 +4571,16 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Role_Link` BEFORE INSERT ON `shop_user_role_link` FOR EACH ROW BEGIN IF NEW.created_on <=> NULL THEN - SET NEW.created_on = NOW(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); END IF; IF NEW.created_by <=> NULL THEN - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END IF; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4593,7 +4593,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Role_Link` BEFORE UPDATE ON `shop_user_role_link` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -4612,7 +4612,7 @@ DELIMITER ;; WHERE NOT (OLD.active <=> NEW.active) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4691,12 +4691,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Variation` BEFORE INSERT ON `shop_variation` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4709,7 +4709,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Variation` BEFORE UPDATE ON `shop_variation` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -4740,7 +4740,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4817,12 +4817,12 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Variation_Type` BEFORE INSERT ON `shop_variation_type` FOR EACH ROW BEGIN - SET NEW.created_on = NOW(); - SET NEW.created_by = CURRENT_USER(); + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1)); END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4835,7 +4835,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Variation_Type` BEFORE UPDATE ON `shop_variation_type` FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' @@ -4870,7 +4870,7 @@ DELIMITER ;; WHERE NOT (OLD.display_order <=> NEW.display_order) ; END */;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -4950,7 +4950,7 @@ UNLOCK TABLES; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_edit_user`( IN a_id_user INT, IN a_name VARCHAR(255), @@ -5097,7 +5097,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Msg_Error; DROP TABLE IF EXISTS tmp_Shop_User; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -5111,7 +5111,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_edit_user_basket`( IN a_id_user INT, IN a_ids_permutation_basket VARCHAR(4000), @@ -5862,7 +5862,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_Product; DROP TABLE IF EXISTS tmp_Shop_User; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -5876,7 +5876,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_currency`( IN a_get_inactive_currency BIT ) @@ -5898,7 +5898,7 @@ BEGIN ORDER BY C.display_order ; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -5912,7 +5912,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_product`( IN a_id_user INT, IN a_get_all_category BIT, @@ -6976,7 +6976,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_Product; DROP TABLE IF EXISTS tmp_Shop_Product_Category; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -6990,7 +6990,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_region`( IN a_get_inactive_region BIT ) @@ -7011,7 +7011,7 @@ BEGIN ORDER BY R.display_order ; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -7025,7 +7025,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_stripe_price_new`( IN a_id_user INT ) @@ -7239,7 +7239,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_User; DROP TABLE IF EXISTS tmp_Shop_Product_Currency_Link; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -7253,7 +7253,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_stripe_product_new`( IN a_id_user INT ) @@ -7516,7 +7516,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_Product; DROP TABLE IF EXISTS tmp_Shop_User; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -7530,7 +7530,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_user_order`( IN a_id_user INT, IN a_ids_order VARCHAR(4000), @@ -7768,7 +7768,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Shop_User; DROP TABLE IF EXISTS tmp_Shop_Order; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; @@ -7782,7 +7782,7 @@ DELIMITER ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; +DELIMITER ;;; CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_user_eval`( IN a_guid BINARY(36), IN a_id_user INT, @@ -8217,7 +8217,7 @@ BEGIN # DROP TEMPORARY TABLE IF EXISTS tmp_User_Role_Link; # DROP TABLE IF EXISTS tmp_Msg_Error; END ;; -DELIMITER ; +DELIMITER ;; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; diff --git a/static/MySQL/temp.txt b/static/MySQL/temp.txt index a7643315..cc5d1c8a 100644 --- a/static/MySQL/temp.txt +++ b/static/MySQL/temp.txt @@ -36,8 +36,9 @@ 1122_tbl_Shop_Unit_Measurement_Audit.sql 1124_tbl_Shop_Unit_Measurement_Conversion.sql 1125_tbl_Shop_Unit_Measurement_Conversion_Audit.sql -1200_tbl_Shop_Category.sql -1201_tbl_Shop_Category_Audit.sql +1200_tbl_Shop_Product_Category.sql +1201_tbl_Shop_Product_Category_Audit.sql +1202_tbl_Shop_Product_Category_Temp.sql 1203_tbl_Shop_Product.sql 1204_tbl_Shop_Product_Audit.sql 1205_tbl_Shop_Product_Temp.sql @@ -156,6 +157,8 @@ 6501_p_clear_shop_user_eval_temp.sql 7101_p_shop_get_many_region.sql 7116_p_shop_get_many_currency.sql +7200_p_shop_save_product_category.sql +7200_p_shop_save_product_category_test.sql 7203_p_shop_save_product.sql 7204_p_shop_get_many_product.sql 7205_p_shop_get_many_stripe_product_new.sql @@ -180,4 +183,3 @@ 9000_populate.sql 9001_view.sql 9010_anal.sql -9020_edit_permissions.sql diff --git a/static/PostgreSQL/000_combine.sql b/static/PostgreSQL/000_combine.sql index b4dbcb22..43cd95ef 100644 --- a/static/PostgreSQL/000_combine.sql +++ b/static/PostgreSQL/000_combine.sql @@ -329,7 +329,7 @@ CREATE TABLE IF NOT EXISTS Shop_Access_Level ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Access_Level_id_change_set FOREIGN KEY (id_change_set) @@ -393,7 +393,7 @@ CREATE TABLE IF NOT EXISTS File_Type ( name VARCHAR(100), extension VARCHAR(50), created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP, updated_last_by VARCHAR(100) ); @@ -415,7 +415,7 @@ CREATE TABLE IF NOT EXISTS File_Type_Audit ( value_prev VARCHAR(100), value_new VARCHAR(100), created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP, updated_last_by VARCHAR(100) ); @@ -429,7 +429,7 @@ CREATE TABLE IF NOT EXISTS Shop_General ( id_general INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY, quantity_max REAL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT CHK_Shop_General_id_change_set FOREIGN KEY (id_change_set) @@ -470,7 +470,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Category ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Product_Category_id_change_set FOREIGN KEY (id_change_set) @@ -512,7 +512,7 @@ CREATE TABLE IF NOT EXISTS Shop_Recurrence_Interval ( name_plural VARCHAR(256), active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Recurrence_Interval_id_change_set FOREIGN KEY (id_change_set) @@ -554,7 +554,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Region_id_change_set FOREIGN KEY (id_change_set) @@ -603,7 +603,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Branch ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Region_Branch_id_change_set FOREIGN KEY (id_change_set) @@ -645,7 +645,7 @@ CREATE TABLE IF NOT EXISTS Shop_Currency ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Currency_id_change_set FOREIGN KEY (id_change_set) @@ -705,7 +705,7 @@ CREATE TABLE Shop_Tax_Or_Surcharge ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Tax_Or_Surcharge_id_change_set FOREIGN KEY (id_change_set) @@ -775,7 +775,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Product_id_change_set FOREIGN KEY (id_change_set) @@ -817,7 +817,7 @@ CREATE TABLE IF NOT EXISTS Shop_Variation_Type ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Variation_Type_id_change_set FOREIGN KEY (id_change_set) @@ -863,7 +863,7 @@ CREATE TABLE Shop_Variation ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Variation_id_change_set FOREIGN KEY (id_change_set) @@ -932,7 +932,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Product_Variation_Link_id_change_set FOREIGN KEY (id_change_set) @@ -983,7 +983,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Variation_Link ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Product_Permutation_Variation_Link_id_change_set FOREIGN KEY (id_change_set) @@ -1045,7 +1045,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Currency_Region_Link ( id_stripe_price VARCHAR(200), active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Product_Currency_Region_Link_id_change_set FOREIGN KEY (id_change_set) @@ -1087,7 +1087,7 @@ CREATE TABLE IF NOT EXISTS Shop_Image_Type ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Image_Type_id_change_set FOREIGN KEY (id_change_set) @@ -1143,7 +1143,7 @@ CREATE TABLE IF NOT EXISTS Shop_Image ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Image_id_change_set FOREIGN KEY (id_change_set) @@ -1187,7 +1187,7 @@ CREATE TABLE IF NOT EXISTS Shop_Delivery_Option ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Delivery_Option_Type_id_change_set FOREIGN KEY (id_change_set) @@ -1252,7 +1252,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Delivery_Option_Link ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Product_Delivery_Option_Link_id_change_set FOREIGN KEY (id_change_set) @@ -1320,7 +1320,7 @@ CREATE TABLE Shop_Discount ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Discount_id_change_set FOREIGN KEY (id_change_set) @@ -1374,7 +1374,7 @@ CREATE TABLE IF NOT EXISTS Shop_Discount_Region_Currency_Link ( ON UPDATE RESTRICT, active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Discount_Region_Currency_Link_id_change_set FOREIGN KEY (id_change_set) @@ -1415,7 +1415,7 @@ CREATE TABLE IF NOT EXISTS Shop_Permission_Group ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Permission_Group_id_change_set FOREIGN KEY (id_change_set) @@ -1466,7 +1466,7 @@ CREATE TABLE IF NOT EXISTS Shop_Permission ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Permission_id_change_set FOREIGN KEY (id_change_set) @@ -1507,7 +1507,7 @@ CREATE TABLE IF NOT EXISTS Shop_Role ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Role_id_change_set FOREIGN KEY (id_change_set) @@ -1559,7 +1559,7 @@ CREATE TABLE IF NOT EXISTS Shop_Role_Permission_Link ( REFERENCES Shop_Access_Level(id_access_level), active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Role_Permission_Link_id_change_set FOREIGN KEY (id_change_set) @@ -1601,7 +1601,7 @@ CREATE TABLE IF NOT EXISTS Shop_User ( is_super_user BOOLEAN NOT NULL DEFAULT FALSE, active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_User_id_change_set FOREIGN KEY (id_change_set) @@ -1649,7 +1649,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Role_Link ( REFERENCES Shop_Role(id_role), active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_User_Role_Link_id_change_set FOREIGN KEY (id_change_set) @@ -1703,7 +1703,7 @@ CREATE TABLE Shop_Address ( county VARCHAR(100) NOT NULL, active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Address_id_change_set FOREIGN KEY (id_change_set) @@ -1757,7 +1757,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Basket ( quantity INTEGER NOT NULL, active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set_user INTEGER, CONSTRAINT FK_Shop_User_Basket_id_change_set_user FOREIGN KEY (id_change_set_user) @@ -1811,7 +1811,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Order_Status ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_User_Order_Status_id_change_set FOREIGN KEY (id_change_set) @@ -1864,7 +1864,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier ( REFERENCES Shop_Currency(id_currency), active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Supplier_id_change_set FOREIGN KEY (id_change_set) @@ -1908,7 +1908,7 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement ( active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Unit_Measurement_id_change_set FOREIGN KEY (id_change_set) @@ -1952,7 +1952,7 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Conversion ( increment_unit_base REAL NOT NULL, active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Unit_Measurement_Conversion_id_change_set FOREIGN KEY (id_change_set) @@ -2013,7 +2013,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order ( */ active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INTEGER NULL, @@ -2072,7 +2072,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link ( display_order INTEGER NOT NULL, active BOOLEAN NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INTEGER NULL, @@ -2161,7 +2161,7 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order ( */ active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INTEGER NULL, @@ -2221,7 +2221,7 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link ( display_order INTEGER NOT NULL, active BOOLEAN NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INTEGER NULL, @@ -2309,7 +2309,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer ( REFERENCES Shop_Currency(id_currency), active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Customer_id_change_set FOREIGN KEY (id_change_set) @@ -2364,7 +2364,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order ( */ active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INTEGER NULL, @@ -2424,7 +2424,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Product_Link ( active BOOLEAN NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INTEGER NULL, @@ -14915,7 +14915,7 @@ VALUES /* -- Clean up END // -DELIMITER ; +DELIMITER ;; -- Call diff --git a/static/PostgreSQL/100.2_tbl_Shop_Access_Level.sql b/static/PostgreSQL/100.2_tbl_Shop_Access_Level.sql index 8b18bf98..4921d6d2 100644 --- a/static/PostgreSQL/100.2_tbl_Shop_Access_Level.sql +++ b/static/PostgreSQL/100.2_tbl_Shop_Access_Level.sql @@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS Shop_Access_Level ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Access_Level_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/102_tbl_File_Type.sql b/static/PostgreSQL/102_tbl_File_Type.sql index 011bff33..24823251 100644 --- a/static/PostgreSQL/102_tbl_File_Type.sql +++ b/static/PostgreSQL/102_tbl_File_Type.sql @@ -11,7 +11,7 @@ CREATE TABLE IF NOT EXISTS File_Type ( name VARCHAR(100), extension VARCHAR(50), created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP, updated_last_by VARCHAR(100) ); diff --git a/static/PostgreSQL/103_tbl_File_Type_Audit.sql b/static/PostgreSQL/103_tbl_File_Type_Audit.sql index 7ec500fe..895a3f45 100644 --- a/static/PostgreSQL/103_tbl_File_Type_Audit.sql +++ b/static/PostgreSQL/103_tbl_File_Type_Audit.sql @@ -16,7 +16,7 @@ CREATE TABLE IF NOT EXISTS File_Type_Audit ( value_prev VARCHAR(100), value_new VARCHAR(100), created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP, updated_last_by VARCHAR(100) ); \ No newline at end of file diff --git a/static/PostgreSQL/104_tbl_Shop_General.sql b/static/PostgreSQL/104_tbl_Shop_General.sql index f0827624..087e8209 100644 --- a/static/PostgreSQL/104_tbl_Shop_General.sql +++ b/static/PostgreSQL/104_tbl_Shop_General.sql @@ -9,7 +9,7 @@ CREATE TABLE IF NOT EXISTS Shop_General ( id_general INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY, quantity_max REAL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT CHK_Shop_General_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/106_tbl_Shop_Category.sql b/static/PostgreSQL/106_tbl_Shop_Category.sql index 1cb95977..28e3e698 100644 --- a/static/PostgreSQL/106_tbl_Shop_Category.sql +++ b/static/PostgreSQL/106_tbl_Shop_Category.sql @@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Category ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Product_Category_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/108_tbl_Shop_Recurrence_Interval.sql b/static/PostgreSQL/108_tbl_Shop_Recurrence_Interval.sql index 9c5edb1e..95d974ca 100644 --- a/static/PostgreSQL/108_tbl_Shop_Recurrence_Interval.sql +++ b/static/PostgreSQL/108_tbl_Shop_Recurrence_Interval.sql @@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_Recurrence_Interval ( name_plural VARCHAR(256), active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Recurrence_Interval_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/110.0_tbl_Shop_Region.sql b/static/PostgreSQL/110.0_tbl_Shop_Region.sql index 77f7d753..c5246629 100644 --- a/static/PostgreSQL/110.0_tbl_Shop_Region.sql +++ b/static/PostgreSQL/110.0_tbl_Shop_Region.sql @@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Region_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/110.2_tbl_Shop_Region_Branch.sql b/static/PostgreSQL/110.2_tbl_Shop_Region_Branch.sql index 200021c1..42e1ae32 100644 --- a/static/PostgreSQL/110.2_tbl_Shop_Region_Branch.sql +++ b/static/PostgreSQL/110.2_tbl_Shop_Region_Branch.sql @@ -21,7 +21,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Branch ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Region_Branch_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/110.4_tbl_Shop_Currency.sql b/static/PostgreSQL/110.4_tbl_Shop_Currency.sql index 6219ea7c..5e3b6530 100644 --- a/static/PostgreSQL/110.4_tbl_Shop_Currency.sql +++ b/static/PostgreSQL/110.4_tbl_Shop_Currency.sql @@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS Shop_Currency ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Currency_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/110.6_tbl_Shop_Tax_Or_Surcharge.sql b/static/PostgreSQL/110.6_tbl_Shop_Tax_Or_Surcharge.sql index 1984c243..77ba8f90 100644 --- a/static/PostgreSQL/110.6_tbl_Shop_Tax_Or_Surcharge.sql +++ b/static/PostgreSQL/110.6_tbl_Shop_Tax_Or_Surcharge.sql @@ -30,7 +30,7 @@ CREATE TABLE Shop_Tax_Or_Surcharge ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Tax_Or_Surcharge_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/110.8_tbl_Shop_Product.sql b/static/PostgreSQL/110.8_tbl_Shop_Product.sql index ed04d15f..67e3019d 100644 --- a/static/PostgreSQL/110.8_tbl_Shop_Product.sql +++ b/static/PostgreSQL/110.8_tbl_Shop_Product.sql @@ -40,7 +40,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Product_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/112_tbl_Shop_Variation_Type.sql b/static/PostgreSQL/112_tbl_Shop_Variation_Type.sql index c7c61557..8a77d963 100644 --- a/static/PostgreSQL/112_tbl_Shop_Variation_Type.sql +++ b/static/PostgreSQL/112_tbl_Shop_Variation_Type.sql @@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS Shop_Variation_Type ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Variation_Type_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/114_tbl_Shop_Variation.sql b/static/PostgreSQL/114_tbl_Shop_Variation.sql index f96cdbc9..8f0ae1ae 100644 --- a/static/PostgreSQL/114_tbl_Shop_Variation.sql +++ b/static/PostgreSQL/114_tbl_Shop_Variation.sql @@ -17,7 +17,7 @@ CREATE TABLE Shop_Variation ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Variation_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/117.1_tbl_Shop_Product_Permutation.sql b/static/PostgreSQL/117.1_tbl_Shop_Product_Permutation.sql index 834ec349..c64cd4f4 100644 --- a/static/PostgreSQL/117.1_tbl_Shop_Product_Permutation.sql +++ b/static/PostgreSQL/117.1_tbl_Shop_Product_Permutation.sql @@ -39,7 +39,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Product_Variation_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/117.3_tbl_Shop_Product_Permutation_Variation_Link.sql b/static/PostgreSQL/117.3_tbl_Shop_Product_Permutation_Variation_Link.sql index 1b18ce41..50b0e03c 100644 --- a/static/PostgreSQL/117.3_tbl_Shop_Product_Permutation_Variation_Link.sql +++ b/static/PostgreSQL/117.3_tbl_Shop_Product_Permutation_Variation_Link.sql @@ -20,7 +20,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Variation_Link ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Product_Permutation_Variation_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/117.5_tbl_Shop_Product_Currency_Region_Link.sql b/static/PostgreSQL/117.5_tbl_Shop_Product_Currency_Region_Link.sql index 1194701b..0055dc9d 100644 --- a/static/PostgreSQL/117.5_tbl_Shop_Product_Currency_Region_Link.sql +++ b/static/PostgreSQL/117.5_tbl_Shop_Product_Currency_Region_Link.sql @@ -32,7 +32,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Currency_Region_Link ( id_stripe_price VARCHAR(200), active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Product_Currency_Region_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/118_tbl_Shop_Image_Type.sql b/static/PostgreSQL/118_tbl_Shop_Image_Type.sql index fcf717f4..4a8a8d71 100644 --- a/static/PostgreSQL/118_tbl_Shop_Image_Type.sql +++ b/static/PostgreSQL/118_tbl_Shop_Image_Type.sql @@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS Shop_Image_Type ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Image_Type_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/120_tbl_Shop_Image.sql b/static/PostgreSQL/120_tbl_Shop_Image.sql index 458921cd..acf18eba 100644 --- a/static/PostgreSQL/120_tbl_Shop_Image.sql +++ b/static/PostgreSQL/120_tbl_Shop_Image.sql @@ -27,7 +27,7 @@ CREATE TABLE IF NOT EXISTS Shop_Image ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Image_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/122_tbl_Shop_Delivery_Option.sql b/static/PostgreSQL/122_tbl_Shop_Delivery_Option.sql index 46a65e1d..d4241ff4 100644 --- a/static/PostgreSQL/122_tbl_Shop_Delivery_Option.sql +++ b/static/PostgreSQL/122_tbl_Shop_Delivery_Option.sql @@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS Shop_Delivery_Option ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Delivery_Option_Type_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/124_tbl_Shop_Product_Delivery_Option_Link.sql b/static/PostgreSQL/124_tbl_Shop_Product_Delivery_Option_Link.sql index a4f05b1c..1ae15a7e 100644 --- a/static/PostgreSQL/124_tbl_Shop_Product_Delivery_Option_Link.sql +++ b/static/PostgreSQL/124_tbl_Shop_Product_Delivery_Option_Link.sql @@ -36,7 +36,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Delivery_Option_Link ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Product_Delivery_Option_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/130.4_tbl_Shop_Discount.sql b/static/PostgreSQL/130.4_tbl_Shop_Discount.sql index 2f8ab527..c7641a47 100644 --- a/static/PostgreSQL/130.4_tbl_Shop_Discount.sql +++ b/static/PostgreSQL/130.4_tbl_Shop_Discount.sql @@ -40,7 +40,7 @@ CREATE TABLE Shop_Discount ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Discount_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/132_tbl_Shop_Discount_Region_Currency_Link.sql b/static/PostgreSQL/132_tbl_Shop_Discount_Region_Currency_Link.sql index 2a6c0020..a03740e2 100644 --- a/static/PostgreSQL/132_tbl_Shop_Discount_Region_Currency_Link.sql +++ b/static/PostgreSQL/132_tbl_Shop_Discount_Region_Currency_Link.sql @@ -24,7 +24,7 @@ CREATE TABLE IF NOT EXISTS Shop_Discount_Region_Currency_Link ( ON UPDATE RESTRICT, active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Discount_Region_Currency_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/153_tbl_Shop_Permission_Group.sql b/static/PostgreSQL/153_tbl_Shop_Permission_Group.sql index 279e0deb..38fd7f44 100644 --- a/static/PostgreSQL/153_tbl_Shop_Permission_Group.sql +++ b/static/PostgreSQL/153_tbl_Shop_Permission_Group.sql @@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_Permission_Group ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Permission_Group_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/155_tbl_Shop_Permission.sql b/static/PostgreSQL/155_tbl_Shop_Permission.sql index a2ad7403..bf9cb136 100644 --- a/static/PostgreSQL/155_tbl_Shop_Permission.sql +++ b/static/PostgreSQL/155_tbl_Shop_Permission.sql @@ -21,7 +21,7 @@ CREATE TABLE IF NOT EXISTS Shop_Permission ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Permission_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/157_tbl_Shop_Role.sql b/static/PostgreSQL/157_tbl_Shop_Role.sql index d5b4656e..b2a1bdfb 100644 --- a/static/PostgreSQL/157_tbl_Shop_Role.sql +++ b/static/PostgreSQL/157_tbl_Shop_Role.sql @@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_Role ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Role_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/159_tbl_Shop_Role_Permission_Link.sql b/static/PostgreSQL/159_tbl_Shop_Role_Permission_Link.sql index 253d98f0..2fa67c58 100644 --- a/static/PostgreSQL/159_tbl_Shop_Role_Permission_Link.sql +++ b/static/PostgreSQL/159_tbl_Shop_Role_Permission_Link.sql @@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS Shop_Role_Permission_Link ( REFERENCES Shop_Access_Level(id_access_level), active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Role_Permission_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/161_tbl_Shop_User.sql b/static/PostgreSQL/161_tbl_Shop_User.sql index 5942e1a3..197a472e 100644 --- a/static/PostgreSQL/161_tbl_Shop_User.sql +++ b/static/PostgreSQL/161_tbl_Shop_User.sql @@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS Shop_User ( is_super_user BOOLEAN NOT NULL DEFAULT FALSE, active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_User_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/163_tbl_Shop_User_Role_Link.sql b/static/PostgreSQL/163_tbl_Shop_User_Role_Link.sql index c82dc9be..55b92c30 100644 --- a/static/PostgreSQL/163_tbl_Shop_User_Role_Link.sql +++ b/static/PostgreSQL/163_tbl_Shop_User_Role_Link.sql @@ -18,7 +18,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Role_Link ( REFERENCES Shop_Role(id_role), active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_User_Role_Link_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/165_tbl_Shop_Address.sql b/static/PostgreSQL/165_tbl_Shop_Address.sql index 406671ed..01024659 100644 --- a/static/PostgreSQL/165_tbl_Shop_Address.sql +++ b/static/PostgreSQL/165_tbl_Shop_Address.sql @@ -25,7 +25,7 @@ CREATE TABLE Shop_Address ( county VARCHAR(100) NOT NULL, active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Address_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/167_tbl_Shop_User_Basket.sql b/static/PostgreSQL/167_tbl_Shop_User_Basket.sql index ee8cc421..4dcbf836 100644 --- a/static/PostgreSQL/167_tbl_Shop_User_Basket.sql +++ b/static/PostgreSQL/167_tbl_Shop_User_Basket.sql @@ -25,7 +25,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Basket ( quantity INTEGER NOT NULL, active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set_user INTEGER, CONSTRAINT FK_Shop_User_Basket_id_change_set_user FOREIGN KEY (id_change_set_user) diff --git a/static/PostgreSQL/169_tbl_Shop_User_Order_Status.sql b/static/PostgreSQL/169_tbl_Shop_User_Order_Status.sql index c49b0305..0a51f5b9 100644 --- a/static/PostgreSQL/169_tbl_Shop_User_Order_Status.sql +++ b/static/PostgreSQL/169_tbl_Shop_User_Order_Status.sql @@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Order_Status ( active BOOLEAN NOT NULL DEFAULT TRUE, display_order INTEGER NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_User_Order_Status_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/181.0_tbl_Shop_Supplier.sql b/static/PostgreSQL/181.0_tbl_Shop_Supplier.sql index 2707514f..6f45d42f 100644 --- a/static/PostgreSQL/181.0_tbl_Shop_Supplier.sql +++ b/static/PostgreSQL/181.0_tbl_Shop_Supplier.sql @@ -24,7 +24,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier ( REFERENCES Shop_Currency(id_currency), active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Supplier_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/181.2_tbl_Shop_Unit_Measurement.sql b/static/PostgreSQL/181.2_tbl_Shop_Unit_Measurement.sql index 627f1460..f26169fc 100644 --- a/static/PostgreSQL/181.2_tbl_Shop_Unit_Measurement.sql +++ b/static/PostgreSQL/181.2_tbl_Shop_Unit_Measurement.sql @@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement ( active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Unit_Measurement_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/181.4_tbl_Shop_Unit_Measurement_Conversion.sql b/static/PostgreSQL/181.4_tbl_Shop_Unit_Measurement_Conversion.sql index aba733a2..fafb6fd3 100644 --- a/static/PostgreSQL/181.4_tbl_Shop_Unit_Measurement_Conversion.sql +++ b/static/PostgreSQL/181.4_tbl_Shop_Unit_Measurement_Conversion.sql @@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Conversion ( increment_unit_base REAL NOT NULL, active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Unit_Measurement_Conversion_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/181.6_tbl_Shop_Supplier_Purchase_Order.sql b/static/PostgreSQL/181.6_tbl_Shop_Supplier_Purchase_Order.sql index 14a586ea..a36cfa4c 100644 --- a/static/PostgreSQL/181.6_tbl_Shop_Supplier_Purchase_Order.sql +++ b/static/PostgreSQL/181.6_tbl_Shop_Supplier_Purchase_Order.sql @@ -31,7 +31,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order ( */ active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INTEGER NULL, diff --git a/static/PostgreSQL/181.8_tbl_Shop_Supplier_Purchase_Order_Product_Link.sql b/static/PostgreSQL/181.8_tbl_Shop_Supplier_Purchase_Order_Product_Link.sql index 94a34c4a..0dbd93eb 100644 --- a/static/PostgreSQL/181.8_tbl_Shop_Supplier_Purchase_Order_Product_Link.sql +++ b/static/PostgreSQL/181.8_tbl_Shop_Supplier_Purchase_Order_Product_Link.sql @@ -27,7 +27,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link ( display_order INTEGER NOT NULL, active BOOLEAN NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INTEGER NULL, diff --git a/static/PostgreSQL/183_tbl_Shop_Manufacturing_Purchase_Order.sql b/static/PostgreSQL/183_tbl_Shop_Manufacturing_Purchase_Order.sql index 5cb5f7cf..0870e058 100644 --- a/static/PostgreSQL/183_tbl_Shop_Manufacturing_Purchase_Order.sql +++ b/static/PostgreSQL/183_tbl_Shop_Manufacturing_Purchase_Order.sql @@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order ( */ active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INTEGER NULL, diff --git a/static/PostgreSQL/185_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql b/static/PostgreSQL/185_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql index 85ce77b6..dfdba162 100644 --- a/static/PostgreSQL/185_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql +++ b/static/PostgreSQL/185_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql @@ -28,7 +28,7 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link ( display_order INTEGER NOT NULL, active BOOLEAN NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INTEGER NULL, diff --git a/static/PostgreSQL/187.0_tbl_Shop_Customer.sql b/static/PostgreSQL/187.0_tbl_Shop_Customer.sql index 1252996c..39ecf58d 100644 --- a/static/PostgreSQL/187.0_tbl_Shop_Customer.sql +++ b/static/PostgreSQL/187.0_tbl_Shop_Customer.sql @@ -21,7 +21,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer ( REFERENCES Shop_Currency(id_currency), active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, id_change_set INTEGER, CONSTRAINT FK_Shop_Customer_id_change_set FOREIGN KEY (id_change_set) diff --git a/static/PostgreSQL/187.2_tbl_Shop_Customer_Sales_Order.sql b/static/PostgreSQL/187.2_tbl_Shop_Customer_Sales_Order.sql index acbf46a6..ab831c86 100644 --- a/static/PostgreSQL/187.2_tbl_Shop_Customer_Sales_Order.sql +++ b/static/PostgreSQL/187.2_tbl_Shop_Customer_Sales_Order.sql @@ -25,7 +25,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order ( */ active BOOLEAN NOT NULL DEFAULT TRUE, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INTEGER NULL, diff --git a/static/PostgreSQL/189_tbl_Shop_Customer_Sales_Order_Product_Link.sql b/static/PostgreSQL/189_tbl_Shop_Customer_Sales_Order_Product_Link.sql index 95a0b706..058f16b7 100644 --- a/static/PostgreSQL/189_tbl_Shop_Customer_Sales_Order_Product_Link.sql +++ b/static/PostgreSQL/189_tbl_Shop_Customer_Sales_Order_Product_Link.sql @@ -28,7 +28,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Product_Link ( active BOOLEAN NOT NULL, created_on TIMESTAMP, - created_by VARCHAR(100), + created_by INT, updated_last_on TIMESTAMP NULL, created_last_by VARCHAR(100) NULL, id_change_set INTEGER NULL, diff --git a/static/PostgreSQL/900_populate.sql b/static/PostgreSQL/900_populate.sql index 5c3dd1aa..18b7cdd5 100644 --- a/static/PostgreSQL/900_populate.sql +++ b/static/PostgreSQL/900_populate.sql @@ -645,7 +645,7 @@ VALUES /* -- Clean up END // -DELIMITER ; +DELIMITER ;; -- Call diff --git a/static/css/components/overlay.css b/static/css/components/overlay.css index e69de29b..b315cc05 100644 --- a/static/css/components/overlay.css +++ b/static/css/components/overlay.css @@ -0,0 +1,6 @@ +#overlayConfirm { + position: absolute; + left: 25vw; + width: 50vw; + height: 50vh; +} \ No newline at end of file diff --git a/static/css/main.css b/static/css/main.css index 3190736b..c6ed230b 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -584,4 +584,44 @@ li { } td.dirty { background-color: var(--c_purple_dark); -} \ No newline at end of file +} + + +/* Tables */ +#pageBody > *, button { + font-size: min(14px, calc(1vh * 5)) !important; +} +thead, tbody { + padding-top: 0px !important; + padding-bottom: 0px !important; +} + +th { + +} +td { + font-size: min(14px, calc(1vh * 5)); +} + +th, td { + min-width: fit-content; +} +tr:not(:last-child) > td { + border-bottom: 1px dashed var(--c_purple_dark); +} +td > table > tbody > tr > td { + border: none !important; +} +tr { + min-height: 1px; + border-bottom: 1px solid var(--c_purple_dark); + border-top: 1px solid var(--c_purple_dark); + padding-bottom: 1vh; + background-color: transparent; +} + +/* +.row-new { + visibility: hidden; +} +*/ diff --git a/static/css/pages/page_store_product_categories.css b/static/css/pages/page_store_product_categories.css new file mode 100644 index 00000000..0cc03cd9 --- /dev/null +++ b/static/css/pages/page_store_product_categories.css @@ -0,0 +1,58 @@ + + +td.display-order, th.display-order { + width: 10% !important; +} +td.code, th.code { + width: 15% !important; +} +td.name, th.name { + width: 25% !important; +} +td.description, th.description { + width: 40% !important; +} +td.active, th.active { + width: 10% !important; +} + +/* +.row-new { + visibility: hidden; +} +*/ + +textarea { + width: 95% !important; +} + +select { + width: 100% !important; +} + +input { + width: 90% !important; +} + +td > input, td > select, td > textarea, .container-input > input, .container-input > select, .container-input > textarea { + border: 2px solid var(--c_purple); + border-radius: 0.5vh; +} + +#tableMain tbody tr td button { + padding: 0; + border: 0; + margin: 0; + text-decoration: none; +} + +#tableMain tbody tr td table thead tr th.id_variation_type, #tableMain tbody tr td table tbody tr td.id_variation_type, #tableMain tbody tr td table thead tr th.id_variation, #tableMain tbody tr td table tbody tr td.id_variation { + width: 47.5%; +} + + +/* +select.id_variation, select.id_variation_type { + max-width: 40% !important; +} +*/ diff --git a/static/css/pages/page_store_product_permutations.css b/static/css/pages/page_store_product_permutations.css index af2f791b..d7ef8140 100644 --- a/static/css/pages/page_store_product_permutations.css +++ b/static/css/pages/page_store_product_permutations.css @@ -1,38 +1,4 @@ -#pageBody > *, button { - font-size: min(14px, calc(1vh * 5)) !important; -} -thead, tbody { - padding-top: 0px !important; - padding-bottom: 0px !important; -} - -th { - -} -td { - font-size: min(14px, calc(1vh * 5)); -} - -th, td { - min-width: fit-content; -} -tr:not(:last-child) > td { - border-bottom: 1px dashed var(--c_purple_dark); -} -td > table > tbody > tr > td { - border: none !important; -} -tr { - min-height: 1px; - border-bottom: 1px solid var(--c_purple_dark); - border-top: 1px solid var(--c_purple_dark); - padding-bottom: 1vh; - background-color: transparent; -} - - - td.category, th.category { width: 16% !important; @@ -59,10 +25,6 @@ td.detail, th.detail { width: 6% !important; } -.row-new { - visibility: hidden; -} - textarea { width: 95% !important; } diff --git a/static/js/api.js b/static/js/api.js index 39baa11d..ffe3012a 100644 --- a/static/js/api.js +++ b/static/js/api.js @@ -9,7 +9,7 @@ export default class API { } static async request(hashEndpoint, method = 'GET', data = null) { - const url = mapHashToController(hashEndpoint); + const url = API.getUrlFromHash(hashEndpoint); const options = { method, headers: { @@ -18,10 +18,12 @@ export default class API { } }; - if (data) { //} && (method === 'POST' || method === 'PUT' || method === 'PATCH')) { + if (data && (method === 'POST' || method === 'PUT' || method === 'PATCH')) { options.body = JSON.stringify(data); } + console.log('API request:', method, url, data); + try { const response = await fetch(url, options); if (!response.ok) { @@ -33,6 +35,13 @@ export default class API { throw error; } } + + static getUrlFromHash(hash) { + if (hash == null) hash = hashPageHome; + console.log("getUrlFromHash:"); + console.log("base url: " + _pathHost + "\nhash: " + hash); + return _pathHost + hash; + } // specific api calls @@ -48,6 +57,24 @@ export default class API { callback[keyCallback] = DOM.getHashPageCurrent(); return await API.request(hashPageUserLogin, 'POST', callback); } + + // store + // categories + static async getCategories() { + return await API.request(hashGetStoreProductCategory); + } + static async getCategoriesByFilters(formFilters) { + let dataRequest = {}; + dataRequest[keyForm] = DOM.convertForm2JSON(formFilters); + return await API.request(hashGetStoreProductCategory, 'POST', dataRequest); + } + static async saveCategories(categories, formFilters, comment) { + let dataRequest = {}; + dataRequest[keyForm] = DOM.convertForm2JSON(formFilters); + dataRequest[flagCategory] = categories; + dataRequest[flagComment] = comment; + return await API.request(hashSaveStoreProductCategory, 'POST', dataRequest); + } } /* diff --git a/static/js/dom.js b/static/js/dom.js index 48ebf2b0..8ee9e90f 100644 --- a/static/js/dom.js +++ b/static/js/dom.js @@ -1,33 +1,103 @@ // Module for DOM manipulation export default class DOM { + static setElementValueCurrent(element, data) { + element.setAttribute(attrValueCurrent, data); + if (element.type === "checkbox") { + element.checked = data; + } + else if (element.tagName === 'INPUT' || element.tagName === 'TEXTAREA' || element.tagName === 'SELECT') { + element.value = data; + } + else { + element.textContent = data; + } + } + static setElementValuePrevious(element, data) { + element.setAttribute(attrValuePrevious, data); + } + static getCellFromElement(element) { + return element.closest('td'); + } + static getRowFromElement(element) { + return element.closest('tr'); + } + static convertForm2JSON(elementForm) { + let dataForm = {}; + if (isEmpty(elementForm)) { + console.log("empty form element"); + return dataForm; + } + let containersFilter = elementForm.querySelectorAll('.' + flagContainerInput + '.' + flagFilter); + console.log("containersFilter: " + containersFilter); + let containerFilter, labelFilter, keyFilter, filter; + for (let indexFilter = 0; indexFilter < containersFilter.length; indexFilter++) { + containerFilter = containersFilter[indexFilter]; + labelFilter = containerFilter.querySelector('label'); + keyFilter = labelFilter.getAttribute('for'); + filter = containerFilter.querySelector(`#${keyFilter}`); + dataForm[keyFilter] = DOM.getElementValueCurrent(filter); + } + return dataForm; + } + static loadPageBody(contentNew) { + let pageBody = document.querySelector(idPageBody); + pageBody.innerHTML = contentNew; + } + static getHashPageCurrent() { + return document.body.dataset.page; + } + static isElementDirty(element) { + element.setAttribute(attrValueCurrent, DOM.getElementValueCurrent(element)); + let isDirty = element.getAttribute(attrValuePrevious) != element.getAttribute(attrValueCurrent); + if (isDirty) { + element.classList.add(flagDirty); + } else { + element.classList.remove(flagDirty); + } + return isDirty; + } + static getElementValueCurrent(element) { + let returnVal = ''; + + if (!isEmpty(element)) { + + if (element.type === "checkbox") { + returnVal = element.checked; + } + /* + else if (element.classList.contains(flagIsDatePicker)) { + returnVal = getDatePickerDate(element, adjust4DayLightSavings); + } + */ + else if (element.tagName === 'INPUT' || element.tagName === 'TEXTAREA' || element.tagName === 'SELECT') { + returnVal = element.value; + } + else { + returnVal = element.textContent; + } + } + + if (isEmpty(returnVal)) returnVal = ''; + + return returnVal; + } + static isTableElementDirty(element) { + let isDirty = DOM.isElementDirty(element); + let cell = DOM.getCellFromElement(element); + if (isDirty) { + cell.classList.add(flagDirty); + } else { + cell.classList.remove(flagDirty); + } + } + + /* static updateElement(id, data) { const element = document.getElementById(id); if (element) { element.textContent = data; } } - - // Add more DOM manipulation methods as needed - - static convertForm2JSON(elementForm) { - formData = {} - formDataTmp = elementForm.serializeArray(); - formDataTmp.forEach((value, key) => { - formData[key] = value; - /* - console.log('key: ' + key); - console.log('value: ' + value); - */ - }); - return formData; - } - - static loadPageBody(contentNew) { - let pageBody = document.querySelector(idPageBody); - pageBody.innerHTML = contentNew; - } - - static getHashPageCurrent() { - return document.body.dataset.page; - } + */ + } diff --git a/static/js/lib/common.js b/static/js/lib/common.js index a63b461e..3faeb4e7 100644 --- a/static/js/lib/common.js +++ b/static/js/lib/common.js @@ -1,29 +1,4 @@ -function getElementCurrentValue(element) { - let returnVal = ''; - - if (!isEmpty(element)) { - - if (element.type === "checkbox") { - returnVal = element.checked; - } - /* - else if (element.classList.contains(flagIsDatePicker)) { - returnVal = getDatePickerDate(element, adjust4DayLightSavings); - } - */ - else if (element.tagName === 'INPUT' || element.tagName === 'textarea' || element.tagName === 'select') { - returnVal = element.value; - } - else { - returnVal = element.textContent; - } - } - - if (isEmpty(returnVal)) returnVal = ''; - - return returnVal; -} function parseCSSPropertyToFloat(element, propertyName) { var propertyText = element.css(propertyName); diff --git a/static/js/lib/events.js b/static/js/lib/events.js index e958c334..08d5c652 100644 --- a/static/js/lib/events.js +++ b/static/js/lib/events.js @@ -1,9 +1,8 @@ function initialiseEventHandler(selectorElement, classInitialised, eventHandler) { document.querySelectorAll(selectorElement).forEach(function(element) { - if (!element.classList.contains(classInitialised)) { - element.classList.add(classInitialised); - eventHandler(element); - } + if (element.classList.contains(classInitialised)) return; + element.classList.add(classInitialised); + eventHandler(element); }); } \ No newline at end of file diff --git a/static/js/pages/page_base.js b/static/js/pages/page_base.js index fee448f7..df5114c7 100644 --- a/static/js/pages/page_base.js +++ b/static/js/pages/page_base.js @@ -217,13 +217,13 @@ export class PageBase { } - hookupButtonsContactUs() { - let selectorButtonsContactUs = "." + flagNavContact; - initialiseEventHandler(selectorButtonsContactUs, flagInitialised, function(buttonContactUs) { - buttonContactUs.addEventListener("click", function(event) { + hookupButtonSave() { + initialiseEventHandler('form.' + flagFilter + ' button.' + flagSave, flagInitialised, function(button) { + button.addEventListener("click", function(event) { event.stopPropagation(); - router.navigateToHash(hashPageContact); + showOverlayConfirm(); }); + button.classList.add(flagCollapsed); }); } @@ -241,4 +241,30 @@ export class PageBase { throw new Error("Must implement leave() method."); } } + + toggleShowButtonsSaveCancel(show, buttonSave = null, buttonCancel = null) { + if (buttonSave == null) buttonSave = document.querySelector('form.' + flagFilter + ' button.' + flagSave); + if (buttonCancel == null) buttonCancel = document.querySelector('form.' + flagFilter + ' button.' + flagCancel); + if (show) { + buttonCancel.classList.remove(flagCollapsed); + buttonSave.classList.remove(flagCollapsed); + } else { + buttonCancel.classList.add(flagCollapsed); + buttonSave.classList.add(flagCollapsed); + } + } + + refreshDisplayOrders() { + let rows = document.querySelectorAll(idTableMain + 'tbody tr.' + flagRow); + rows.forEach((row, indexRow) => { + sliderDisplayOrder = row.querySelector('td.' + flagDisplayOrder + ' .' + flagSlider); + sliderDisplayOrder.setAttribute(attrValueCurrent, indexRow); + }); + } + + static isDirtyFilter(filter) { + let isDirty = DOM.isElementDirty(filter); + if (isDirty) document.querySelectorAll(idTableMain + ' tbody tr').remove(); + return isDirty; + } } \ No newline at end of file diff --git a/static/js/pages/page_store_product_categories.js b/static/js/pages/page_store_product_categories.js index b345e18a..68f1305e 100644 --- a/static/js/pages/page_store_product_categories.js +++ b/static/js/pages/page_store_product_categories.js @@ -1,6 +1,8 @@ var _rowBlank = null; import { PageBase } from "./page_base.js"; +import API from "../api.js"; +import DOM from "../dom.js"; export class PageStoreProductCategories extends PageBase { static hash = hashPageStoreProductCategories; @@ -11,307 +13,315 @@ export class PageStoreProductCategories extends PageBase { initialize() { this.sharedInitialize(); - hookupFilters(); - hookupButtonsSaveCancel(); - hookupTableMain(); - hookupOverlayConfirm(saveCategories); + this.hookupFilters(); + this.hookupButtonsAddSaveCancel(); + this.hookupTableMain(); + hookupOverlayConfirm(() => { + this.leave(); + this.saveCategories(); + }); } - hookupFilters() { - initialiseEventHandler(idFilterCategory, flagInitialised, function(filterCategory) { - console.log("hooking up filter category"); - /* - listCategories.forEach(function(category) { - console.log('adding category: ', category.value, category.text); - /* - let option = document.createElement('option'); - option.value = category.value; - option.text = category.text; - * - filterCategory.appendChild(document.createElement('