Advertisement
eltonplima

Untitled

Dec 6th, 2013
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class ProtocoloContabilFormWizardStep1(forms.Form):
  2.     """ Primeira etapa do wizard de envio de dados contábeis.
  3.  
  4.    .. sectionauthor:: Elton Pereira de Lima
  5.    .. codeauthor:: Elton Pereira de Lima
  6.  
  7.    """
  8.     protocolo = forms.CharField(required=False)
  9.     ano = forms.ChoiceField()
  10.     mes = forms.ChoiceField()
  11.     municipio = forms.ChoiceField()
  12.     cliente = forms.ChoiceField()
  13.  
  14.     def __init__(self, *args, **kwargs):
  15.         super(ProtocoloContabilFormWizardStep1, self).__init__(*args, **kwargs)
  16.  
  17.         ano_choices = ConfiguracaoCabecalhoBase().get_anos_com_configuracao().values_list('id', 'nome')
  18.         ano_choices = [('','--------')] + [i for i in ano_choices]
  19.         mes_choices = ConfiguracaoCabecalhoBase().get_meses_com_configuracao().values_list('id', 'nome')
  20.         mes_choices = [('','--------')] + [i for i in mes_choices]
  21.         municipio_choices = ConfiguracaoCabecalhoBase().get_municipios_com_configuracao().values_list('id', 'nome')
  22.         municipio_choices = [('','--------')] + [i for i in municipio_choices]
  23.         cliente_choices = ConfiguracaoCabecalhoBase().get_clientes_com_configuracao().values_list('id', 'pessoa_base__nome', 'pessoa_base__pessoajuridica__cnpj')
  24.         cliente_choices = [('','--------')] + [(i[0], '%s(%s)' %(i[1], i[2])) for i in cliente_choices]
  25.  
  26.         self.fields["protocolo"].widget = forms.HiddenInput()
  27.         self.fields["ano"].choices = ano_choices
  28.         self.fields["mes"].choices = mes_choices
  29.         self.fields["cliente"].choices = cliente_choices
  30.  
  31.     def clean(self):
  32.         cleaned_data = super(ProtocoloContabilFormWizardStep1, self).clean()
  33.         cleaned_data["ano"] = Ano.objects.get(id=int(cleaned_data["ano"]))
  34.         cleaned_data["mes"] = Mes.objects.get(id=int(cleaned_data["mes"]))
  35.         cleaned_data["cliente"] = Cliente.objects.get(id=int(cleaned_data["cliente"]))
  36.  
  37.         return cleaned_data
  38.  
  39.  
  40. class ProtocoloContabilFormWizardStep2(forms.Form):
  41.     """ Segunda etapa do wizard de envio de dados contábeis.
  42.  
  43.    .. sectionauthor:: Elton Pereira de Lima
  44.    .. codeauthor:: Elton Pereira de Lima
  45.    """
  46.     def __init__(self, *args, **kwargs):
  47.         data = kwargs.pop('data')
  48.         super(ProtocoloContabilFormWizardStep2, self).__init__(*args, **kwargs)
  49.         if not isinstance(data, QueryDict):
  50.             ano = data.pop('ano')
  51.             mes = data.pop('mes')
  52.             cliente = data.pop('cliente')
  53.             qs = ProtocoloContabilCategoriaArquivo.get_categorias(mes,ano,cliente)
  54.  
  55.             # É hora de criar os campos dinamicamente.
  56.             for i in xrange(qs.count()):
  57.                 self.fields["tipo_%s" % i] = forms.CharField(label=unicode(qs[i]))
  58.                 self.fields['relatorio_%s' % i] = forms.FileField(required=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement