Feat(SQL, UI): 1. Calc and Get Many Stored Procedures created for Weather, Lighting Level, Assessment, Distraction Type, Distraction Intensity Level, Distraction, Bribe, Assessment Command Modality Link, Response Quality Metric, Obedience Level, and Assessment Response. \n 2. Assessments and Assessment pages created with data loading and hooked up, but not saving.
This commit is contained in:
@@ -19,17 +19,29 @@ Base data model for views
|
||||
# from routes import bp_home
|
||||
from business_objects.base import Base
|
||||
from business_objects.file_type import File_Type
|
||||
from business_objects.dog.assessment import Assessment
|
||||
from business_objects.dog.assessment_command_modality_link import Assessment_Command_Modality_Link
|
||||
from business_objects.dog.assessment_response import Assessment_Response
|
||||
from business_objects.dog.bribe import Bribe
|
||||
from business_objects.dog.button_icon import Button_Icon
|
||||
from business_objects.dog.button_shape import Button_Shape
|
||||
from business_objects.dog.colour import Colour
|
||||
from business_objects.dog.command import Command
|
||||
from business_objects.dog.command_button_link import Command_Button_Link
|
||||
from business_objects.dog.command_category import Command_Category
|
||||
from business_objects.dog.command_modality import Command_Modality
|
||||
from business_objects.dog.distraction import Distraction
|
||||
from business_objects.dog.distraction_intensity_level import Distraction_Intensity_Level
|
||||
from business_objects.dog.distraction_type import Distraction_Type
|
||||
from business_objects.dog.dog import Dog
|
||||
from business_objects.dog.dog_command_link import Dog_Command_Link
|
||||
from business_objects.dog.image import Image
|
||||
from business_objects.dog.lighting_level import Lighting_Level
|
||||
from business_objects.dog.location import Location
|
||||
from business_objects.dog.obedience_level import Obedience_Level
|
||||
from business_objects.dog.response_quality_metric import Response_Quality_Metric
|
||||
from business_objects.dog.user import User
|
||||
from business_objects.dog.weather import Weather
|
||||
from datastores.datastore_base import DataStore_Base
|
||||
from datastores.datastore_dog import DataStore_Dog
|
||||
from datastores.datastore_user import DataStore_User
|
||||
@@ -44,17 +56,27 @@ from typing import ClassVar
|
||||
|
||||
|
||||
class Model_View_Base(BaseModel, ABC):
|
||||
ATTR_ID_ASSESSMENT: ClassVar[str] = Assessment.ATTR_ID_ASSESSMENT
|
||||
ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: ClassVar[str] = Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
ATTR_ID_ASSESSMENT_RESPONSE: ClassVar[str] = Assessment_Response.ATTR_ID_ASSESSMENT_RESPONSE
|
||||
ATTR_ID_BRIBE: ClassVar[str] = Bribe.ATTR_ID_BRIBE
|
||||
ATTR_ID_BUTTON_ICON: ClassVar[str] = Button_Icon.ATTR_ID_BUTTON_ICON
|
||||
ATTR_ID_BUTTON_SHAPE: ClassVar[str] = Button_Shape.ATTR_ID_BUTTON_SHAPE
|
||||
ATTR_ID_COLOUR: ClassVar[str] = Colour.ATTR_ID_COLOUR
|
||||
ATTR_ID_COMMAND: ClassVar[str] = Command.ATTR_ID_COMMAND
|
||||
ATTR_ID_COMMAND_BUTTON_LINK: ClassVar[str] = Command_Button_Link.ATTR_ID_COMMAND_BUTTON_LINK
|
||||
ATTR_ID_COMMAND_CATEGORY: ClassVar[str] = Command_Category.ATTR_ID_COMMAND_CATEGORY
|
||||
ATTR_ID_COMMAND_MODALITY: ClassVar[str] = Command_Modality.ATTR_ID_COMMAND_MODALITY
|
||||
ATTR_ID_DISTRACTION: ClassVar[str] = Distraction.ATTR_ID_DISTRACTION
|
||||
ATTR_ID_DISTRACTION_INTENSITY_LEVEL: ClassVar[str] = Distraction_Intensity_Level.ATTR_ID_DISTRACTION_INTENSITY_LEVEL
|
||||
ATTR_ID_DISTRACTION_TYPE: ClassVar[str] = Distraction_Type.ATTR_ID_DISTRACTION_TYPE
|
||||
ATTR_ID_DOG: ClassVar[str] = Dog.ATTR_ID_DOG
|
||||
ATTR_ID_DOG_COMMAND_LINK: ClassVar[str] = Dog_Command_Link.ATTR_ID_DOG_COMMAND_LINK
|
||||
ATTR_ID_FILE_TYPE: ClassVar[str] = File_Type.ATTR_ID_FILE_TYPE
|
||||
ATTR_ID_IMAGE: ClassVar[str] = Image.ATTR_ID_IMAGE
|
||||
ATTR_ID_LIGHTING_LEVEL: ClassVar[str] = Lighting_Level.ATTR_ID_LIGHTING_LEVEL
|
||||
ATTR_ID_LOCATION: ClassVar[str] = Location.ATTR_ID_LOCATION
|
||||
ATTR_ID_WEATHER: ClassVar[str] = Weather.ATTR_ID_WEATHER
|
||||
ATTR_TEXT_COLLAPSED: ClassVar[str] = 'textCollapsed'
|
||||
ATTR_TEXT_EXPANDED: ClassVar[str] = 'textExpanded'
|
||||
ATTR_VALUE_CURRENT: ClassVar[str] = 'current-value'
|
||||
@@ -87,8 +109,12 @@ 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_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
|
||||
FLAG_BOOL_FALSE: ClassVar[str] = 'false'
|
||||
FLAG_BOOL_TRUE: ClassVar[str] = 'true'
|
||||
FLAG_BRIBE: ClassVar[str] = Bribe.FLAG_BRIBE
|
||||
FLAG_BUTTON: ClassVar[str] = 'button'
|
||||
FLAG_BUTTON_ICON: ClassVar[str] = Button_Icon.FLAG_BUTTON_ICON
|
||||
FLAG_BUTTON_LIGHT: ClassVar[str] = 'button-light'
|
||||
@@ -106,6 +132,7 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_COMMAND: ClassVar[str] = Command.FLAG_COMMAND
|
||||
FLAG_COMMAND_BUTTON_LINK: ClassVar[str] = Command_Button_Link.FLAG_COMMAND_BUTTON_LINK
|
||||
FLAG_COMMAND_CATEGORY: ClassVar[str] = Command_Category.FLAG_COMMAND_CATEGORY
|
||||
FLAG_COMMAND_MODALITY: ClassVar[str] = Command_Modality.FLAG_COMMAND_MODALITY
|
||||
FLAG_COLUMN: ClassVar[str] = 'column'
|
||||
FLAG_COMMENT: ClassVar[str] = 'comment'
|
||||
FLAG_CONTAINER: ClassVar[str] = 'container'
|
||||
@@ -118,6 +145,9 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_DDL_PREVIEW: ClassVar[str] = "ddl-preview"
|
||||
FLAG_DELETE: ClassVar[str] = 'delete'
|
||||
FLAG_DESCRIPTION: ClassVar[str] = Base.FLAG_DESCRIPTION
|
||||
FLAG_DISTRACTION: ClassVar[str] = Distraction.FLAG_DISTRACTION
|
||||
FLAG_DISTRACTION_INTENSITY_LEVEL: ClassVar[str] = Distraction_Intensity_Level.FLAG_DISTRACTION_INTENSITY_LEVEL
|
||||
FLAG_DISTRACTION_TYPE: ClassVar[str] = Distraction_Type.FLAG_DISTRACTION_TYPE
|
||||
FLAG_DETAIL: ClassVar[str] = 'detail'
|
||||
FLAG_DIALOG: ClassVar[str] = 'dialog'
|
||||
FLAG_DIRTY: ClassVar[str] = 'dirty'
|
||||
@@ -139,6 +169,7 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_IS_CHECKED: ClassVar[str] = 'is_checked'
|
||||
FLAG_IS_COLLAPSED: ClassVar[str] = 'is_collapsed'
|
||||
FLAG_LEFT_HAND_STUB: ClassVar[str] = 'lhs'
|
||||
FLAG_LIGHTING_LEVEL: ClassVar[str] = Lighting_Level.FLAG_LIGHTING_LEVEL
|
||||
FLAG_LOCATION: ClassVar[str] = Location.FLAG_LOCATION
|
||||
FLAG_LOCATION_PARENT: ClassVar[str] = Location.FLAG_LOCATION_PARENT
|
||||
FLAG_LOGO: ClassVar[str] = 'logo'
|
||||
@@ -151,6 +182,8 @@ class Model_View_Base(BaseModel, ABC):
|
||||
# FLAG_NAME_SINGULAR: ClassVar[str] = Base.FLAG_NAME_SINGULAR
|
||||
FLAG_NAV_ADMIN_HOME: ClassVar[str] = 'navAdminHome'
|
||||
FLAG_NAV_CONTACT: ClassVar[str] = 'navContact'
|
||||
FLAG_NAV_DOG_ASSESSMENT: ClassVar[str] = 'navDogAssessment'
|
||||
FLAG_NAV_DOG_ASSESSMENTS: ClassVar[str] = 'navDogAssessments'
|
||||
FLAG_NAV_DOG_BUTTON_ICONS: ClassVar[str] = 'navDogButtonIcons'
|
||||
FLAG_NAV_DOG_COLOURS: ClassVar[str] = 'navDogColours'
|
||||
FLAG_NAV_DOG_COMMAND_BUTTON_LINKS: ClassVar[str] = 'navDogCommandButtonLinks'
|
||||
@@ -166,8 +199,11 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_NAV_USER_LOGIN: ClassVar[str] = 'navUserLogin'
|
||||
FLAG_NAV_USER_LOGOUT: ClassVar[str] = 'navUserLogout'
|
||||
FLAG_NOTES: ClassVar[str] = "notes"
|
||||
FLAG_OBEDIENCE_LEVEL: ClassVar[str] = Obedience_Level.FLAG_OBEDIENCE_LEVEL
|
||||
FLAG_OVERLAY: ClassVar[str] = 'overlay'
|
||||
FLAG_PAGE_BODY: ClassVar[str] = 'page-body'
|
||||
FLAG_QUANTITY: ClassVar[str] = 'quantity'
|
||||
FLAG_RESPONSE_QUALITY_METRIC: ClassVar[str] = Response_Quality_Metric.FLAG_RESPONSE_QUALITY_METRIC
|
||||
FLAG_RIGHT_HAND_SIDE: ClassVar[str] = 'rhs'
|
||||
FLAG_ROW: ClassVar[str] = 'row'
|
||||
FLAG_ROW_NEW: ClassVar[str] = 'row-new'
|
||||
@@ -179,8 +215,10 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_STATUS: ClassVar[str] = 'status'
|
||||
FLAG_SUBMIT: ClassVar[str] = 'submit'
|
||||
FLAG_SUCCESS: ClassVar[str] = 'success'
|
||||
FLAG_TABLE_MAIN: ClassVar[str] = 'table-main'
|
||||
FLAG_TEMPORARY_ELEMENT: ClassVar[str] = 'temporary-element'
|
||||
FLAG_USER: ClassVar[str] = User.FLAG_USER
|
||||
FLAG_WEATHER: ClassVar[str] = Weather.FLAG_WEATHER
|
||||
FLAG_WEBSITE: ClassVar[str] = Base.FLAG_WEBSITE
|
||||
HASH_GET_ALTCHA_CHALLENGE: ClassVar[str] = '/altcha/create-challenge'
|
||||
HASH_GET_DOG_SCRIPTS_SHARED: ClassVar[str] = '/dog/scripts-shared'
|
||||
@@ -190,6 +228,8 @@ class Model_View_Base(BaseModel, ABC):
|
||||
HASH_PAGE_CONTACT: ClassVar[str] = '/contact'
|
||||
HASH_PAGE_CONTACT_SUCCESS: ClassVar[str] = '/contact-success'
|
||||
HASH_PAGE_DATA_RETENTION_SCHEDULE: ClassVar[str] = '/retention-schedule'
|
||||
HASH_PAGE_DOG_ASSESSMENT: ClassVar[str] = '/dog/assessment'
|
||||
HASH_PAGE_DOG_ASSESSMENTS: ClassVar[str] = '/dog/assessments'
|
||||
HASH_PAGE_DOG_BUTTON_ICONS: ClassVar[str] = '/dog/button-icons'
|
||||
HASH_PAGE_DOG_COMMAND_BUTTON_LINKS: ClassVar[str] = '/dog/command-button-links'
|
||||
HASH_PAGE_DOG_COMMAND_CATEGORIES: ClassVar[str] = '/dog/command-categories'
|
||||
@@ -205,6 +245,7 @@ class Model_View_Base(BaseModel, ABC):
|
||||
HASH_PAGE_USER_ACCOUNT: ClassVar[str] = '/user'
|
||||
HASH_PAGE_USER_LOGIN: ClassVar[str] = '/login'
|
||||
HASH_PAGE_USER_LOGOUT: ClassVar[str] = '/logout'
|
||||
HASH_SAVE_DOG_ASSESSMENT: ClassVar[str] = '/dog/save-assessment'
|
||||
HASH_SAVE_DOG_BUTTON_ICON: ClassVar[str] = '/dog/save-button-icon'
|
||||
HASH_SAVE_DOG_COLOUR: ClassVar[str] = '/dog/save-colour'
|
||||
HASH_SAVE_DOG_COMMAND: ClassVar[str] = '/dog/save-command'
|
||||
@@ -234,6 +275,7 @@ class Model_View_Base(BaseModel, ABC):
|
||||
URL_GITHUB: ClassVar[str] = 'https://github.com/Teddy-1024'
|
||||
URL_LINKEDIN: ClassVar[str] = 'https://uk.linkedin.com/in/teddyms'
|
||||
|
||||
_title: str
|
||||
hash_page_current: str
|
||||
app: Flask = None
|
||||
session: None = None
|
||||
@@ -245,10 +287,12 @@ class Model_View_Base(BaseModel, ABC):
|
||||
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||
|
||||
@property
|
||||
@abstractmethod
|
||||
# @abstractmethod
|
||||
def title(self):
|
||||
pass
|
||||
|
||||
if self._title is None:
|
||||
raise NotImplementedError("Model Title required.")
|
||||
return self._title
|
||||
|
||||
def __init__(self, hash_page_current, **kwargs):
|
||||
BaseModel.__init__(self, hash_page_current=hash_page_current, **kwargs)
|
||||
self.app = current_app
|
||||
|
||||
Reference in New Issue
Block a user