Feat: Dogs page.

This commit is contained in:
2025-08-09 10:44:33 +01:00
parent d5e5e1a111
commit 77393d2057
46 changed files with 1718 additions and 640 deletions

View File

@@ -25,6 +25,7 @@ class User(SQLAlchemy_ABC, Base):
ATTR_ID_USER_AUTH0: ClassVar[str] = 'id_user_auth0'
FLAG_CAN_ADMIN_DOG: ClassVar[str] = 'can_admin_dog'
FLAG_CAN_ADMIN_USER: ClassVar[str] = 'can_admin_user'
FLAG_CAN_EDIT_COMPANY: ClassVar[str] = 'can_edit_company'
FLAG_IS_EMAIL_VERIFIED: ClassVar[str] = 'is_email_verified'
FLAG_IS_SUPER_USER: ClassVar[str] = 'is_super_user'
FLAG_PRIORITY_ACCESS_LEVEL: ClassVar[str] = 'priority_access_level'
@@ -44,6 +45,7 @@ class User(SQLAlchemy_ABC, Base):
priority_access_level = db.Column(db.Integer)
can_admin_dog = db.Column(db.Boolean)
can_admin_user = db.Column(db.Boolean)
can_edit_company = db.Column(db.Boolean)
is_new = db.Column(db.Boolean)
active = db.Column(db.Boolean)
@@ -52,6 +54,7 @@ class User(SQLAlchemy_ABC, Base):
self.is_new = False
self.can_admin_dog = False
self.can_admin_user = False
self.can_edit_company = False
self.id_company = None
self.company = None
self.id_role = None
@@ -75,6 +78,7 @@ class User(SQLAlchemy_ABC, Base):
user.priority_access_level = query_row[12]
user.can_admin_dog = av.input_bool(query_row[13], cls.FLAG_CAN_ADMIN_DOG, _m)
user.can_admin_user = av.input_bool(query_row[14], cls.FLAG_CAN_ADMIN_USER, _m)
user.can_edit_company = av.input_bool(query_row[15], cls.FLAG_CAN_ADMIN_USER, _m)
# user.is_new = av.input_bool(query_row[9], 'is_new', _m)
user.role = Role.from_db_user(query_row)
user.company = Company.from_db_user(query_row)
@@ -106,6 +110,7 @@ class User(SQLAlchemy_ABC, Base):
user.is_super_user = av.input_bool(json[cls.FLAG_IS_SUPER_USER], cls.FLAG_IS_SUPER_USER, _m)
user.can_admin_dog = user.is_super_user or json[cls.FLAG_CAN_ADMIN_DOG]
user.can_admin_user = user.is_super_user or json[cls.FLAG_CAN_ADMIN_USER]
user.can_edit_company = user.is_super_user or json.get(cls.FLAG_CAN_EDIT_COMPANY, False)
user.role = Role.from_json(json[Role.FLAG_ROLE])
user.company = Company.from_json(json[Company.FLAG_COMPANY])
return user
@@ -126,7 +131,7 @@ class User(SQLAlchemy_ABC, Base):
user.can_admin_dog = user.is_super_user
user.can_admin_user = user.is_super_user
user.can_edit_company = user.is_super_user
return user
def to_json(self):
@@ -143,10 +148,11 @@ class User(SQLAlchemy_ABC, Base):
, self.FLAG_PRIORITY_ACCESS_LEVEL: self.priority_access_level
, self.FLAG_CAN_ADMIN_DOG: self.can_admin_dog
, self.FLAG_CAN_ADMIN_USER: self.can_admin_user
, self.FLAG_CAN_EDIT_COMPANY: self.can_edit_company
, Company.ATTR_ID_COMPANY: self.id_company
, Company.FLAG_COMPANY: self.company.to_json()
, Company.FLAG_COMPANY: None if self.company is None else self.company.to_json()
, Role.ATTR_ID_ROLE: self.id_role
, Role.FLAG_ROLE: self.role.to_json()
, Role.FLAG_ROLE: None if self.role is None else self.role.to_json()
}
return as_json
@@ -164,6 +170,7 @@ User (
, {self.FLAG_PRIORITY_ACCESS_LEVEL}: {self.priority_access_level}
, {self.FLAG_CAN_ADMIN_DOG}: {self.can_admin_dog}
, {self.FLAG_CAN_ADMIN_USER}: {self.can_admin_user}
, {self.FLAG_CAN_EDIT_COMPANY}: {self.can_edit_company}
, {Role.ATTR_ID_ROLE}: {self.id_role}
, {Role.FLAG_ROLE}: {self.role}
, {Company.ATTR_ID_COMPANY}: {self.id_company}