summaryrefslogtreecommitdiff
path: root/app/modules/invoices/forms.py
blob: 7e2bc502c5dd566c6102036fdf6278e24666e878 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from flask_wtf import FlaskForm
from wtforms import (
    SubmitField,
    SelectField,
    HiddenField,
    StringField,
    PasswordField,
    IntegerField,
    FloatField,
    BooleanField,
    DateField,
)
from wtforms.validators import InputRequired, Length, NumberRange

from ...models import Customer


class AddInvoice(FlaskForm):
    customer_id = SelectField("Customer", choices=[])
    invoice_id_alt = StringField("Alternative invoice ID")
    customer_reference = StringField("Customer reference")
    date_billed = DateField('Date billed', format='%Y-%m-%d')
    date_due = DateField('Date due', format='%Y-%m-%d')
    amount_net = FloatField("Amount without tax", default=0)
    amount_gross = FloatField("Amount with tax", default=0)
    amount_tax = FloatField("Amount of tax", default=0)
    submit = SubmitField("Add Invoice")

    def __init__(self, **kwargs):
        super().__init__()
        self.customer_id.choices = [
            (cus.primary_key, cus.name) for cus in Customer.query.all()
        ]
Copyright 2019--2024 Marius PETER