1. Refactoring form objects and database objects to use inheritance and abstract base class for consistency and reduced redundancy.\n2. Contact us page button links updated to resolve error of missing link causing page refresh instead of expected functionality.

This commit is contained in:
2024-09-10 12:09:50 +01:00
parent b3e801e1ec
commit 2d55fe6239
709 changed files with 5158 additions and 1512 deletions

View File

@@ -36,7 +36,7 @@ def home():
try:
model = Model_View_Home()
print('nips')
html_body = render_template('_page_home.html', model = model)
html_body = render_template('pages/core/_home.html', model = model)
except Exception as e:
return jsonify(error=str(e)), 403
return html_body
@@ -46,7 +46,7 @@ def contact():
try:
form = Form_Contact()
model = Model_View_Contact(form)
html_body = render_template('_page_contact.html', model = model)
html_body = render_template('pages/core/_contact.html', model = model)
except Exception as e:
return jsonify(error=str(e)), 403
return html_body
@@ -67,7 +67,7 @@ def contact_post():
mail.send(mailItem)
return "Submitted."
return "Invalid. Failed to submit."
# html_body = render_template('_page_contact.html', model = model)
# html_body = render_template('pages/core/_contact.html', model = model)
except Exception as e:
return jsonify(error=str(e)), 403
@@ -75,7 +75,7 @@ def contact_post():
def services():
try:
model = Model_View_Services()
html_body = render_template('_page_services.html', model = model)
html_body = render_template('pages/core/_services.html', model = model)
except Exception as e:
return jsonify(error=str(e)), 403
return html_body
@@ -84,7 +84,7 @@ def services():
def admin_home():
try:
model = Model_View_Admin_Home()
html_body = render_template('_page_admin_home.html', model = model)
html_body = render_template('pages/core/_admin_home.html', model = model)
except Exception as e:
return jsonify(error=str(e)), 403
return html_body

View File

@@ -30,7 +30,7 @@ routes_legal = Blueprint('routes_legal', __name__)
def license():
try:
model = Model_View_Home()
html_body = render_template('_page_license.html', model = model)
html_body = render_template('pages/legal/_license.html', model = model)
except Exception as e:
return str(e)
return html_body
@@ -38,7 +38,7 @@ def license():
def accessibility_statement():
try:
model = Model_View_Home()
html_body = render_template('_page_accessibility_statement.html', model = model)
html_body = render_template('pages/legal/_accessibility_statement.html', model = model)
except Exception as e:
return str(e)
return html_body
@@ -46,7 +46,7 @@ def accessibility_statement():
def accessibility_report():
try:
model = Model_View_Home()
html_body = render_template('_page_accessibility_report.html', model = model)
html_body = render_template('pages/legal/_accessibility_report.html', model = model)
except Exception as e:
return str(e)
return html_body
@@ -54,7 +54,7 @@ def accessibility_report():
def retention_schedule():
try:
model = Model_View_Home()
html_body = render_template('_page_retention_schedule.html', model = model)
html_body = render_template('pages/legal/_retention_schedule.html', model = model)
except Exception as e:
return str(e)
return html_body
@@ -62,7 +62,7 @@ def retention_schedule():
def privacy_notice():
try:
model = Model_View_Home()
html_body = render_template('_page_privacy_notice.html', model = model)
html_body = render_template('pages/legal/_privacy_notice.html', model = model)
except Exception as e:
return str(e)
return html_body

Binary file not shown.

Binary file not shown.

99
routing/store/product.py Normal file
View File

