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:
2025-07-24 16:48:18 +01:00
parent 6bb3a77a34
commit fad5336cc4
137 changed files with 10442 additions and 1116 deletions

View File

@@ -21,7 +21,7 @@ from typing import ClassVar, Optional
class User(SQLAlchemy_ABC, Base):
NAME_ATTR_OPTION_VALUE: ClassVar[str] = Base.ATTR_ID_USER
NAME_ATTR_OPTION_TEXT: ClassVar[str] = 'email'
NAME_ATTR_OPTION_TEXT: ClassVar[str] = Base.FLAG_NAME
__tablename__ = 'DOG_User'
__table_args__ = { 'extend_existing': True }
@@ -41,10 +41,11 @@ class User(SQLAlchemy_ABC, Base):
self.can_admin_dog = False
self.can_admin_user = False
super().__init__()
def from_DB_user(query_row):
_m = 'User.from_DB_user'
user = User()
@classmethod
def from_db_user(cls, query_row):
_m = f'{cls.__qualname__}.from_db_user'
user = cls()
user.id_user = query_row[0]
user.id_user_auth0 = query_row[1]
user.firstname = query_row[2]
@@ -56,6 +57,15 @@ class User(SQLAlchemy_ABC, Base):
user.can_admin_user = av.input_bool(query_row[8], 'can_admin_user', _m)
# user.is_new = av.input_bool(query_row[9], 'is_new', _m)
return user
@classmethod
def from_db_assessment(cls, query_row):
_m = f'{cls.__qualname__}.from_db_assessment'
user = cls()
user.id_user = query_row[7]
user.firstname = query_row[8]
user.surname = query_row[9]
return user
@staticmethod
def from_json(json):
@@ -98,14 +108,15 @@ class User(SQLAlchemy_ABC, Base):
def to_json(self):
as_json = {
**self.get_shared_json_attributes(self),
'id_user': self.id_user,
'id_user_auth0': self.id_user_auth0,
'firstname': self.firstname,
'surname': self.surname,
'email': self.email,
'is_email_verified': self.is_email_verified,
'is_super_user': self.is_super_user
**self.get_shared_json_attributes(self)
, 'id_user': self.id_user
, 'id_user_auth0': self.id_user_auth0
, 'firstname': self.firstname
, 'surname': self.surname
, self.FLAG_NAME: self.get_name()
, 'email': self.email
, 'is_email_verified': self.is_email_verified
, 'is_super_user': self.is_super_user
}
Helper_App.console_log(f'as_json: {as_json}')
return as_json
@@ -123,6 +134,9 @@ class User(SQLAlchemy_ABC, Base):
def get_is_logged_in(self):
return (self.id_user > 0 and self.id_user != Base.ID_USER_GUEST)
def get_name(self):
return f'{self.firstname} {self.surname}'
class User_Temp(db.Model, Base):
__tablename__ = 'DOG_User_Temp'
@@ -238,7 +252,7 @@ class User_Permission_Evaluation(db.Model):
can_edit = db.Column(db.Boolean)
can_admin = db.Column(db.Boolean)
def from_DB_user_eval(query_row):
def from_db_user_eval(query_row):
user_permission_evaluation = User_Permission_Evaluation()
user_permission_evaluation.id_evaluation = query_row[0]
user_permission_evaluation.guid = query_row[1]