Conjunto de Mudanças 5374 no publico para il.spdo/trunk/il/spdo/browser/views.py


Ignorar:
Timestamp:
14/10/2011 21:09:55 (8 anos atrás)
Autor:
fabianosantos
Mensagem:

Implementação inicial da visualização do protocolo e integração da
visualização com o formulário de adicionar tramite.

Arquivo:
1 editado

Legenda:

Não Modificado
Adicionado
Removido
  • il.spdo/trunk/il/spdo/browser/views.py

    r5370 r5374  
    33
    44from zope.component import getUtility
     5from zope.schema.interfaces import IVocabularyFactory
    56from plone.app.layout.navigation.interfaces import INavigationRoot
    67from Products.statusmessages.interfaces import IStatusMessage
     8from Products.Five.browser import BrowserView
    79
    8 from il.spdo.db import Area, Pessoa, Protocolo
     10from il.spdo.db import Area, Pessoa, Protocolo, Observacao
    911from il.spdo.config import Session
    1012from il.spdo.api import ISPDOAPI
    1113from il.spdo.config import MessageFactory as _
     14
     15class ProtocoloMacroView(BrowserView):
     16
     17    def __getitem__(self, key):
     18        return self.index.macros[key]
     19
    1220
    1321class AreaListView(grok.View):
     
    6674    grok.require('cmf.ManagePortal')
    6775
     76    def url_pessoa(self, id):
     77        return self.context.absolute_url() + '/show-pessoa?id=' + str(id)
     78
     79    @property
     80    def outros_url(self):
     81        return self.context.absolute_url() + '/show-outros-protocolo?id=' + str(self._protocolo.id)
     82
     83    @property
     84    def tipo_protocolo(self):
     85        tipo_proto_vocab_factory = getUtility(IVocabularyFactory, 'il.spdo.tipoprotocolo-vocab')
     86        tipo_proto_vocab = tipo_proto_vocab_factory(self.context)
     87        return tipo_proto_vocab.getTerm(self._protocolo.tipoprotocolo).title
     88
     89    @property
     90    def origem(self):
     91        return self._protocolo.pessoa_origem[0].pessoa.nome
     92
     93    @property
     94    def origem_url(self):
     95        return self.url_pessoa(self._protocolo.pessoa_origem[0].pessoa_id)
     96
     97    @property
     98    def destino(self):
     99        return self._protocolo.pessoa_destino[0].pessoa.nome
     100
     101    @property
     102    def destino_url(self):
     103        return self.url_pessoa(self._protocolo.pessoa_destino[0].pessoa_id)
     104
     105    @property
     106    def outros_origem(self):
     107        return len(self._protocolo.pessoa_origem) > 1
     108
     109    @property
     110    def outros_destino(self):
     111        return len(self._protocolo.pessoa_destino) > 1
     112
     113    def observacoes(self):
     114        session = Session()
     115        query = session.query(Observacao)
     116        query = query.filter(Observacao.protocolo_id==self._protocolo.id)
     117        items = query.order_by(Observacao.id).all()
     118        result = []
     119        for observacao in items:
     120            result.append({
     121                'texto':observacao.texto,
     122                'data':observacao.data,
     123                })
     124        return result
     125
     126    def anexos(self):
     127        pass
     128
     129    def tramitacao(self):
     130        pass
     131   
    68132    @property
    69133    def protocolo(self):
    70         return {'id': self._protocolo.id,
    71                 'numero': self._protocolo.numero
     134        tipo_proto_vocab_factory = getUtility(IVocabularyFactory, 'il.spdo.tipoprotocolo-vocab')
     135        tipo_proto_vocab = tipo_proto_vocab_factory(self.context)
     136        return {'id':self._protocolo.id,
     137                'numero':self._protocolo.numero,
     138                'data':self._protocolo.data,
     139                'situacao':self._protocolo.situacao.nome,
     140                'numero_documento':self._protocolo.numero_documento,
     141                'data_emissao':self._protocolo.data_emissao,
     142                'assunto':self._protocolo.assunto,
    72143            }
    73144
     
    79150            status.add(_(u'Protocolo não localizado'), 'warn')
    80151            return self.request.response.redirect(self.context.absolute_url())
     152
     153class ProtocoloViewlet(ProtocoloShowView):
     154    grok.name('viewlet-protocolo')
     155    grok.context(INavigationRoot)
     156    grok.require('cmf.ManagePortal')
Note: Veja TracChangeset para ajuda no uso do visualizador de conjunto de mudanças.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.