Feat: Dogs page.
This commit is contained in:
@@ -12,6 +12,7 @@ from business_objects.base import Base
|
||||
from business_objects.db_base import SQLAlchemy_ABC, Get_Many_Parameters_Base
|
||||
import lib.argument_validation as av
|
||||
from extensions import db
|
||||
from forms.dog.company import Filters_Company
|
||||
from helpers.helper_app import Helper_App
|
||||
# external
|
||||
from dataclasses import dataclass
|
||||
@@ -154,10 +155,9 @@ class Parameters_Company(Get_Many_Parameters_Base):
|
||||
, require_any_non_id_search_filters_met = json.get('a_require_any_non_id_search_filters_met', True)
|
||||
)
|
||||
|
||||
"""
|
||||
@classmethod
|
||||
def from_form_filters_company(cls, form):
|
||||
av.val_instance(form, 'form', 'Parameters_Company.from_form_filters_company', Filters_Company)
|
||||
av.val_instance(form, 'form', f'{cls.__qualname__}.from_form_filters_company', Filters_Company)
|
||||
has_filter_search_text = not (form.search.data == '' or form.search.data is None)
|
||||
active_only = av.input_bool(form.active_only.data, "active", "Parameters_Company.from_form_filters_company")
|
||||
filters = cls.get_default()
|
||||
@@ -165,9 +165,8 @@ class Parameters_Company(Get_Many_Parameters_Base):
|
||||
filters.get_inactive_company = not active_only
|
||||
filters.ids_company = ''
|
||||
filters.names_company = form.search.data if has_filter_search_text else ''
|
||||
filters.notes_company = form.search.data if has_filter_search_text else ''
|
||||
filters.websites_company = form.search.data if has_filter_search_text else ''
|
||||
return filters
|
||||
"""
|
||||
|
||||
def to_json(self):
|
||||
return {
|
||||
|
||||
@@ -10,6 +10,7 @@ Feature: Dog Business Object
|
||||
# internal
|
||||
from business_objects.base import Base
|
||||
from business_objects.db_base import SQLAlchemy_ABC, Get_Many_Parameters_Base
|
||||
from forms.dog.dog import Filters_Dog
|
||||
import lib.argument_validation as av
|
||||
from extensions import db
|
||||
from helpers.helper_app import Helper_App
|
||||
@@ -175,21 +176,18 @@ class Parameters_Dog(Get_Many_Parameters_Base):
|
||||
, require_any_non_id_search_filters_met = json.get('a_require_any_non_id_search_filters_met', True)
|
||||
)
|
||||
|
||||
"""
|
||||
@classmethod
|
||||
def from_form_filters_dog(cls, form):
|
||||
av.val_instance(form, 'form', 'Parameters_Dog.from_form_filters_dog', Filters_Dog)
|
||||
has_filter_id = not (form.id_dog.data == '0' or form.id_dog.data == '' or form.id_dog.data is None)
|
||||
has_filter_name = not (form.name_dog.data == '0' or form.name_dog.data == '' or form.name_dog.data is None)
|
||||
has_filter_dog = has_filter_id or has_filter_name
|
||||
active_only = av.input_bool(form.active.data, "active", "Parameters_Dog.from_form_filters_dog")
|
||||
return cls(
|
||||
get_all_dog = not has_filter_dog
|
||||
, get_inactive_dog = not active_only
|
||||
, ids_dog = form.id_dog.data if has_filter_id else ''
|
||||
, names_dog = form.name_dog.data if has_filter_name else ''
|
||||
)
|
||||
"""
|
||||
has_filter_search_text = not (form.search.data == '' or form.search.data is None)
|
||||
has_filter_dog = has_filter_search_text # has_filter_id or has_filter_name
|
||||
active_only = av.input_bool(form.active_only.data, "active_only", "Parameters_Dog.from_form_filters_dog")
|
||||
filter_parameters = cls.get_default()
|
||||
filter_parameters.get_all_dog = not has_filter_dog
|
||||
filter_parameters.get_inactive_dog = not active_only
|
||||
filter_parameters.ids_dog = '' # form.id_dog.data if has_filter_id else ''
|
||||
filter_parameters.names_dog = form.search.data if has_filter_search_text else ''
|
||||
return filter_parameters
|
||||
|
||||
def to_json(self):
|
||||
return {
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user