Conjunto de mudanças 5380 no repositório publico


Ignorar:
Timestamp:
15/10/2011 01:45:04 (8 anos atrás)
Autor:
fabianosantos
Mensagem:

Gravação dos logs na tramitação para cada área e remoção de código
para renderizar view inline.

Arquivo:
1 editado

Legenda:

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

    r5374 r5380  
    33from five import grok
    44
    5 from zope.component import getMultiAdapter
     5from zope.component import getMultiAdapter, getUtility
    66from plone.app.layout.navigation.interfaces import INavigationRoot
    77from Products.statusmessages.interfaces import IStatusMessage
     
    1010from il.spdo.config import MessageFactory as _
    1111from il.spdo.interfaces import IAddTramite
    12 from il.spdo.db import Tramite, Protocolo
     12from il.spdo.db import Tramite, Protocolo, LogModificacao, Permissao
    1313from il.spdo.config import Session
     14from il.spdo.api import ISPDOAPI
    1415
    1516class TramiteAddForm(base.AddForm):
     
    2425    description = _(u'Formulário de tramitação de um protocolo.')
    2526
    26     def show_protocolo(self):
    27         view = getMultiAdapter((self.context, self.request),
    28                                 name="viewlet-protocolo")
    29         return view()
    30 
    31     def getProtocolo(self):
    32         protocolo_id = self.rec_id()
    33         if protocolo_id:
    34             session = Session()
    35             protocolo = session.query(Protocolo).get(int(protocolo_id))
    36             return protocolo
    37        
    3827    def createAndAdd(self, data):
    39         #TODO:rever tratar protocolo não existente para um protocolo_id
    40         protocolo = getProtocolo()
    41         protocolo_id = protocolo.id if protocolo is not None else None
    42         if protocolo_id is None:
    43             return
     28        api = getUtility(ISPDOAPI)
     29        user = api.getUser()
     30        protocolo = api.getProtocolo()
    4431
    4532        session = Session()
     
    4835            tramite = Tramite(
    4936                    protocolo_id=protocolo.id,
    50                     data_disonibilizacao=datetime.datetime.now(),
     37                    area_id=area_id,
     38                    data_disponibilizacao=datetime.datetime.now(),
     39                    data_recebimento=None,
    5140                    acao=data['acao'],
    5241                    copia=copia,
     
    5443            session.add(tramite)
    5544            session.flush()
    56         #TODO: realizar log e tratar anexos
     45
     46            log = LogModificacao(
     47                usuario=user.email,
     48                protocolo_id=protocolo.id,
     49                tramite_id=tramite.id,
     50                detalhes=_(u'Protocolo tramitou para area: %s' % tramite.area.sigla),
     51            )
     52            session.add(log)
     53            api.addAnexos(protocolo.id, data['anexos'])
     54
    5755        return True
    5856
    5957    def nextURL(self):
     58        api = getUtility(ISPDOAPI)
    6059        url_base = self.context.absolute_url()
    61         self.redirect(url_base + '/@@show-protocolo?id=' + self.rec_id())
     60        self.redirect(url_base + '/@@show-protocolo?id=' + api.rec_id())
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.