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

@@ -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 {