View raw

1 # -*- mode: python; -*- 2 3 from flask_wtf import FlaskForm 4 from wtforms import ( 5 SubmitField, 6 SelectField, 7 HiddenField, 8 StringField, 9 PasswordField, 10 IntegerField, 11 FloatField, 12 BooleanField, 13 DateTimeField, 14 ) 15 from wtforms.validators import InputRequired, Length, NumberRange 16 17 18 class LoginForm(FlaskForm): 19 username = StringField("Username", validators=[InputRequired()]) 20 password = PasswordField("Password", validators=[InputRequired()]) 21 remember = BooleanField("Remember") 22 submit = SubmitField("Login") 23 24 25 class RegisterForm(LoginForm): 26 name_first = StringField("First name") 27 name_last = StringField("Last name") 28 email = StringField("E-mail address") 29 phone_mobile = StringField("Phone number (mobile)") 30 phone_alternative = StringField("Phone number (alternative)") 31 submit = SubmitField("Register") 32 33 34 class AddCustomer(FlaskForm): 35 name = StringField("Customer name", validators=[InputRequired()]) 36 name_alternative = StringField("Alternative name") 37 # date_time_created = DateTimeField("Creation date") 38 code_customer = StringField("Customer code") 39 code_accounting = StringField("Accounting code") 40 address = StringField("Address") 41 postal_code = StringField("Postal Code") 42 city = StringField("City") 43 country = StringField("Country") 44 phone = StringField("Phone") 45 website = StringField("Website") 46 email = StringField("E-mail") 47 professional_id_1 = StringField("Professional ID 1") 48 professional_id_2 = StringField("Professional ID 2") 49 tax_id = StringField("Tax ID") 50 payment_terms = StringField("Payment Terms", default="Tu vas payer sale chien!") 51 submit = SubmitField("Add/Update Product") 52 53 54 class AddProduct(FlaskForm): 55 name = StringField("Product name", validators=[InputRequired()]) 56 code_accounting = StringField("Accounting code", default=0) 57 unit_weight = FloatField("Unit weight", default=0) 58 price_net = FloatField("Price (net)", default=0) 59 price_gross = FloatField("Price (gross)", default=0) 60 tax_rate = FloatField("Tax rate", default=0) 61 submit = SubmitField("Add/Update Product") 62 63 64 class AddFertilog(FlaskForm): 65 target = SelectField( 66 "Type", 67 choices=[("False", "Log"), ("True", "Target")], 68 validators=[InputRequired()], 69 ) 70 nno3 = FloatField("NNO3", default=0) 71 p = FloatField("P", default=0) 72 k = FloatField("K", default=0) 73 ca = FloatField("Ca", default=0) 74 mg = FloatField("Mg", default=0) 75 s = FloatField("S", default=0) 76 na = FloatField("Na", default=0) 77 cl = FloatField("Cl", default=0) 78 fe = FloatField("Fe", default=0) 79 zn = FloatField("Zn", default=0) 80 b = FloatField("B", default=0) 81 mn = FloatField("Mn", default=0) 82 cu = FloatField("Cu", default=0) 83 mo = FloatField("Mo", default=0) 84 si = FloatField("Si", default=0) 85 nnh4 = FloatField("NNH4", default=0) 86 submit = SubmitField("Add/Update Log") 87 88 89 class AddFertitarget(AddFertilog): 90 targeted_log = SelectField( 91 "Log to target", 92 choices=[("value1", "Last"), ("value2", "Named")], 93 validators=[InputRequired()], 94 ) 95 submit = SubmitField("Add/Update Log") 96 97 98 99 class AddOrder(FlaskForm): # TODO 100 name = StringField("Product name", validators=[InputRequired()]) 101 code_accounting = StringField("Accounting code", default=0) 102 unit_weight = FloatField("Unit weight", default=0) 103 price_net = FloatField("Price (net)", default=0) 104 price_gross = FloatField("Price (gross)", default=0) 105 tax_rate = FloatField("Tax rate", default=0) 106 submit = SubmitField("Add/Update Product") 107 108 109 class AddInvoice(FlaskForm): 110 invoice_id_alt = StringField("Alternative invoice ID") 111 customer_id = StringField("Customer ID") 112 customer_reference = StringField("Customer reference") 113 date_billed = StringField("Date billed") 114 date_due = StringField("Date due") 115 amount_net = FloatField("Amount without tax", default=0) 116 amount_gross = FloatField("Amount with tax", default=0) 117 amount_tax = FloatField("Amount of tax", default=0) 118 submit = SubmitField("Add new Invoice") 119