Conjunto de mudanças 5374 no repositório publico


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.

Localização:
il.spdo/trunk/il/spdo/browser
Arquivos:
4 adicionados
5 editados

Legenda:

Não Modificado
Adicionado
Removido
  • il.spdo/trunk/il/spdo/browser/configure.zcml

    r5367 r5374  
    1010       permission="cmf.SetOwnProperties"
    1111       layer="il.spdo.browser.interfaces.IThemeSpecific"
     12       />
     13
     14  <browser:page
     15       name="protocolo-macros"
     16       for="*"
     17       layer=".interfaces.IThemeSpecific"
     18       class=".views.ProtocoloMacroView"
     19       template="views_templates/protocolo-macros.pt"
     20       allowed_interface="zope.interface.common.mapping.IItemMapping"
     21       permission="zope.Public"
    1222       />
    1323
  • il.spdo/trunk/il/spdo/browser/forms/area.py

    r5351 r5374  
    2626        area.nome = data['nome']
    2727        area.chefia_id = data['chefia_id']
     28        area.sigla = data['sigla']
    2829        session = Session()
    2930        session.add(area)
  • il.spdo/trunk/il/spdo/browser/forms/tramite.py

    r5369 r5374  
    33from five import grok
    44
     5from zope.component import getMultiAdapter
    56from plone.app.layout.navigation.interfaces import INavigationRoot
    67from Products.statusmessages.interfaces import IStatusMessage
     
    2324    description = _(u'Formulário de tramitação de um protocolo.')
    2425
     26    def show_protocolo(self):
     27        view = getMultiAdapter((self.context, self.request),
     28                                name="viewlet-protocolo")
     29        return view()
     30
    2531    def getProtocolo(self):
    26         protocolo_id = self.request.get('protocolo_id', None)
     32        protocolo_id = self.rec_id()
    2733        if protocolo_id:
    2834            session = Session()
  • 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')
  • il.spdo/trunk/il/spdo/browser/views_templates/protocoloshowview.pt

    r5364 r5374  
    1 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
     1    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
    22      xmlns:tal="http://xml.zope.org/namespaces/tal"
    33      xmlns:metal="http://xml.zope.org/namespaces/metal"
     
    1010
    1111<metal:main fill-slot="main">
    12     <tal:main-macro metal:define-macro="main">
     12    <tal:main-macro metal:define-macro="main"
     13                    tal:define="protocolo view/protocolo">
    1314
    1415    <div tal:replace="structure provider:plone.abovecontenttitle" />
    1516
    16     <h1 class="documentFirstHeading">Detalhes do Protocolo</h1>
     17    <div metal:use-macro="context/@@protocolo-macros/protocolo" />
    1718
    18     <p class="documentDescription">Segue as informações do protocolo:</p>
    19 
    20     <div tal:replace="structure provider:plone.abovecontentbody" />
    21 
    22     <div tal:define="protocolo view/protocolo">
    23        <div>
    24        Numero: <span tal:replace="protocolo/numero" />
    25        </div>
    26     </div>
    27        
    2819    <div tal:replace="structure provider:plone.belowcontentbody" />
    2920
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.