Compare commits
1 Commits
oracle_vps
...
demo
| Author | SHA1 | Date | |
|---|---|---|---|
| 2103335735 |
72
README.md
72
README.md
@@ -1,41 +1,55 @@
|
||||
Precision and Research Technology Systems Limited
|
||||
Website with online store
|
||||
ERP system with e-commerce store
|
||||
|
||||
Powered by flask
|
||||
|
||||
enter virtual environment:
|
||||
# Run
|
||||
1. enter virtual environment:
|
||||
python -m venv VIRTUAL_ENVIRONMENT_NAME
|
||||
|
||||
run module bundler:
|
||||
2. install required packages:
|
||||
pip install -r requirements.txt
|
||||
|
||||
3. run module bundler:
|
||||
npm run build
|
||||
|
||||
host for machine:
|
||||
4. host for machine:
|
||||
python -m flask run
|
||||
|
||||
host for local network:
|
||||
(or 4.) host for local network:
|
||||
python -m flask run --host=0.0.0.0
|
||||
|
||||
|
||||
files dedicated to each page:
|
||||
CSS
|
||||
page
|
||||
HTML
|
||||
page
|
||||
row
|
||||
JavaScript
|
||||
page
|
||||
api
|
||||
router
|
||||
base - navigation buttons
|
||||
MySQL
|
||||
get
|
||||
save
|
||||
table
|
||||
staging table
|
||||
audit table
|
||||
Python
|
||||
business object
|
||||
controller
|
||||
datastore
|
||||
form
|
||||
model
|
||||
# Code review
|
||||
Sample files:
|
||||
CSS:
|
||||
Page styles
|
||||
static/css/pages/store/supplier.css
|
||||
JavaScript:
|
||||
Page object
|
||||
static/js/pages/store/product_categories.js
|
||||
Router
|
||||
static/js/router.js
|
||||
|
||||
HTML:
|
||||
Layout template
|
||||
templates/layouts/layout.html
|
||||
Page template
|
||||
templates/pages/store/_supplier.html
|
||||
|
||||
Python:
|
||||
Business object:
|
||||
business_objects/store/product_price.py
|
||||
Controller:
|
||||
controllers/core.py
|
||||
Datastore:
|
||||
datastores/datastore_store_product_category.py
|
||||
Model:
|
||||
models/model_view_store_product_permutation.py
|
||||
|
||||
SQL:
|
||||
Table:
|
||||
static/MySQL/1403_tbl_Shop_Supplier_Address.sql
|
||||
Trigger
|
||||
static/MySQL/3000_tri_Shop_Access_Level.sql
|
||||
Save procedure
|
||||
static/MySQL/7200_p_shop_save_product_category.sql
|
||||
|
||||
83
app.log.1
83
app.log.1
@@ -1,83 +0,0 @@
|
||||
User.from_json_auth0
|
||||
json: {'access_token': 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIn0..arWSrpDU5354qDI7.IbRrkeXan6irbNYnEDXOKgV_Qa3HW58e-q-pxzyQmALiaHX4FboD-AWN6FnDtS_npGpuWgyRf8mYfC9alfD72K5nYQDNcWFrMaQGEY_uz4dlGsariyQD27XoEl6S7Uq9e8junqKbS2miQZ7VOu79MfkpgyM-Q8sTRXE8bs2KjjDtJLAhK0RWz-hsIqlUgNTPMA5Ir1gcm-uA_sKEC51kAnqQxV2WCZtvaj9cMl_Zjt11KeuVKPOS_gbL8cTR9V5gUlJCF6rLWgVVvS75H19eGnHdv0jJ5DwW_XaN_l_wojQigBTjDKKXz4J184vB1ivvtNWQuINEGUe5lIt7j-a-ZALw._IMfFUmvPE-89DHDRhhbVg', 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InVveXZURk44bjJvZHg1VkFLMFh1RyJ9.eyJuaWNrbmFtZSI6ImVkd2FyZC5taWRkbGV0b25zbWl0aCIsIm5hbWUiOiJlZHdhcmQubWlkZGxldG9uc21pdGhAZ21haWwuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20vYXZhdGFyLzUzZDNmMjQ0MDdkNTI1N2Y4NGYyN2NhMDc4NzRiZDY0P3M9NDgwJnI9cGcmZD1odHRwcyUzQSUyRiUyRmNkbi5hdXRoMC5jb20lMkZhdmF0YXJzJTJGZWQucG5nIiwidXBkYXRlZF9hdCI6IjIwMjQtMTEtMjJUMTI6NTI6MTEuMzI1WiIsImVtYWlsIjoiZWR3YXJkLm1pZGRsZXRvbnNtaXRoQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIiwiYXVkIjoiZ0dqeXRxTk1XQ2hTaXhxTzcyUlF6VkhXQWFlSkp6UmkiLCJpYXQiOjE3MzIyNzk5MzMsImV4cCI6MTczMjMxNTkzMywic3ViIjoiYXV0aDB8NjU4MmI5NWM4OTVkMDlhNzBiYTEwZmVmIiwic2lkIjoiX3VySVJlQjVJcW53czF4MXQxU08wT3lETzAyTzFyamgiLCJub25jZSI6IjdCRWV1UHlqOERZdkVTZnc0RkdNIn0.ApLWH6u8EUDhqkFo72vCdHv6IqHqGKzTi4vUe6w2NFvgFobAvsacwWTmirMM1Cj4CGkpXVTgau4pyURtxX0ubOfrLR-Xtj9TN1FXZ-l6ddmgpSt7rjbnRsQIEPlGUal9Gx44J36_4qI7fPc8Vo6U7mPKcpKCzcmHJTMrMZ0yMjYDEporwX0gf-DJ41_VbuFeLTjiYLABub_waSoNOqMVgq3pJmvcx-fq_6tj8cRULUWUl4S0zdv8KZIm59z--V45fhOEqRgqJshWZONNl3Y8Btcl8TvU0gCGEzUV9BI80gUYM42w9WS9G3zGiXneXgkld4dxebivgwmgqAQWhNQZ0g', 'scope': 'openid profile email', 'expires_in': 86400, 'token_type': 'Bearer', 'expires_at': 1732366332, 'userinfo': {'nickname': 'edward.middletonsmith', 'name': 'edward.middletonsmith@gmail.com', 'picture': 'https://s.gravatar.com/avatar/53d3f24407d5257f84f27ca07874bd64?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fed.png', 'updated_at': '2024-11-22T12:52:11.325Z', 'email': 'edward.middletonsmith@gmail.com', 'email_verified': False, 'iss': 'https://dev-nwak2066ef6h8ixn.us.auth0.com/', 'aud': 'gGjytqNMWChSixqO72RQzVHWAaeJJzRi', 'iat': 1732279933, 'exp': 1732315933, 'sub': 'auth0|6582b95c895d09a70ba10fef', 'sid': '_urIReB5Iqnws1x1t1SO0OyDO02O1rjh', 'nonce': '7BEeuPyj8DYvESfw4FGM'}}
|
||||
user:
|
||||
id_user: None
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: None
|
||||
surname: None
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: None
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: None
|
||||
can_admin_store: None
|
||||
can_admin_user: None
|
||||
|
||||
user:
|
||||
id_user: None
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: None
|
||||
surname: None
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: None
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: None
|
||||
can_admin_store: None
|
||||
can_admin_user: None
|
||||
|
||||
DataStore_User.get_many_user
|
||||
DataStore_Base.db_procedure_execute
|
||||
proc_string: CALL p_get_many_user(:a_id_user, :a_id_user_auth0, :get_all_user, :get_inactive_user, :ids_user, :ids_user_auth0, :a_debug)
|
||||
args: {'a_id_user': None, 'a_id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'get_all_user': False, 'get_inactive_user': False, 'ids_user': '', 'ids_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'a_debug': 0}
|
||||
result: <sqlalchemy.engine.cursor.CursorResult object at 0x000001CAA039E7B0>
|
||||
raw users: ((1, 'auth0|6582b95c895d09a70ba10fef', 'Teddy', 'Middleton-Smith', 'edward.middletonsmith@gmail.com', b'\x00', None, None, b'\x01', b'\x01', b'\x01', b'\x01', b'\x00'),)
|
||||
type result set: <class 'tuple'>
|
||||
len result set: 1
|
||||
row: (1, 'auth0|6582b95c895d09a70ba10fef', 'Teddy', 'Middleton-Smith', 'edward.middletonsmith@gmail.com', b'\x00', None, None, b'\x01', b'\x01', b'\x01', b'\x01', b'\x00')
|
||||
user <class 'business_objects.user.User'>:
|
||||
id_user: 1
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: Teddy
|
||||
surname: Middleton-Smith
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: True
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: True
|
||||
can_admin_store: True
|
||||
can_admin_user: True
|
||||
|
||||
type users: <class 'list'>
|
||||
type user 0: <class 'business_objects.user.User'>
|
||||
raw errors: ()
|
||||
new result set: ()
|
||||
User logged in
|
||||
user (<class 'business_objects.user.User'>):
|
||||
id_user: 1
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: Teddy
|
||||
surname: Middleton-Smith
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: True
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: True
|
||||
can_admin_store: True
|
||||
can_admin_user: True
|
||||
|
||||
user key: authorisedUser
|
||||
as_json: {'id_user': 1, 'id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'firstname': 'Teddy', 'surname': 'Middleton-Smith', 'email': 'edward.middletonsmith@gmail.com', 'is_email_verified': False, 'is_super_user': True, 'id_currency_default': None, 'id_region_default': None, 'is_included_VAT_default': True, 'can_admin_store': True, 'can_admin_user': True}
|
||||
user stored on session
|
||||
hash is none
|
||||
state: /
|
||||
hash_callback: /
|
||||
user session: {'id_user': 1, 'id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'firstname': 'Teddy', 'surname': 'Middleton-Smith', 'email': 'edward.middletonsmith@gmail.com', 'is_email_verified': False, 'is_super_user': True, 'id_currency_default': None, 'id_region_default': None, 'is_included_VAT_default': True, 'can_admin_store': True, 'can_admin_user': True}
|
||||
session: <SecureCookieSession {'_permanent': True, 'authorisedUser': {'can_admin_store': True, 'can_admin_user': True, 'email': 'edward.middletonsmith@gmail.com', 'firstname': 'Teddy', 'id_currency_default': None, 'id_region_default': None, 'id_user': 1, 'id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'is_email_verified': False, 'is_included_VAT_default': True, 'is_super_user': True, 'surname': 'Middleton-Smith'}, 'csrf_token': '1689a59dcefc3084ed03c8dbce8e7ca280768f81', 'user': {'access_token': 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIn0..arWSrpDU5354qDI7.IbRrkeXan6irbNYnEDXOKgV_Qa3HW58e-q-pxzyQmALiaHX4FboD-AWN6FnDtS_npGpuWgyRf8mYfC9alfD72K5nYQDNcWFrMaQGEY_uz4dlGsariyQD27XoEl6S7Uq9e8junqKbS2miQZ7VOu79MfkpgyM-Q8sTRXE8bs2KjjDtJLAhK0RWz-hsIqlUgNTPMA5Ir1gcm-uA_sKEC51kAnqQxV2WCZtvaj9cMl_Zjt11KeuVKPOS_gbL8cTR9V5gUlJCF6rLWgVVvS75H19eGnHdv0jJ5DwW_XaN_l_wojQigBTjDKKXz4J184vB1ivvtNWQuINEGUe5lIt7j-a-ZALw._IMfFUmvPE-89DHDRhhbVg', 'expires_at': 1732366332, 'expires_in': 86400, 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InVveXZURk44bjJvZHg1VkFLMFh1RyJ9.eyJuaWNrbmFtZSI6ImVkd2FyZC5taWRkbGV0b25zbWl0aCIsIm5hbWUiOiJlZHdhcmQubWlkZGxldG9uc21pdGhAZ21haWwuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20vYXZhdGFyLzUzZDNmMjQ0MDdkNTI1N2Y4NGYyN2NhMDc4NzRiZDY0P3M9NDgwJnI9cGcmZD1odHRwcyUzQSUyRiUyRmNkbi5hdXRoMC5jb20lMkZhdmF0YXJzJTJGZWQucG5nIiwidXBkYXRlZF9hdCI6IjIwMjQtMTEtMjJUMTI6NTI6MTEuMzI1WiIsImVtYWlsIjoiZWR3YXJkLm1pZGRsZXRvbnNtaXRoQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIiwiYXVkIjoiZ0dqeXRxTk1XQ2hTaXhxTzcyUlF6VkhXQWFlSkp6UmkiLCJpYXQiOjE3MzIyNzk5MzMsImV4cCI6MTczMjMxNTkzMywic3ViIjoiYXV0aDB8NjU4MmI5NWM4OTVkMDlhNzBiYTEwZmVmIiwic2lkIjoiX3VySVJlQjVJcW53czF4MXQxU08wT3lETzAyTzFyamgiLCJub25jZSI6IjdCRWV1UHlqOERZdkVTZnc0RkdNIn0.ApLWH6u8EUDhqkFo72vCdHv6IqHqGKzTi4vUe6w2NFvgFobAvsacwWTmirMM1Cj4CGkpXVTgau4pyURtxX0ubOfrLR-Xtj9TN1FXZ-l6ddmgpSt7rjbnRsQIEPlGUal9Gx44J36_4qI7fPc8Vo6U7mPKcpKCzcmHJTMrMZ0yMjYDEporwX0gf-DJ41_VbuFeLTjiYLABub_waSoNOqMVgq3pJmvcx-fq_6tj8cRULUWUl4S0zdv8KZIm59z--V45fhOEqRgqJshWZONNl3Y8Btcl8TvU0gCGEzUV9BI80gUYM42w9WS9G3zGiXneXgkld4dxebivgwmgqAQWhNQZ0g', 'scope': 'openid profile email', 'token_type': 'Bearer', 'userinfo': {'aud': 'gGjytqNMWChSixqO72RQzVHWAaeJJzRi', 'email': 'edward.middletonsmith@gmail.com', 'email_verified': False, 'exp': 1732315933, 'iat': 1732279933, 'iss': 'https://dev-nwak2066ef6h8ixn.us.auth0.com/', 'name': 'edward.middletonsmith@gmail.com', 'nickname': 'edward.middletonsmith', 'nonce': '7BEeuPyj8DYvESfw4FGM', 'picture': 'https://s.gravatar.com/avatar/53d3f24407d5257f84f27ca07874bd64?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fed.png', 'sid': '_urIReB5Iqnws1x1t1SO0OyDO02O1rjh', 'sub': 'auth0|6582b95c895d09a70ba10fef', 'updated_at': '2024-11-22T12:52:11.325Z'}}}>
|
||||
DataStore_Base.get_user_session
|
||||
User.from_json
|
||||
json: {'can_admin_store': True, 'can_admin_user': True, 'email': 'edward.middletonsmith@gmail.com', 'firstname': 'Teddy', 'id_currency_default': None, 'id_region_default': None, 'id_user': 1, 'id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'is_email_verified': False, 'is_included_VAT_default': True, 'is_super_user': True, 'surname': 'Middleton-Smith'}
|
||||
132
app.log.2
132
app.log.2
@@ -1,132 +0,0 @@
|
||||
user <class 'business_objects.user.User'>:
|
||||
id_user: 1
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: Teddy
|
||||
surname: Middleton-Smith
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: True
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: True
|
||||
can_admin_store: True
|
||||
can_admin_user: True
|
||||
|
||||
type users: <class 'list'>
|
||||
type user 0: <class 'business_objects.user.User'>
|
||||
raw errors: ()
|
||||
new result set: ()
|
||||
User logged in
|
||||
user (<class 'business_objects.user.User'>):
|
||||
id_user: 1
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: Teddy
|
||||
surname: Middleton-Smith
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: True
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: True
|
||||
can_admin_store: True
|
||||
can_admin_user: True
|
||||
|
||||
user key: authorisedUser
|
||||
as_json: {'id_user': 1, 'id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'firstname': 'Teddy', 'surname': 'Middleton-Smith', 'email': 'edward.middletonsmith@gmail.com', 'is_email_verified': False, 'is_super_user': True, 'id_currency_default': None, 'id_region_default': None, 'is_included_VAT_default': True, 'can_admin_store': True, 'can_admin_user': True}
|
||||
user stored on session
|
||||
hash is none
|
||||
state: /
|
||||
hash_callback: /
|
||||
user session: {'id_user': 1, 'id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'firstname': 'Teddy', 'surname': 'Middleton-Smith', 'email': 'edward.middletonsmith@gmail.com', 'is_email_verified': False, 'is_super_user': True, 'id_currency_default': None, 'id_region_default': None, 'is_included_VAT_default': True, 'can_admin_store': True, 'can_admin_user': True}
|
||||
session: <SecureCookieSession {'_permanent': True, 'authorisedUser': {'can_admin_store': True, 'can_admin_user': True, 'email': 'edward.middletonsmith@gmail.com', 'firstname': 'Teddy', 'id_currency_default': None, 'id_region_default': None, 'id_user': 1, 'id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'is_email_verified': False, 'is_included_VAT_default': True, 'is_super_user': True, 'surname': 'Middleton-Smith'}, 'csrf_token': '609aa5890b61ec21cc66550109ca31cc7e3eaa3d', 'user': {'access_token': 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIn0..PT10sdrXdrY56k-9.rU-DfkB98x5UEnQYnVi7819a1BotlXjB9IR3yCeRHKL3iVCQIcCm8-Cld93CGXBk9-74i_xFgke7wuY-K8hmzNt-R6XG8tikkKZDPvQzKQjsykgDOXxIHK2VQfIacOJILmLIa9XTB93gnKUUha9besm2nrRIluOSfe_sJgU7AhYQ3lWpoWyh-oGzjsO5ObGepcDuzikz5zK7kst90DYFHezFrDEPJwSXU8bBkm0DN6WNGOg3wumMG7BZvoi5TNhgGUleoxlr1w3RFgJZg_7ra_eNWXY9_d_dbF9Hc7F_Enhr1ZtSpW2LsX7MOlReoDEzM---S-3hbXVXuEfgufISqkbV.bRWgAFRVOFi8SejsOC3i3Q', 'expires_at': 1732366225, 'expires_in': 86400, 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InVveXZURk44bjJvZHg1VkFLMFh1RyJ9.eyJuaWNrbmFtZSI6ImVkd2FyZC5taWRkbGV0b25zbWl0aCIsIm5hbWUiOiJlZHdhcmQubWlkZGxldG9uc21pdGhAZ21haWwuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20vYXZhdGFyLzUzZDNmMjQ0MDdkNTI1N2Y4NGYyN2NhMDc4NzRiZDY0P3M9NDgwJnI9cGcmZD1odHRwcyUzQSUyRiUyRmNkbi5hdXRoMC5jb20lMkZhdmF0YXJzJTJGZWQucG5nIiwidXBkYXRlZF9hdCI6IjIwMjQtMTEtMjJUMTI6NTA6MjUuMjI2WiIsImVtYWlsIjoiZWR3YXJkLm1pZGRsZXRvbnNtaXRoQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIiwiYXVkIjoiZ0dqeXRxTk1XQ2hTaXhxTzcyUlF6VkhXQWFlSkp6UmkiLCJpYXQiOjE3MzIyNzk4MjYsImV4cCI6MTczMjMxNTgyNiwic3ViIjoiYXV0aDB8NjU4MmI5NWM4OTVkMDlhNzBiYTEwZmVmIiwic2lkIjoia2FtQUprQW1SaF9va0w3T2x0aFJvTEtkR0JKbjhYMGUiLCJub25jZSI6InZmMzhSeUNaUTRlUHRKRmhaTUdYIn0.oMQD6ejzlZXR4wLToNnK_G6W9mbfAAMYOpOMce4B9ZRSwvCCIvHY--RyNNxFvpRDVgZaZylE1IHddNavNuCuk9v0LEg6y-25m1AwNo2ff3SlQsOQvqRlFO60MhzFnwIW2SZeTzufsD2qMVbvBcVbqKVYQSm8TyxyFsoGINroeQmBeAc82_m_OPUjPgHUkUi2kWTmVWSCVvbh7G25JwQjkBJvdwLDr-d4_HNuzUNFCjFtCvGpFtByi4w_eNq8E1KseJWh7dS_0z6J7tJWt_pBPHG_UISXcxo27kkREkB0aVbj4zzVfUU0Ta-NneEr4VTyz3KNo7r1574rIPrfVWzMsQ', 'scope': 'openid profile email', 'token_type': 'Bearer', 'userinfo': {'aud': 'gGjytqNMWChSixqO72RQzVHWAaeJJzRi', 'email': 'edward.middletonsmith@gmail.com', 'email_verified': False, 'exp': 1732315826, 'iat': 1732279826, 'iss': 'https://dev-nwak2066ef6h8ixn.us.auth0.com/', 'name': 'edward.middletonsmith@gmail.com', 'nickname': 'edward.middletonsmith', 'nonce': 'vf38RyCZQ4ePtJFhZMGX', 'picture': 'https://s.gravatar.com/avatar/53d3f24407d5257f84f27ca07874bd64?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fed.png', 'sid': 'kamAJkAmRh_okL7OlthRoLKdGBJn8X0e', 'sub': 'auth0|6582b95c895d09a70ba10fef', 'updated_at': '2024-11-22T12:50:25.226Z'}}}>
|
||||
DataStore_Base.get_user_session
|
||||
User.from_json
|
||||
json: {'can_admin_store': True, 'can_admin_user': True, 'email': 'edward.middletonsmith@gmail.com', 'firstname': 'Teddy', 'id_currency_default': None, 'id_region_default': None, 'id_user': 1, 'id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'is_email_verified': False, 'is_included_VAT_default': True, 'is_super_user': True, 'surname': 'Middleton-Smith'}
|
||||
user:
|
||||
id_user: 1
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: Teddy
|
||||
surname: Middleton-Smith
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: True
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: True
|
||||
can_admin_store: True
|
||||
can_admin_user: True
|
||||
|
||||
User.from_json
|
||||
json: {'can_admin_store': True, 'can_admin_user': True, 'email': 'edward.middletonsmith@gmail.com', 'firstname': 'Teddy', 'id_currency_default': None, 'id_region_default': None, 'id_user': 1, 'id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'is_email_verified': False, 'is_included_VAT_default': True, 'is_super_user': True, 'surname': 'Middleton-Smith'}
|
||||
user:
|
||||
id_user: 1
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: Teddy
|
||||
surname: Middleton-Smith
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: True
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: True
|
||||
can_admin_store: True
|
||||
can_admin_user: True
|
||||
|
||||
argument_dict: {'a_id_user': 1, 'a_id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'get_all_user': False, 'get_inactive_user': False, 'ids_user': 1, 'ids_user_auth0': '', 'a_debug': 0}
|
||||
executing p_get_many_user
|
||||
DataStore_Base.db_procedure_execute
|
||||
proc_string: CALL p_get_many_user(:a_id_user, :a_id_user_auth0, :get_all_user, :get_inactive_user, :ids_user, :ids_user_auth0, :a_debug)
|
||||
args: {'a_id_user': 1, 'a_id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'get_all_user': False, 'get_inactive_user': False, 'ids_user': 1, 'ids_user_auth0': '', 'a_debug': 0}
|
||||
result: <sqlalchemy.engine.cursor.CursorResult object at 0x000001CAA039E580>
|
||||
data received
|
||||
raw users: ((1, 'auth0|6582b95c895d09a70ba10fef', 'Teddy', 'Middleton-Smith', 'edward.middletonsmith@gmail.com', b'\x00', None, None, b'\x01', b'\x01', b'\x01', b'\x01', b'\x00'),)
|
||||
raw errors: ()
|
||||
new result set: ()
|
||||
model_view_base init end - model.user:
|
||||
id_user: 1
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: Teddy
|
||||
surname: Middleton-Smith
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: True
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: True
|
||||
can_admin_store: True
|
||||
can_admin_user: True
|
||||
|
||||
Redirecting to https://dev-nwak2066ef6h8ixn.us.auth0.com/v2/logout?returnTo=http%3A%2F%2F127.0.0.1%3A5000%2Flogout_callback&client_id=gGjytqNMWChSixqO72RQzVHWAaeJJzRi
|
||||
session: <SecureCookieSession {'_permanent': True}>
|
||||
DataStore_Base.get_user_session
|
||||
model_view_base init end - model.user:
|
||||
id_user: 0
|
||||
id_user_auth0: None
|
||||
firstname: None
|
||||
surname: None
|
||||
email: None
|
||||
is_email_verified: None
|
||||
is_super_user: None
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: None
|
||||
can_admin_store: None
|
||||
can_admin_user: None
|
||||
|
||||
login
|
||||
method=POST
|
||||
data={'callback': '/', 'X-CSRFToken': 'IjE2ODlhNTlkY2VmYzMwODRlZDAzYzhkYmNlOGU3Y2EyODA3NjhmODEi.Z0B-cw.7GSddkmtZoja9ghsAUue88aIHVc'}
|
||||
hash_callback: /
|
||||
redirect uri: http://127.0.0.1:5000/login_callback
|
||||
Before red
|
||||
redirect: <Response 701 bytes [302 FOUND]>
|
||||
headers: https://dev-nwak2066ef6h8ixn.us.auth0.com/authorize?response_type=code&client_id=gGjytqNMWChSixqO72RQzVHWAaeJJzRi&redirect_uri=http%3A%2F%2F127.0.0.1%3A5000%2Flogin_callback&scope=openid+profile+email&state=%2F&nonce=7BEeuPyj8DYvESfw4FGM
|
||||
|
||||
OAuth Authorize Redirect URL:
|
||||
|
||||
Base URL: https://dev-nwak2066ef6h8ixn.us.auth0.com/authorize
|
||||
ParseResult(scheme='https', netloc='dev-nwak2066ef6h8ixn.us.auth0.com', path='/authorize', params='', query='response_type=code&client_id=gGjytqNMWChSixqO72RQzVHWAaeJJzRi&redirect_uri=http%3A%2F%2F127.0.0.1%3A5000%2Flogin_callback&scope=openid+profile+email&state=%2F&nonce=7BEeuPyj8DYvESfw4FGM', fragment='')
|
||||
|
||||
Query Parameters: {'response_type': ['code'], 'client_id': ['gGjytqNMWChSixqO72RQzVHWAaeJJzRi'], 'redirect_uri': ['http://127.0.0.1:5000/login_callback'], 'scope': ['openid profile email'], 'state': ['/'], 'nonce': ['7BEeuPyj8DYvESfw4FGM']}
|
||||
|
||||
login_callback
|
||||
147
app.log.3
147
app.log.3
@@ -1,147 +0,0 @@
|
||||
user:
|
||||
id_user: 1
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: Teddy
|
||||
surname: Middleton-Smith
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: True
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: True
|
||||
can_admin_store: True
|
||||
can_admin_user: True
|
||||
|
||||
argument_dict: {'a_id_user': 1, 'a_id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'get_all_user': False, 'get_inactive_user': False, 'ids_user': 1, 'ids_user_auth0': '', 'a_debug': 0}
|
||||
executing p_get_many_user
|
||||
DataStore_Base.db_procedure_execute
|
||||
proc_string: CALL p_get_many_user(:a_id_user, :a_id_user_auth0, :get_all_user, :get_inactive_user, :ids_user, :ids_user_auth0, :a_debug)
|
||||
args: {'a_id_user': 1, 'a_id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'get_all_user': False, 'get_inactive_user': False, 'ids_user': 1, 'ids_user_auth0': '', 'a_debug': 0}
|
||||
result: <sqlalchemy.engine.cursor.CursorResult object at 0x00000204876FA740>
|
||||
data received
|
||||
raw users: ((1, 'auth0|6582b95c895d09a70ba10fef', 'Teddy', 'Middleton-Smith', 'edward.middletonsmith@gmail.com', b'\x00', None, None, b'\x01', b'\x01', b'\x01', b'\x01', b'\x00'),)
|
||||
raw errors: ()
|
||||
new result set: ()
|
||||
model_view_base init end - model.user:
|
||||
id_user: 1
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: Teddy
|
||||
surname: Middleton-Smith
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: True
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: True
|
||||
can_admin_store: True
|
||||
can_admin_user: True
|
||||
|
||||
Redirecting to https://dev-nwak2066ef6h8ixn.us.auth0.com/v2/logout?returnTo=http%3A%2F%2F127.0.0.1%3A5000%2Flogout_callback&client_id=gGjytqNMWChSixqO72RQzVHWAaeJJzRi
|
||||
Redirecting to https://dev-nwak2066ef6h8ixn.us.auth0.com/v2/logout?returnTo=http%3A%2F%2F127.0.0.1%3A5000%2Flogout_callback&client_id=gGjytqNMWChSixqO72RQzVHWAaeJJzRi
|
||||
session: <SecureCookieSession {'_permanent': True}>
|
||||
DataStore_Base.get_user_session
|
||||
model_view_base init end - model.user:
|
||||
id_user: 0
|
||||
id_user_auth0: None
|
||||
firstname: None
|
||||
surname: None
|
||||
email: None
|
||||
is_email_verified: None
|
||||
is_super_user: None
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: None
|
||||
can_admin_store: None
|
||||
can_admin_user: None
|
||||
|
||||
session: <SecureCookieSession {'_permanent': True, 'csrf_token': '609aa5890b61ec21cc66550109ca31cc7e3eaa3d'}>
|
||||
DataStore_Base.get_user_session
|
||||
model_view_base init end - model.user:
|
||||
id_user: 0
|
||||
id_user_auth0: None
|
||||
firstname: None
|
||||
surname: None
|
||||
email: None
|
||||
is_email_verified: None
|
||||
is_super_user: None
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: None
|
||||
can_admin_store: None
|
||||
can_admin_user: None
|
||||
|
||||
config_env: development
|
||||
config_env: development
|
||||
config_env: development
|
||||
session: <SecureCookieSession {'_permanent': True, 'csrf_token': '609aa5890b61ec21cc66550109ca31cc7e3eaa3d'}>
|
||||
DataStore_Base.get_user_session
|
||||
model_view_base init end - model.user:
|
||||
id_user: 0
|
||||
id_user_auth0: None
|
||||
firstname: None
|
||||
surname: None
|
||||
email: None
|
||||
is_email_verified: None
|
||||
is_super_user: None
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: None
|
||||
can_admin_store: None
|
||||
can_admin_user: None
|
||||
|
||||
login
|
||||
method=POST
|
||||
data={'callback': '/', 'X-CSRFToken': 'IjYwOWFhNTg5MGI2MWVjMjFjYzY2NTUwMTA5Y2EzMWNjN2UzZWFhM2Qi.Z0B-CQ.TTYIfFRtsGgQfnlBDsEy9k9ixBk'}
|
||||
hash_callback: /
|
||||
redirect uri: http://127.0.0.1:5000/login_callback
|
||||
Before red
|
||||
redirect: <Response 701 bytes [302 FOUND]>
|
||||
headers: https://dev-nwak2066ef6h8ixn.us.auth0.com/authorize?response_type=code&client_id=gGjytqNMWChSixqO72RQzVHWAaeJJzRi&redirect_uri=http%3A%2F%2F127.0.0.1%3A5000%2Flogin_callback&scope=openid+profile+email&state=%2F&nonce=vf38RyCZQ4ePtJFhZMGX
|
||||
|
||||
OAuth Authorize Redirect URL:
|
||||
|
||||
Base URL: https://dev-nwak2066ef6h8ixn.us.auth0.com/authorize
|
||||
ParseResult(scheme='https', netloc='dev-nwak2066ef6h8ixn.us.auth0.com', path='/authorize', params='', query='response_type=code&client_id=gGjytqNMWChSixqO72RQzVHWAaeJJzRi&redirect_uri=http%3A%2F%2F127.0.0.1%3A5000%2Flogin_callback&scope=openid+profile+email&state=%2F&nonce=vf38RyCZQ4ePtJFhZMGX', fragment='')
|
||||
|
||||
Query Parameters: {'response_type': ['code'], 'client_id': ['gGjytqNMWChSixqO72RQzVHWAaeJJzRi'], 'redirect_uri': ['http://127.0.0.1:5000/login_callback'], 'scope': ['openid profile email'], 'state': ['/'], 'nonce': ['vf38RyCZQ4ePtJFhZMGX']}
|
||||
|
||||
login_callback
|
||||
User.from_json_auth0
|
||||
json: {'access_token': 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIn0..PT10sdrXdrY56k-9.rU-DfkB98x5UEnQYnVi7819a1BotlXjB9IR3yCeRHKL3iVCQIcCm8-Cld93CGXBk9-74i_xFgke7wuY-K8hmzNt-R6XG8tikkKZDPvQzKQjsykgDOXxIHK2VQfIacOJILmLIa9XTB93gnKUUha9besm2nrRIluOSfe_sJgU7AhYQ3lWpoWyh-oGzjsO5ObGepcDuzikz5zK7kst90DYFHezFrDEPJwSXU8bBkm0DN6WNGOg3wumMG7BZvoi5TNhgGUleoxlr1w3RFgJZg_7ra_eNWXY9_d_dbF9Hc7F_Enhr1ZtSpW2LsX7MOlReoDEzM---S-3hbXVXuEfgufISqkbV.bRWgAFRVOFi8SejsOC3i3Q', 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InVveXZURk44bjJvZHg1VkFLMFh1RyJ9.eyJuaWNrbmFtZSI6ImVkd2FyZC5taWRkbGV0b25zbWl0aCIsIm5hbWUiOiJlZHdhcmQubWlkZGxldG9uc21pdGhAZ21haWwuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20vYXZhdGFyLzUzZDNmMjQ0MDdkNTI1N2Y4NGYyN2NhMDc4NzRiZDY0P3M9NDgwJnI9cGcmZD1odHRwcyUzQSUyRiUyRmNkbi5hdXRoMC5jb20lMkZhdmF0YXJzJTJGZWQucG5nIiwidXBkYXRlZF9hdCI6IjIwMjQtMTEtMjJUMTI6NTA6MjUuMjI2WiIsImVtYWlsIjoiZWR3YXJkLm1pZGRsZXRvbnNtaXRoQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIiwiYXVkIjoiZ0dqeXRxTk1XQ2hTaXhxTzcyUlF6VkhXQWFlSkp6UmkiLCJpYXQiOjE3MzIyNzk4MjYsImV4cCI6MTczMjMxNTgyNiwic3ViIjoiYXV0aDB8NjU4MmI5NWM4OTVkMDlhNzBiYTEwZmVmIiwic2lkIjoia2FtQUprQW1SaF9va0w3T2x0aFJvTEtkR0JKbjhYMGUiLCJub25jZSI6InZmMzhSeUNaUTRlUHRKRmhaTUdYIn0.oMQD6ejzlZXR4wLToNnK_G6W9mbfAAMYOpOMce4B9ZRSwvCCIvHY--RyNNxFvpRDVgZaZylE1IHddNavNuCuk9v0LEg6y-25m1AwNo2ff3SlQsOQvqRlFO60MhzFnwIW2SZeTzufsD2qMVbvBcVbqKVYQSm8TyxyFsoGINroeQmBeAc82_m_OPUjPgHUkUi2kWTmVWSCVvbh7G25JwQjkBJvdwLDr-d4_HNuzUNFCjFtCvGpFtByi4w_eNq8E1KseJWh7dS_0z6J7tJWt_pBPHG_UISXcxo27kkREkB0aVbj4zzVfUU0Ta-NneEr4VTyz3KNo7r1574rIPrfVWzMsQ', 'scope': 'openid profile email', 'expires_in': 86400, 'token_type': 'Bearer', 'expires_at': 1732366225, 'userinfo': {'nickname': 'edward.middletonsmith', 'name': 'edward.middletonsmith@gmail.com', 'picture': 'https://s.gravatar.com/avatar/53d3f24407d5257f84f27ca07874bd64?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fed.png', 'updated_at': '2024-11-22T12:50:25.226Z', 'email': 'edward.middletonsmith@gmail.com', 'email_verified': False, 'iss': 'https://dev-nwak2066ef6h8ixn.us.auth0.com/', 'aud': 'gGjytqNMWChSixqO72RQzVHWAaeJJzRi', 'iat': 1732279826, 'exp': 1732315826, 'sub': 'auth0|6582b95c895d09a70ba10fef', 'sid': 'kamAJkAmRh_okL7OlthRoLKdGBJn8X0e', 'nonce': 'vf38RyCZQ4ePtJFhZMGX'}}
|
||||
user:
|
||||
id_user: None
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: None
|
||||
surname: None
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: None
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: None
|
||||
can_admin_store: None
|
||||
can_admin_user: None
|
||||
|
||||
user:
|
||||
id_user: None
|
||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||
firstname: None
|
||||
surname: None
|
||||
email: edward.middletonsmith@gmail.com
|
||||
is_email_verified: False
|
||||
is_super_user: None
|
||||
id_currency_default: None
|
||||
id_region_default: None
|
||||
is_included_VAT_default: None
|
||||
can_admin_store: None
|
||||
can_admin_user: None
|
||||
|
||||
DataStore_User.get_many_user
|
||||
DataStore_Base.db_procedure_execute
|
||||
proc_string: CALL p_get_many_user(:a_id_user, :a_id_user_auth0, :get_all_user, :get_inactive_user, :ids_user, :ids_user_auth0, :a_debug)
|
||||
args: {'a_id_user': None, 'a_id_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'get_all_user': False, 'get_inactive_user': False, 'ids_user': '', 'ids_user_auth0': 'auth0|6582b95c895d09a70ba10fef', 'a_debug': 0}
|
||||
result: <sqlalchemy.engine.cursor.CursorResult object at 0x000001CAA03D9D30>
|
||||
raw users: ((1, 'auth0|6582b95c895d09a70ba10fef', 'Teddy', 'Middleton-Smith', 'edward.middletonsmith@gmail.com', b'\x00', None, None, b'\x01', b'\x01', b'\x01', b'\x01', b'\x00'),)
|
||||
type result set: <class 'tuple'>
|
||||
len result set: 1
|
||||
row: (1, 'auth0|6582b95c895d09a70ba10fef', 'Teddy', 'Middleton-Smith', 'edward.middletonsmith@gmail.com', b'\x00', None, None, b'\x01', b'\x01', b'\x01', b'\x01', b'\x00')
|
||||
Binary file not shown.
@@ -125,7 +125,7 @@ class Manufacturing_Purchase_Order_Product_Link(db.Model, Store_Base):
|
||||
id_permutation = db.Column(db.Integer)
|
||||
id_unit_quantity = db.Column(db.Integer)
|
||||
name_permutation = db.Column(db.String(255))
|
||||
csv_id_pairs_variation = db.Column(db.String(4000))
|
||||
csv_id_pairs_variation = db.Column(db.String)
|
||||
quantity_used = db.Column(db.Float)
|
||||
quantity_produced = db.Column(db.Float)
|
||||
id_unit_latency_manufacture = db.Column(db.Integer)
|
||||
|
||||
@@ -59,7 +59,7 @@ class Product_Permutation(db.Model, Store_Base):
|
||||
FLAG_DOES_EXPIRE_FASTER_ONCE_UNSEALED = 'does_expire_faster_once_unsealed'
|
||||
FLAG_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED = f'{Unit_Measurement.ATTR_ID_UNIT_MEASUREMENT}_interval_expiration_unsealed'
|
||||
FLAG_SYMBOL_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED = f'{Unit_Measurement.FLAG_SYMBOL}_interval_expiration_unsealed'
|
||||
FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_INTERVAL_EXPIRATION_UNSEALED = f'{Unit_Measurement.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX}_interval_expiration_unsealed'
|
||||
FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED = f'{Unit_Measurement.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX}_interval_expiration_unsealed'
|
||||
FLAG_NAME_SINGULAR_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED = f'{Unit_Measurement.FLAG_NAME_SINGULAR}_interval_expiration_unsealed'
|
||||
FLAG_NAME_PLURAL_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED = f'{Unit_Measurement.FLAG_NAME_PLURAL}_interval_expiration_unsealed'
|
||||
FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED = 'count_interval_expiration_unsealed'
|
||||
@@ -103,7 +103,7 @@ class Product_Permutation(db.Model, Store_Base):
|
||||
does_expire_faster_once_unsealed = db.Column(db.Boolean)
|
||||
id_unit_measurement_interval_expiration_unsealed = db.Column(db.Integer)
|
||||
symbol_unit_measurement_interval_expiration_unsealed = db.Column(db.String(50))
|
||||
symbol_is_suffix_not_prefix_unit_interval_expiration_unsealed = db.Column(db.Boolean)
|
||||
symbol_is_suffix_not_prefix_unit_measurement_interval_expiration_unsealed = db.Column(db.Boolean)
|
||||
name_singular_unit_measurement_interval_expiration_unsealed = db.Column(db.String(255))
|
||||
name_plural_unit_measurement_interval_expiration_unsealed = db.Column(db.String(256))
|
||||
count_interval_expiration_unsealed = db.Column(db.Integer)
|
||||
@@ -174,7 +174,7 @@ class Product_Permutation(db.Model, Store_Base):
|
||||
permutation.does_expire_faster_once_unsealed = av.input_bool(query_row[28], "does_expire_faster_once_unsealed", _m, v_arg_type=v_arg_type)
|
||||
permutation.id_unit_measurement_interval_expiration_unsealed = query_row[29]
|
||||
permutation.symbol_unit_measurement_interval_expiration_unsealed = query_row[30]
|
||||
permutation.symbol_is_suffix_not_prefix_unit_interval_expiration_unsealed = av.input_bool(query_row[31], cls.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_INTERVAL_EXPIRATION_UNSEALED, _m, v_arg_type=v_arg_type)
|
||||
permutation.symbol_is_suffix_not_prefix_unit_measurement_interval_expiration_unsealed = av.input_bool(query_row[31], cls.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED, _m, v_arg_type=v_arg_type)
|
||||
permutation.name_singular_unit_measurement_interval_expiration_unsealed = query_row[32]
|
||||
permutation.name_plural_unit_measurement_interval_expiration_unsealed = query_row[33]
|
||||
permutation.count_interval_expiration_unsealed = query_row[34]
|
||||
@@ -248,7 +248,7 @@ class Product_Permutation(db.Model, Store_Base):
|
||||
permutation.does_expire_faster_once_unsealed = 1 if av.input_bool(json[cls.FLAG_DOES_EXPIRE_FASTER_ONCE_UNSEALED], cls.FLAG_DOES_EXPIRE_FASTER_ONCE_UNSEALED, _m) else 0
|
||||
permutation.id_unit_measurement_interval_expiration_unsealed = json[cls.FLAG_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED] if json[cls.FLAG_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED] != '' else None
|
||||
permutation.symbol_unit_measurement_interval_expiration_unsealed = json.get(cls.FLAG_SYMBOL_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED)
|
||||
permutation.symbol_is_suffix_not_prefix_unit_interval_expiration_unsealed = json.get(cls.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_INTERVAL_EXPIRATION_UNSEALED)
|
||||
permutation.symbol_is_suffix_not_prefix_unit_measurement_interval_expiration_unsealed = json.get(cls.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED)
|
||||
permutation.name_singular_unit_measurement_interval_expiration_unsealed = json.get(cls.FLAG_NAME_SINGULAR_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED)
|
||||
permutation.name_plural_unit_measurement_interval_expiration_unsealed = json.get(cls.FLAG_NAME_PLURAL_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED)
|
||||
permutation.count_interval_expiration_unsealed = json[cls.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED] if json[cls.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED] != '' else None
|
||||
@@ -295,7 +295,7 @@ class Product_Permutation(db.Model, Store_Base):
|
||||
self.FLAG_DOES_EXPIRE_FASTER_ONCE_UNSEALED: self.does_expire_faster_once_unsealed,
|
||||
self.FLAG_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED: self.id_unit_measurement_interval_expiration_unsealed,
|
||||
self.FLAG_SYMBOL_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED: self.symbol_unit_measurement_interval_expiration_unsealed,
|
||||
self.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_INTERVAL_EXPIRATION_UNSEALED: self.symbol_is_suffix_not_prefix_unit_interval_expiration_unsealed,
|
||||
self.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED: self.symbol_is_suffix_not_prefix_unit_measurement_interval_expiration_unsealed,
|
||||
self.FLAG_NAME_SINGULAR_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED: self.name_singular_unit_measurement_interval_expiration_unsealed,
|
||||
self.FLAG_NAME_PLURAL_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED: self.name_plural_unit_measurement_interval_expiration_unsealed,
|
||||
self.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED: self.count_interval_expiration_unsealed,
|
||||
@@ -380,7 +380,7 @@ class Product_Permutation(db.Model, Store_Base):
|
||||
does_expire_faster_once_unsealed: {self.does_expire_faster_once_unsealed}
|
||||
id_unit_measurement_interval_expiration_unsealed: {self.id_unit_measurement_interval_expiration_unsealed}
|
||||
symbol_unit_measurement_interval_expiration_unsealed: {self.symbol_unit_measurement_interval_expiration_unsealed}
|
||||
symbol_is_suffix_not_prefix_unit_interval_expiration_unsealed: {self.symbol_is_suffix_not_prefix_unit_interval_expiration_unsealed}
|
||||
symbol_is_suffix_not_prefix_unit_measurement_interval_expiration_unsealed: {self.symbol_is_suffix_not_prefix_unit_measurement_interval_expiration_unsealed}
|
||||
name_singular_unit_measurement_interval_expiration_unsealed: {self.name_singular_unit_measurement_interval_expiration_unsealed}
|
||||
name_plural_unit_measurement_interval_expiration_unsealed: {self.name_plural_unit_measurement_interval_expiration_unsealed}
|
||||
count_interval_expiration_unsealed: {self.count_interval_expiration_unsealed}
|
||||
|
||||
@@ -14,14 +14,12 @@ Datastore for Store Product Categories
|
||||
import lib.argument_validation as av
|
||||
from business_objects.store.product_category import Product_Category_Container, Product_Category, Product_Category_Temp
|
||||
from business_objects.sql_error import SQL_Error
|
||||
# from datastores.datastore_base import Table_Shop_Product_Category, Table_Shop_Product_Category_Temp
|
||||
from datastores.datastore_store_base import DataStore_Store_Base
|
||||
from helpers.helper_app import Helper_App
|
||||
from helpers.helper_db_mysql import Helper_DB_MySQL
|
||||
# from models.model_view_store_checkout import Model_View_Store_Checkout # circular!
|
||||
from extensions import db
|
||||
# external
|
||||
# from abc import ABC, abstractmethod, abstractproperty
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from sqlalchemy import text
|
||||
import stripe
|
||||
@@ -40,8 +38,6 @@ class DataStore_Store_Product_Category(DataStore_Store_Base):
|
||||
_m = 'DataStore_Store_Product_Category.save_categories'
|
||||
Helper_App.console_log(f'{_m}\nstarting...')
|
||||
Helper_App.console_log(f'comment: {comment}\ncategories: {categories}')
|
||||
# av.val_str(comment, 'comment', _m)
|
||||
# av.val_list_instances(categories, 'categories', _m, Product_Category, 1)
|
||||
|
||||
guid = Helper_DB_MySQL.create_guid()
|
||||
now = datetime.now()
|
||||
@@ -50,32 +46,15 @@ class DataStore_Store_Product_Category(DataStore_Store_Base):
|
||||
id_category_new = 0
|
||||
for category in categories:
|
||||
row = Product_Category_Temp.from_product_category(category)
|
||||
# row = category.to_temporary_record()
|
||||
# id_tmp =
|
||||
if row.id_category == '':
|
||||
id_category_new -= 1
|
||||
row.id_category = id_category_new
|
||||
else:
|
||||
Helper_App.console_log(f'row.id_category: {row.id_category}')
|
||||
row.guid = guid
|
||||
# row.created_on = now
|
||||
# row.created_by = user.id_user
|
||||
rows.append(row)
|
||||
|
||||
Helper_App.console_log(f'rows: {rows}')
|
||||
"""
|
||||
cursor = db.cursor()
|
||||
Helper_App.console_log('cursor created')
|
||||
cursor.executemany(
|
||||
'INSERT INTO Shop_Product_Category_Temp (id_category, code, name, description, active, display_order, guid, created_on, created_by) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)',
|
||||
categories
|
||||
)
|
||||
Helper_App.console_log('bulk upload executed')
|
||||
db.commit()
|
||||
Helper_App.console_log('bulk upload committed')
|
||||
cursor.close()
|
||||
Helper_App.console_log('cursor closed')
|
||||
"""
|
||||
DataStore_Store_Base.upload_bulk(Product_Category_Temp.__tablename__, rows, 1000)
|
||||
|
||||
argument_dict_list = {
|
||||
@@ -92,7 +71,7 @@ class DataStore_Store_Product_Category(DataStore_Store_Base):
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_DB_record(row) for row in result_set_e] # (row[0], row[1])
|
||||
errors = [SQL_Error.from_DB_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -133,7 +133,7 @@ class Model_View_Store(Model_View_Base):
|
||||
FLAG_SUPPLIER_ADDRESS: ClassVar[str] = Store_Base.FLAG_SUPPLIER_ADDRESS
|
||||
FLAG_SUPPLIER_PURCHASE_ORDER: ClassVar[str] = Store_Base.FLAG_SUPPLIER_PURCHASE_ORDER
|
||||
FLAG_SYMBOL_CURRENCY_COST: ClassVar[str] = Product_Permutation.FLAG_SYMBOL_CURRENCY_COST
|
||||
FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_INTERVAL_EXPIRATION_UNSEALED: ClassVar[str] = Product_Permutation.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_INTERVAL_EXPIRATION_UNSEALED
|
||||
FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED: ClassVar[str] = Product_Permutation.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED
|
||||
FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_MEASUREMENT_INTERVAL_RECURRENCE: ClassVar[str] = Product_Permutation.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_MEASUREMENT_INTERVAL_RECURRENCE
|
||||
FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_MEASUREMENT_QUANTITY: ClassVar[str] = Product_Permutation.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX_UNIT_MEASUREMENT_QUANTITY
|
||||
FLAG_SYMBOL_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED: ClassVar[str] = Product_Permutation.FLAG_SYMBOL_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED
|
||||
|
||||
@@ -25,7 +25,7 @@ from config import app_config
|
||||
|
||||
# VARIABLE INSTANTIATION
|
||||
key_secret = os.environ.get("KEY_SECRET_STRIPE")
|
||||
key_public = os.environ.get("KEY_PUBLIC_STRIPE") # 'pk_test_51OGrxlL7BuLKjoMpfpfw7bSmZZK1MhqMoQ5VhW2jUj7YtoEejO4vqnxKPiqTHHuh9U4qqkywbPCSI9TpFKtr4SYH007KHMWs68'
|
||||
key_public = os.environ.get("KEY_PUBLIC_STRIPE")
|
||||
|
||||
# METHODS
|
||||
def create_product_price():
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
||||
|
||||
|
||||
|
||||
-- Drop dependencies
|
||||
# Drop dependencies
|
||||
DROP TABLE IF EXISTS tmp_Shop_Calc_User;
|
||||
DROP TABLE IF EXISTS tmp_Product_Calc_User;
|
||||
DROP TABLE IF EXISTS tmp_Product_p_Shop_User_Eval;
|
||||
@@ -55,7 +55,7 @@ DROP TABLE IF EXISTS tmp_Shop_Customer_Sale_Order;
|
||||
DROP TABLE IF EXISTS tmp_Get_Variation_From_Csv_Variations;
|
||||
|
||||
|
||||
-- Delete old tables
|
||||
# Delete old tables
|
||||
DROP TABLE IF EXISTS Split_Temp;
|
||||
DROP TABLE IF EXISTS Split_Key_Value_Pair_Csv_Temp;
|
||||
DROP TABLE IF EXISTS Split_Key_Value_Pair_Temp;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Product Change Sets
|
||||
# Product Change Sets
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Split Staging
|
||||
# Split Staging
|
||||
-- USE partsltd_prod;
|
||||
-- DROP TABLE IF EXISTS Split_Temp;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- User Change Sets
|
||||
# User Change Sets
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Split Key Value Pair CSV Staging
|
||||
# Split Key Value Pair CSV Staging
|
||||
-- USE partsltd_prod;
|
||||
-- DROP TABLE IF EXISTS Split_Temp;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Sales And Purchasing Change Sets
|
||||
# Sales And Purchasing Change Sets
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Access Levels
|
||||
# Access Levels
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Access Level Audits
|
||||
# Access Level Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Error Message Type
|
||||
# Error Message Type
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- File Types
|
||||
# File Types
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- File Type Audit
|
||||
# File Type Audit
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Generic / shared properties
|
||||
# Generic / shared properties
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Shop General Audits
|
||||
# Shop General Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Image Types
|
||||
# Image Types
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Image Type Audits
|
||||
# Image Type Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Regions
|
||||
# Regions
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Region';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Region Audits
|
||||
# Region Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Region Temp
|
||||
# Region Temp
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Region Branchs
|
||||
# Region Branchs
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Region Audits
|
||||
# Region Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Region Branch Temp
|
||||
# Region Branch Temp
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Addresses
|
||||
# Addresses
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Address';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Plant
|
||||
# Plant
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Plant';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Address Audits
|
||||
# Address Audits
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Address_Audit';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Plant Audits
|
||||
# Plant Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Plant Temp
|
||||
# Plant Temp
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Storage Location
|
||||
# Storage Location
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Storage Location Audits
|
||||
# Storage Location Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Storage Location Temp
|
||||
# Storage Location Temp
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Storage Location Branch
|
||||
# Storage Location Branch
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Storage Location Branch Audits
|
||||
# Storage Location Branch Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Storage Location Branch Temp
|
||||
# Storage Location Branch Temp
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Currencies
|
||||
# Currencies
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Currency Audits
|
||||
# Currency Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Currency Temp
|
||||
# Currency Temp
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Taxes and Surcharges
|
||||
# Taxes and Surcharges
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Tax Or Surcharge Audits
|
||||
# Tax Or Surcharge Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Taxes and Surcharges Temp
|
||||
# Taxes and Surcharges Temp
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Unit of Measurement
|
||||
# Unit of Measurement
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Unit of Measurement Audits
|
||||
# Unit of Measurement Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Unit of Measurement Conversion
|
||||
# Unit of Measurement Conversion
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Unit of Measurement Conversion Audits
|
||||
# Unit of Measurement Conversion Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Categories
|
||||
# Categories
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Category';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Category Audits
|
||||
# Category Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Categories Temp
|
||||
# Categories Temp
|
||||
|
||||
-- DROP TABLE Shop_Product_Category_Temp;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Products
|
||||
# Products
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product (
|
||||
/*
|
||||
price_GBP_full FLOAT,
|
||||
price_GBP_min FLOAT,
|
||||
-- ratio_discount_overall FLOAT NOT NULL DEFAULT 0,
|
||||
# ratio_discount_overall FLOAT NOT NULL DEFAULT 0,
|
||||
CONSTRAINT FK_Shop_Product_id_category
|
||||
FOREIGN KEY (id_category)
|
||||
REFERENCES Shop_Product_Category(id_category)
|
||||
@@ -35,8 +35,8 @@ CREATE TABLE IF NOT EXISTS Shop_Product (
|
||||
CONSTRAINT FK_Shop_Product_id_access_level_required
|
||||
FOREIGN KEY (id_access_level_required)
|
||||
REFERENCES Shop_Access_Level(id_access_level),
|
||||
-- id_stripe_product VARCHAR(100),
|
||||
-- id_stripe_price VARCHAR(100) NOT NULL,
|
||||
# id_stripe_product VARCHAR(100),
|
||||
# id_stripe_price VARCHAR(100) NOT NULL,
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
display_order INT NOT NULL,
|
||||
created_on DATETIME NOT NULL,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Products
|
||||
# Products
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Products Temp
|
||||
# Products Temp
|
||||
|
||||
-- DROP TABLE IF EXISTS Shop_Product_Temp;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Product Permutation
|
||||
# Product Permutation
|
||||
|
||||
-- DROP TABLE partsltd_prod.Shop_Product_Permutation;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Product Permutation Audits
|
||||
# Product Permutation Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Product Permutation Temp
|
||||
# Product Permutation Temp
|
||||
|
||||
-- DROP TABLE IF EXISTS Shop_Product_Permutation_Temp;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Variation Types
|
||||
# Variation Types
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Variation Type Audits
|
||||
# Variation Type Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Variation Types Temp
|
||||
# Variation Types Temp
|
||||
|
||||
-- DROP TABLE partsltd_prod.Shop_Variation_Type_Temp;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Variations
|
||||
# Variations
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Variation Audits
|
||||
# Variation Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Variations Temp
|
||||
# Variations Temp
|
||||
|
||||
-- DROP TABLE partsltd_prod.Shop_Variation_Temp;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Product Permutation Variation Link
|
||||
# Product Permutation Variation Link
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Product Permutation Variation Link Audits
|
||||
# Product Permutation Variation Link Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Product Permutation Variation Link
|
||||
# Product Permutation Variation Link
|
||||
|
||||
-- DROP TABLE IF EXISTS Shop_Product_Permutation_Variation_Link_Temp;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Product Price
|
||||
# Product Price
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Product Price Audits
|
||||
# Product Price Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Product Price Temp
|
||||
# Product Price Temp
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Product Permutation Images
|
||||
# Product Permutation Images
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Product Image Audits
|
||||
# Product Image Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Delivery Options
|
||||
# Delivery Options
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Delivery Option Audits
|
||||
# Delivery Option Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Delivery Option
|
||||
# Delivery Option
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Delivery Option Audits
|
||||
# Delivery Option Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Discounts
|
||||
# Discounts
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Discount Audits
|
||||
# Discount Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Discount Region Currency Link
|
||||
# Discount Region Currency Link
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Discount Region Currency Link Audits
|
||||
# Discount Region Currency Link Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Permission Groups
|
||||
# Permission Groups
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Permission Group Audits
|
||||
# Permission Group Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Permissions
|
||||
# Permissions
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Permission Audits
|
||||
# Permission Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Roles
|
||||
# Roles
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Role Audits
|
||||
# Role Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Role Permission link
|
||||
# Role Permission link
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Role Permission link Audits
|
||||
# Role Permission link Audits
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
-- Users
|
||||
# Users
|
||||
|
||||
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user