Fix: Hamburger menu styles.

This commit is contained in:
2025-08-07 10:39:04 +01:00
parent 3d2b753b79
commit e87490c3de
62 changed files with 3113 additions and 941 deletions

View File

@@ -7,7 +7,7 @@ Technology: App Routing
Feature: User 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.
Initialises the Flask application, sets the configuration based on the environment, and defines two routes (/ and /about) that render templates with the specified titles.
"""
# IMPORTS
@@ -16,6 +16,7 @@ from models.model_view_base import Model_View_Base
from models.model_view_user import Model_View_User
from business_objects.dog.user import User, Parameters_User
from datastores.datastore_user import DataStore_User
from forms.dog.user import Filters_User
from helpers.helper_app import Helper_App
import lib.argument_validation as av
# external
@@ -175,11 +176,74 @@ def logout_callback():
@routes_user.route(Model_View_User.HASH_PAGE_USER_ACCOUNT)
def user():
try:
model = Model_View_User()
model.users = [model.user]
if not model.is_user_logged_in:
user_session = Model_View_User.get_user_session()
if not user_session.get_is_logged_in():
return redirect(url_for('routes_dog_home.home'))
form_filters = Filters_User.from_id_company(user_session.id_company)
model = Model_View_User(form_filters_old = form_filters)
model._title = model.user.firstname
# model.users = [model.user]
html_body = render_template('pages/user/_user.html', model = model)
except Exception as e:
return str(e)
return html_body
@routes_user.route(Model_View_User.HASH_PAGE_USER_ACCOUNTS)
def users():
try:
Helper_App.console_log(f'request_args: {request.args}')
user_session = Model_View_User.get_user_session()
if not user_session.get_is_logged_in():
return redirect(url_for('routes_dog_home.home'))
try:
form_filters = Filters_User.from_json(request.args)
except Exception as e:
Helper_App.console_log(f'Error: {e}')
form_filters = Filters_User.from_id_company(user_session.id_company)
model = Model_View_User(form_filters, hash_page_current = Model_View_User.HASH_PAGE_USER_ACCOUNTS)
html_body = render_template('pages/user/_users.html', model = model)
except Exception as e:
return str(e)
return html_body
@routes_user.route(Model_View_User.HASH_SAVE_DOG_USER, methods=['POST'])
def save_user():
data = Helper_App.get_request_data(request)
try:
form_filters = Filters_User.from_json(data[Model_View_User.FLAG_FORM_FILTERS])
if not form_filters.validate_on_submit():
return jsonify({
Model_View_User.FLAG_STATUS: Model_View_User.FLAG_FAILURE,
Model_View_User.FLAG_MESSAGE: f'Filters form invalid.\n{form_filters.errors}'
})
model_return = Model_View_User(form_filters_old=form_filters)
if not model_return.is_user_logged_in:
raise Exception('User not logged in')
users = data[Model_View_User.FLAG_USER]
if len(users) == 0:
return jsonify({
Model_View_User.FLAG_STATUS: Model_View_User.FLAG_FAILURE,
Model_View_User.FLAG_MESSAGE: f'No users.'
})
objs_user = []
for user in users:
objs_user.append(User.from_json(user))
Helper_App.console_log(f'objs_user={objs_user}')
errors = DataStore_User.save_users(data.get('comment', 'No comment'), objs_user)
if (len(errors) > 0):
return jsonify({
Model_View_User.FLAG_STATUS: Model_View_User.FLAG_FAILURE,
Model_View_User.FLAG_MESSAGE: f'Error saving users.\n{model_return.convert_list_objects_to_json(errors)}'
})
return jsonify({
Model_View_User.FLAG_STATUS: Model_View_User.FLAG_SUCCESS,
Model_View_User.FLAG_DATA: Model_View_User.convert_list_objects_to_json(model_return.users)
})
except Exception as e:
return jsonify({
Model_View_User.FLAG_STATUS: Model_View_User.FLAG_FAILURE,
Model_View_User.FLAG_MESSAGE: f'Bad data received by controller.\n{e}'
})