View raw

1 from flask_wtf import FlaskForm 2 from wtforms import ( 3 SubmitField, 4 SelectField, 5 HiddenField, 6 StringField, 7 PasswordField, 8 IntegerField, 9 FloatField, 10 BooleanField, 11 DateField, 12 ) 13 from wtforms.validators import InputRequired, Length, NumberRange 14 15 from ...models import Customer 16 17 18 class AddInvoice(FlaskForm): 19 customer_id = SelectField("Customer", choices=[]) 20 invoice_id_alt = StringField("Alternative invoice ID") 21 customer_reference = StringField("Customer reference") 22 date_billed = DateField('Date billed', format='%Y-%m-%d') 23 date_due = DateField('Date due', format='%Y-%m-%d') 24 amount_net = FloatField("Amount without tax", default=0) 25 amount_gross = FloatField("Amount with tax", default=0) 26 amount_tax = FloatField("Amount of tax", default=0) 27 submit = SubmitField("Add Invoice") 28 29 def __init__(self, **kwargs): 30 super().__init__() 31 self.customer_id.choices = [ 32 (cus.primary_key, cus.name) for cus in Customer.query.all() 33 ] 34