from flask_wtf import FlaskForm from wtforms import DateField, DecimalField, SelectField, StringField, SubmitField from wtforms.validators import DataRequired, Optional NFZ_BRANCH_CHOICES = [ ('1070001057-00018', 'Dolnośląski OW NFZ'), ('1070001057-00021', 'Kujawsko-Pomorski OW NFZ'), ('1070001057-00034', 'Lubelski OW NFZ'), ('1070001057-00047', 'Lubuski OW NFZ'), ('1070001057-00050', 'Łódzki OW NFZ'), ('1070001057-00063', 'Małopolski OW NFZ'), ('1070001057-00076', 'Mazowiecki OW NFZ'), ('1070001057-00089', 'Opolski OW NFZ'), ('1070001057-00092', 'Podkarpacki OW NFZ'), ('1070001057-00106', 'Podlaski OW NFZ'), ('1070001057-00119', 'Pomorski OW NFZ'), ('1070001057-00122', 'Śląski OW NFZ'), ('1070001057-00135', 'Świętokrzyski OW NFZ'), ('1070001057-00148', 'Warmińsko-Mazurski OW NFZ'), ('1070001057-00151', 'Wielkopolski OW NFZ'), ('1070001057-00164', 'Zachodniopomorski OW NFZ'), ('1070001057-00177', 'Centrala NFZ'), ] class NfzInvoiceForm(FlaskForm): customer_id = SelectField('Odbiorca techniczny', coerce=int, validators=[DataRequired()]) product_id = SelectField('Towar / usługa', coerce=int, validators=[DataRequired()]) invoice_number = StringField('Numer faktury', validators=[Optional()]) nfz_branch_id = SelectField('Oddział NFZ (IDWew)', choices=NFZ_BRANCH_CHOICES, validators=[DataRequired()]) settlement_from = DateField('Okres rozliczeniowy od', validators=[DataRequired()], format='%Y-%m-%d') settlement_to = DateField('Okres rozliczeniowy do', validators=[DataRequired()], format='%Y-%m-%d') template_identifier = StringField('Identyfikator szablonu', validators=[Optional()]) provider_identifier = StringField('Identyfikator świadczeniodawcy', validators=[DataRequired()]) service_code = StringField('Kod zakresu / wyróżnik / kod świadczenia', validators=[DataRequired()]) contract_number = StringField('Numer umowy / aneksu', validators=[DataRequired()]) quantity = DecimalField('Ilość', validators=[DataRequired()], default=1) unit_net = DecimalField('Cena netto', validators=[DataRequired()]) save_submit = SubmitField('Zapisz roboczo') submit = SubmitField('Zapisz i wyślij do KSeF')