Feat(SQL, UI): 1. Perfected architecture for modular Search functionality across heirarchical Get Many and Calc Stored Procedures that allows text search filtering on different fields as well as by record Id with control over how the filters are applied. \n 2. Updated User Calc and Get Many Stored Procedures with new Search functionality. \n 3. Improved styles on Dog Command Link page.
This commit is contained in:
@@ -42,9 +42,10 @@ class Dog(SQLAlchemy_ABC, Base):
|
||||
self.is_new = False
|
||||
super().__init__()
|
||||
|
||||
def from_db_dog(query_row):
|
||||
@classmethod
|
||||
def from_db_dog(cls, query_row):
|
||||
_m = 'Dog.from_db_dog'
|
||||
dog = Dog()
|
||||
dog = cls()
|
||||
dog.id_dog = query_row[0]
|
||||
dog.name = query_row[1]
|
||||
dog.appearance = query_row[2]
|
||||
@@ -53,9 +54,10 @@ class Dog(SQLAlchemy_ABC, Base):
|
||||
dog.active = av.input_bool(query_row[5], 'active', _m)
|
||||
return dog
|
||||
|
||||
def from_db_dog_command_link(query_row):
|
||||
@classmethod
|
||||
def from_db_dog_command_link(cls, query_row):
|
||||
_m = 'Dog.from_db_dog_command_link'
|
||||
dog = Dog()
|
||||
dog = cls()
|
||||
dog.id_dog = query_row[1]
|
||||
dog.name = query_row[2]
|
||||
"""
|
||||
@@ -142,6 +144,10 @@ class Parameters_Dog(Get_Many_Parameters_Base):
|
||||
get_inactive_dog: bool
|
||||
ids_dog: str
|
||||
names_dog: str
|
||||
require_all_id_search_filters_met: bool
|
||||
require_any_id_search_filters_met: bool
|
||||
require_all_non_id_search_filters_met: bool
|
||||
require_any_non_id_search_filters_met: bool
|
||||
|
||||
@classmethod
|
||||
def get_default(cls):
|
||||
@@ -150,6 +156,10 @@ class Parameters_Dog(Get_Many_Parameters_Base):
|
||||
, get_inactive_dog = False
|
||||
, ids_dog = ''
|
||||
, names_dog = ''
|
||||
, require_all_id_search_filters_met = True
|
||||
, require_any_id_search_filters_met = True
|
||||
, require_all_non_id_search_filters_met = False
|
||||
, require_any_non_id_search_filters_met = True
|
||||
)
|
||||
|
||||
@classmethod
|
||||
@@ -159,6 +169,10 @@ class Parameters_Dog(Get_Many_Parameters_Base):
|
||||
, get_inactive_dog = json.get('a_get_inactive_dog', False)
|
||||
, ids_dog = json.get('a_ids_dog', '')
|
||||
, names_dog = json.get('names_dog', '')
|
||||
, require_all_id_search_filters_met = json.get('a_require_all_id_search_filters_met', True)
|
||||
, require_any_id_search_filters_met = json.get('a_require_any_id_search_filters_met', True)
|
||||
, require_all_non_id_search_filters_met = json.get('a_require_all_non_id_search_filters_met', False)
|
||||
, require_any_non_id_search_filters_met = json.get('a_require_any_non_id_search_filters_met', True)
|
||||
)
|
||||
|
||||
"""
|
||||
@@ -183,5 +197,9 @@ class Parameters_Dog(Get_Many_Parameters_Base):
|
||||
, 'a_get_inactive_dog': self.get_inactive_dog
|
||||
, 'a_ids_dog': self.ids_dog
|
||||
, 'a_names_dog': self.names_dog
|
||||
, 'a_require_all_id_search_filters_met': self.require_all_id_search_filters_met
|
||||
, 'a_require_any_id_search_filters_met': self.require_any_id_search_filters_met
|
||||
, 'a_require_all_non_id_search_filters_met': self.require_all_non_id_search_filters_met
|
||||
, 'a_require_any_non_id_search_filters_met': self.require_any_non_id_search_filters_met
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user