from codicefiscale import codicefiscale
from django import forms
from crispy_forms.layout import *
from crispy_forms.helper import FormHelper
from django.conf import settings

class CodFisForm(forms.Form):
    cf_minore=forms.CharField(max_length=16, required=True, label='cod.fiscale da inserire')

    def clean(self):
        data =self.cleaned_data
        #controllo codice fiscale bimbo
        codfiscale = data.get('cf_minore').upper()

        if not codicefiscale.is_valid(codfiscale):
            raise forms.ValidationError('Codice fiscale del minore non corretto')

        data['cf_minore'] = codfiscale

        self.cleaned_data = data
        if self.errors:
            print(self.errors)

        return self.cleaned_data  
    
class CrispyMinoreForm(CodFisForm):

    def __init__(self, *args, **kwargs):

        super().__init__(*args, **kwargs)
        myurl = '<a href="/app/listapren_admin/' + settings.ANNO_LAVORO + '"/>ritorno a prenotazioni </a>'

        self.helper = FormHelper()
        self.helper.layout = Layout(
                 Row(
                     Column('cf_minore', css_class='form-control col-sm-4  col-md-8 mb-2', style='padding-right:30px;'),
                     css_class='form-row col-md-8 col-sm-12', style='padding-bottom:60px'
                 ),


            Row(
            
                Column(Submit('submit', 'Conferma'), css_class='form-control col-md-6 mb-6'),
                css_class='form-row ', style='padding-top:20px;padding-bottom:  130px;'
            ), HTML(myurl)
        )
    
