コード例 #1
0
    def __init__(self,
                 data=None,
                 files=None,
                 auto_id='id_%s',
                 prefix=None,
                 initial=None,
                 error_class=ErrorList,
                 label_suffix=':',
                 empty_permitted=False,
                 instance=None):

        super(OrigemFapespInlineForm,
              self).__init__(data, files, auto_id, prefix, initial,
                             error_class, label_suffix, empty_permitted,
                             instance)

        cache = get_request_cache()
        if cache.get('outorga.Acordo.all') is None:
            cache.set('outorga.Acordo.all', [('', '---------')] +
                      [(p.id, p.__unicode__())
                       for p in Acordo.objects.all().order_by('descricao')])
        self.fields['acordo'].choices = cache.get('outorga.Acordo.all')

        cache = get_request_cache()
        if cache.get('outorga.Item.all') is None:
            cache.set('outorga.Item.all', [('', '---------')] +
                      [(p.id, p.__unicode__())
                       for p in Item.objects.all().select_related(
                           'natureza_gasto', 'natureza_gasto__termo')])
        self.fields['item_outorga'].choices = cache.get('outorga.Item.all')
コード例 #2
0
    def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
                 initial=None, error_class=ErrorList, label_suffix=':',
                 empty_permitted=False, instance=None):

        if initial:
            if instance:
                if instance.endereco and instance.endereco.endereco and instance.endereco.endereco.entidade:
                    initial.update({'entidade': instance.endereco.endereco.entidade})
        else:
            initial = {}
            if instance and instance.endereco and instance.endereco.endereco and instance.endereco.endereco.entidade:
                initial['entidade'] = instance.endereco.endereco.entidade

        super(PatrimonioHistoricoLocalAdminForm, self).__init__(data, files, auto_id, prefix, initial,
                                                                error_class, label_suffix, empty_permitted, instance)

        end = None
        if data:
            end_id = data.get(u'%s-endereco' % prefix)
            if end_id and end_id.isdigit():
                end = EnderecoDetalhe.objects.filter(id=end_id)
        elif instance:
            end = EnderecoDetalhe.objects.filter(id=instance.endereco.id)

#         if data and not end:
#             if data.has_key('%s-entidade' % prefix) and data['%s-entidade' % prefix]:
#                 end = EnderecoDetalhe.objects.filter(endereco__entidade__id=data['%s-entidade' % prefix])
#             elif data.has_key('%s-endereco' % prefix) and data['%s-endereco' % prefix]:
#                 end = EnderecoDetalhe.objects.filter(endereco__id=data['%s-endereco' % prefix])

        if not end:
            end = EnderecoDetalhe.objects.filter(id__lte=0)

        # self.fields['endereco'].queryset = end
        self.fields['endereco'].choices = [(e.id, e.__unicode__()) for e in end]

        # Cache dos valores do campo de memorando do histórico
        cache = get_request_cache()
        if cache.get('memorando.MemorandoSimples.all') is None:
            cache.set('memorando.MemorandoSimples.all', [('', '---------')] +
                      [(p.id, p.__unicode__()) for p in MemorandoSimples.objects.all().select_related('assunto', )])
        self.fields['memorando'].choices = cache.get('memorando.MemorandoSimples.all')

        # Cache dos valores do campo de estado do patrionio do histórico
        cache = get_request_cache()
        if cache.get('patrimonio.Estado.all') is None:
            cache.set('patrimonio.Estado.all', [('', '---------')] +
                      [(p.id, p.__unicode__()) for p in Estado.objects.all()])
        self.fields['estado'].choices = cache.get('patrimonio.Estado.all')
コード例 #3
0
ファイル: forms.py プロジェクト: annapaula/arquea
    def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
                 initial=None, error_class=ErrorList, label_suffix=':',
                 empty_permitted=False, instance=None):

        super(OrigemFapespInlineForm, self).__init__(data, files, auto_id, prefix, initial, error_class,
                                                     label_suffix, empty_permitted, instance)

        cache = get_request_cache()
        if cache.get('outorga.Acordo.all') is None:
            cache.set('outorga.Acordo.all', [('', '---------')] +
                      [(p.id, p.__unicode__()) for p in Acordo.objects.all().order_by('descricao')])
        self.fields['acordo'].choices = cache.get('outorga.Acordo.all')

        cache = get_request_cache()
        if cache.get('outorga.Item.all') is None:
            cache.set('outorga.Item.all', [('', '---------')] +
                      [(p.id, p.__unicode__())
                       for p in Item.objects.all().select_related('natureza_gasto', 'natureza_gasto__termo')])
        self.fields['item_outorga'].choices = cache.get('outorga.Item.all')
コード例 #4
0
ファイル: forms.py プロジェクト: annapaula/arquea
    def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
                 initial=None, error_class=ErrorList, label_suffix=':',
                 empty_permitted=False, instance=None):

        super(PagamentoAuditoriaAdminInlineForm, self).__init__(data, files, auto_id, prefix, initial,
                                                                error_class, label_suffix, empty_permitted, instance)

        cache = get_request_cache()
        if cache.get('financeiro.Estado.all') is None:
            cache.set('financeiro.Estado.all', [('', '---------')] +
                      [(p.id, p.__unicode__()) for p in Estado.objects.all()])
        self.fields['estado'].choices = cache.get('financeiro.Estado.all')

        if cache.get('financeiro.TipoComprovante.all') is None:
            cache.set('financeiro.TipoComprovante.all', [('', '---------')] +
                      [(p.id, p.__unicode__()) for p in TipoComprovante.objects.all()])
        self.fields['tipo'].choices = cache.get('financeiro.TipoComprovante.all')
