27 lines
1.9 KiB
Python
27 lines
1.9 KiB
Python
from flask_wtf import FlaskForm
|
|
from wtforms import BooleanField, SelectField, StringField, SubmitField, TextAreaField
|
|
from wtforms.validators import Optional
|
|
|
|
|
|
class InvoiceFilterForm(FlaskForm):
|
|
month = SelectField('Miesiąc', choices=[('', 'Wszystkie')] + [(str(i), str(i)) for i in range(1, 13)], validators=[Optional()])
|
|
year = StringField('Rok', validators=[Optional()])
|
|
contractor = StringField('Kontrahent', validators=[Optional()])
|
|
nip = StringField('NIP', validators=[Optional()])
|
|
invoice_type = SelectField('Typ', choices=[('', 'Wszystkie'), ('purchase', 'Zakupowa'), ('sale', 'Sprzedażowa'), ('correction', 'Korekta')], validators=[Optional()])
|
|
status = SelectField('Status', choices=[('', 'Wszystkie'), ('new', 'Nowa'), ('read', 'Przeczytana'), ('accounted', 'Zaksięgowana'), ('sent', 'Wysłana'), ('archived', 'Archiwalna'), ('needs_attention', 'Wymaga uwagi'), ('error', 'Błąd')], validators=[Optional()])
|
|
quick_filter = SelectField('Szybki filtr', choices=[('', 'Brak'), ('this_month', 'Ten miesiąc'), ('previous_month', 'Poprzedni miesiąc'), ('unread', 'Nieprzeczytane'), ('error', 'Z błędem'), ('to_send', 'Do wysyłki')], validators=[Optional()])
|
|
min_amount = StringField('Min brutto', validators=[Optional()])
|
|
max_amount = StringField('Max brutto', validators=[Optional()])
|
|
search = StringField('Szukaj', validators=[Optional()])
|
|
submit = SubmitField('Filtruj')
|
|
|
|
|
|
class InvoiceMetaForm(FlaskForm):
|
|
status = SelectField('Status', choices=[('new', 'Nowa'), ('read', 'Przeczytana'), ('accounted', 'Zaksięgowana'), ('sent', 'Wysłana'), ('archived', 'Archiwalna'), ('needs_attention', 'Wymaga uwagi'), ('error', 'Błąd')])
|
|
tags = StringField('Tagi', validators=[Optional()])
|
|
internal_note = TextAreaField('Notatka', validators=[Optional()])
|
|
queue_accounting = BooleanField('Do księgowości')
|
|
pinned = BooleanField('Przypnij')
|
|
submit = SubmitField('Zapisz')
|