@@ -0,0 +1,99 @@
"""
Project: PARTS Website
Author: Edward Middleton-Smith
Precision And Research Technology Systems Limited
Technology: App Routing
Feature: Store Product Routes
Description:
Initializes the Flask application, sets the configuration based on the environment, and defines two routes (/ and /about) that render templates with the specified titles.
"""
# internal
from business_objects.store.product import Product, Filters_Product
from forms.store.product import Form_Filters_Product
from models.model_view_store_product import Model_View_Store_Product
from helpers.helper_app import Helper_App
import lib.argument_validation as av
# external
from flask import Flask, render_template, jsonify, request, render_template_string, send_from_directory, redirect, url_for, session, Blueprint, current_app
from extensions import db, oauth
from urllib.parse import quote_plus, urlencode
from authlib.integrations.flask_client import OAuth
from authlib.integrations.base_client import OAuthError
from urllib.parse import quote, urlparse, parse_qs
routes_store_product = Blueprint('routes_store_product', __name__)
@routes_store_product.route(Model_View_Store_Product.HASH_PAGE_STORE_PRODUCTS, methods=['GET'])
def products():
print('products')
print(f'request.args={request.args}')
filters = Filters_Product.get_default()
have_changed_filters = False
arg_filter_is_not_empty = request.args.get(Model_View_Store_Product.FLAG_IS_NOT_EMPTY, None)
have_changed_filters = have_changed_filters or arg_filter_is_not_empty is None
print(f'arg_filter_is_not_empty={arg_filter_is_not_empty}')
filters.is_not_empty = filters.is_not_empty if arg_filter_is_not_empty is None else av.input_bool(arg_filter_is_not_empty, 'is_not_empty', 'filter')
arg_filter_active = request.args.get(Model_View_Store_Product.FLAG_ACTIVE, None)
have_changed_filters = have_changed_filters or arg_filter_active is None
print(f'arg_filter_active={arg_filter_active}')
filters.active = filters.active if arg_filter_active is None else av.input_bool(arg_filter_active, 'active', 'filter')
if have_changed_filters:
print('redirecting')
return redirect(url_for('routes_store_product.products', **filters.to_json()))
model = Model_View_Store_Product(filters)
return render_template('pages/store/_products.html', model = model)
@routes_store_product.route(Model_View_Store_Product.HASH_GET_STORE_PRODUCT, methods=['POST'])
def filter():
data = Helper_App.get_request_data(request)
# form_filters = None
try:
form_filters = get_Form_Filters_Product(data)
if not form_filters.validate_on_submit():
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Form invalid.\n{form_filters.errors}'})
# ToDo: manually validate category, product
filters_form = Filters_Product.from_form_filters_product(form_filters)
model = Model_View_Store_Product(filters = filters_form)
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.FLAG_SUCCESS, 'Success': True, Model_View_Base.KEY_DATA: model.category_list.to_json()})
except Exception as e:
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Bad data received by controller.\n{e}'})
def get_Form_Filters_Product(data_request):
data_form = data_request[Model_View_Store_Product.KEY_FORM]
form_filters = Form_Filters_Product(**data_form)
form_filters.is_not_empty.data = av.input_bool(data_form['is_not_empty'], 'is_not_empty', 'filter')
form_filters.active.data = av.input_bool(data_form['active'], 'active', 'filter')
return form_filters
@routes_store_product.route(Model_View_Store_Product.HASH_SAVE_STORE_PRODUCT, methods=['POST'])
def save():
data = Helper_App.get_request_data(request)
# form_filters = None
print(f'data={data}')
try:
form_filters = get_Form_Filters_Product(data)
if not form_filters.validate_on_submit():
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Filters form invalid.\n{form_filters.errors}'})
filters_form = Filters_Product.from_form(form_filters)
categories = data[Model_View_Store_Product.FLAG_PRODUCT]
if len(categories) == 0:
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'No categories.'})
objsCategory = []
for category in categories:
objsCategory.append(Product.from_json(category))
# model_save = Model_View_Store_Product() # filters_product=filters_form)
print(f'objsCategory={objsCategory}')
Model_View_Store_Product.save_categories(data.get('comment', 'No comment'), objsCategory)
model_return = Model_View_Store_Product(filters=filters_form)
print('nips')
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.FLAG_SUCCESS, 'Success': True, Model_View_Base.KEY_DATA: model_return.category_list.to_json()})
except Exception as e:
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Bad data received by controller.\n{e}'})

View File

