Advertisement
eltonplima

forms.py

Dec 6th, 2013
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.72 KB | None | 0 0
  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.objects.filter(Q(configuracaocategoriaarquivo__configuracao_cabecalho__mes=mes,
  54. configuracaocategoriaarquivo__configuracao_cabecalho__ano=ano,
  55. configuracaocategoriaarquivo__configuracao_cabecalho__configuracaocabecalhocliente__cliente=cliente)|
  56. Q(configuracaocategoriaarquivo__configuracao_cabecalho__mes=mes,
  57. configuracaocategoriaarquivo__configuracao_cabecalho__ano=ano,
  58. configuracaocategoriaarquivo__configuracao_cabecalho__configuracaocabecalhotipocliente__tipo_cliente=cliente.tipo_cliente)).distinct()
  59. for i in xrange(pcca_qs.count()):
  60. self.fields["tipo_choice_%s" % i] = forms.ChoiceField(choices=((pcca_qs[i].id, unicode(pcca_qs[i])),),
  61. widget=forms.HiddenInput())
  62. self.fields["tipo_%s" % i] = forms.CharField(label=unicode(pcca_qs[i]))
  63. self.fields['relatorio_%s' % i] = forms.FileField(required=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement