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

@@ -0,0 +1,42 @@
"""
Project: PARTS Website
Author: Edward Middleton-Smith
Precision And Research Technology Systems Limited
Technology: View Models
Feature: Dog Dogs View Model
Description:
Data model for dog dogs view
"""
# internal
from business_objects.dog.dog import Dog, Parameters_Dog
from datastores.datastore_dog import DataStore_Dog
from models.model_view_dog_base import Model_View_Dog_Base
from forms.dog.dog import Filters_Dog
# from routes import bp_home
from helpers.helper_app import Helper_App
import lib.argument_validation as av
# external
from pydantic import BaseModel
from typing import ClassVar
class Model_View_Dog_Dog(Model_View_Dog_Base):
dogs: list = None
form_filters: Filters_Dog = None
form_filters_old: Filters_Dog
def __init__(self, form_filters_old, hash_page_current=Model_View_Dog_Base.HASH_PAGE_DOG_DOGS):
_m = 'Model_View_Dog_Dog.__init__'
Helper_App.console_log(f'{_m}\nstarting...')
super().__init__(hash_page_current=hash_page_current, form_filters_old=form_filters_old)
self._title = 'Dog'
self.form_filters = form_filters_old
datastore = DataStore_Dog()
Helper_App.console_log(f'Form filters: {self.form_filters}')
parameters_filter_dog = Parameters_Dog.from_form_filters_dog(self.form_filters)
Helper_App.console_log(f'Query args: {parameters_filter_dog}')
self.dogs, errors = datastore.get_many_dog(parameters_filter_dog)