@@ -11,8 +11,8 @@ Initializes the Flask application, sets the configuration based on the environme
"""
# internal
from business_objects.store.product_category import Product_Category, Filters_Product_Category
from forms.store.product_category import Form_Filters_Product_Category
from business_objects.store.product_category import Product_Category #, Filters_Product_Category
from forms.store.product_category import Filters_Product_Category
from models.model_view_store_product_category import Model_View_Store_Product_Category
from helpers.helper_app import Helper_App
import lib.argument_validation as av
@@ -30,46 +30,74 @@ routes_store_product_category = Blueprint('routes_store_product_category', __nam
@routes_store_product_category.route(Model_View_Store_Product_Category.HASH_PAGE_STORE_PRODUCT_CATEGORIES, methods=['GET'])
def categories():
print('categories')
# data = Helper_App.get_request_data(request)
try:
form_filters = Filters_Product_Category.from_json(request.args)
except Exception as e:
print(f'Error: {e}')
form_filters = Filters_Product_Category()
print(f'form_filters={form_filters}')
"""
filters = Filters_Product_Category.get_default()
model = Model_View_Store_Product_Category(filters)
return render_template('_page_store_product_categories.html', model = model)
have_changed_filters = False
arg_filter_is_not_empty = request.args.get(Model_View_Store_Product_Category.FLAG_IS_NOT_EMPTY, None)
have_changed_filters = have_changed_filters or arg_filter_is_not_empty is None
print(f'arg_filter_is_not_empty={arg_filter_is_not_empty}')
filters.is_not_empty = filters.is_not_empty if arg_filter_is_not_empty is None else av.input_bool(arg_filter_is_not_empty, 'is_not_empty', 'filter_category')
arg_filter_active = request.args.get(Model_View_Store_Product_Category.FLAG_ACTIVE, None)
have_changed_filters = have_changed_filters or arg_filter_active is None
print(f'arg_filter_active={arg_filter_active}')
filters.active = filters.active if arg_filter_active is None else av.input_bool(arg_filter_active, 'active', 'filter_category')
if have_changed_filters:
print('redirecting')
return redirect(url_for('routes_store_product_category.categories', **filters.to_json()))
"""
model = Model_View_Store_Product_Category(form_filters)
return render_template('pages/store/_product_categories.html', model = model)
@routes_store_product_category.route(Model_View_Store_Product_Category.HASH_GET_STORE_PRODUCT_CATEGORY, methods=['POST'])
def filter_category():
data = Helper_App.get_request_data(request)
# form_filters = None
try:
form_filters = get_Form_Filters_Product_Category(data)
form_filters = Filters_Product_Category.from_json(data)
if not form_filters.validate_on_submit():
return jsonify({'status': 'failure', 'Message': f'Form invalid.\n{form_filters.errors}'})
return jsonify({
Model_View_Store_Product_Category.FLAG_STATUS: Model_View_Store_Product_Category.FLAG_SUCCESS,
Model_View_Store_Product_Category.FLAG_MESSAGE: f'Form invalid.\n{form_filters.errors}'
})
# ToDo: manually validate category, product
filters_form = Filters_Product_Category.from_form(form_filters)
model = Model_View_Store_Product_Category(filters_category = filters_form)
return jsonify({'status': 'success', 'Success': True, 'data': model.category_list.to_json_str()})
# filters_form = Filters_Product_Category.from_form(form_filters)
model = Model_View_Store_Product_Category(form_filters = form_filters)
return jsonify({
Model_View_Store_Product_Category.FLAG_STATUS: Model_View_Store_Product_Category.FLAG_SUCCESS,
Model_View_Store_Product_Category.KEY_DATA: model.category_list.to_json()
})
except Exception as e:
return jsonify({'status': 'failure', 'Message': f'Bad data received by controller.\n{e}'})
def get_Form_Filters_Product_Category(data_request):
data_form = data_request[Model_View_Store_Product_Category.KEY_FORM]
form_filters = Form_Filters_Product_Category(**data_form)
form_filters.is_not_empty.data = av.input_bool(data_form['is_not_empty'], 'is_not_empty', 'filter_category')
form_filters.active.data = av.input_bool(data_form['active'], 'active', 'filter_category')
return form_filters
return jsonify({
Model_View_Store_Product_Category.FLAG_STATUS: Model_View_Store_Product_Category.FLAG_SUCCESS,
Model_View_Store_Product_Category.FLAG_MESSAGE: f'Bad data received by controller.\n{e}'
})
@routes_store_product_category.route(Model_View_Store_Product_Category.HASH_SAVE_STORE_PRODUCT_CATEGORY, methods=['POST'])
def save_category():
data = Helper_App.get_request_data(request)
# form_filters = None
print(f'data={data}')
try:
form_filters = get_Form_Filters_Product_Category(data)
form_filters = Filters_Product_Category.from_json(data[Model_View_Store_Product_Category.FLAG_FORM_FILTERS])
if not form_filters.validate_on_submit():
return jsonify({'status': 'failure', 'Message': f'Filters form invalid.\n{form_filters.errors}'})
filters_form = Filters_Product_Category.from_form(form_filters)
return jsonify({
Model_View_Store_Product_Category.FLAG_STATUS: Model_View_Store_Product_Category.FLAG_SUCCESS,
Model_View_Store_Product_Category.FLAG_MESSAGE: f'Filters form invalid.\n{form_filters.errors}'
})
# filters_form = Filters_Product_Category.from_form(form_filters)
categories = data[Model_View_Store_Product_Category.FLAG_PRODUCT_CATEGORY]
if len(categories) == 0:
return jsonify({'status': 'failure', 'Message': f'No categories.'})
return jsonify({
Model_View_Store_Product_Category.FLAG_STATUS: Model_View_Store_Product_Category.FLAG_SUCCESS,
Model_View_Store_Product_Category.FLAG_MESSAGE: f'No categories.'
})
objsCategory = []
for category in categories:
objsCategory.append(Product_Category.from_json(category))
@@ -77,9 +105,15 @@ def save_category():
print(f'objsCategory={objsCategory}')
Model_View_Store_Product_Category.save_categories(data.get('comment', 'No comment'), objsCategory)
model_return = Model_View_Store_Product_Category(filters_category=filters_form)
model_return = Model_View_Store_Product_Category(form_filters=form_filters)
print('nips')
return jsonify({'status': 'success', 'Success': True, 'data': model_return.category_list.to_json_str()})
return jsonify({
Model_View_Store_Product_Category.FLAG_STATUS: Model_View_Store_Product_Category.FLAG_SUCCESS,
Model_View_Store_Product_Category.KEY_DATA: model_return.category_list.to_json()
})
except Exception as e:
return jsonify({'status': 'failure', 'Message': f'Bad data received by controller.\n{e}'})
return jsonify({
Model_View_Store_Product_Category.FLAG_STATUS: Model_View_Store_Product_Category.FLAG_SUCCESS,
Model_View_Store_Product_Category.FLAG_MESSAGE: f'Bad data received by controller.\n{e}'
})

View File

@@ -39,7 +39,7 @@ routes_store_product_permutation = Blueprint('routes_store_product_permutation',
def permutation():
filters = Filters_Product.get_default()
model = Model_View_Store_Product_Permutation(filters_product=filters)
return render_template('_page_store_product_permutations.html', model = model)
return render_template('pages/store/_product_permutations.html', model = model)
@routes_store_product_permutation.route('/store/permutation_filter', methods=['POST'])
def permutation_filter():
@@ -48,13 +48,13 @@ def permutation_filter():
try:
form_filters = get_Form_Filters_Permutation(data)
if not form_filters.validate_on_submit():
return jsonify({'status': 'failure', 'Message': f'Form invalid.\n{form_filters.errors}'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Form invalid.\n{form_filters.errors}'})
# ToDo: manually validate category, product
filters_form = Filters_Product.from_form(form_filters)
model = Model_View_Store_Product_Permutation(filters_product=filters_form)
return jsonify({'status': 'success', 'Success': True, 'data': model.category_list.to_list_rows_permutation()})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.FLAG_SUCCESS, 'Success': True, Model_View_Base.KEY_DATA: model.category_list.to_permutation_row_list()})
except Exception as e:
return jsonify({'status': 'failure', 'Message': f'Bad data received by controller.\n{e}'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Bad data received by controller.\n{e}'})
def get_Form_Filters_Permutation(data_request):
data_form = data_request[Model_View_Store_Product_Permutation.KEY_FORM]
@@ -69,11 +69,11 @@ def permutation_save():
try:
form_filters = get_Form_Filters_Permutation(data)
if not form_filters.validate_on_submit():
return jsonify({'status': 'failure', 'Message': f'Filters form invalid.\n{form_filters.errors}'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Filters form invalid.\n{form_filters.errors}'})
permutations = data[Model_View_Store_Product_Permutation.KEY_PERMUTATIONS]
if len(permutations) == 0:
return jsonify({'status': 'failure', 'Message': f'No permutations.'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'No permutations.'})
objsPermutation = []
for permutation in permutations:
objsPermutation.append(Product_Permutation.from_json(permutation))
@@ -84,7 +84,7 @@ def permutation_save():
model_save.save_permutations(data.comment, objsPermutation)
model_return = Model_View_Store_Product_Permutation(filters_product=filters_form)
return jsonify({'status': 'success', 'Success': True, 'data': model_return.category_list.to_list_rows_permutation()})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.FLAG_SUCCESS, 'Success': True, Model_View_Base.KEY_DATA: model_return.category_list.to_permutation_row_list()})
except Exception as e:
return jsonify({'status': 'failure', 'Message': f'Bad data received by controller.\n{e}'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Bad data received by controller.\n{e}'})

View File

@@ -38,7 +38,7 @@ routes_store_stock_item = Blueprint('routes_store_stock_item', __name__)
def stock():
filters = Stock_Item_Filters.get_default()
model = Model_View_Store_Stock_Items(filters_stock_item=filters)
return render_template('_page_store_stock_items.html', model = model)
return render_template('pages/store/_stock_items.html', model = model)
@routes_store_stock_item.route('/store/stock_item_filter', methods=['POST'])
def stock_filter():
@@ -47,13 +47,13 @@ def stock_filter():
try:
form_filters = get_form_filters_stock_items(data)
if not form_filters.validate_on_submit():
return jsonify({'status': 'failure', 'Message': f'Form invalid.\n{form_filters.errors}'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Form invalid.\n{form_filters.errors}'})
# ToDo: manually validate category, product
filters_form = Stock_Item_Filters.from_form(form_filters)
model = Model_View_Store_Stock_Items(filters_stock_item=filters_form)
return jsonify({'status': 'success', 'Success': True, 'data': model.category_list.to_list_rows_permutation()})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.FLAG_SUCCESS, 'Success': True, Model_View_Base.KEY_DATA: model.category_list.to_permutation_row_list()})
except Exception as e:
return jsonify({'status': 'failure', 'Message': f'Bad data received by controller.\n{e}'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Bad data received by controller.\n{e}'})
def get_form_filters_stock_items(data_request):
data_form = data_request[Model_View_Store_Stock_Items.KEY_FORM]
@@ -69,12 +69,12 @@ def stock_save():
try:
form_filters = get_form_filters_stock_items(data)
if not form_filters.validate_on_submit():
return jsonify({'status': 'failure', 'Message': f'Filters form invalid.\n{form_filters.errors}'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Filters form invalid.\n{form_filters.errors}'})
stock_items = data[Model_View_Store_Stock.KEY_PERMUTATIONS]
print(f'stock_items: {stock_items}')
if len(stock_items) == 0:
return jsonify({'status': 'failure', 'Message': f'No stock items.'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'No stock items.'})
objsStockItem = []
for stock_item in stock_items:
objsStockItem.append(Product_Permutation.from_json(stock_item))
@@ -86,7 +86,7 @@ def stock_save():
model_save.save_stock_items(data.comment, objsPermutation)
model_return = Model_View_Store_Stock(filters_product=filters_form)
return jsonify({'status': 'success', 'Success': True, 'data': model_return.category_list.to_list_rows_permutation()})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.FLAG_SUCCESS, 'Success': True, Model_View_Base.KEY_DATA: model_return.category_list.to_permutation_row_list()})
except Exception as e:
return jsonify({'status': 'failure', 'Message': f'Bad data received by controller.\n{e}'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Bad data received by controller.\n{e}'})
"""

