Feat(SQL, UI): Redesign database with much more detailed command response quality analysis and created successfully loading Dog Command Links page
This commit is contained in:
@@ -8,12 +8,12 @@ Feature: User Business Object
|
||||
"""
|
||||
|
||||
# internal
|
||||
from business_objects.base import Base
|
||||
from business_objects.db_base import SQLAlchemy_ABC
|
||||
import lib.argument_validation as av
|
||||
from forms.forms import Form_Contact
|
||||
from extensions import db
|
||||
from helpers.helper_app import Helper_App
|
||||
from dog_training.business_objects.base import Base
|
||||
from dog_training.business_objects.db_base import SQLAlchemy_ABC, Get_Many_Parameters_Base
|
||||
import dog_training.lib.argument_validation as av
|
||||
from dog_training.extensions import db
|
||||
from dog_training.forms.base import Form_Filters_User
|
||||
from dog_training.helpers.helper_app import Helper_App
|
||||
# external
|
||||
from dataclasses import dataclass
|
||||
from typing import ClassVar
|
||||
@@ -23,7 +23,7 @@ class User(SQLAlchemy_ABC, Base):
|
||||
NAME_ATTR_OPTION_VALUE: ClassVar[str] = Base.ATTR_ID_USER
|
||||
NAME_ATTR_OPTION_TEXT: ClassVar[str] = 'email'
|
||||
|
||||
__tablename__ = 'PH_User'
|
||||
__tablename__ = 'DOG_User'
|
||||
__table_args__ = { 'extend_existing': True }
|
||||
|
||||
id_user = db.Column(db.Integer, primary_key=True)
|
||||
@@ -114,7 +114,7 @@ class User(SQLAlchemy_ABC, Base):
|
||||
return (self.id_user > 0 and self.id_user != Base.ID_USER_GUEST)
|
||||
|
||||
class User_Temp(db.Model, Base):
|
||||
__tablename__ = 'Shop_User_Temp'
|
||||
__tablename__ = 'DOG_User_Temp'
|
||||
__table_args__ = { 'extend_existing': True }
|
||||
id_user = db.Column(db.Integer, primary_key=True)
|
||||
id_user_auth0 = db.Column(db.String(250))
|
||||
@@ -130,4 +130,100 @@ class User_Temp(db.Model, Base):
|
||||
|
||||
def __init__(self):
|
||||
self.id_user = 0
|
||||
super().__init__()
|
||||
super().__init__()
|
||||
|
||||
|
||||
|
||||
|
||||
class Parameters_User(Get_Many_Parameters_Base):
|
||||
get_all_user: bool
|
||||
get_inactive_user: bool
|
||||
ids_user: str
|
||||
ids_user_auth0: str
|
||||
|
||||
@staticmethod
|
||||
def from_form(form):
|
||||
av.val_instance(form, 'form', 'Parameters_User.from_form', Form_Filters_User)
|
||||
get_inactive = av.input_bool(form.active.data, "active", "Parameters_User.from_form")
|
||||
id_user = '' if form.id_user.data is None else form.id_user.data
|
||||
return Parameters_User(
|
||||
get_all_user = (id_user == ''),
|
||||
get_inactive_user = get_inactive,
|
||||
ids_user = id_user,
|
||||
ids_user_auth0 = '',
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def from_user(user):
|
||||
av.val_instance(user, 'user', 'Parameters_User.from_user', User)
|
||||
return Parameters_User(
|
||||
get_all_user = ((user.id_user is None or user.id_user == 0) and user.id_user_auth0 is None),
|
||||
get_inactive_user = False,
|
||||
ids_user = '' if user.id_user is None else str(user.id_user),
|
||||
ids_user_auth0 = user.id_user_auth0,
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def get_default():
|
||||
return Parameters_User(
|
||||
get_all_user = False,
|
||||
get_inactive_user = False,
|
||||
ids_user = '',
|
||||
ids_user_auth0 = ''
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def from_json(self):
|
||||
pass
|
||||
def to_json(self):
|
||||
return {
|
||||
'a_get_all_user': self.get_all_user
|
||||
, 'a_get_inactive_user': self.get_inactive_user
|
||||
, 'a_ids_user': self.ids_user
|
||||
, 'a_ids_user_auth0': self.ids_user_auth0
|
||||
}
|
||||
|
||||
class User_Permission_Evaluation(db.Model):
|
||||
__tablename__ = 'DOG_User_Permission_Evaluation'
|
||||
__table_args__ = { 'extend_existing': True }
|
||||
id_evaluation = db.Column(db.Integer, primary_key=True)
|
||||
guid = db.Column(db.String(255))
|
||||
id_user = db.Column(db.Integer)
|
||||
id_permission_required = db.Column(db.Integer)
|
||||
priority_access_level_required = db.Column(db.Integer)
|
||||
id_product = db.Column(db.Integer)
|
||||
is_super_user = db.Column(db.Boolean)
|
||||
priority_access_level_user = db.Column(db.Integer)
|
||||
can_view = db.Column(db.Boolean)
|
||||
can_edit = db.Column(db.Boolean)
|
||||
can_admin = db.Column(db.Boolean)
|
||||
|
||||
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]
|
||||
user_permission_evaluation.id_user = query_row[2]
|
||||
user_permission_evaluation.id_permission_required = query_row[3]
|
||||
user_permission_evaluation.priority_access_level_required = query_row[4]
|
||||
user_permission_evaluation.id_product = query_row[5]
|
||||
user_permission_evaluation.is_super_user = query_row[6]
|
||||
user_permission_evaluation.priority_access_level_user = query_row[7]
|
||||
user_permission_evaluation.can_view = query_row[8]
|
||||
user_permission_evaluation.can_edit = query_row[9]
|
||||
user_permission_evaluation.can_admin = query_row[10]
|
||||
return user_permission_evaluation
|
||||
|
||||
def __repr__(self):
|
||||
return f'''
|
||||
id_evaluation: {self.id_evaluation}
|
||||
guid: {self.guid}
|
||||
id_user: {self.id_user}
|
||||
id_permission_required: {self.id_permission_required}
|
||||
priority_access_level_required: {self.priority_access_level_required}
|
||||
id_product: {self.id_product}
|
||||
is_super_user: {self.is_super_user}
|
||||
priority_access_level_user: {self.priority_access_level_user}
|
||||
can_view: {self.can_view}
|
||||
can_edit: {self.can_edit}
|
||||
can_admin: {self.can_admin}
|
||||
'''
|
||||
|
||||
Reference in New Issue
Block a user