summaryrefslogtreecommitdiff
path: root/app/modules/invoices/forms.py
blob: 74df40e249c09a32d309e5d3fd3129f14e864530 (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,
    DateTimeField,
)
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 = StringField("Date billed")
    date_due = StringField("Date due")
    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 new Invoice")

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