30
routing/store/store.py Normal file
View File

@@ -0,0 +1,30 @@
"""
Project: PARTS Website
Author: Edward Middleton-Smith
Precision And Research Technology Systems Limited
Technology: App Routing
Feature: Store Routes
Description:
Initializes the Flask application, sets the configuration based on the environment, and defines two routes (/ and /about) that render templates with the specified titles.
"""
# IMPORTS
# internal
from models.model_view_store import Model_View_Store
# external
from flask import Flask, render_template, jsonify, request, render_template_string, send_from_directory, redirect, url_for, session, Blueprint, current_app
from extensions import db, oauth
from urllib.parse import quote_plus, urlencode
from authlib.integrations.flask_client import OAuth
from authlib.integrations.base_client import OAuthError
from urllib.parse import quote, urlparse, parse_qs
routes_store = Blueprint('routes_store', __name__)
@routes_store.route(Model_View_Store.HASH_SCRIPTS_SECTION_STORE, methods=['GET'])
def scripts_section_store():
hash_page_current = request.args.get('hash_page_current', default = Model_View_Store.HASH_SCRIPTS_SECTION_STORE, type = str)
model = Model_View_Store(hash_page_current=hash_page_current)
return render_template('js/sections/store.js', model = model)

View File

@@ -59,10 +59,10 @@ def supplier():
permutation_id, quantity = model.import_JSON_basket_item(data, form)
model.basket_item_edit(permutation_id, quantity, False) # new_basket =
except Exception as e:
return jsonify({'status': 'failure', 'Message': f'Bad data received by controller.\n{e}'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Bad data received by controller.\n{e}'})
# return jsonify(Success = True, data = { html_block: render_template(), Model_View_Store.key_basket: new_basket })
# html_block = render_template('_block_store_basket.html', model = model)
# print(f'html_block:\n{html_block}')
# return jsonify(Success = True, data = { 'html_block': html_block, 'basket': {'items': model.basket.to_json_list()}})
return render_template('_page_supplier.html', model = model)
return jsonify({'status': 'failure', 'Message': f'Invalid supplier details.\n{form.errors}'})
return render_template('pages/store/_supplier.html', model = model)
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Invalid supplier details.\n{form.errors}'})

View File

@@ -63,7 +63,7 @@ def login():
Query Parameters: {query_params}
""")
return jsonify({'Success': True, 'status': 'success', f'{Model_View_Base.KEY_CALLBACK}': headers})
return jsonify({'Success': True, Model_View_Base.FLAG_STATUS: Model_View_Base.FLAG_SUCCESS, f'{Model_View_Base.KEY_CALLBACK}': headers})
@routes_user.route("/login_callback") # <path:subpath>/<code>
def login_callback():
@@ -117,7 +117,7 @@ def login_callback():
print(f'user session: {session[Model_View_Base.KEY_USER]}')
return redirect(f'{current_app.config['URL_HOST']}{hash_callback}')
except Exception as e:
return jsonify({'status': 'failure', 'Message': f'Controller error.\n{e}'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Controller error.\n{e}'})
@routes_user.route("/logout")
def logout():
@@ -156,14 +156,14 @@ def logout_callback():
print(f'user session: {session[Model_View_Base.KEY_USER]}')
return redirect(f'{current_app.URL_HOST}{hash_callback}')
except Exception as e:
return jsonify({'status': 'failure', 'Message': f'Controller error.\n{e}'})
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.STATUS_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Controller error.\n{e}'})
@routes_user.route("/user")
def user():
try:
model = Model_View_User(current_app, db)
html_body = render_template('_page_user.html', model = model)
html_body = render_template('pages/user/_user.html', model = model)
except Exception as e:
return str(e)
return html_body