コード例 #5
0
ファイル: forms.py プロジェクト: annapaula/arquea
    def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
                 initial=None, error_class=ErrorList, label_suffix=':',
                 empty_permitted=False, instance=None):

        super(RecursoInlineAdminForm, self).__init__(data, files, auto_id, prefix, initial,
                                                     error_class, label_suffix, empty_permitted, instance)

        # Configurando o campo de 'planejamento', pois o processamento do __unicode__
        # é muito demorado quando são carregados mais que 5 recursos. Há casos com mais
        # de 10 recursos no InlineAdminForm
        cache = get_request_cache()
        if cache.get('rede.PlanejaAquisicaoRecurso.all') is None:
            cache.set('rede.PlanejaAquisicaoRecurso.all', [('', '---------')] +
                      [(p.id, p.__unicode__()) for p in PlanejaAquisicaoRecurso.objects.all()
                      .select_related('os', 'os__tipo', 'tipo', 'projeto', )])
        self.fields['planejamento'].choices = cache.get('rede.PlanejaAquisicaoRecurso.all')

        self.fields['planejamento'].label = \
            mark_safe('<a href="#"  onclick="window.open(\'%s\'+$(\'#\'+$(this).parent().attr(\'for\')).val() + '
                      '\'/\', \'_blank\');return true;">Planejamento:</a> <input type="checkbox" '
                      'onclick="get_recursos($(this));"> Exibir somente os vigentes.'
                      % urlresolvers.reverse('admin:rede_planejaaquisicaorecurso_changelist'))
コード例 #6
0
ファイル: forms.py プロジェクト: annapaula/arquea
    def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
                 initial=None, error_class=ErrorList, label_suffix=':',
                 empty_permitted=False, instance=None):

        if instance and not data:
            initial = {'termo': instance.protocolo.termo.id}

        super(PagamentoAdminForm, self).__init__(data, files, auto_id, prefix, initial,
                                                 error_class, label_suffix, empty_permitted, instance)

        if 'pergunta' in self.fields:
            self.fields['pergunta'].queryset = Pergunta.objects.all().select_related('memorando')

        if 'patrocinio' in self.fields:
            self.fields['patrocinio'].queryset = ExtratoPatrocinio.objects.all().select_related('localiza')

        # Permite selecionar apenas as despesas com valor superior a soma dos valores de suas fontes pagadoras.
        t = None
        if data:
            if 'termo' in data and data['termo'] is not None and data['termo'] != '':
                t = Termo.objects.get(id=data['termo'])
        elif instance:
            termo = instance.protocolo.termo
            t = termo  # Termo.objects.get(id=termo)

        if t:
            self.fields['origem_fapesp'].choices = [('', '---------')] + \
                                                   [(p.id, p.__unicode__())
                                                    for p in OrigemFapesp.objects.filter(
                                                       item_outorga__natureza_gasto__termo=t).select_related(
                                                       'acordo', 'item_outorga', 'item_outorga__natureza_gasto',
                                                       'item_outorga__natureza_gasto__termo', ).order_by(
                                                       'acordo__descricao', 'item_outorga__natureza_gasto__modalidade')]
            self.fields['protocolo'].choices = [('', '---------')] + \
                                               [(p.id, p.__unicode__()) for p in Protocolo.objects.filter(termo=t)
                                                   .prefetch_related('itemprotocolo_set')
                                                   .select_related('tipo_documento').order_by('data_vencimento')]
        else:
            cache = get_request_cache()
            if cache.get('protocolo.Protocolo.all') is None:
                cache.set('protocolo.Protocolo.all', [('', '---------')] +
                          [(p.id, p.__unicode__()) for p in Protocolo.objects.all()
                          .prefetch_related('itemprotocolo_set')
                          .select_related('tipo_documento').order_by('data_vencimento')])
            self.fields['protocolo'].choices = cache.get('protocolo.Protocolo.all')

            cache = get_request_cache()
            if cache.get('outorga.OrigemFapesp.all') is None:
                cache.set('outorga.OrigemFapesp.all', [('', '---------')] +
                          [(p.id, p.__unicode__()) for p in OrigemFapesp.objects.all()
                          .select_related('acordo', 'item_outorga', 'item_outorga__natureza_gasto',
                                          'item_outorga__natureza_gasto__termo', )
                          .order_by('acordo__descricao', 'item_outorga__natureza_gasto__modalidade')])
            self.fields['origem_fapesp'].choices = cache.get('outorga.OrigemFapesp.all')

        if self.fields.has_key('membro'):
            self.fields['membro'].choices = [('', '---------')] + \
                                            [(p.id, p.__unicode__()) for p in Membro.objects.all().order_by('nome')]

        # mensagens de erro
        self.fields['protocolo'].error_messages['required'] = u'O campo PROTOCOLO é obrigatório'
        self.fields['valor_fapesp'].error_messages['required'] = u'O campo VALOR ORIGINÁRIO DA FAPESP é obrigatório'
        self.fields['valor_patrocinio'].error_messages['required'] = u'O campo VALOR ORIGINÁRIO' \
                                                                     u' DE PATROCÍNI é obrigatório'