From c9dda91dc9c993c56efb7aad2ab0a096b14f84b4 Mon Sep 17 00:00:00 2001 From: teddy Date: Sun, 1 Sep 2024 21:57:46 +0100 Subject: [PATCH] Complete system for getting + saving Product Categories with new database, server, and client architecture. --- DEPRECATED_app.py | 4 +- __pycache__/app.cpython-312.pyc | Bin 3311 -> 3630 bytes __pycache__/forms.cpython-312.pyc | Bin 6347 -> 7164 bytes app.py | 17 +- .../__pycache__/sql_error.cpython-312.pyc | Bin 1954 -> 1960 bytes .../__pycache__/user.cpython-312.pyc | Bin 12373 -> 12379 bytes business_objects/sql_error.py | 2 +- business_objects/store/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 210 bytes .../store/__pycache__/basket.cpython-312.pyc | Bin 9644 -> 9644 bytes .../store/__pycache__/image.cpython-312.pyc | Bin 5062 -> 5062 bytes .../store/__pycache__/product.cpython-312.pyc | Bin 21078 -> 22575 bytes .../product_category.cpython-312.pyc | Bin 21183 -> 26939 bytes .../product_permutation.cpython-312.pyc | Bin 21752 -> 21839 bytes .../__pycache__/stock_item.cpython-312.pyc | Bin 15386 -> 15392 bytes .../__pycache__/store_base.cpython-312.pyc | Bin 3628 -> 4079 bytes business_objects/store/access_level.py | 0 business_objects/store/basket.py | 2 +- business_objects/store/image.py | 2 +- business_objects/store/product.py | 111 +- business_objects/store/product_category.py | 154 +- business_objects/store/product_permutation.py | 51 +- business_objects/store/stock_item.py | 6 +- business_objects/store/store_base.py | 34 +- business_objects/store/stripe.py | 2 +- business_objects/user.py | 2 +- .../datastore_base.cpython-312.pyc | Bin 7032 -> 7863 bytes .../datastore_store_base.cpython-312.pyc | Bin 11566 -> 11762 bytes .../datastore_store_basket.cpython-312.pyc | Bin 7386 -> 7386 bytes ...ore_store_product_category.cpython-312.pyc | Bin 4501 -> 7357 bytes ..._store_product_permutation.cpython-312.pyc | Bin 4500 -> 4500 bytes ...datastore_store_stock_item.cpython-312.pyc | Bin 7591 -> 7591 bytes .../datastore_user.cpython-312.pyc | Bin 6547 -> 6547 bytes datastores/datastore_base.py | 60 +- datastores/datastore_store_base.py | 81 +- datastores/datastore_store_basket.py | 4 +- .../datastore_store_product_category.py | 117 +- .../datastore_store_product_permutation.py | 4 +- .../datastore_store_product_variation.py | 4 +- datastores/datastore_store_stock_item.py | 4 +- datastores/datastore_store_stripe.py | 4 +- datastores/datastore_user.py | 4 +- forms/__init__.py | 0 forms/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 193 bytes forms/__pycache__/forms.cpython-312.pyc | Bin 0 -> 6353 bytes forms.py => forms/forms.py | 1 + forms/store/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 199 bytes .../product_category.cpython-312.pyc | Bin 0 -> 2050 bytes forms/store/product_category.py | 34 + .../__pycache__/helper_app.cpython-312.pyc | Bin 885 -> 1081 bytes .../helper_db_mysql.cpython-312.pyc | Bin 2330 -> 2580 bytes helpers/helper_app.py | 8 +- helpers/helper_db_mysql.py | 5 +- .../argument_validation.cpython-312.pyc | Bin 34751 -> 34751 bytes lib/argument_validation.py | 2 +- .../model_view_base.cpython-312.pyc | Bin 10959 -> 11674 bytes .../model_view_contact.cpython-312.pyc | Bin 1649 -> 1655 bytes .../model_view_store.cpython-312.pyc | Bin 17173 -> 17571 bytes ...iew_store_product_category.cpython-312.pyc | Bin 4966 -> 3281 bytes ..._store_product_permutation.cpython-312.pyc | Bin 4929 -> 4935 bytes ...del_view_store_stock_items.cpython-312.pyc | Bin 4653 -> 4659 bytes .../model_view_store_supplier.cpython-312.pyc | Bin 1462 -> 1468 bytes models/model_view_base.py | 19 +- models/model_view_contact.py | 2 +- models/model_view_store.py | 14 +- models/model_view_store_basket.py | 2 +- models/model_view_store_checkout.py | 2 +- models/model_view_store_checkout_success.py | 2 +- models/model_view_store_home.py | 2 +- models/model_view_store_product.py | 4 +- models/model_view_store_product_category.py | 58 +- .../model_view_store_product_permutation.py | 8 +- models/model_view_store_stock_items.py | 4 +- models/model_view_store_supplier.py | 2 +- routing/__pycache__/core.cpython-312.pyc | Bin 5122 -> 5128 bytes routing/core.py | 2 +- .../product_category.cpython-312.pyc | Bin 4606 -> 5589 bytes .../product_permutation.cpython-312.pyc | Bin 5819 -> 5825 bytes .../__pycache__/stock_item.cpython-312.pyc | Bin 4544 -> 4550 bytes .../__pycache__/supplier.cpython-312.pyc | Bin 3745 -> 3751 bytes routing/store/product_category.py | 68 +- routing/store/product_permutation.py | 10 +- routing/store/stock_item.py | 4 +- routing/store/supplier.py | 4 +- static/MySQL/0000_combine.sql | 1865 +++++++++++------ static/MySQL/0001_destroy.sql | 41 + static/MySQL/1003_tbl_Shop_Access_Level.sql | 6 +- static/MySQL/1010_tbl_File_Type.sql | 2 +- static/MySQL/1011_tbl_File_Type_Audit.sql | 2 +- static/MySQL/1012_tbl_Shop_General.sql | 2 +- static/MySQL/1014_tbl_Shop_Image_Type.sql | 2 +- static/MySQL/1100_tbl_Shop_Region.sql | 2 +- static/MySQL/1102_tbl_Shop_Region_Temp.sql | 2 +- static/MySQL/1103_tbl_Shop_Region_Branch.sql | 2 +- static/MySQL/1106_tbl_Shop_Plant.sql | 2 +- .../MySQL/1109_tbl_Shop_Storage_Location.sql | 2 +- .../1112_tbl_Shop_Storage_Location_Branch.sql | 2 +- static/MySQL/1115_tbl_Shop_Currency.sql | 2 +- .../MySQL/1118_tbl_Shop_Tax_Or_Surcharge.sql | 2 +- .../MySQL/1121_tbl_Shop_Unit_Measurement.sql | 2 +- ...4_tbl_Shop_Unit_Measurement_Conversion.sql | 2 +- static/MySQL/1200_tbl_Shop_Category.sql | 20 - .../MySQL/1200_tbl_Shop_Product_Category.sql | 24 + ... 1201_tbl_Shop_Product_Category_Audit.sql} | 0 .../1202_tbl_Shop_Product_Category_Temp.sql | 19 + static/MySQL/1203_tbl_Shop_Product.sql | 4 +- static/MySQL/1205_tbl_Shop_Product_Temp.sql | 4 +- .../1206_tbl_Shop_Product_Permutation.sql | 2 +- ...1208_tbl_Shop_Product_Permutation_Temp.sql | 2 +- static/MySQL/1209_tbl_Shop_Variation_Type.sql | 2 +- static/MySQL/1212_tbl_Shop_Variation.sql | 2 +- ...hop_Product_Permutation_Variation_Link.sql | 2 +- static/MySQL/1218_tbl_Shop_Stock_Item.sql | 2 +- static/MySQL/1221_tbl_Shop_Product_Price.sql | 2 +- static/MySQL/1224_tbl_Shop_Product_Image.sql | 2 +- .../MySQL/1227_tbl_Shop_Delivery_Option.sql | 2 +- ..._tbl_Shop_Product_Delivery_Option_Link.sql | 2 +- static/MySQL/1233_tbl_Shop_Discount.sql | 2 +- ...tbl_Shop_Discount_Region_Currency_Link.sql | 2 +- ..._tbl_Shop_Product_Currency_Region_Link.sql | 2 +- .../MySQL/1300_tbl_Shop_Permission_Group.sql | 2 +- static/MySQL/1303_tbl_Shop_Permission.sql | 2 +- static/MySQL/1306_tbl_Shop_Role.sql | 2 +- .../1309_tbl_Shop_Role_Permission_Link.sql | 2 +- static/MySQL/1312_tbl_Shop_User.sql | 2 +- static/MySQL/1315_tbl_Shop_User_Role_Link.sql | 2 +- static/MySQL/1318_tbl_Shop_Address.sql | 2 +- static/MySQL/1321_tbl_Shop_User_Basket.sql | 2 +- static/MySQL/1397_tbl_Shop_Order_Status.sql | 2 +- static/MySQL/1400_tbl_Shop_Supplier.sql | 2 +- .../1409_tbl_Shop_Supplier_Purchase_Order.sql | 2 +- ...p_Supplier_Purchase_Order_Product_Link.sql | 2 +- ..._tbl_Shop_Manufacturing_Purchase_Order.sql | 2 +- ...ufacturing_Purchase_Order_Product_Link.sql | 2 +- static/MySQL/1421_tbl_Shop_Customer.sql | 2 +- .../1424_tbl_Shop_Customer_Sales_Order.sql | 2 +- ...Shop_Customer_Sales_Order_Product_Link.sql | 2 +- static/MySQL/3000_tri_Shop_Access_Level.sql | 12 +- .../3000_tri_Shop_Product_Change_Set.sql | 2 +- .../MySQL/3001_tri_Shop_User_Change_Set.sql | 2 +- ...i_Shop_Sales_And_Purchasing_Change_Set.sql | 2 +- static/MySQL/3010_tri_File_Type.sql | 8 +- static/MySQL/3011_tri_File_Type_Audit.sql | 8 +- static/MySQL/3012_tri_Shop_General.sql | 8 +- static/MySQL/3014_tri_Shop_Image_Type.sql | 8 +- static/MySQL/3100_tri_Shop_Region.sql | 8 +- static/MySQL/3103_tri_Shop_Region_Branch.sql | 8 +- .../MySQL/3109_tri_Shop_Storage_Location.sql | 8 +- static/MySQL/3115_tri_Shop_Currency.sql | 12 +- .../MySQL/3118_tri_Shop_Tax_Or_Surcharge.sql | 8 +- static/MySQL/3200_tri_Shop_Category.sql | 12 +- static/MySQL/3203_tri_Shop_Product.sql | 8 +- .../3206_tri_Shop_Product_Permutation.sql | 12 +- static/MySQL/3209_tri_Shop_Variation_Type.sql | 8 +- static/MySQL/3212_tri_Shop_Variation.sql | 8 +- ...hop_Product_Permutation_Variation_Link.sql | 12 +- static/MySQL/3218_tri_Shop_Stock_Item.sql | 12 +- static/MySQL/3221_tri_Shop_Product_Price.sql | 12 +- static/MySQL/3224_tri_Shop_Product_Image.sql | 8 +- .../MySQL/3227_tri_Shop_Delivery_Option.sql | 8 +- ..._tri_Shop_Product_Delivery_Option_Link.sql | 12 +- static/MySQL/3233_tri_Shop_Discount.sql | 8 +- ...tri_Shop_Discount_Region_Currency_Link.sql | 12 +- .../MySQL/3300_tri_Shop_Permission_Group.sql | 12 +- static/MySQL/3303_tri_Shop_Permission.sql | 12 +- static/MySQL/3306_tri_Shop_Role.sql | 12 +- .../3309_tri_Shop_Role_Permission_Link.sql | 12 +- static/MySQL/3312_tri_Shop_User.sql | 12 +- static/MySQL/3315_tri_Shop_User_Role_Link.sql | 12 +- static/MySQL/3318_tri_Shop_Address.sql | 12 +- static/MySQL/3321_tri_Shop_User_Basket.sql | 12 +- .../MySQL/3324_tri_Shop_User_Order_Status.sql | 8 +- static/MySQL/3400_tri_Shop_Supplier.sql | 12 +- .../MySQL/3403_tri_Shop_Unit_Measurement.sql | 12 +- ...ri_Shop_Unit_Of_Measurement_Conversion.sql | 12 +- .../3409_tri_Shop_Supplier_Purchase_Order.sql | 12 +- ...p_Supplier_Purchase_Order_Product_Link.sql | 12 +- ..._tri_Shop_Manufacturing_Purchase_Order.sql | 12 +- ...ufacturing_Purchase_Order_Product_Link.sql | 12 +- static/MySQL/3421_tri_Shop_Customer.sql | 12 +- .../3424_tri_Shop_Customer_Sales_Order.sql | 12 +- ...Shop_Customer_Sales_Order_Product_Link.sql | 12 +- static/MySQL/6000_p_split.sql | 2 +- static/MySQL/6001_p_clear_split_temp.sql | 2 +- static/MySQL/6500_p_shop_user_eval.sql | 71 +- .../6501_p_clear_shop_user_eval_temp.sql | 2 +- .../7003_p_shop_get_many_access_level.sql | 47 + static/MySQL/7101_p_shop_get_many_region.sql | 2 +- .../MySQL/7116_p_shop_get_many_currency.sql | 2 +- .../7200_p_shop_save_product_category.sql | 270 +++ ...7200_p_shop_save_product_category_test.sql | 274 +++ static/MySQL/7203_p_shop_save_product.sql | 4 +- static/MySQL/7204_p_shop_get_many_product.sql | 491 +++-- ...205_p_shop_get_many_stripe_product_new.sql | 2 +- static/MySQL/7206_p_shop_save_permutation.sql | 2 +- ...7210_p_shop_get_many_product_variation.sql | 2 +- .../MySQL/7219_p_shop_get_many_stock_item.sql | 2 +- ...price_and_discount_and_delivery_option.sql | 2 +- .../7223_p_shop_get_many_stripe_price_new.sql | 2 +- static/MySQL/7312_p_shop_save_user.sql | 2 +- static/MySQL/7313_p_get_many_user.sql | 2 +- static/MySQL/7321_p_shop_save_user_basket.sql | 2 +- static/MySQL/7400_p_shop_save_supplier.sql | 2 +- .../MySQL/7401_p_shop_get_many_supplier.sql | 2 +- .../7403_p_save_supplier_purchase_order.sql | 2 +- ..._shop_get_many_supplier_purchase_order.sql | 2 +- ...shop_save_manufacturing_purchase_order.sql | 2 +- ..._get_many_manufacturing_purchase_order.sql | 2 +- static/MySQL/7421_p_shop_save_customer.sql | 2 +- .../MySQL/7422_p_shop_get_many_customer.sql | 2 +- .../7424_p_shop_save_customer_sales_order.sql | 2 +- ...5_p_shop_get_many_customer_sales_order.sql | 2 +- static/MySQL/9000_populate.sql | 30 +- .../000_init_tables_authentication.sql | 82 +- .../deprecated/000_init_tables_product.sql | 162 +- .../108_tbl_Shop_Recurrence_Interval.sql | 2 +- ...1_tbl_Shop_Product_Variation_Type_Link.sql | 2 +- .../116_tbl_Shop_Product_Variation_Link.sql | 2 +- ..._tbl_Shop_Product_Delivery_Region_Link.sql | 2 +- .../deprecated/170_ish_tbl_ERP_Order.sql | 2 +- .../deprecated/171_tbl_Shop_User_Order.sql | 2 +- .../173_tbl_Shop_User_Order_Product_Link.sql | 2 +- .../308_tri_Shop_Recurrence_Interval.sql | 8 +- ...1_tri_Shop_Product_Variation_Type_Link.sql | 8 +- .../316_tri_Shop_Product_Variation_Link.sql | 8 +- .../MySQL/deprecated/322_tri_Shop_Price.sql | 8 +- ..._tri_Shop_Product_Delivery_Region_Link.sql | 8 +- .../deprecated/371_tri_Shop_User_Order.sql | 8 +- .../373_tri_Shop_User_Order_Product_Link.sql | 8 +- .../7000_p_shop_get_many_role_permission.sql | 2 +- .../7000_p_shop_get_many_user_order.sql | 2 +- .../deprecated/706_p_shop_get_product.sql | 2 +- .../9020_edit_permissions.sql | 0 static/MySQL/deprecated/dump.sql | 452 ++-- static/MySQL/deprecated/dump2.sql | 452 ++-- static/MySQL/temp.txt | 8 +- static/PostgreSQL/000_combine.sql | 84 +- .../100.2_tbl_Shop_Access_Level.sql | 2 +- static/PostgreSQL/102_tbl_File_Type.sql | 2 +- static/PostgreSQL/103_tbl_File_Type_Audit.sql | 2 +- static/PostgreSQL/104_tbl_Shop_General.sql | 2 +- static/PostgreSQL/106_tbl_Shop_Category.sql | 2 +- .../108_tbl_Shop_Recurrence_Interval.sql | 2 +- static/PostgreSQL/110.0_tbl_Shop_Region.sql | 2 +- .../110.2_tbl_Shop_Region_Branch.sql | 2 +- static/PostgreSQL/110.4_tbl_Shop_Currency.sql | 2 +- .../110.6_tbl_Shop_Tax_Or_Surcharge.sql | 2 +- static/PostgreSQL/110.8_tbl_Shop_Product.sql | 2 +- .../112_tbl_Shop_Variation_Type.sql | 2 +- static/PostgreSQL/114_tbl_Shop_Variation.sql | 2 +- .../117.1_tbl_Shop_Product_Permutation.sql | 2 +- ...hop_Product_Permutation_Variation_Link.sql | 2 +- ..._tbl_Shop_Product_Currency_Region_Link.sql | 2 +- static/PostgreSQL/118_tbl_Shop_Image_Type.sql | 2 +- static/PostgreSQL/120_tbl_Shop_Image.sql | 2 +- .../122_tbl_Shop_Delivery_Option.sql | 2 +- ..._tbl_Shop_Product_Delivery_Option_Link.sql | 2 +- static/PostgreSQL/130.4_tbl_Shop_Discount.sql | 2 +- ...tbl_Shop_Discount_Region_Currency_Link.sql | 2 +- .../153_tbl_Shop_Permission_Group.sql | 2 +- static/PostgreSQL/155_tbl_Shop_Permission.sql | 2 +- static/PostgreSQL/157_tbl_Shop_Role.sql | 2 +- .../159_tbl_Shop_Role_Permission_Link.sql | 2 +- static/PostgreSQL/161_tbl_Shop_User.sql | 2 +- .../163_tbl_Shop_User_Role_Link.sql | 2 +- static/PostgreSQL/165_tbl_Shop_Address.sql | 2 +- .../PostgreSQL/167_tbl_Shop_User_Basket.sql | 2 +- .../169_tbl_Shop_User_Order_Status.sql | 2 +- static/PostgreSQL/181.0_tbl_Shop_Supplier.sql | 2 +- .../181.2_tbl_Shop_Unit_Measurement.sql | 2 +- ...4_tbl_Shop_Unit_Measurement_Conversion.sql | 2 +- ...181.6_tbl_Shop_Supplier_Purchase_Order.sql | 2 +- ...p_Supplier_Purchase_Order_Product_Link.sql | 2 +- ..._tbl_Shop_Manufacturing_Purchase_Order.sql | 2 +- ...ufacturing_Purchase_Order_Product_Link.sql | 2 +- static/PostgreSQL/187.0_tbl_Shop_Customer.sql | 2 +- .../187.2_tbl_Shop_Customer_Sales_Order.sql | 2 +- ...Shop_Customer_Sales_Order_Product_Link.sql | 2 +- static/PostgreSQL/900_populate.sql | 2 +- static/css/components/overlay.css | 6 + static/css/main.css | 42 +- .../pages/page_store_product_categories.css | 58 + .../pages/page_store_product_permutations.css | 38 - static/js/api.js | 31 +- static/js/dom.js | 118 +- static/js/lib/common.js | 25 - static/js/lib/events.js | 7 +- static/js/pages/page_base.js | 36 +- .../js/pages/page_store_product_categories.js | 618 +++--- static/js/router.js | 8 +- templates/DEPRECATED/_block_slider.html | 1 + templates/_block_button_slider.html | 1 - templates/_block_overlay_confirm.html | 41 +- templates/_block_overlay_error.html | 25 +- templates/_block_select_access_level.html | 5 + templates/_block_slider_display_order.html | 5 + templates/_block_store_product_category.html | 24 +- templates/_blocks_button_save_cancel.html | 11 +- templates/_page_store_product_categories.html | 34 +- templates/_shared.html | 3 - templates/_shared_store.html | 7 +- templates/layout.html | 17 +- 303 files changed, 4358 insertions(+), 2885 deletions(-) create mode 100644 business_objects/store/__init__.py create mode 100644 business_objects/store/__pycache__/__init__.cpython-312.pyc create mode 100644 business_objects/store/access_level.py create mode 100644 forms/__init__.py create mode 100644 forms/__pycache__/__init__.cpython-312.pyc create mode 100644 forms/__pycache__/forms.cpython-312.pyc rename forms.py => forms/forms.py (98%) create mode 100644 forms/store/__init__.py create mode 100644 forms/store/__pycache__/__init__.cpython-312.pyc create mode 100644 forms/store/__pycache__/product_category.cpython-312.pyc create mode 100644 forms/store/product_category.py delete mode 100644 static/MySQL/1200_tbl_Shop_Category.sql create mode 100644 static/MySQL/1200_tbl_Shop_Product_Category.sql rename static/MySQL/{1201_tbl_Shop_Category_Audit.sql => 1201_tbl_Shop_Product_Category_Audit.sql} (100%) create mode 100644 static/MySQL/1202_tbl_Shop_Product_Category_Temp.sql create mode 100644 static/MySQL/7003_p_shop_get_many_access_level.sql create mode 100644 static/MySQL/7200_p_shop_save_product_category.sql create mode 100644 static/MySQL/7200_p_shop_save_product_category_test.sql rename static/MySQL/{ => deprecated}/9020_edit_permissions.sql (100%) create mode 100644 static/css/pages/page_store_product_categories.css create mode 100644 templates/DEPRECATED/_block_slider.html delete mode 100644 templates/_block_button_slider.html create mode 100644 templates/_block_select_access_level.html create mode 100644 templates/_block_slider_display_order.html 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 20cd189d06bf40be19c7a50a7a6442ea7b0bb3ba..932cbac856c828a596cd73fbf7add74b70d220c6 100644 GIT binary patch delta 1171 zcmaDaxlV@fG%qg~0}#Y7xtvzdKao#@@ykT@z4f`uQOb-ADU2z+IV!oTQL11zUyfR? zdX##uMwAAa&!3~2s}-dMW((wK=juf1fZ2jMx>347y@EMP(fBADj&p4 zVNBJ9s^vwIo!r18YHhTd5hA#n2|_b6FfpV`rW(VLv+Ox7JH!#Z8bApt! zW#u4CLD;D#FeAW5vJ;_(l?XK)C~B;s_M%zFiJ}OL8la!@Cs#2^O)g;KWGn!(WW%xg zGDS!ds5_N4s|acc5*2R+;{bzzGph{7L(nP0sV0;4n5F8m2VsgR$nX@g6!A>P6bT$^ zBtdFsGo(n(WhSI%E)xzFfea}yW26ZilOi*hd5!F94v0U1Nly?25$OZy(8|d-nB|#4 z^e<+4RUnPuHeLnH$u5cV`y zFh??!Giu6h-ovt!$zGH37K^igP%x0@3J&yf%t_8j&8^gAy2av~n3;2n-8Z$kI59mH zD9!C09OM>IlwXpXTms~>`a71EWNa>F*I{I|-Momyg0Y?}Ehn)!J3cwTsJKW9=#g6j z5P{;toJ5GZMbaQ)sJdLB1w}GIfg)LuC?7;|c}bdHa&b{wksL@+F%f7 z++|R^%V2zavO2drD;p!r2Z7Cb-0F-%4;YxQGl*Se5W665a)rV41_SftSv(%RM_HXT OJ@uGR>alv7vjYIHPs;oN delta 749 zcmZ1{^InqgG%qg~0}$+0x|9~eH<3?*al%CPz4cK_DU2yRIm%JWsmfU%AO)x(%Nvys z;-xUADq&UYi>WqMeKjLQbTt!%W@KPuNR>?00E@E&#iBG*H76S|i!fz{PCmdWR}YkC z%L>C{lqSq5uo3J;s9_~S4F{SUOR&wUsFrb}DZ)^bs+kozc@L8mmnj3-b*x!YK&~t! z$Y-LCypli-sjOKsn7)eFhlv6G&6$+|<00r2K5+Pmvh#yY0h`D#0Ai;IrU+#+rU--O zrMPA@q=?RChH*J&Gt6azaX@ln2ssrXS9~t>8i~~$5PKLIQg}cR5lKKZ3m8Qw>$30w z{QzS5!&tn6h7fa5Z?9Q`u`_(5}W+k2{d4SfGV+U$UR5uaHR8vyYkb`DREoMv zd?*UKY8b^+DoLOeAgWxfnet4L2=qsf7EA(55YjZ`od~RdF4BU#i(d4ScT>o8B6J~i zBcuTe`7p_#unwUI0k=YW5pW}<51}6cH$t)q0v(AbV;gWd^c-@u=-cOGmWOEEKSLwJ zK|V{53+s!puW}~K(K_r<*W@;0P2s`PbFlL+D z1g2)k@;I{@VGF`mgkb>7H&s(0&IPgqDTlsY$RUi=MSn}*uG{gz&pf}KE(S|}^fk|u z?ew+KK|W0{hrZ-D(0F)=|B&tu_aDNY74n_V__6c_%8Ck}$wiG|MUohRw;x|f(L0He%?@W;HjH|$rj=DfdG88o1Ml0opRFq8&g2QnPEMU7-OR;ZdeRj-+iT(zP#_CE{1!M0;dva6*G ze{k%E|Hq#Ke9M_|MYNvhCNH?=_|xr6TJv+RwODE8O<09}!tubWHQ3cv%{kY5P-=y| zhg4yy6^1igshSe=#_~W77cHM1+`QXz%bH=OORa`lYc*84)le-Db`S&I%jI$eTZh$G zB2`^_(TdsEn=g&*@Jm-;1_Q=UfJ@w?*w&@k@VsYvV9$eriF*SR^PUI(%sqeRzQ2FD z=hX*2qxX77=RIGAJ`dgZrQJ_^dKZ_MZ?flbEc}0b4U*& ztae9?8w=h=7#P?Qp_G%^-*O{M$sL#8ei+GIA6|;&FHJ0aWIU%6@uDaiF^=*RyyokECzY3)=jBek_@vd zpCKXINaZq)t)E9b2=nx(R3XTGLb0`(8%O5wg$oGi9BCq4LcrJ;$Q2wqbbf&x!q+&M zM__u9VtO}py|0iONVCF}p_1I>o6JIC?Mzr9`}9dzS#9nM;Bg(6JI!B1g9zWzKf5+I znQ0UY`9VvNB&8}#lC^QVZj>up$3lawouw8m#64I_nyOa&YW(fom;=%L~f>`Rm{N z{ds?W`TN+Nsl=UlJQ9Gag8OItZr``uOc085L%O9JCJ}Jl zH#g@78>*#~5Izc)ZrkdrPEz<3CVEY6IkmGY;ptC7Gm-|CAaZm$G|xZE9_c5c4?BZ6 z971FeSws#{Eyu_(K1hfW1m-|S5tsqVBMJ!2fD{otqJ($^!QzbLXyPHpU|=5wYy}>~ za@Xk%{;-$M1g(l^=?lUsu1K#5h8v{+pU&q=)@~nMe`t))3fsnIK=Da_Se<7T;YO# z#x@+Cur#{Iz*f|ngX`s6qZOQsu;`EJ_q?=Lu1XS}&fefF`0{D`Yj!5HHzhBHB%R3> zax6d+_PE)0lxAJAoo4MEiO@!_B>93h&>v!xewwR#!5Ut$i}a&m>BS}*v=HYJ1Ysi_ zK$Wy{=<~UW8sdE%yp3SZWAm!i>TJZGWmT7&4RigO4PnXFN$L3$EJU>|`Zm++k5O-- z6r9qn6P&sNY;+r@`{U!E2SHqhpN)4I`ct}i{hfR13jIaOJi)R-gKBxq6%<8l))WQ$ zj;Y$`lnYLs;NKN&nuDFlW|xvKj}$v@x+_)IRMUXI(j+#Cf-P%iB#xs5B8l?{|Myqf zZQ&GCws*1r5}&e~THDl*lZ)VngP;8+ b;J1E`<9_dpaKS%H^vTgn^xo)15bORA;i0B; 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 b2c87febe6abcd25e378f424e2f6880b78529155..6424161be08335a7c56be75b116d339dcb224ff6 100644 GIT binary patch delta 40 ucmZ3)zk;9lG%qg~0}%KrTuytik@prGJ9k=sQEsu`X# zGKvXs3~_6#zNt1#bWV diff --git a/business_objects/store/__pycache__/image.cpython-312.pyc b/business_objects/store/__pycache__/image.cpython-312.pyc index 0e56d1352fef838fd7b774c63780a0f1b273885a..cd02d233a1d8c864f70e4c5c1e2ec2d07cf4309f 100644 GIT binary patch delta 40 ucmX@6eoUR~G%qg~0}y9V-W(;6!wdlJ6AV=V diff --git a/business_objects/store/__pycache__/product.cpython-312.pyc b/business_objects/store/__pycache__/product.cpython-312.pyc index 7dd782fd1a3c1ac6c9e348c272b6fc39467ccb46..aca21f39bbdfa701024f680709c1bff117042ad8 100644 GIT binary patch delta 4530 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 delta 5700 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 F{2vz+A9?@) diff --git a/business_objects/store/__pycache__/product_permutation.cpython-312.pyc b/business_objects/store/__pycache__/product_permutation.cpython-312.pyc index 5bd4443d442f9852c7e6d4f6006c6afe048d849f..a5f4732410c38c394c5e163c5a2253a2a722f6b6 100644 GIT binary patch delta 1642 zcma))ZA_C_6vum7S_-warKObuR*F!ImEjAD0)+~zRxPhZp^CNi7VT16xUD!HiEhCJ zKe!i;iSv_^B@T64oX?i{VOdOcS+dP7%gjRhVbi!JYnCN*E=u-c**zsX^~-jX=l7iZ zzyEXZxi1SB;hRgK{Zgwfl!@j#aeL(Ehgziqh9#roY98KFmE+y~ay%uzQuR0{6lJ6x zTQMyg0k&jH9js>BDOs?F6$v_+PH<&`Eb3(XDcNP3QnX+#GYEYZD;9Jyqu^?060Bn- zf-f+$U_G-4u3<|B*RoQ324Qm~2H z1)EuwU<+Fz=w{V|t<$oXA=oCl3oa<2L;87%PF|RGfo{~~*((NyJCKs>ibhf7xmOf5+b`AXNIUlW;YtQ+b^*S)&PW?f5 zRxZYQi9nX>$tnpdLO!8@KsT4w5S9?Mgd&0tAL*+a^%NQiw2!QjU?R}08FeI_2u;MI zhqLA<-6)HtvljFlDm+Co78;B4(L?EQI+jdi3aQVN>`)|~(TF$_PDc+U`H_rJ}eHX2E?+dW7utUxU1{t z#%K3VYi_IU^Od!8Yi7$SUN&!EHRqXiQEYoAe%j-x$8*NY{5!Slu6QoG@K@uMrlRIN zKRZNeRw-dpgORTlYdIC1j(~R(x^dKE!Sf~Ua9H}OLGZr~0YX zAgOx@dkH!F5Je#|=Po!d-Ly=}EnPy%=sbZyZ^+jX>hA68=x-13P7GNq!H=(6tMr+o zgW*(YBFtmC6HehpYXc18k5)_RE=o3dcY3yldip(`0bgJ+W%O@zFU1?^v~7|!57k_nvdmhOM2hw z233IS=@UjD%u7wH$^keIxK6+w=?B+(>KN;e!95A=2Tsr5~(PxFt=}_pL4=Dcbs>N*Zi?oups3tQL~F zJq9l6c>4@VMlU5cdG|nrbjCXZLi&4a1X`uxZ8ZSx(n;S20H1Vyd!xK@ly*ng%@c&& zwTx3VM>s?nBuo(KX8B>lZmjp0EFMh{?(hep6EFC$fd@mKUCmGKHlylG^H|~l@1~qy zLLY&SG^6y!li@V)p*Vj_G8vDC6P(jyP%SEiH6?1xBrT zy7!I2lY?*aGe_S#`kmH(+>1AQb}K8CWq-JFd2hx{4?UxZ$A-CrBF#vWkEZIR!oEw8 n*Y~Zg53dEPDqhJ0!`t?AE6=Vxzx_`c^?si$&_f=t6FL6?xWKuR delta 1584 zcmZ{jZERCz6vyxB+q%ut*R5OIt*m?P-q;))3>e$!nA_Oav37%$L8*NTRJWGi-2o#zECvoHC{bMEhXF=}8>7Y;qw#|Ys7U-U?-#+SNli=;3BgbLoVyPal_%-%o|peQ z&$;(``pso{bO}s1Or`>XuZ5kr5B+t`q}M{dY}a1b;ZmLl@ABVQ1`n1RGYgBtAz)8s zjgcy5$_kNcwvMxgnK^6og+v{*WQ8l#iLZ#CS$Vvk**F`RowJcSIGb1zXEQ72+`yci zEv$sIm6dWn&0L&q%+0wmUtk{oY-eSh9c*hke{5o2&dqE+XD6%R+`@dETUjONHde*i z#i}{CFA66h(j5}~HHsaVEq3{p{3R^}E7n^p7i?tO2@ZmjP{N@YL+kwzAK2pxn?9Dd_tW&0>PMc7YJoba8kbS z%xatyJffI;!{PDhU|)1>JlHo82#X`QbQIt8)*94}yKyX7fpgyS|IO6mZ{A(-w%ob?5g2E9f4@e|V5e^Y zKEYGI12BVkeSPpL)>QrhpP{SjA$)<>>QgX@=c;$Xmw2c8cW&RV*$+45mfH6<@U{Gl ze>)h)>HT(NeZwGpFG~#`fH0nEd>QV_&Zdpz3^y;pPx8%Xz2S*-*>QXOW_TbUZ_nsp z3Ui(PkinKMlVFoiZ#k#oAx~E=5A}6TfLngOOQMjur;&%Y^-LJ5fL|8Gi(Mu1)t(IH zDgsSB7Yrn!N&YBsmO{h*)IsXs2OaXQ{zJe+n+D?0BVQP(0qB!IAM5}alK&jqtO=#) zo#>dvG(r8)B3UbhIYNYRj6hdaJWkllp_u!Jd!LC0f}wD9I2h<17S#_F!t6){g80M8 zhtPxPM}ynePLC=KA&LL(4vRtRF-F);pgKk0Kb?+AVux-E! diff --git a/business_objects/store/__pycache__/stock_item.cpython-312.pyc b/business_objects/store/__pycache__/stock_item.cpython-312.pyc index 2cbf255e7d51ab5e331af09f23fc1e5cacaa78fc..202b12471b0806c30f985a746cfea3c89e8a4b07 100644 GIT binary patch delta 61 zcmbPLv7mzYG%qg~0}%KrTuu|*$ZK!N@0OWUl3G+8A5fH^Qkq<{IofbKCp&jqeo=0* Q-sI0#_ZamjU$XW909}g}F#rGn delta 55 zcmZ2bF{^_2G%qg~0}yO?xs=Aek=NdkKcFZ-r8K!D-YqkyB(Y}T7{_!2f8uC_3ocJYiW0Sg8iBJnF1$WnJ7sYn49ir}Kwc4GOg|#=D zb=m|8*@qm$EnyFsTO}?<<%04B;J}FkMMlV)6W@S0Aq3*UJnOnO?BTaF|L6J7Jp0Vf z7qOq?li!MBSm00n_7A%|;V&mGgnm3bKy#>VE~qmEli&p&CC{0$>-=plsh-Fo z$eOfWtrpAD9X8FwCb6x1gdQU8<3N1FcbJxIIQz}kGl#6yq{?==&O+Q_HT1iLiNn>D zQsGvS&G3Nj7<$Wcnwm!f$rKB7X^%SQzR_amhS^)yio7k={e8TLfmD!9@-*+eKqlxf z?)?*p1z8ldMZ6PXA|JUe$9P}!+Bnx{6NcW@bhBYK+2qD%;g%*9%347#DPQ4aQfA^6 z-kLpIKhzv*63V6r8A@$yvv5bNROMoo;ildgu30XW&K}`JAV@Fqv+}+l{|v2r`=KPt zoP82{h~B=&Rr)dq8`rcZxvyziOmDy(>-4Tm-+=f{4i|GI5{V9#K-%E=VEWlPUw-0# z#XAY-k?egHPS0N9IiDkjU1IOL2<%ky{tBn2UgP86gB%^9ABs}hTZ^RP3ZGN3WXGNq z@Sf{5-7&5tz-UKSrr^JH2gaX#xaF{YYZkufD`pDsyC$^i?k$T|(nt zHX3hFfF1#efOCN70W*L(zP?K9mUN8EM*xvnEf?tcPG8~8BI=`g9L)RPpF4^P;Re1nvb)h-G1Q0^Mj)f8aBPO8OpE!@i-vkcd F`Y%=1O(g&T delta 810 zcmYL{&rcIU6vubkUFeV97EAe63tg&6E3`(0#28})iUt#Z6^OAMHqGvoRJW~}DGGam zLl4~N;@t~G50d^3p7f*_v+Wi zZd4m}cL=-0Q-8nWsl`iwV$umfW3^V^psv;(vV3#?`jXQR1-oIEn;^}JBma2X2|?-+ zYgn6R(~Wk!?-Xwr))rSgBWLBb;zXcLtjih28!qH3IhLM%o1n%WB+u-aB*3SaC z4A6CbmrY?R4{&1t-O3-U^WshT9GMn>!V~df=s6&+%&A@B1m$c>%&F;t3lRTM0K3xr zfXb#JGJWEcI+{8UAwyl(cYKQnyiw;q$mpovS5NoN!G?F#A5kqnsOiCfLNn-Ho^5hoBaL>!Sopb=~qaSGub zb_pU^GYr!%b8b@G23JYPMZDP6j)nLMDnsI2{zVcqkym0pngRP-(a8eZ;9c2k{~fqo mgLh%mD{KJ@IEUkZ`{pNv9Qi^-{+X0W@|T<;+II=yN&f;NTE2|{ 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 07257a330e8306413d677b0e9853ce43d1e17fa7..ef2af9b1adf666488cdc07432fbb160ed51773d9 100644 GIT binary patch delta 2794 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 diff --git a/datastores/__pycache__/datastore_store_basket.cpython-312.pyc b/datastores/__pycache__/datastore_store_basket.cpython-312.pyc index cfbdab5f07f571edcaf5fc3474ae4e2d543fdc93..6a6a9abe2854c617d430dc57b05db48570656795 100644 GIT binary patch delta 91 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 diff --git a/datastores/__pycache__/datastore_store_stock_item.cpython-312.pyc b/datastores/__pycache__/datastore_store_stock_item.cpython-312.pyc index 19dab0c0da47d97dda30a11cc071bdfefbeb2680..d6514b5f7da82b75a8e2faf9cd5281f39f3980b5 100644 GIT binary patch delta 91 zcmZ2(z1*7jG%qg~0}%XPd^zpoMqWQ=ez(k=lGLK&_<*APl+xsq%~{MFnHY^X%dj;w sGn#K+!1A217Z)iW}xUQjgs$^c>%=>bgx0DKPeTFDRORWdJdX^nj)T086zSegFUf diff --git a/datastores/__pycache__/datastore_user.cpython-312.pyc b/datastores/__pycache__/datastore_user.cpython-312.pyc index d59223cab4c5f0d9ed2a44debb4cdd44bf2971e4..566505f6fd505cc56e62e41a531c310b0f8beaab 100644 GIT binary patch delta 90 zcmbPiJlUA{G%qg~0}#Aid^v6AMqV>!ez(k=lGLK&_<*APl+xsq%|XoFOpL~x@3CHH rVKm#kiOYh6v3~Pwp{-1e`kNPuK42E&3SeTCoe=kx0Yn$+0}TTJP&XU} delta 90 zcmbPiJlUA{G%qg~0}#BBy_D9pk=KlwKcFZ-r8K!D-YqkyB(^B;X# zGKvXs3K5r~UH OjE~HWjEqIhKo$TX4m0`y literal 0 HcmV?d00001 diff --git a/forms/__pycache__/forms.cpython-312.pyc b/forms/__pycache__/forms.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..445181d859697d53cdb3e51918f2e936d68b5962 GIT binary patch literal 6353 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b0530ac6c6b7d6cefd1e95079d15b17c1d23b2c1 GIT binary patch literal 199 zcmX@j%ge<81fEKl(?IlN5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!N^`b~2`x@7Dvn7_ zDNihl@y|X# zGKvXs3dMV(volUM-LK4! z+uABp4iSVC$08vluBiV2{{t6WDRR0J>H#jCXqEPo6K`gn5UMtF`0aas-*4U<|5hw& z2+lv>Znw^)5&Dxe`v-V&c5lPyKElXASi-U^d9oo(oKCqZPcalPZKS=7k@2!d)>94D z%NaROGc=*2xOuN&6uhEQ^hS&kuVj?GQDaod((afyZj4JvMxP^`*+e)?7cBc0@v&AV z7Hd-?!d3$c>eKp{5urM^n58>@*k+oxKq8wuA%keMz_c8nM0(Y=qFd9~8&$m}>;Uyu z%g3(cujp;=LReR{zj+JFQk)YOJV-ek=j)7uV$~roj*AU)m(5dRC2YRlUWSwtrf?w$ zTw?h{?vl^Q3ZeUo#D!)ij8=66E1}EjxOj=DzDU;F4kb9w*V^7Pp^KKkLgLIKxVRg} zg$1bbKt;VO3bb5Eb!3s)R>%Z3ZvgHiHp~Vc#Qj>nC#@Z}06l*0$!khN9Y%A%Rs>e+ zVM#)RmDsrdOAcAdb-4IiIYY-mB_4Ak(+`*_YB6~&apCY!vBHNg&Re3qL?M$f* z52mpBl@qlsSFf`+b^?9oy_uP&SWXj`vuTB4Q#fx%ETE+MV(3cPiBGm@;F+&VuKUT6 zH(WW=coIsAJ_6W4f0fQ|mnvJz&eX?)smuMT%UjAoJ<(TBJXBBZOnxw!Jl~%@zomSi z|1SSfJ-$<#*vjvMA+itV02uxfiW$K`z)L9ILu)|2cwROoKO!uH_Dd$^722tv(l7x^ zt^3ZA4S4(T6wGyVXZ7UP=k}y>IYnQC-015Zjsw7YDiLv85id%oZve)sX;KnW)9ju( zGEik-ZwjoU4*@pN&e*wM8-ux8f37x|tM}*Xy>pFT<7RJZd9dX4mz=?p-(T{3H-laf z_DbtLb)B99!&*7V!}^v-Of%L@(}T5jIbAT#b(p3^LbIToRKSyu^EN!2kw@UI$MhtZ zod);?37?`Eu`2?&LG&)bCVDjSW>0^Adtzqe%A?|mA1d3$@2fpF) z_)xcU+j1S)(tt)Z&!q(pMGhkzN&xZ1L7)o!NhR+n9pz%46Mc&VZ=oo6Pd%4(?o&Dq zzwt{IH9tv7lJr#8B<1;OBFfq~$Xe zp(J_SZvt00R?w3IdU;E?_suQ-OudEG6-PO4pz V*kn&;S$&<73b$oR%BYOD+^TE!0>^EnN#eBu+(&$i8dE_3-GRyL_u!?G%qg~0}zNsTuIxpk++tKF==u)ldn`NX9{}@!)lNe5JYizFjO!`@dPty za%_IYB+J6MauU0;5Pxz}YGO%he0phSN_=riQI-5;Lw0Ev5OcB*yP`%iL^p(F0#eLC z{MimjOlK%zga|V*WHC*?!y;vr#R3yR(7_Bvsz9D5bCEibD$)QFw^)-ZOHzxAG#MBs zi?f@mfW(SLfJ6hs6Mo_Ts?MtJn(O?E7x@)0a3~f@0wpwgC+D-Lv1tLBMY@x(u^Tfw zP3Gdz6aT=($g22&Rq!K_R{G4$z$Wws#F}i&QOXUrP5`7sbMjse2}aAw*Emf1#Tb<) LWPW7;QecAtSXM%l delta 144 zcmbOtGE0c}G%qg~0}!a^o=QvG$XmH-r@%nS_020)^L;e#9luj1qhj#D?cL|N+s0E@IBrT_o{ delta 104 zcmdnr&$PdviT5-wFBbz4DBfS6Cb5xs5-a1c%?ns1y@AxO03!~jqT0z1OC%@1^H-m2 z8#zPsmQYz@PJB*gaY=k;UU5lcUUF)2Q5R5u6Eg!tu>p{1VE7=%z$-p^g5%W9Em79G E0EmGj*8l(j 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 e4cd599859ff2c47c00997f2926b5850b042338c..fb1ae5795f3747ae5af8a00c2ce3a2790f08dbde 100644 GIT binary patch delta 4186 zcmZwKdsGzH9S86kSXW?odB2~_Q~d|xOIsta7z_~td!0Nw+5K9@aAdOh?(n=7eo>G_N$b!%4PbCaLL~L)I-;D> z5bcbC80v>PVx4giN9}M&yfXn3oQaU=OoAk`2uHFr1yY=;kV<`>Bh8r(>7o!KtPv#r zpdcCK6gm2|22Vf`AfqqD6xn|(qE$J2t3))2frxgWTam4+Y+hN_gd7by5w5-*vfVF7 z^dts%;S+SSMxK+xNY+Z>OW9V606k|qGCdeLGmx=2$XOIwG(>S0gU04HvQ0kw<6jWX z6~@xeaS)^0LgW0g+(;sgBtaZ!$z&-I&si#28YFO*jwUBa8U1VviQGsgRcApGXGW@y z=qdN}rx|QRGFO;QJLf!qKxnLz{ZZZ#;XU(sb9wSs>)hucyFPRTkbGC&f3!WYP1gjUXukPX3l&W6c;3~ijLWIus+&W@7(6gnQ5U-}v0 z2yA$O(lN4^U?XQQll>evarO$?FJLoguab?z7S4{7odDqMB$@v;*vjGSgs0$9&fXyV zC2ZsDO|rLOJ7=fK-UcgY?~wfpc5rrv?AKsJ^Ur)6o+bPZbaI7bWbZ;3XYY~y79`Hz zC;I?o&d#BQ3)1hPo6`@e^7pWF*4X+#Pj~@#&7xNNi0osqbM^_@r_jUMMY7LeH)of~ zJ_iS9Uy%I)oSa=o^UF@@OZv)maYI*dNOt$!VVnPZfrqR6iVk}f9^>q5vTLAlHcmDH zUe5kV=AQ%~hu0Cq1$hp81pkQ&ZonRSFY8Us^d6UPu-?s?Ua#E8dbehJ{nQI!FGP@^ zkpBGkUrvj`^M@zpeezS%^q_Eh<_!h6Iqb)RpWUaw4hk?J-Ddf;bcf}B=`PCyeK$7kO zG_*9U-|3gf#Rj#Zy|vN2#oE$VXK7O_45jhfZo9)LD*+vi*EckFuz_uc-4VeFo6Sv@ zu`dh>k)OPbmi`o!ljCI(h*?rp^8`wd|x?|R9)PE+VmBe=L@%h{?v&ZA; ztEWl4fux2y>#7YM9WBjPb8Bnk7He?A_ObB96JnO$y;oKowmyrZxRpROt8Lk6X~Xli zw6(RgjlGq0N)#j2^(jAy7seV>*M_XT$S!AdeSf%D_ImAZ*J7hduS7Eogjub2m)&Qz zDp9Pfe1@j8c|6uGx63E@`jklIOX~IXa>M7WX_}*ag>q4i$tclX#pVQy{$%xTTC#Xm zwPpNAysX+X;}fwgFt^j~cE~oDH-zoy)AL*ZnDjE+fQt&VxMVHyQDMZn- zjdDHMrt_R)?b*p`P|Y&ti~mwB#vJW6EF4sw#{6>p9j?S;1Xu*3tX7-L<@VWp>}q-0 z)k(%7d(Al1FlfGbT0Fsxx^;B+&A*Xnt zaj0;la=3I-Q>;$pR>T*SPZgLa3e4l0_@P}R-eKpY#;l5Y#qos;rV1?+g_dzm;z-zN z+%dzX#-bMIWf-ze4`wr|Yw{jC+t@%}y_lAj|KJ4jZ{}AFvmJKuw)r_njUN)&IyIIQ4ByD8#XxA}TWmfmk`yjHQiaWWgvD(5iQAZaFuaPNJ zRZL6g>bl*E(_5yVF)hr??%dhA23yL{dnDWu(?V70v`}+f nsQSB*J1xw+EtF0OrMHEmX(8=9ttV6r8?ukaeJ@~(7R-MEj+wd6 delta 3409 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 delta 2203 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 F`wzg@&0YWi literal 4966 zcmb^#T}&Lud3JB_SeE+(%#X3L*9KzF2?QM6HW!?L`48r&{5bK2db->$uz2s5%)0DmJBxB1J!-Y+rmE|5V2$c)TtOo~mg41s-` zFU2J|3Uiu26-Wdq?AIz%e1fNNK&wm%2_aRLs7eJBL5i!;LaA^fOkrM&q@syx3Rh}1 zsoF#>g$3}c=g5?(&+@U*`e(v4(pQzF85ePz?w^^P6<<*n z4b@bH{*1YzBf20C$u}e&7~h%t7Q9tX+EkRF3^ zBH=+N4hmxZ$eE-G2P9Kj)=?JIG!5u!Q&Q6kI&8IZSVt*1tZJr$4CoO&=Cdox-0X#OT(8rY?;7kKX8`ya zwm=0W7;J^?Jhr`rPvI2*QB0`>WVRQNvM*8L!EqGlPw*aGfZ{3=l^z^Vag_}GOQjKRdW>9 zaL4&-kZ4dESI?Cvo?(gE1WSxuf4ef#Bsbg!iDR4KCX+Zm3u2A-sV9x$Yj7|lx9!}N& zDhgm7*vANqZ?H@|=yei1IzDs-P7lpY%+K}DjZIC?PTC>&yP<~7&yFmW&D;IjAojNu zEMx6z4?DQ1N$G30aNRXvBZ-aiu|~{vkHg)&Aj`zq$@OU2>P6S-eoNeyGZbyfAe+Un z)(7GX^9FXX1%*VWg{ibMh}7%K!l0haq?EL2EMOkXNJ?S#EiYVFjf|v;vt~wCb@5!+ zxpNCN)RXEkW6q3 zJcyjy!vILSj!7mW{-+wSasMj@rwL}mXYT7L=X)Q>?6287WefvMmTV*KtzZtkT?s&r z%`w08-6`WSMTN5t_FWo39 z%be`Te}S)!1WWLTje#7qTH|s!81Ec+V6QYAfsKj-Ey)$R!0M5M9WL}f@M=!xmzl%q z2Ei}*B)bff>`z(%*x=0umqU(UZFJ#-(Uky1j-F45mRet~dt7T2OT*&yi4)FJ%^sYMaz9m$8&J}W%kME`WtHinz%DSql~5WYnpq9cp9_vi!Pi_=_Lu|4kFibv}IueQMI8TZ_S(UpLB z#YPqOg(@t|zV&7Cy)*RgZ@7?f1H?j;>u0|^WI(8(Tvt(nPq3$+rdx^Va37|64j-l)L_ z_{A+y3O&Ec-s3}CHCx=)gcUx$%eUa^TNQb}(R#Y~Bi-T~cloP-Ki*R~{)0_!mp^*1 zDPCym-HepldWvmB`L?0EdZF!doc_Hk=F_X3)a=8 z;?-;UtJglhsD0{?;0@i7-Q&J_s&Lvd#?0spT#wA-~7P$9-j7v-S~eZn&S(|bM;2tOpy!vJ_;oGHfjd|ZD7 zPWanC?_*g1JVURQep{@;u7FV1llVFt@WtZa9XjdYDgPb)KE0nIjLv=V8{P+wZJ$}p z82IM_9Paf+^5crpNmEOwn;_hjfylMne)4uQoLAb3Z{LYX0q)od$$NJDx08DkAhn(b zOIZ&{hVLzAeAoEI>&Yq%nDjGdavX(ABu6>2(P z@x6|Zyojz~9C@-BFW~N>k71ZkSb^alH38=QKftT^!Q_2#_MhO@Jb}mWgVsj@z?{4f Uj(x_RXXY8J{YQ@g0VwnT0O7(e!2kdN 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 9b65975f9f5dbd20c9a2edc7a80a9de02a39c980..3b342acf01171a57eb4dbc553958d7555b7d457b 100644 GIT binary patch delta 67 zcmX@8c3h43G%qg~0}%KrTuytpkynpN&@D5kB(8MvkGYd087vlAOHXW delta 55 zcmdn2vQ~xnG%qg~0}z- 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 40bb4d521b925729cae432c4eddd44ad4b7f5051..9d70ad0b3f1e3957677a16eb9937015cab7d7811 100644 GIT binary patch delta 42 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 Ktdh!XOa2RDWrFSi literal 4606 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 GmHY=Tq4lBw diff --git a/routing/store/__pycache__/product_permutation.cpython-312.pyc b/routing/store/__pycache__/product_permutation.cpython-312.pyc index d2eafd7a517c3ffcbeaed7cd8eb8668f12a71b08..78881aff42e91f5e0604ff682c88354045354d3d 100644 GIT binary patch delta 65 zcmdn3dr+76G%qg~0}%KrTu$TJ$lJ=y@0OWUl3G+8A5fH^Qkq<{c_H&Ies=D({G!}q Uz0EPg4NNQ%7a1ZZKM=hQ0G){z2LJ#7 delta 59 zcmX@8yIYs{G%qg~0}z~5x|GJYk++qZKcFZ-r8K!D-YqkyB(dK&;V^%Nig diff --git a/routing/store/__pycache__/stock_item.cpython-312.pyc b/routing/store/__pycache__/stock_item.cpython-312.pyc index d48db2ced47d905596b8bd2c3e82988539287981..c924126d3222f5bd127415a7682137789f890a4a 100644 GIT binary patch delta 71 zcmX@0d`y}5G%qg~0}%KrTu!^Ok++6f&@D5kB(EFzoNF>l~v a=T6Hn$}QI09M9Ll#1e6lA!71lfx7@u3mE4B delta 65 zcmX@6d_bA^G%qg~0}#|IT}r#Ok++6fFrX+ur8K!D-YqkyB(EFzoNF>l~v UWZj&~*TBRQbde!w@=Jlc0LZu&umAu6 diff --git a/routing/store/__pycache__/supplier.cpython-312.pyc b/routing/store/__pycache__/supplier.cpython-312.pyc index 04cd327dc63aefaffcb5c52e8e26c4abeed976e6..0fc6ca9b38b0819022b585dc73959d2aca092dc9 100644 GIT binary patch delta 71 zcmZ1|yIhv{G%qg~0}%KrTuz&|k(Y;A&@D5kB($*Krpxu|!;Ch?uOzR}TRBR2Aa@ delta 65 zcmZ23yHJ+*G%qg~0}wPTT}qp 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('