Feat: Dogs page.
This commit is contained in:
@@ -123,6 +123,7 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_ACTIVE_ONLY: ClassVar[str] = Base.FLAG_ACTIVE_ONLY
|
||||
FLAG_ADD: ClassVar[str] = 'add'
|
||||
# FLAG_ADD_DELETE: ClassVar[str] = 'add-delete'
|
||||
FLAG_APPEARANCE: ClassVar[str] = Dog.FLAG_APPEARANCE
|
||||
FLAG_ASSESSMENT: ClassVar[str] = Assessment.FLAG_ASSESSMENT
|
||||
FLAG_ASSESSMENT_COMMAND_MODALITY_LINK: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
FLAG_ASSESSMENT_RESPONSE: ClassVar[str] = Assessment_Response.FLAG_ASSESSMENT_RESPONSE
|
||||
@@ -140,6 +141,9 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_CALENDAR_ENTRY: ClassVar[str] = Calendar_Entry.FLAG_CALENDAR_ENTRY
|
||||
FLAG_CALENDAR_ENTRY_TYPE: ClassVar[str] = Calendar_Entry_Type.FLAG_CALENDAR_ENTRY_TYPE
|
||||
FLAG_CALLBACK: ClassVar[str] = 'callback'
|
||||
FLAG_CAN_ADMIN_DOG: ClassVar[str] = User.FLAG_CAN_ADMIN_DOG
|
||||
FLAG_CAN_ADMIN_USER: ClassVar[str] = User.FLAG_CAN_ADMIN_USER
|
||||
FLAG_CAN_EDIT_COMPANY: ClassVar[str] = User.FLAG_CAN_EDIT_COMPANY
|
||||
FLAG_CAPTCHA: ClassVar[str] = 'captcha'
|
||||
FLAG_CARD: ClassVar[str] = 'card'
|
||||
FLAG_CHECKBOX: ClassVar[str] = 'checkbox'
|
||||
@@ -199,6 +203,7 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_LOCATION: ClassVar[str] = Location.FLAG_LOCATION
|
||||
FLAG_LOCATION_PARENT: ClassVar[str] = Location.FLAG_LOCATION_PARENT
|
||||
FLAG_LOGO: ClassVar[str] = 'logo'
|
||||
FLAG_MASS_KG: ClassVar[str] = Dog.FLAG_MASS_KG
|
||||
FLAG_MESSAGE: ClassVar[str] = Command.FLAG_MESSAGE
|
||||
FLAG_MODAL: ClassVar[str] = 'modal'
|
||||
FLAG_NAME: ClassVar[str] = Base.FLAG_NAME
|
||||
@@ -224,6 +229,7 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_NAV_HOME: ClassVar[str] = 'navHome'
|
||||
FLAG_NAV_USER_ACCOUNT: ClassVar[str] = 'navUserAccount'
|
||||
FLAG_NAV_USER_ACCOUNT: ClassVar[str] = 'navUserAccounts'
|
||||
FLAG_NAV_USER_COMPANY: ClassVar[str] = 'navUserCompany'
|
||||
FLAG_NAV_USER_LOGIN: ClassVar[str] = 'navUserLogin'
|
||||
FLAG_NAV_USER_LOGOUT: ClassVar[str] = 'navUserLogout'
|
||||
FLAG_NOTES: ClassVar[str] = "notes"
|
||||
@@ -279,8 +285,9 @@ class Model_View_Base(BaseModel, ABC):
|
||||
HASH_PAGE_HOME: ClassVar[str] = '/'
|
||||
HASH_PAGE_LICENSE: ClassVar[str] = '/license'
|
||||
HASH_PAGE_PRIVACY_POLICY: ClassVar[str] = '/privacy-policy'
|
||||
HASH_PAGE_USER_ACCOUNT: ClassVar[str] = '/user'
|
||||
HASH_PAGE_USER_ACCOUNTS: ClassVar[str] = '/users'
|
||||
HASH_PAGE_USER_ACCOUNT: ClassVar[str] = '/user/user'
|
||||
HASH_PAGE_USER_ACCOUNTS: ClassVar[str] = '/user/users'
|
||||
HASH_PAGE_USER_COMPANY: ClassVar[str] = '/user/company'
|
||||
HASH_PAGE_USER_LOGIN: ClassVar[str] = '/login'
|
||||
HASH_PAGE_USER_LOGOUT: ClassVar[str] = '/logout'
|
||||
# HASH_SAVE_DOG_ASSESSMENT: ClassVar[str] = '/dog/save-assessment'
|
||||
@@ -291,8 +298,10 @@ class Model_View_Base(BaseModel, ABC):
|
||||
HASH_SAVE_DOG_COMMAND_BUTTON_LINK: ClassVar[str] = '/dog/save-command-button-link'
|
||||
HASH_SAVE_DOG_COMMAND_CATEGORY: ClassVar[str] = '/dog/save-command-category'
|
||||
HASH_SAVE_DOG_DOG_COMMAND_LINK: ClassVar[str] = '/dog/save-dog-command-link'
|
||||
HASH_SAVE_DOG_DOG: ClassVar[str] = '/dog/dogs'
|
||||
HASH_SAVE_DOG_LOCATION: ClassVar[str] = '/dog/save-location'
|
||||
HASH_SAVE_DOG_USER: ClassVar[str] = '/dog/save-user'
|
||||
HASH_SAVE_USER_COMPANY: ClassVar[str] = '/user/save-company'
|
||||
HASH_SAVE_USER_USER: ClassVar[str] = '/user/save-user'
|
||||
ID_BUTTON_ADD: ClassVar[str] = 'buttonAdd'
|
||||
ID_BUTTON_APPLY_FILTERS: ClassVar[str] = 'buttonApplyFilters'
|
||||
ID_BUTTON_CANCEL: ClassVar[str] = 'buttonCancel'
|
||||
|
||||
42
models/model_view_dog_dog.py
Normal file
42
models/model_view_dog_dog.py
Normal file
@@ -0,0 +1,42 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
|
||||
Technology: View Models
|
||||
Feature: Dog Dogs View Model
|
||||
|
||||
Description:
|
||||
Data model for dog dogs view
|
||||
"""
|
||||
|
||||
# internal
|
||||
from business_objects.dog.dog import Dog, Parameters_Dog
|
||||
from datastores.datastore_dog import DataStore_Dog
|
||||
from models.model_view_dog_base import Model_View_Dog_Base
|
||||
from forms.dog.dog import Filters_Dog
|
||||
# from routes import bp_home
|
||||
from helpers.helper_app import Helper_App
|
||||
import lib.argument_validation as av
|
||||
|
||||
# external
|
||||
from pydantic import BaseModel
|
||||
from typing import ClassVar
|
||||
|
||||
class Model_View_Dog_Dog(Model_View_Dog_Base):
|
||||
dogs: list = None
|
||||
form_filters: Filters_Dog = None
|
||||
form_filters_old: Filters_Dog
|
||||
|
||||
def __init__(self, form_filters_old, hash_page_current=Model_View_Dog_Base.HASH_PAGE_DOG_DOGS):
|
||||
_m = 'Model_View_Dog_Dog.__init__'
|
||||
Helper_App.console_log(f'{_m}\nstarting...')
|
||||
super().__init__(hash_page_current=hash_page_current, form_filters_old=form_filters_old)
|
||||
self._title = 'Dog'
|
||||
self.form_filters = form_filters_old
|
||||
datastore = DataStore_Dog()
|
||||
|
||||
Helper_App.console_log(f'Form filters: {self.form_filters}')
|
||||
parameters_filter_dog = Parameters_Dog.from_form_filters_dog(self.form_filters)
|
||||
Helper_App.console_log(f'Query args: {parameters_filter_dog}')
|
||||
self.dogs, errors = datastore.get_many_dog(parameters_filter_dog)
|
||||
@@ -22,8 +22,6 @@ from models.model_view_base import Model_View_Base
|
||||
from typing import ClassVar
|
||||
|
||||
class Model_View_User(Model_View_Base):
|
||||
FLAG_CAN_ADMIN_DOG: ClassVar[str] = User.FLAG_CAN_ADMIN_DOG
|
||||
FLAG_CAN_ADMIN_USER: ClassVar[str] = User.FLAG_CAN_ADMIN_USER
|
||||
FLAG_ERROR_OAUTH: ClassVar[str] = 'error'
|
||||
FLAG_ERROR_DESCRIPTION_OAUTH: ClassVar[str] = 'error_description'
|
||||
FLAG_FIRSTNAME: ClassVar[str] = User.FLAG_FIRSTNAME
|
||||
@@ -50,6 +48,8 @@ class Model_View_User(Model_View_Base):
|
||||
self.filter_roles, errors = datastore.get_many_role(parameters_filter_role)
|
||||
|
||||
parameters_user = Parameters_User.from_form_filters_user(self.form_filters)
|
||||
if self.hash_page_current == Model_View_Base.HASH_PAGE_USER_ACCOUNT:
|
||||
parameters_user.ids_user = str(self.user.id_user)
|
||||
Helper_App.console_log(f'Query args: {parameters_user}')
|
||||
self.users, errors = datastore.get_many_user(parameters_user)
|
||||
|
||||
41
models/model_view_user_company.py
Normal file
41
models/model_view_user_company.py
Normal file
@@ -0,0 +1,41 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
|
||||
Technology: View Models
|
||||
Feature: User View Model
|
||||
|
||||
Description:
|
||||
Data model for user view
|
||||
"""
|
||||
|
||||
# internal
|
||||
from business_objects.dog.company import Company, Parameters_Company
|
||||
from datastores.datastore_user import DataStore_User
|
||||
from forms.dog.company import Filters_Company
|
||||
from helpers.helper_app import Helper_App
|
||||
from models.model_view_base import Model_View_Base
|
||||
# from routes import bp_home
|
||||
# external
|
||||
from typing import ClassVar
|
||||
|
||||
class Model_View_User_Company(Model_View_Base):
|
||||
filter_roles: list = None
|
||||
form_filters: Filters_Company = None
|
||||
form_filters_old: Filters_Company
|
||||
companies: list = None
|
||||
|
||||
def __init__(self, form_filters_old, hash_page_current = Model_View_Base.HASH_PAGE_USER_COMPANY):
|
||||
super().__init__(hash_page_current = hash_page_current, form_filters_old = form_filters_old)
|
||||
self._title = 'Company'
|
||||
self.form_filters = form_filters_old
|
||||
|
||||
Helper_App.console_log(f'Form filters: {self.form_filters}')
|
||||
|
||||
datastore = DataStore_User()
|
||||
|
||||
parameters_company = Parameters_Company.from_form_filters_company(self.form_filters)
|
||||
Helper_App.console_log(f'Query args: {parameters_company}')
|
||||
self.companies, errors = datastore.get_many_company(parameters_company)
|
||||
|
||||
Reference in New Issue
Block a user