Fix: User login on production.
This commit is contained in:
143
app.log.1
143
app.log.1
@@ -1,71 +1,76 @@
|
|||||||
result: <sqlalchemy.engine.cursor.CursorResult object at 0x000001E40EB4E580>
|
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': '62a72bf881c6405d538a3e29f81249c4b05b8139', 'user': {'access_token': 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIn0..U5ygDcfqoeoGTLgA.CSpBOxXywtwjmGGVQH9h2MDcYueJhBoblhO0MBYMk120anymk-mioySgkGJBiIRGWM_7P4-AMf-7bxlO1mMQBG84-da_XziygHVTHtZdi5hD0tp7osa6RNjUpHG4CAnZ3q0Hj_EaSMPTz3-XhWsR5izqOALDsBp69kliXzjbHBkvnzJGPgeQZcP1-FkXlTQYkCm-A9oOzdCqI9mbGaQVzvxDWfYeSnW5BAtEkhXCy_eMEOnKY0y9mlYs-koIhF-dT2WA_c_K8reOq1NjIZBjJLAJ88xr7AVd5jsEMsPr-aEIW7wHcUOeawa3Kfnh9NfNMZaHoBjFAv6g4aP3y9bkbMpK.3-McrmK7ITgjpNPlJefLNQ', 'expires_at': 1731923381, 'expires_in': 86400, 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InVveXZURk44bjJvZHg1VkFLMFh1RyJ9.eyJuaWNrbmFtZSI6ImVkd2FyZC5taWRkbGV0b25zbWl0aCIsIm5hbWUiOiJlZHdhcmQubWlkZGxldG9uc21pdGhAZ21haWwuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20vYXZhdGFyLzUzZDNmMjQ0MDdkNTI1N2Y4NGYyN2NhMDc4NzRiZDY0P3M9NDgwJnI9cGcmZD1odHRwcyUzQSUyRiUyRmNkbi5hdXRoMC5jb20lMkZhdmF0YXJzJTJGZWQucG5nIiwidXBkYXRlZF9hdCI6IjIwMjQtMTEtMTdUMDk6NDk6NDEuNzIyWiIsImVtYWlsIjoiZWR3YXJkLm1pZGRsZXRvbnNtaXRoQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIiwiYXVkIjoiZ0dqeXRxTk1XQ2hTaXhxTzcyUlF6VkhXQWFlSkp6UmkiLCJpYXQiOjE3MzE4MzY5ODIsImV4cCI6MTczMTg3Mjk4Miwic3ViIjoiYXV0aDB8NjU4MmI5NWM4OTVkMDlhNzBiYTEwZmVmIiwic2lkIjoiTXBlbFE4cEtSOWhOOVg0bUlsZkJxM1JaR3p4WExBeGkiLCJub25jZSI6ImxJUVNIS1lzZW9sMjVhN3NFTFBPIn0.oB687ksKRtGbZQYXO4GS5GskJq0SmKofO-BaQftxowZmqIYMwzFumG8mVfm4l7-YI19tc8ik7jXiNGgAI3XpXQH5Ieud8h_TGsh3jNfmVIp4zjxO45Y39kaNHZQgnU2N6ckKD1W0pONirwKLD2Drdj9zVvdcYywQHPmhPHXoz06P8k4UvkdjST_AGgt-RAfpT-j5Nnbh3vqadv95ZGzJPHy3_q0lFS1PRUksYG9YGIMSrSpevC_sVgD3Qum_E35mZyJtwJMyNFzRj3kJHcpMKJH5qAZ2CTMbGLh5iHrUA9_KgOyMRGZTcooHSQnwemq_Sh3lNXJE0fUXzf99FMfaBw', 'scope': 'openid profile email', 'token_type': 'Bearer', 'userinfo': {'aud': 'gGjytqNMWChSixqO72RQzVHWAaeJJzRi', 'email': 'edward.middletonsmith@gmail.com', 'email_verified': False, 'exp': 1731872982, 'iat': 1731836982, 'iss': 'https://dev-nwak2066ef6h8ixn.us.auth0.com/', 'name': 'edward.middletonsmith@gmail.com', 'nickname': 'edward.middletonsmith', 'nonce': 'lIQSHKYseol25a7sELPO', 'picture': 'https://s.gravatar.com/avatar/53d3f24407d5257f84f27ca07874bd64?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fed.png', 'sid': 'MpelQ8pKR9hN9X4mIlfBq3RZGzxXLAxi', 'sub': 'auth0|6582b95c895d09a70ba10fef', 'updated_at': '2024-11-17T09:49:41.722Z'}}}>
|
||||||
index_variation_type: {1: 0, 2: 1}
|
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 0x000001E20CE1EF90>
|
||||||
|
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: ()
|
raw errors: ()
|
||||||
new result set: ()
|
new result set: ()
|
||||||
argument_dict: {'active': True}
|
model_view_base init end - model.user:
|
||||||
executing p_shop_get_many_unit_measurement
|
id_user: 1
|
||||||
DataStore_Base.db_procedure_execute
|
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||||
proc_string: CALL p_shop_get_many_unit_measurement(:active)
|
firstname: Teddy
|
||||||
args: {'active': True}
|
surname: Middleton-Smith
|
||||||
result: <sqlalchemy.engine.cursor.CursorResult object at 0x000001E40EB4E580>
|
email: edward.middletonsmith@gmail.com
|
||||||
data received
|
is_email_verified: False
|
||||||
raw units of measurement: ((1, 'metre', 'metres', 'm', b'\x01', b'\x01', b'\x01', b'\x00', b'\x00', b'\x00', b'\x01'), (2, 'millimetre', 'millimetres', 'mm', b'\x01', b'\x00', b'\x01', b'\x00', b'\x00', b'\x00', b'\x01'), (3, 'kilogram', 'kilograms', 'kg', b'\x01', b'\x01', b'\x00', b'\x01', b'\x00', b'\x00', b'\x01'), (4, 'gram', 'grams', 'g', b'\x01', b'\x00', b'\x00', b'\x01', b'\x00', b'\x00', b'\x01'), (5, 'litre', 'litres', 'L', b'\x01', b'\x00', b'\x00', b'\x00', b'\x00', b'\x01', b'\x01'), (6, 'millilitre', 'millilitres', 'mL', b'\x01', b'\x00', b'\x00', b'\x00', b'\x00', b'\x01', b'\x01'), (7, 'item', 'items', 'x', b'\x01', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x01'), (8, 'hour', 'hours', 'h', b'\x01', b'\x01', b'\x00', b'\x00', b'\x01', b'\x00', b'\x01'), (9, 'day', 'days', 'd', b'\x01', b'\x00', b'\x00', b'\x00', b'\x01', b'\x00', b'\x01'))
|
is_super_user: True
|
||||||
raw errors: ()
|
id_currency_default: None
|
||||||
executing p_shop_get_many_currency
|
id_region_default: None
|
||||||
DataStore_Base.db_procedure_execute
|
is_included_VAT_default: True
|
||||||
proc_string: CALL p_shop_get_many_currency(:a_get_inactive_currency)
|
can_admin_store: True
|
||||||
args: {'a_get_inactive_currency': 0}
|
can_admin_user: True
|
||||||
result: <sqlalchemy.engine.cursor.CursorResult object at 0x000001E40EB4E580>
|
|
||||||
data received
|
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': '62a72bf881c6405d538a3e29f81249c4b05b8139', 'user': {'access_token': 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIn0..U5ygDcfqoeoGTLgA.CSpBOxXywtwjmGGVQH9h2MDcYueJhBoblhO0MBYMk120anymk-mioySgkGJBiIRGWM_7P4-AMf-7bxlO1mMQBG84-da_XziygHVTHtZdi5hD0tp7osa6RNjUpHG4CAnZ3q0Hj_EaSMPTz3-XhWsR5izqOALDsBp69kliXzjbHBkvnzJGPgeQZcP1-FkXlTQYkCm-A9oOzdCqI9mbGaQVzvxDWfYeSnW5BAtEkhXCy_eMEOnKY0y9mlYs-koIhF-dT2WA_c_K8reOq1NjIZBjJLAJ88xr7AVd5jsEMsPr-aEIW7wHcUOeawa3Kfnh9NfNMZaHoBjFAv6g4aP3y9bkbMpK.3-McrmK7ITgjpNPlJefLNQ', 'expires_at': 1731923381, 'expires_in': 86400, 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InVveXZURk44bjJvZHg1VkFLMFh1RyJ9.eyJuaWNrbmFtZSI6ImVkd2FyZC5taWRkbGV0b25zbWl0aCIsIm5hbWUiOiJlZHdhcmQubWlkZGxldG9uc21pdGhAZ21haWwuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20vYXZhdGFyLzUzZDNmMjQ0MDdkNTI1N2Y4NGYyN2NhMDc4NzRiZDY0P3M9NDgwJnI9cGcmZD1odHRwcyUzQSUyRiUyRmNkbi5hdXRoMC5jb20lMkZhdmF0YXJzJTJGZWQucG5nIiwidXBkYXRlZF9hdCI6IjIwMjQtMTEtMTdUMDk6NDk6NDEuNzIyWiIsImVtYWlsIjoiZWR3YXJkLm1pZGRsZXRvbnNtaXRoQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIiwiYXVkIjoiZ0dqeXRxTk1XQ2hTaXhxTzcyUlF6VkhXQWFlSkp6UmkiLCJpYXQiOjE3MzE4MzY5ODIsImV4cCI6MTczMTg3Mjk4Miwic3ViIjoiYXV0aDB8NjU4MmI5NWM4OTVkMDlhNzBiYTEwZmVmIiwic2lkIjoiTXBlbFE4cEtSOWhOOVg0bUlsZkJxM1JaR3p4WExBeGkiLCJub25jZSI6ImxJUVNIS1lzZW9sMjVhN3NFTFBPIn0.oB687ksKRtGbZQYXO4GS5GskJq0SmKofO-BaQftxowZmqIYMwzFumG8mVfm4l7-YI19tc8ik7jXiNGgAI3XpXQH5Ieud8h_TGsh3jNfmVIp4zjxO45Y39kaNHZQgnU2N6ckKD1W0pONirwKLD2Drdj9zVvdcYywQHPmhPHXoz06P8k4UvkdjST_AGgt-RAfpT-j5Nnbh3vqadv95ZGzJPHy3_q0lFS1PRUksYG9YGIMSrSpevC_sVgD3Qum_E35mZyJtwJMyNFzRj3kJHcpMKJH5qAZ2CTMbGLh5iHrUA9_KgOyMRGZTcooHSQnwemq_Sh3lNXJE0fUXzf99FMfaBw', 'scope': 'openid profile email', 'token_type': 'Bearer', 'userinfo': {'aud': 'gGjytqNMWChSixqO72RQzVHWAaeJJzRi', 'email': 'edward.middletonsmith@gmail.com', 'email_verified': False, 'exp': 1731872982, 'iat': 1731836982, 'iss': 'https://dev-nwak2066ef6h8ixn.us.auth0.com/', 'name': 'edward.middletonsmith@gmail.com', 'nickname': 'edward.middletonsmith', 'nonce': 'lIQSHKYseol25a7sELPO', 'picture': 'https://s.gravatar.com/avatar/53d3f24407d5257f84f27ca07874bd64?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fed.png', 'sid': 'MpelQ8pKR9hN9X4mIlfBq3RZGzxXLAxi', 'sub': 'auth0|6582b95c895d09a70ba10fef', 'updated_at': '2024-11-17T09:49:41.722Z'}}}>
|
||||||
currencies: [
|
DataStore_Base.get_user_session
|
||||||
id: 1
|
User.from_json
|
||||||
name: Great British Pound
|
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'}
|
||||||
code: GBP
|
user:
|
||||||
symbol: £
|
id_user: 1
|
||||||
factor from GBP: 1.0
|
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||||
display_order: 1
|
firstname: Teddy
|
||||||
active: True
|
surname: Middleton-Smith
|
||||||
,
|
email: edward.middletonsmith@gmail.com
|
||||||
id: 2
|
is_email_verified: False
|
||||||
name: Euro
|
is_super_user: True
|
||||||
code: EUR
|
id_currency_default: None
|
||||||
symbol: €
|
id_region_default: None
|
||||||
factor from GBP: 1.17
|
is_included_VAT_default: True
|
||||||
display_order: 2
|
can_admin_store: True
|
||||||
active: True
|
can_admin_user: True
|
||||||
]
|
|
||||||
new result set: ()
|
|
||||||
{1: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 1, 'name_singular': 'metre', 'name_plural': 'metres', 'symbol': 'm', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': True, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}, 2: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 2, 'name_singular': 'millimetre', 'name_plural': 'millimetres', 'symbol': 'mm', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': True, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}, 3: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 3, 'name_singular': 'kilogram', 'name_plural': 'kilograms', 'symbol': 'kg', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': False, 'is_unit_of_mass': True, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}, 4: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 4, 'name_singular': 'gram', 'name_plural': 'grams', 'symbol': 'g', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': True, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}, 5: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 5, 'name_singular': 'litre', 'name_plural': 'litres', 'symbol': 'L', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': True, 'active': True}, 6: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 6, 'name_singular': 'millilitre', 'name_plural': 'millilitres', 'symbol': 'mL', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': True, 'active': True}, 7: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 7, 'name_singular': 'item', 'name_plural': 'items', 'symbol': 'x', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}, 8: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 8, 'name_singular': 'hour', 'name_plural': 'hours', 'symbol': 'h', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': True, 'is_unit_of_volume': False, 'active': True}, 9: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 9, 'name_singular': 'day', 'name_plural': 'days', 'symbol': 'd', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': True, 'is_unit_of_volume': False, 'active': True}}
|
|
||||||
{8: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 8, 'name_singular': 'hour', 'name_plural': 'hours', 'symbol': 'h', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': True, 'is_unit_of_volume': False, 'active': True}, 9: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 9, 'name_singular': 'day', 'name_plural': 'days', 'symbol': 'd', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': True, 'is_unit_of_volume': False, 'active': True}}
|
|
||||||
Product_Variation_Tree.to_preview_str
|
|
||||||
variation_types: [
|
|
||||||
Product_Variation_Type
|
|
||||||
id_type: 1
|
|
||||||
code: COLOUR
|
|
||||||
name_singular: Colour
|
|
||||||
name_plural: Colours
|
|
||||||
display_order: 1
|
|
||||||
active: True
|
|
||||||
]
|
|
||||||
preview_str: Colour: Red
|
|
||||||
|
|
||||||
{'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 1, 'name_singular': 'metre', 'name_plural': 'metres', 'symbol': 'm', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': True, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}
|
|
||||||
Product_Variation_Tree.to_preview_str
|
|
||||||
variation_types: [
|
|
||||||
Product_Variation_Type
|
|
||||||
id_type: 1
|
|
||||||
code: COLOUR
|
|
||||||
name_singular: Colour
|
|
||||||
name_plural: Colours
|
|
||||||
display_order: 1
|
|
||||||
active: True
|
|
||||||
]
|
|
||||||
preview_str: Colour: Blue
|
|
||||||
|
|
||||||
{'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 1, 'name_singular': 'metre', 'name_plural': 'metres', 'symbol': 'm', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': True, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}
|
|
||||||
{'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 1, 'name_singular': 'metre', 'name_plural': 'metres', 'symbol': 'm', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': True, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}
|
|
||||||
{'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 1, 'name_singular': 'metre', 'name_plural': 'metres', 'symbol': 'm', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': True, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}
|
|
||||||
{'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 1, 'name_singular': 'metre', 'name_plural': 'metres', 'symbol': 'm', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': True, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}
|
|
||||||
{'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 1, 'name_singular': 'metre', 'name_plural': 'metres', 'symbol': 'm', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': True, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}
|
|
||||||
Model_View_Store.__init__
|
|
||||||
starting
|
|
||||||
|
|||||||
157
app.log.2
157
app.log.2
@@ -1,3 +1,28 @@
|
|||||||
|
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 0x000001E20CE1FBD0>
|
||||||
|
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
|
||||||
|
|
||||||
|
Model_View_Admin.__init__
|
||||||
|
starting
|
||||||
|
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': '62a72bf881c6405d538a3e29f81249c4b05b8139', 'user': {'access_token': 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIn0..U5ygDcfqoeoGTLgA.CSpBOxXywtwjmGGVQH9h2MDcYueJhBoblhO0MBYMk120anymk-mioySgkGJBiIRGWM_7P4-AMf-7bxlO1mMQBG84-da_XziygHVTHtZdi5hD0tp7osa6RNjUpHG4CAnZ3q0Hj_EaSMPTz3-XhWsR5izqOALDsBp69kliXzjbHBkvnzJGPgeQZcP1-FkXlTQYkCm-A9oOzdCqI9mbGaQVzvxDWfYeSnW5BAtEkhXCy_eMEOnKY0y9mlYs-koIhF-dT2WA_c_K8reOq1NjIZBjJLAJ88xr7AVd5jsEMsPr-aEIW7wHcUOeawa3Kfnh9NfNMZaHoBjFAv6g4aP3y9bkbMpK.3-McrmK7ITgjpNPlJefLNQ', 'expires_at': 1731923381, 'expires_in': 86400, 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InVveXZURk44bjJvZHg1VkFLMFh1RyJ9.eyJuaWNrbmFtZSI6ImVkd2FyZC5taWRkbGV0b25zbWl0aCIsIm5hbWUiOiJlZHdhcmQubWlkZGxldG9uc21pdGhAZ21haWwuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20vYXZhdGFyLzUzZDNmMjQ0MDdkNTI1N2Y4NGYyN2NhMDc4NzRiZDY0P3M9NDgwJnI9cGcmZD1odHRwcyUzQSUyRiUyRmNkbi5hdXRoMC5jb20lMkZhdmF0YXJzJTJGZWQucG5nIiwidXBkYXRlZF9hdCI6IjIwMjQtMTEtMTdUMDk6NDk6NDEuNzIyWiIsImVtYWlsIjoiZWR3YXJkLm1pZGRsZXRvbnNtaXRoQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIiwiYXVkIjoiZ0dqeXRxTk1XQ2hTaXhxTzcyUlF6VkhXQWFlSkp6UmkiLCJpYXQiOjE3MzE4MzY5ODIsImV4cCI6MTczMTg3Mjk4Miwic3ViIjoiYXV0aDB8NjU4MmI5NWM4OTVkMDlhNzBiYTEwZmVmIiwic2lkIjoiTXBlbFE4cEtSOWhOOVg0bUlsZkJxM1JaR3p4WExBeGkiLCJub25jZSI6ImxJUVNIS1lzZW9sMjVhN3NFTFBPIn0.oB687ksKRtGbZQYXO4GS5GskJq0SmKofO-BaQftxowZmqIYMwzFumG8mVfm4l7-YI19tc8ik7jXiNGgAI3XpXQH5Ieud8h_TGsh3jNfmVIp4zjxO45Y39kaNHZQgnU2N6ckKD1W0pONirwKLD2Drdj9zVvdcYywQHPmhPHXoz06P8k4UvkdjST_AGgt-RAfpT-j5Nnbh3vqadv95ZGzJPHy3_q0lFS1PRUksYG9YGIMSrSpevC_sVgD3Qum_E35mZyJtwJMyNFzRj3kJHcpMKJH5qAZ2CTMbGLh5iHrUA9_KgOyMRGZTcooHSQnwemq_Sh3lNXJE0fUXzf99FMfaBw', 'scope': 'openid profile email', 'token_type': 'Bearer', 'userinfo': {'aud': 'gGjytqNMWChSixqO72RQzVHWAaeJJzRi', 'email': 'edward.middletonsmith@gmail.com', 'email_verified': False, 'exp': 1731872982, 'iat': 1731836982, 'iss': 'https://dev-nwak2066ef6h8ixn.us.auth0.com/', 'name': 'edward.middletonsmith@gmail.com', 'nickname': 'edward.middletonsmith', 'nonce': 'lIQSHKYseol25a7sELPO', 'picture': 'https://s.gravatar.com/avatar/53d3f24407d5257f84f27ca07874bd64?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fed.png', 'sid': 'MpelQ8pKR9hN9X4mIlfBq3RZGzxXLAxi', 'sub': 'auth0|6582b95c895d09a70ba10fef', 'updated_at': '2024-11-17T09:49:41.722Z'}}}>
|
||||||
DataStore_Base.get_user_session
|
DataStore_Base.get_user_session
|
||||||
User.from_json
|
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'}
|
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'}
|
||||||
@@ -36,109 +61,12 @@ executing p_get_many_user
|
|||||||
DataStore_Base.db_procedure_execute
|
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)
|
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}
|
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 0x000001E40EB4E4A0>
|
result: <sqlalchemy.engine.cursor.CursorResult object at 0x000001E20CE1FF50>
|
||||||
data received
|
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 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: ()
|
raw errors: ()
|
||||||
new result set: ()
|
new result set: ()
|
||||||
argument_dict: {'a_id_user': 1, 'a_get_all_product_category': True, 'a_get_inactive_product_category': False, 'a_ids_product_category': '', 'a_get_all_product': True, 'a_get_inactive_product': False, 'a_ids_product': '', 'a_get_all_permutation': True, 'a_get_inactive_permutation': False, 'a_ids_permutation': '', 'a_get_all_image': False, 'a_get_inactive_image': False, 'a_ids_image': '', 'a_get_products_quantity_stock_below_min': False, 'a_debug': 0}
|
model_view_base init end - model.user:
|
||||||
executing p_shop_get_many_product
|
|
||||||
DataStore_Base.db_procedure_execute
|
|
||||||
proc_string: CALL p_shop_get_many_product(:a_id_user, :a_get_all_product_category, :a_get_inactive_product_category, :a_ids_product_category, :a_get_all_product, :a_get_inactive_product, :a_ids_product, :a_get_all_permutation, :a_get_inactive_permutation, :a_ids_permutation, :a_get_all_image, :a_get_inactive_image, :a_ids_image, :a_get_products_quantity_stock_below_min, :a_debug)
|
|
||||||
args: {'a_id_user': 1, 'a_get_all_product_category': True, 'a_get_inactive_product_category': False, 'a_ids_product_category': '', 'a_get_all_product': True, 'a_get_inactive_product': False, 'a_ids_product': '', 'a_get_all_permutation': True, 'a_get_inactive_permutation': False, 'a_ids_permutation': '', 'a_get_all_image': False, 'a_get_inactive_image': False, 'a_ids_image': '', 'a_get_products_quantity_stock_below_min': False, 'a_debug': 0}
|
|
||||||
result: <sqlalchemy.engine.cursor.CursorResult object at 0x000001E40EB4E4A0>
|
|
||||||
data received
|
|
||||||
initial category_list: categories: []
|
|
||||||
raw categories: ((4, 'CHOCOLATE', 'Chocolates and sweets', 'Confectionery', 1, 'View', 1, b'\x01', None, None, None),)
|
|
||||||
new_category:
|
|
||||||
id: 4
|
|
||||||
code: CHOCOLATE
|
|
||||||
name: Chocolates and sweets
|
|
||||||
description: Confectionery
|
|
||||||
access_level: View
|
|
||||||
display_order: 1
|
|
||||||
active: True
|
|
||||||
products: []
|
|
||||||
|
|
||||||
category-loaded category_list: categories: [
|
|
||||||
id: 4
|
|
||||||
code: CHOCOLATE
|
|
||||||
name: Chocolates and sweets
|
|
||||||
description: Confectionery
|
|
||||||
access_level: View
|
|
||||||
display_order: 1
|
|
||||||
active: True
|
|
||||||
products: []
|
|
||||||
]
|
|
||||||
raw products: ((6, 4, 'Digestives', b'\x01', 1, 'View', b'\x01', 1, None, None, None),)
|
|
||||||
row: (6, 4, 'Digestives', b'\x01', 1, 'View', b'\x01', 1, None, None, None)
|
|
||||||
new_product: Product
|
|
||||||
id_product: 6
|
|
||||||
id_category: 4
|
|
||||||
name: Digestives
|
|
||||||
display_order: 1
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
has_variations: True
|
|
||||||
permutations: []
|
|
||||||
variation trees: []
|
|
||||||
active: True
|
|
||||||
|
|
||||||
raw errors: ()
|
|
||||||
product with id:6 has variations
|
|
||||||
new result set: ()
|
|
||||||
get many category_list: categories: [
|
|
||||||
id: 4
|
|
||||||
code: CHOCOLATE
|
|
||||||
name: Chocolates and sweets
|
|
||||||
description: Confectionery
|
|
||||||
access_level: View
|
|
||||||
display_order: 1
|
|
||||||
active: True
|
|
||||||
products: [Product
|
|
||||||
id_product: 6
|
|
||||||
id_category: 4
|
|
||||||
name: Digestives
|
|
||||||
display_order: 1
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
has_variations: True
|
|
||||||
permutations: []
|
|
||||||
variation trees: []
|
|
||||||
active: True
|
|
||||||
]
|
|
||||||
]
|
|
||||||
category filters: [
|
|
||||||
id: 4
|
|
||||||
code: CHOCOLATE
|
|
||||||
name: Chocolates and sweets
|
|
||||||
description: Confectionery
|
|
||||||
access_level: View
|
|
||||||
display_order: 1
|
|
||||||
active: True
|
|
||||||
products: [Product
|
|
||||||
id_product: 6
|
|
||||||
id_category: 4
|
|
||||||
name: Digestives
|
|
||||||
display_order: 1
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
has_variations: True
|
|
||||||
permutations: []
|
|
||||||
variation trees: []
|
|
||||||
active: True
|
|
||||||
]
|
|
||||||
]
|
|
||||||
category options: [('', ''), ('4', 'Chocolates and sweets')]
|
|
||||||
product options: [{'value': 6, 'text': 'Digestives', 'id_category': 4}]
|
|
||||||
DataStore_Store_Base.get_many_product_variation
|
|
||||||
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: 1
|
||||||
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||||
firstname: Teddy
|
firstname: Teddy
|
||||||
@@ -152,32 +80,5 @@ user:
|
|||||||
can_admin_store: True
|
can_admin_store: True
|
||||||
can_admin_user: True
|
can_admin_user: True
|
||||||
|
|
||||||
User.from_json
|
Model_View_Admin.__init__
|
||||||
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'}
|
starting
|
||||||
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 0x000001E40EB4E580>
|
|
||||||
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: ()
|
|
||||||
DataStore_Base.db_procedure_execute
|
|
||||||
proc_string: CALL p_shop_get_many_product_variation(:a_id_user, :a_get_all_variation_type, :a_get_inactive_variation_type, :a_ids_variation_type, :a_get_all_variation, :a_get_inactive_variation, :a_ids_variation, :a_debug)
|
|
||||||
args: {'a_id_user': 1, 'a_get_all_variation_type': True, 'a_get_inactive_variation_type': False, 'a_ids_variation_type': '', 'a_get_all_variation': True, 'a_get_inactive_variation': False, 'a_ids_variation': '', 'a_debug': 0}
|
|
||||||
|
|||||||
454
app.log.3
454
app.log.3
@@ -1,409 +1,53 @@
|
|||||||
get many category_list: categories: [
|
{1: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 1, 'name_singular': 'metre', 'name_plural': 'metres', 'symbol': 'm', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': True, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}, 2: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 2, 'name_singular': 'millimetre', 'name_plural': 'millimetres', 'symbol': 'mm', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': True, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}, 3: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 3, 'name_singular': 'kilogram', 'name_plural': 'kilograms', 'symbol': 'kg', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': False, 'is_unit_of_mass': True, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}, 4: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 4, 'name_singular': 'gram', 'name_plural': 'grams', 'symbol': 'g', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': True, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}, 5: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 5, 'name_singular': 'litre', 'name_plural': 'litres', 'symbol': 'L', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': True, 'active': True}, 6: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 6, 'name_singular': 'millilitre', 'name_plural': 'millilitres', 'symbol': 'mL', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': True, 'active': True}, 7: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 7, 'name_singular': 'item', 'name_plural': 'items', 'symbol': 'x', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}, 8: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 8, 'name_singular': 'hour', 'name_plural': 'hours', 'symbol': 'h', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': True, 'is_unit_of_volume': False, 'active': True}, 9: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 9, 'name_singular': 'day', 'name_plural': 'days', 'symbol': 'd', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': True, 'is_unit_of_volume': False, 'active': True}}
|
||||||
id: 1
|
{8: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 8, 'name_singular': 'hour', 'name_plural': 'hours', 'symbol': 'h', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': True, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': True, 'is_unit_of_volume': False, 'active': True}, 9: {'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 9, 'name_singular': 'day', 'name_plural': 'days', 'symbol': 'd', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': True, 'is_unit_of_volume': False, 'active': True}}
|
||||||
code: ASS
|
Product_Variation_Tree.to_preview_str
|
||||||
name: Assistive Devices
|
variation_types: [
|
||||||
description: Braille product line and other assistive devices
|
Product_Variation_Type
|
||||||
access_level: View
|
id_type: 2
|
||||||
display_order: 1
|
code: SIZE
|
||||||
active: False
|
name_singular: Size
|
||||||
products: [Product
|
name_plural: Sizes
|
||||||
id_product: 1
|
display_order: 2
|
||||||
id_category: 1
|
|
||||||
name: Braille Keyboard Translator
|
|
||||||
display_order: 1
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
has_variations: True
|
|
||||||
permutations: [Product_Permutation
|
|
||||||
id_permutation: 1
|
|
||||||
id_product: 1
|
|
||||||
id_category: 1
|
|
||||||
description: Good Red
|
|
||||||
cost_local_VAT_excl: 5.0
|
|
||||||
cost_local_VAT_incl: 6.0
|
|
||||||
currency_cost:
|
|
||||||
id: 1
|
|
||||||
name: None
|
|
||||||
code: GBP
|
|
||||||
symbol: £
|
|
||||||
factor from GBP: None
|
|
||||||
display_order: None
|
|
||||||
active: None
|
|
||||||
|
|
||||||
latency_manufacture: 14
|
|
||||||
id_unit_measurement_quantity: 1
|
|
||||||
symbol_unit_measurement_quantity: m
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_quantity: True
|
|
||||||
name_singular_unit_measurement_quantity: metre
|
|
||||||
name_plural_unit_measurement_quantity: metres
|
|
||||||
count_unit_measurement_per_quantity_step: 1.0
|
|
||||||
quantity_min: 3.0
|
|
||||||
quantity_max: 99.0
|
|
||||||
quantity_stock: 1.0
|
|
||||||
is_subscription: False
|
|
||||||
id_unit_measurement_interval_recurrence: None
|
|
||||||
symbol_unit_measurement_interval_recurrence: None
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_interval_recurrence: False
|
|
||||||
name_singular_unit_measurement_interval_recurrence: None
|
|
||||||
name_plural_unit_measurement_interval_recurrence: None
|
|
||||||
count_interval_recurrence: None
|
|
||||||
id_stripe_product: None
|
|
||||||
does_expire_faster_once_unsealed: False
|
|
||||||
id_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
symbol_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_interval_expiration_unsealed: False
|
|
||||||
name_singular_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
name_plural_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
count_interval_expiration_unsealed: None
|
|
||||||
has_variations: True
|
|
||||||
csv_id_pairs_variation: None
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
variation tree: <business_objects.store.product_variation_tree.Product_Variation_Tree object at 0x000001E40EB73F50>
|
|
||||||
images: []
|
|
||||||
delivery_options: []
|
|
||||||
prices: []
|
|
||||||
, Product_Permutation
|
|
||||||
id_permutation: 2
|
|
||||||
id_product: 1
|
|
||||||
id_category: 1
|
|
||||||
description: Good Blue
|
|
||||||
cost_local_VAT_excl: 6.0
|
|
||||||
cost_local_VAT_incl: 7.2
|
|
||||||
currency_cost:
|
|
||||||
id: 1
|
|
||||||
name: None
|
|
||||||
code: GBP
|
|
||||||
symbol: £
|
|
||||||
factor from GBP: None
|
|
||||||
display_order: None
|
|
||||||
active: None
|
|
||||||
|
|
||||||
latency_manufacture: 14
|
|
||||||
id_unit_measurement_quantity: 1
|
|
||||||
symbol_unit_measurement_quantity: m
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_quantity: True
|
|
||||||
name_singular_unit_measurement_quantity: metre
|
|
||||||
name_plural_unit_measurement_quantity: metres
|
|
||||||
count_unit_measurement_per_quantity_step: 1.0
|
|
||||||
quantity_min: 3.0
|
|
||||||
quantity_max: 99.0
|
|
||||||
quantity_stock: 1.0
|
|
||||||
is_subscription: False
|
|
||||||
id_unit_measurement_interval_recurrence: None
|
|
||||||
symbol_unit_measurement_interval_recurrence: None
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_interval_recurrence: False
|
|
||||||
name_singular_unit_measurement_interval_recurrence: None
|
|
||||||
name_plural_unit_measurement_interval_recurrence: None
|
|
||||||
count_interval_recurrence: None
|
|
||||||
id_stripe_product: None
|
|
||||||
does_expire_faster_once_unsealed: False
|
|
||||||
id_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
symbol_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_interval_expiration_unsealed: False
|
|
||||||
name_singular_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
name_plural_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
count_interval_expiration_unsealed: None
|
|
||||||
has_variations: True
|
|
||||||
csv_id_pairs_variation: None
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
variation tree: <business_objects.store.product_variation_tree.Product_Variation_Tree object at 0x000001E40EB73E30>
|
|
||||||
images: []
|
|
||||||
delivery_options: []
|
|
||||||
prices: []
|
|
||||||
]
|
|
||||||
variation trees: [<business_objects.store.product_variation_tree.Product_Variation_Tree object at 0x000001E40EB73F50>, <business_objects.store.product_variation_tree.Product_Variation_Tree object at 0x000001E40EB73E30>]
|
|
||||||
active: False
|
|
||||||
]
|
|
||||||
,
|
|
||||||
id: 4
|
|
||||||
code: CHOCOLATE
|
|
||||||
name: Chocolates and sweets
|
|
||||||
description: Confectionery
|
|
||||||
access_level: View
|
|
||||||
display_order: 1
|
|
||||||
active: True
|
|
||||||
products: [Product
|
|
||||||
id_product: 6
|
|
||||||
id_category: 4
|
|
||||||
name: Digestives
|
|
||||||
display_order: 1
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
has_variations: True
|
|
||||||
permutations: []
|
|
||||||
variation trees: []
|
|
||||||
active: True
|
active: True
|
||||||
]
|
]
|
||||||
,
|
preview_str: Size: 400 grams
|
||||||
id: 3
|
|
||||||
code: TECH
|
{'NAME_ATTR_OPTION_TEXT': 'name_singular', 'NAME_ATTR_OPTION_VALUE': 'id_unit_measurement', 'id_unit_measurement': 7, 'name_singular': 'item', 'name_plural': 'items', 'symbol': 'x', 'symbol_is_suffix_not_prefix': True, 'is_base_unit': False, 'is_unit_of_distance': False, 'is_unit_of_mass': False, 'is_unit_of_time': False, 'is_unit_of_volume': False, 'active': True}
|
||||||
name: Technology
|
Model_View_Store.__init__
|
||||||
description: Technological devices
|
starting
|
||||||
access_level: View
|
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': '62a72bf881c6405d538a3e29f81249c4b05b8139', 'user': {'access_token': 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIn0..U5ygDcfqoeoGTLgA.CSpBOxXywtwjmGGVQH9h2MDcYueJhBoblhO0MBYMk120anymk-mioySgkGJBiIRGWM_7P4-AMf-7bxlO1mMQBG84-da_XziygHVTHtZdi5hD0tp7osa6RNjUpHG4CAnZ3q0Hj_EaSMPTz3-XhWsR5izqOALDsBp69kliXzjbHBkvnzJGPgeQZcP1-FkXlTQYkCm-A9oOzdCqI9mbGaQVzvxDWfYeSnW5BAtEkhXCy_eMEOnKY0y9mlYs-koIhF-dT2WA_c_K8reOq1NjIZBjJLAJ88xr7AVd5jsEMsPr-aEIW7wHcUOeawa3Kfnh9NfNMZaHoBjFAv6g4aP3y9bkbMpK.3-McrmK7ITgjpNPlJefLNQ', 'expires_at': 1731923381, 'expires_in': 86400, 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InVveXZURk44bjJvZHg1VkFLMFh1RyJ9.eyJuaWNrbmFtZSI6ImVkd2FyZC5taWRkbGV0b25zbWl0aCIsIm5hbWUiOiJlZHdhcmQubWlkZGxldG9uc21pdGhAZ21haWwuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20vYXZhdGFyLzUzZDNmMjQ0MDdkNTI1N2Y4NGYyN2NhMDc4NzRiZDY0P3M9NDgwJnI9cGcmZD1odHRwcyUzQSUyRiUyRmNkbi5hdXRoMC5jb20lMkZhdmF0YXJzJTJGZWQucG5nIiwidXBkYXRlZF9hdCI6IjIwMjQtMTEtMTdUMDk6NDk6NDEuNzIyWiIsImVtYWlsIjoiZWR3YXJkLm1pZGRsZXRvbnNtaXRoQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6Ly9kZXYtbndhazIwNjZlZjZoOGl4bi51cy5hdXRoMC5jb20vIiwiYXVkIjoiZ0dqeXRxTk1XQ2hTaXhxTzcyUlF6VkhXQWFlSkp6UmkiLCJpYXQiOjE3MzE4MzY5ODIsImV4cCI6MTczMTg3Mjk4Miwic3ViIjoiYXV0aDB8NjU4MmI5NWM4OTVkMDlhNzBiYTEwZmVmIiwic2lkIjoiTXBlbFE4cEtSOWhOOVg0bUlsZkJxM1JaR3p4WExBeGkiLCJub25jZSI6ImxJUVNIS1lzZW9sMjVhN3NFTFBPIn0.oB687ksKRtGbZQYXO4GS5GskJq0SmKofO-BaQftxowZmqIYMwzFumG8mVfm4l7-YI19tc8ik7jXiNGgAI3XpXQH5Ieud8h_TGsh3jNfmVIp4zjxO45Y39kaNHZQgnU2N6ckKD1W0pONirwKLD2Drdj9zVvdcYywQHPmhPHXoz06P8k4UvkdjST_AGgt-RAfpT-j5Nnbh3vqadv95ZGzJPHy3_q0lFS1PRUksYG9YGIMSrSpevC_sVgD3Qum_E35mZyJtwJMyNFzRj3kJHcpMKJH5qAZ2CTMbGLh5iHrUA9_KgOyMRGZTcooHSQnwemq_Sh3lNXJE0fUXzf99FMfaBw', 'scope': 'openid profile email', 'token_type': 'Bearer', 'userinfo': {'aud': 'gGjytqNMWChSixqO72RQzVHWAaeJJzRi', 'email': 'edward.middletonsmith@gmail.com', 'email_verified': False, 'exp': 1731872982, 'iat': 1731836982, 'iss': 'https://dev-nwak2066ef6h8ixn.us.auth0.com/', 'name': 'edward.middletonsmith@gmail.com', 'nickname': 'edward.middletonsmith', 'nonce': 'lIQSHKYseol25a7sELPO', 'picture': 'https://s.gravatar.com/avatar/53d3f24407d5257f84f27ca07874bd64?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fed.png', 'sid': 'MpelQ8pKR9hN9X4mIlfBq3RZGzxXLAxi', 'sub': 'auth0|6582b95c895d09a70ba10fef', 'updated_at': '2024-11-17T09:49:41.722Z'}}}>
|
||||||
display_order: 2
|
DataStore_Base.get_user_session
|
||||||
active: False
|
User.from_json
|
||||||
products: [Product
|
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'}
|
||||||
id_product: 3
|
user:
|
||||||
id_category: 3
|
id_user: 1
|
||||||
name: Phone
|
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||||
display_order: 2
|
firstname: Teddy
|
||||||
can_view: False
|
surname: Middleton-Smith
|
||||||
can_edit: False
|
email: edward.middletonsmith@gmail.com
|
||||||
can_admin: False
|
is_email_verified: False
|
||||||
has_variations: False
|
is_super_user: True
|
||||||
permutations: [Product_Permutation
|
id_currency_default: None
|
||||||
id_permutation: 4
|
id_region_default: None
|
||||||
id_product: 3
|
is_included_VAT_default: True
|
||||||
id_category: 3
|
can_admin_store: True
|
||||||
description: Phone describes good
|
can_admin_user: True
|
||||||
cost_local_VAT_excl: 10.0
|
|
||||||
cost_local_VAT_incl: 12.0
|
|
||||||
currency_cost:
|
|
||||||
id: 1
|
|
||||||
name: None
|
|
||||||
code: GBP
|
|
||||||
symbol: £
|
|
||||||
factor from GBP: None
|
|
||||||
display_order: None
|
|
||||||
active: None
|
|
||||||
|
|
||||||
latency_manufacture: 14
|
User.from_json
|
||||||
id_unit_measurement_quantity: 1
|
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'}
|
||||||
symbol_unit_measurement_quantity: m
|
user:
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_quantity: True
|
id_user: 1
|
||||||
name_singular_unit_measurement_quantity: metre
|
id_user_auth0: auth0|6582b95c895d09a70ba10fef
|
||||||
name_plural_unit_measurement_quantity: metres
|
firstname: Teddy
|
||||||
count_unit_measurement_per_quantity_step: 1.0
|
surname: Middleton-Smith
|
||||||
quantity_min: 2.0
|
email: edward.middletonsmith@gmail.com
|
||||||
quantity_max: 99.0
|
is_email_verified: False
|
||||||
quantity_stock: 1.0
|
is_super_user: True
|
||||||
is_subscription: False
|
id_currency_default: None
|
||||||
id_unit_measurement_interval_recurrence: None
|
id_region_default: None
|
||||||
symbol_unit_measurement_interval_recurrence: None
|
is_included_VAT_default: True
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_interval_recurrence: False
|
can_admin_store: True
|
||||||
name_singular_unit_measurement_interval_recurrence: None
|
can_admin_user: True
|
||||||
name_plural_unit_measurement_interval_recurrence: None
|
|
||||||
count_interval_recurrence: None
|
|
||||||
id_stripe_product: None
|
|
||||||
does_expire_faster_once_unsealed: False
|
|
||||||
id_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
symbol_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_interval_expiration_unsealed: False
|
|
||||||
name_singular_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
name_plural_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
count_interval_expiration_unsealed: None
|
|
||||||
has_variations: False
|
|
||||||
csv_id_pairs_variation: None
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
variation tree: None
|
|
||||||
images: []
|
|
||||||
delivery_options: []
|
|
||||||
prices: []
|
|
||||||
]
|
|
||||||
variation trees: []
|
|
||||||
active: False
|
|
||||||
, Product
|
|
||||||
id_product: 4
|
|
||||||
id_category: 3
|
|
||||||
name: Laptop
|
|
||||||
display_order: 2
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
has_variations: False
|
|
||||||
permutations: [Product_Permutation
|
|
||||||
id_permutation: 5
|
|
||||||
id_product: 4
|
|
||||||
id_category: 3
|
|
||||||
description: Laptop describes good
|
|
||||||
cost_local_VAT_excl: 10.0
|
|
||||||
cost_local_VAT_incl: 12.0
|
|
||||||
currency_cost:
|
|
||||||
id: 1
|
|
||||||
name: None
|
|
||||||
code: GBP
|
|
||||||
symbol: £
|
|
||||||
factor from GBP: None
|
|
||||||
display_order: None
|
|
||||||
active: None
|
|
||||||
|
|
||||||
latency_manufacture: 14
|
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}
|
||||||
id_unit_measurement_quantity: 1
|
executing p_get_many_user
|
||||||
symbol_unit_measurement_quantity: m
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_quantity: True
|
|
||||||
name_singular_unit_measurement_quantity: metre
|
|
||||||
name_plural_unit_measurement_quantity: metres
|
|
||||||
count_unit_measurement_per_quantity_step: 1.0
|
|
||||||
quantity_min: 2.0
|
|
||||||
quantity_max: 99.0
|
|
||||||
quantity_stock: 1.0
|
|
||||||
is_subscription: False
|
|
||||||
id_unit_measurement_interval_recurrence: None
|
|
||||||
symbol_unit_measurement_interval_recurrence: None
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_interval_recurrence: False
|
|
||||||
name_singular_unit_measurement_interval_recurrence: None
|
|
||||||
name_plural_unit_measurement_interval_recurrence: None
|
|
||||||
count_interval_recurrence: None
|
|
||||||
id_stripe_product: None
|
|
||||||
does_expire_faster_once_unsealed: False
|
|
||||||
id_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
symbol_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_interval_expiration_unsealed: False
|
|
||||||
name_singular_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
name_plural_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
count_interval_expiration_unsealed: None
|
|
||||||
has_variations: False
|
|
||||||
csv_id_pairs_variation: None
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
variation tree: None
|
|
||||||
images: []
|
|
||||||
delivery_options: []
|
|
||||||
prices: []
|
|
||||||
]
|
|
||||||
variation trees: []
|
|
||||||
active: False
|
|
||||||
, Product
|
|
||||||
id_product: 5
|
|
||||||
id_category: 3
|
|
||||||
name: Smart Watch
|
|
||||||
display_order: 2
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
has_variations: False
|
|
||||||
permutations: [Product_Permutation
|
|
||||||
id_permutation: 6
|
|
||||||
id_product: 5
|
|
||||||
id_category: 3
|
|
||||||
description: Smart watch describes good
|
|
||||||
cost_local_VAT_excl: 10.0
|
|
||||||
cost_local_VAT_incl: 12.0
|
|
||||||
currency_cost:
|
|
||||||
id: 1
|
|
||||||
name: None
|
|
||||||
code: GBP
|
|
||||||
symbol: £
|
|
||||||
factor from GBP: None
|
|
||||||
display_order: None
|
|
||||||
active: None
|
|
||||||
|
|
||||||
latency_manufacture: 14
|
|
||||||
id_unit_measurement_quantity: 1
|
|
||||||
symbol_unit_measurement_quantity: m
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_quantity: True
|
|
||||||
name_singular_unit_measurement_quantity: metre
|
|
||||||
name_plural_unit_measurement_quantity: metres
|
|
||||||
count_unit_measurement_per_quantity_step: 1.0
|
|
||||||
quantity_min: 2.0
|
|
||||||
quantity_max: 99.0
|
|
||||||
quantity_stock: 1.0
|
|
||||||
is_subscription: False
|
|
||||||
id_unit_measurement_interval_recurrence: None
|
|
||||||
symbol_unit_measurement_interval_recurrence: None
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_interval_recurrence: False
|
|
||||||
name_singular_unit_measurement_interval_recurrence: None
|
|
||||||
name_plural_unit_measurement_interval_recurrence: None
|
|
||||||
count_interval_recurrence: None
|
|
||||||
id_stripe_product: None
|
|
||||||
does_expire_faster_once_unsealed: False
|
|
||||||
id_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
symbol_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_interval_expiration_unsealed: False
|
|
||||||
name_singular_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
name_plural_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
count_interval_expiration_unsealed: None
|
|
||||||
has_variations: False
|
|
||||||
csv_id_pairs_variation: None
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
variation tree: None
|
|
||||||
images: []
|
|
||||||
delivery_options: []
|
|
||||||
prices: []
|
|
||||||
]
|
|
||||||
variation trees: []
|
|
||||||
active: False
|
|
||||||
]
|
|
||||||
,
|
|
||||||
id: 2
|
|
||||||
code: MISC
|
|
||||||
name: Miscellaneous
|
|
||||||
description: Not category allocated products
|
|
||||||
access_level: View
|
|
||||||
display_order: 99
|
|
||||||
active: False
|
|
||||||
products: [Product
|
|
||||||
id_product: 2
|
|
||||||
id_category: 2
|
|
||||||
name: Test product 1
|
|
||||||
display_order: 99
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
has_variations: False
|
|
||||||
permutations: [Product_Permutation
|
|
||||||
id_permutation: 3
|
|
||||||
id_product: 2
|
|
||||||
id_category: 2
|
|
||||||
description: Test product describes good
|
|
||||||
cost_local_VAT_excl: 10.0
|
|
||||||
cost_local_VAT_incl: 12.0
|
|
||||||
currency_cost:
|
|
||||||
id: 1
|
|
||||||
name: None
|
|
||||||
code: GBP
|
|
||||||
symbol: £
|
|
||||||
factor from GBP: None
|
|
||||||
display_order: None
|
|
||||||
active: None
|
|
||||||
|
|
||||||
latency_manufacture: 14
|
|
||||||
id_unit_measurement_quantity: 1
|
|
||||||
symbol_unit_measurement_quantity: m
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_quantity: True
|
|
||||||
name_singular_unit_measurement_quantity: metre
|
|
||||||
name_plural_unit_measurement_quantity: metres
|
|
||||||
count_unit_measurement_per_quantity_step: 1.0
|
|
||||||
quantity_min: 2.0
|
|
||||||
quantity_max: 99.0
|
|
||||||
quantity_stock: 1.0
|
|
||||||
is_subscription: False
|
|
||||||
id_unit_measurement_interval_recurrence: None
|
|
||||||
symbol_unit_measurement_interval_recurrence: None
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_interval_recurrence: False
|
|
||||||
name_singular_unit_measurement_interval_recurrence: None
|
|
||||||
name_plural_unit_measurement_interval_recurrence: None
|
|
||||||
count_interval_recurrence: None
|
|
||||||
id_stripe_product: None
|
|
||||||
does_expire_faster_once_unsealed: False
|
|
||||||
id_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
symbol_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
symbol_is_suffix_not_prefix_unit_measurement_interval_expiration_unsealed: False
|
|
||||||
name_singular_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
name_plural_unit_measurement_interval_expiration_unsealed: None
|
|
||||||
count_interval_expiration_unsealed: None
|
|
||||||
has_variations: False
|
|
||||||
csv_id_pairs_variation: None
|
|
||||||
can_view: False
|
|
||||||
can_edit: False
|
|
||||||
can_admin: False
|
|
||||||
variation tree: None
|
|
||||||
images: []
|
|
||||||
delivery_options: []
|
|
||||||
prices: []
|
|
||||||
]
|
|
||||||
variation trees: []
|
|
||||||
active: False
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|||||||
@@ -6,33 +6,45 @@
|
|||||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Stock_Item';
|
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Stock_Item';
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS Shop_Stock_Item (
|
CREATE TABLE IF NOT EXISTS Shop_Stock_Item (
|
||||||
id_stock INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
id_stock INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||||
id_permutation INT NOT NULL,
|
, id_permutation INT NOT NULL
|
||||||
CONSTRAINT FK_Shop_Stock_Item_id_permutation
|
, CONSTRAINT FK_Shop_Stock_Item_id_permutation
|
||||||
FOREIGN KEY (id_permutation)
|
FOREIGN KEY (id_permutation)
|
||||||
REFERENCES Shop_Product_Permutation(id_permutation),
|
REFERENCES partsltd_prod.Shop_Product_Permutation(id_permutation)
|
||||||
date_purchased DATETIME NOT NULL,
|
, id_supplier_purchase_order INT
|
||||||
date_received DATETIME NULL,
|
, CONSTRAINT FK_Shop_Stock_Item_id_supplier_purchase_order
|
||||||
id_location_storage INT NOT NULL,
|
FOREIGN KEY (id_supplier_purchase_order)
|
||||||
CONSTRAINT FK_Shop_Stock_Item_id_location_storage
|
REFERENCES partsltd_prod.Shop_Supplier_Purchase_Order(id_order)
|
||||||
|
, id_manufacturing_purchase_order INT
|
||||||
|
, CONSTRAINT FK_Shop_Stock_Item_id_manufacturing_purchase_order
|
||||||
|
FOREIGN KEY (id_manufacturing_purchase_order)
|
||||||
|
REFERENCES partsltd_prod.Shop_Manufacturing_Purchase_Order(id_order)
|
||||||
|
, id_customer_sales_order INT
|
||||||
|
, CONSTRAINT FK_Shop_Stock_Item_id_customer_sales_order
|
||||||
|
FOREIGN KEY (id_customer_sales_order)
|
||||||
|
REFERENCES partsltd_prod.Shop_Customer_Sales_Order(id_order)
|
||||||
|
, date_purchased DATETIME NOT NULL
|
||||||
|
, date_received DATETIME
|
||||||
|
, id_location_storage INT NOT NULL
|
||||||
|
, CONSTRAINT FK_Shop_Stock_Item_id_location_storage
|
||||||
FOREIGN KEY (id_location_storage)
|
FOREIGN KEY (id_location_storage)
|
||||||
REFERENCES Shop_Storage_Location(id_location),
|
REFERENCES partsltd_prod.Shop_Storage_Location(id_location)
|
||||||
id_currency_cost INT NOT NULL,
|
, id_currency_cost INT NOT NULL
|
||||||
CONSTRAINT FK_Shop_Stock_Item_id_currency
|
, CONSTRAINT FK_Shop_Stock_Item_id_currency
|
||||||
FOREIGN KEY (id_currency_cost)
|
FOREIGN KEY (id_currency_cost)
|
||||||
REFERENCES Shop_Currency(id_currency),
|
REFERENCES partsltd_prod.Shop_Currency(id_currency)
|
||||||
cost_local_VAT_incl FLOAT NULL,
|
, cost_local_VAT_incl FLOAT
|
||||||
cost_local_VAT_excl FLOAT NULL,
|
, cost_local_VAT_excl FLOAT
|
||||||
is_sealed BIT NOT NULL DEFAULT 1,
|
, is_sealed BIT NOT NULL DEFAULT 1
|
||||||
date_unsealed DATETIME NULL,
|
, date_unsealed DATETIME
|
||||||
date_expiration DATETIME NOT NULL,
|
, date_expiration DATETIME NOT NULL
|
||||||
is_consumed BIT NOT NULL DEFAULT 0,
|
, is_consumed BIT NOT NULL DEFAULT 0
|
||||||
date_consumed DATETIME NULL,
|
, date_consumed DATETIME
|
||||||
active BIT NOT NULL DEFAULT 1,
|
, active BIT NOT NULL DEFAULT 1
|
||||||
created_on DATETIME,
|
, created_on DATETIME
|
||||||
created_by INT,
|
, created_by INT
|
||||||
id_change_set INT,
|
, id_change_set INT
|
||||||
CONSTRAINT FK_Shop_Stock_Item_id_change_set
|
, CONSTRAINT FK_Shop_Stock_Item_id_change_set
|
||||||
FOREIGN KEY (id_change_set)
|
FOREIGN KEY (id_change_set)
|
||||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
REFERENCES partsltd_prod.Shop_Product_Change_Set(id_change_set)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ BEGIN
|
|||||||
id_link INT NOT NULL PRIMARY KEY
|
id_link INT NOT NULL PRIMARY KEY
|
||||||
, id_order INT NOT NULL
|
, id_order INT NOT NULL
|
||||||
, id_permutation INT NOT NULL
|
, id_permutation INT NOT NULL
|
||||||
|
, id_product INT
|
||||||
-- , id_currency_cost INT NOT NULL
|
-- , id_currency_cost INT NOT NULL
|
||||||
, quantity_ordered FLOAT NOT NULL
|
, quantity_ordered FLOAT NOT NULL
|
||||||
, id_unit_quantity INT NOT NULL
|
, id_unit_quantity INT NOT NULL
|
||||||
@@ -109,6 +110,7 @@ BEGIN
|
|||||||
, has_order BIT NULL
|
, has_order BIT NULL
|
||||||
, is_new BIT NOT NULL
|
, is_new BIT NOT NULL
|
||||||
, name_error VARCHAR(1000) NULL
|
, name_error VARCHAR(1000) NULL
|
||||||
|
, can_edit BIT
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||||
@@ -191,9 +193,11 @@ BEGIN
|
|||||||
, RANK() OVER (PARTITION BY IFNULL(IFNULL(SPOPL_T.id_order, SPOPL.id_order), 0) ORDER BY IFNULL(IFNULL(SPOPL_T.display_order, SPOPL.display_order), 0)) AS display_order
|
, RANK() OVER (PARTITION BY IFNULL(IFNULL(SPOPL_T.id_order, SPOPL.id_order), 0) ORDER BY IFNULL(IFNULL(SPOPL_T.display_order, SPOPL.display_order), 0)) AS display_order
|
||||||
, IFNULL(IFNULL(SPOPL_T.cost_total_local_VAT_excl, SPOPL.cost_total_local_VAT_excl), 0) AS cost_total_local_VAT_excl
|
, IFNULL(IFNULL(SPOPL_T.cost_total_local_VAT_excl, SPOPL.cost_total_local_VAT_excl), 0) AS cost_total_local_VAT_excl
|
||||||
, IFNULL(IFNULL(SPOPL_T.cost_total_local_VAT_incl, SPOPL.cost_total_local_VAT_incl), 0) AS cost_total_local_VAT_incl
|
, IFNULL(IFNULL(SPOPL_T.cost_total_local_VAT_incl, SPOPL.cost_total_local_VAT_incl), 0) AS cost_total_local_VAT_incl
|
||||||
, IFNULL(SPOPL_T.cost_total_local_VAT_excl / SPOPL_T.quantity_ordered, SPOPL.cost_unit_local_VAT_excl) AS cost_unit_local_VAT_excl
|
/*
|
||||||
|
, IFNULL(SPOPL_T.cost_total_local_VAT_excl / SPOPL_T.quantity_ordered, SPOPL.cost_unit_local_VAT_excl) AS cost_unit_local_VAT_excl
|
||||||
, IFNULL(SPOPL_T.cost_total_local_VAT_incl / SPOPL_T.quantity_ordered, SPOPL.cost_unit_local_VAT_incl) AS cost_unit_local_VAT_incl
|
, IFNULL(SPOPL_T.cost_total_local_VAT_incl / SPOPL_T.quantity_ordered, SPOPL.cost_unit_local_VAT_incl) AS cost_unit_local_VAT_incl
|
||||||
, IFNULL(IFNULL(SPOPL_T.active, SPOPL.active), 1) AS active
|
*/
|
||||||
|
, IFNULL(IFNULL(SPOPL_T.active, SPOPL.active), 1) AS active
|
||||||
, NOT ISNULL(t_SPO.id_order) AS has_order
|
, NOT ISNULL(t_SPO.id_order) AS has_order
|
||||||
, IFNULL(SPOPL_T.id_link, 0) < 1 AS is_new
|
, IFNULL(SPOPL_T.id_link, 0) < 1 AS is_new
|
||||||
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T
|
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T
|
||||||
@@ -203,13 +207,18 @@ BEGIN
|
|||||||
;
|
;
|
||||||
|
|
||||||
UPDATE tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
|
UPDATE tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
|
||||||
INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T ON t_SPOPL.id_order = SPOPL_T.id_order
|
LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T
|
||||||
|
ON t_SPOPL.id_link = SPOPL_T.id_link
|
||||||
|
AND t_SPOPL.GUID = a_guid
|
||||||
|
LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link
|
||||||
|
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation
|
||||||
LEFT JOIN partsltd_prod.Shop_Product P ON SPOPL_T.id_product = P.id_product
|
LEFT JOIN partsltd_prod.Shop_Product P ON SPOPL_T.id_product = P.id_product
|
||||||
LEFT JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category
|
LEFT JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category
|
||||||
SET
|
SET
|
||||||
name_error = CONCAT(
|
t_SPOPL.id_product = IFNULL(P.id_product, SPOPL_T.id_product)
|
||||||
|
, t_SPOPL.name_error = CONCAT(
|
||||||
CASE WHEN ISNULL(t_SPOPL.id_permutation) THEN
|
CASE WHEN ISNULL(t_SPOPL.id_permutation) THEN
|
||||||
CASE WHEN ISNULL(SPOPL_T.id_product) THEN
|
CASE WHEN ISNULL(P.id_product) THEN
|
||||||
'(No Product Permutation)'
|
'(No Product Permutation)'
|
||||||
ELSE
|
ELSE
|
||||||
CONCAT(
|
CONCAT(
|
||||||
@@ -224,6 +233,10 @@ BEGIN
|
|||||||
, ' - x'
|
, ' - x'
|
||||||
, IFNULL(t_SPOPL.quantity_ordered, '(No Quantity)')
|
, IFNULL(t_SPOPL.quantity_ordered, '(No Quantity)')
|
||||||
)
|
)
|
||||||
|
, t_SPOPL.cost_unit_local_VAT_excl = t_SPOPL.cost_total_local_VAT_excl / t_SPOPL.quantity_ordered
|
||||||
|
, t_SPOPL.cost_unit_local_VAT_incl = t_SPOPL.cost_total_local_VAT_incl / t_SPOPL.quantity_ordered
|
||||||
|
, t_SPOPL.delta_quantity_ordered = t_SPOPL.quantity_ordered - IFNULL(SPOPL.quantity_ordered, 0)
|
||||||
|
, t_SPOPL.delta_quantity_received = t_SPOPL.quantity_received - IFNULL(SPOPL.quantity_received, 0)
|
||||||
;
|
;
|
||||||
|
|
||||||
INSERT INTO tmp_Supplier_Purchase_Order (
|
INSERT INTO tmp_Supplier_Purchase_Order (
|
||||||
@@ -558,8 +571,37 @@ BEGIN
|
|||||||
IF a_debug = 1 THEN
|
IF a_debug = 1 THEN
|
||||||
SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid;
|
SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
UPDATE tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
|
||||||
|
INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT
|
||||||
|
ON t_SPOPL.id_product = t_SPOPL.id_product
|
||||||
|
AND CUT.GUID = a_guid
|
||||||
|
SET
|
||||||
|
t_SPOPL.can_edit = CUT.can_edit
|
||||||
|
;
|
||||||
|
|
||||||
IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN
|
IF EXISTS (SELECT * FROM tmp_Supplier_Purchase_Order_Product_Link WHERE can_edit = 0) THEN
|
||||||
|
INSERT INTO tmp_Msg_Error (
|
||||||
|
id_type
|
||||||
|
, code
|
||||||
|
, msg
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
v_id_type_error_no_permission
|
||||||
|
, v_code_type_error_no_permission
|
||||||
|
, CONCAT(
|
||||||
|
'You do not permissions to edit the following Product(s): '
|
||||||
|
, GROUP_CONCAT(P.name SEPARATOR ', ')
|
||||||
|
) AS msg
|
||||||
|
FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
|
||||||
|
INNER JOIN partsltd_prod.Shop_Product P ON t_SPOPL.id_product = P.id_product
|
||||||
|
WHERE
|
||||||
|
t_SPOPL.is_new = 0
|
||||||
|
AND t_SPOPL.can_view = 0
|
||||||
|
;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF EXISTS (SELECT * FROM tmp_Supplier_Purchase_Order_Product_Link WHERE is_new = 0 AND can_edit = 0 LIMIT 1) THEN
|
||||||
DELETE FROM tmp_Msg_Error;
|
DELETE FROM tmp_Msg_Error;
|
||||||
|
|
||||||
INSERT INTO tmp_Msg_Error (
|
INSERT INTO tmp_Msg_Error (
|
||||||
@@ -571,14 +613,16 @@ BEGIN
|
|||||||
v_id_type_error_no_permission
|
v_id_type_error_no_permission
|
||||||
, v_code_type_error_no_permission
|
, v_code_type_error_no_permission
|
||||||
, CONCAT(
|
, CONCAT(
|
||||||
'You do not have view permissions for '
|
'You are missing the following permissions with access level '
|
||||||
, GROUP_CONCAT(name SEPARATOR ', ')
|
, AL.name
|
||||||
|
, ': '
|
||||||
|
, GROUP_CONCAT(PERM.name SEPARATOR ', ')
|
||||||
) AS msg
|
) AS msg
|
||||||
FROM partsltd_prod.Shop_Permission PERM
|
FROM partsltd_prod.Shop_Access_Level AL
|
||||||
INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T
|
CROSS JOIN partsltd_prod.Shop_Calc_User_Temp CU_T
|
||||||
ON PERM.id_permission = UE_T.id_permission
|
ON CU_T.GUID = a_guid
|
||||||
AND UE_T.GUID = a_guid
|
AND ISNULL(CU_T.id_product)
|
||||||
AND IFNULL(UE_T.can_view, 0) = 0
|
AND IFNULL(CU_T.can_edit, 0) = 0
|
||||||
;
|
;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
|||||||
23
static/dist/js/main.bundle.js
vendored
23
static/dist/js/main.bundle.js
vendored
@@ -1094,17 +1094,11 @@ var BasePage = /*#__PURE__*/function () {
|
|||||||
var _this2 = this;
|
var _this2 = this;
|
||||||
this.hookupEventHandler("click", '.' + flagNavUserLogin, function (event, navigator) {
|
this.hookupEventHandler("click", '.' + flagNavUserLogin, function (event, navigator) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
// this.router.navigateToHash(hashPageUserLogin);
|
_this2.leave();
|
||||||
/*
|
|
||||||
let dataRequest = {};
|
|
||||||
dataRequest[flagCallback] = hashPageCurrent;
|
|
||||||
console.log('sending data to user login controller: ');
|
|
||||||
console.log(dataRequest);
|
|
||||||
*/
|
|
||||||
// let page = this;
|
|
||||||
api_API.loginUser().then(function (response) {
|
api_API.loginUser().then(function (response) {
|
||||||
if (response.Success) {
|
if (response.Success) {
|
||||||
_this2.router.navigateToUrl(response[flagCallback], null, false); // window.app.
|
// this.router.navigateToUrl(response[flagCallback], null, false); // window.app.
|
||||||
|
window.location.href = response[flagCallback];
|
||||||
} else {
|
} else {
|
||||||
DOM.alertError("Error", response.Message);
|
DOM.alertError("Error", response.Message);
|
||||||
}
|
}
|
||||||
@@ -2642,18 +2636,15 @@ var TableBasePage = /*#__PURE__*/function (_BasePage) {
|
|||||||
var changeHandler = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function (event, element) {
|
var changeHandler = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function (event, element) {
|
||||||
_this14.handleChangeNestedElementCellTable(event, element);
|
_this14.handleChangeNestedElementCellTable(event, element);
|
||||||
};
|
};
|
||||||
debugger;
|
|
||||||
var row = DOM.getRowFromElement(element);
|
var row = DOM.getRowFromElement(element);
|
||||||
// row.classList.add(flagDelete);
|
|
||||||
if (row.classList.contains(flagRowNew) && !DOM.hasDirtyChildrenContainer(row)) {
|
if (row.classList.contains(flagRowNew) && !DOM.hasDirtyChildrenContainer(row)) {
|
||||||
row.parentNode.removeChild(row);
|
row.parentNode.removeChild(row);
|
||||||
}
|
}
|
||||||
var buttonAdd = element.cloneNode(false); // document.createElement("button");
|
var buttonAdd = element.cloneNode(false);
|
||||||
buttonAdd.classList.remove(flagInitialised);
|
buttonAdd.classList.remove(flagInitialised);
|
||||||
buttonAdd.classList.remove(flagDelete);
|
buttonAdd.classList.remove(flagDelete);
|
||||||
buttonAdd.classList.add(flagAdd);
|
buttonAdd.classList.add(flagAdd);
|
||||||
buttonAdd.textContent = '+';
|
buttonAdd.textContent = '+';
|
||||||
// DOM.setElementAttributeValueCurrent(buttonAdd, false);
|
|
||||||
element.replaceWith(buttonAdd);
|
element.replaceWith(buttonAdd);
|
||||||
changeHandler(null, buttonAdd);
|
changeHandler(null, buttonAdd);
|
||||||
this.hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete, function (changeEvent, changeElement) {
|
this.hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete, function (changeEvent, changeElement) {
|
||||||
@@ -2681,15 +2672,11 @@ var TableBasePage = /*#__PURE__*/function (_BasePage) {
|
|||||||
var changeHandler = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function (event, element) {
|
var changeHandler = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function (event, element) {
|
||||||
_this16.handleChangeNestedElementCellTable(event, element);
|
_this16.handleChangeNestedElementCellTable(event, element);
|
||||||
};
|
};
|
||||||
debugger;
|
var buttonDelete = element.cloneNode(false);
|
||||||
// let row = DOM.getRowFromElement(element);
|
|
||||||
// row.classList.remove(flagDelete);
|
|
||||||
var buttonDelete = element.cloneNode(false); // document.createElement("button");
|
|
||||||
buttonDelete.classList.remove(flagInitialised);
|
buttonDelete.classList.remove(flagInitialised);
|
||||||
buttonDelete.classList.remove(flagAdd);
|
buttonDelete.classList.remove(flagAdd);
|
||||||
buttonDelete.classList.add(flagDelete);
|
buttonDelete.classList.add(flagDelete);
|
||||||
buttonDelete.textContent = 'x';
|
buttonDelete.textContent = 'x';
|
||||||
// DOM.setElementAttributeValueCurrent(buttonDelete, true);
|
|
||||||
element.replaceWith(buttonDelete);
|
element.replaceWith(buttonDelete);
|
||||||
changeHandler(null, buttonDelete);
|
changeHandler(null, buttonDelete);
|
||||||
this.hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete, function (changeEvent, changeElement) {
|
this.hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete, function (changeEvent, changeElement) {
|
||||||
|
|||||||
@@ -114,18 +114,12 @@ export default class BasePage {
|
|||||||
hookupButtonsNavUserLogin() {
|
hookupButtonsNavUserLogin() {
|
||||||
this.hookupEventHandler("click", '.' + flagNavUserLogin, (event, navigator) => {
|
this.hookupEventHandler("click", '.' + flagNavUserLogin, (event, navigator) => {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
// this.router.navigateToHash(hashPageUserLogin);
|
this.leave();
|
||||||
/*
|
|
||||||
let dataRequest = {};
|
|
||||||
dataRequest[flagCallback] = hashPageCurrent;
|
|
||||||
console.log('sending data to user login controller: ');
|
|
||||||
console.log(dataRequest);
|
|
||||||
*/
|
|
||||||
// let page = this;
|
|
||||||
API.loginUser()
|
API.loginUser()
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
if (response.Success) {
|
if (response.Success) {
|
||||||
this.router.navigateToUrl(response[flagCallback], null, false); // window.app.
|
// this.router.navigateToUrl(response[flagCallback], null, false); // window.app.
|
||||||
|
window.location.href = response[flagCallback];
|
||||||
} else {
|
} else {
|
||||||
DOM.alertError("Error", response.Message);
|
DOM.alertError("Error", response.Message);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user