1. Refactoring form objects and database objects to use inheritance and abstract base class for consistency and reduced redundancy.\n2. Contact us page button links updated to resolve error of missing link causing page refresh instead of expected functionality.

This commit is contained in:
2024-09-10 12:09:50 +01:00
parent c9dda91dc9
commit 6b730bf8e7
709 changed files with 5158 additions and 1512 deletions

36
forms/store/product.py Normal file
View File

@@ -0,0 +1,36 @@
"""
Project: PARTS Website
Author: Edward Middleton-Smith
Precision And Research Technology Systems Limited
Technology: Backend
Feature: Forms - Product Filter data input
Description:
Defines Flask-WTF forms for handling user input.
"""
# IMPORTS
# internal
# from business_objects.store.product_category import Filters_Product_Category
# from models.model_view_store import Model_View_Store # circular
# external
from flask_wtf import FlaskForm
from wtforms import StringField, TextAreaField, SubmitField, BooleanField, IntegerField, SelectField, FloatField
from wtforms.validators import InputRequired, NumberRange, Regexp, DataRequired, Optional
from flask_wtf.recaptcha import RecaptchaField
class Form_Filters_Product(FlaskForm):
id_category = SelectField('Category', validators=[Optional()], choices=[])
is_not_empty = BooleanField('Not empty only?')
active = BooleanField("Active only?")
@classmethod
def from_filters_product(cls, filters_product):
form = Form_Filters_Product()
form.id_category = filters_product.id_category
form.is_not_empty.data = filters_product.is_not_empty
form.active.data = filters_product.active
return form
def __repr__(self):
return f'Form_Filters_Product(id_category={self.id_category}, is_not_empty={self.is_not_empty.data}, active={self.active.data})'