Conjunto de Mudanças 5370 no publico para il.spdo/trunk/il/spdo/browser/forms/protocolo.py


Ignorar:
Timestamp:
14/10/2011 13:33:18 (9 anos atrás)
Autor:
fabianosantos
Mensagem:

Novo módulo com global utility que define API geral do sistema.

Arquivo:
1 editado

Legenda:

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

    r5368 r5370  
    44
    55from five import grok
    6 from zope.component import getMultiAdapter
     6from zope.component import getUtility
    77
    88from plone.app.layout.navigation.interfaces import INavigationRoot
     
    1414from il.spdo import db
    1515from il.spdo.config import Session, PATH_ANEXOS
     16from il.spdo.api import ISPDOAPI
    1617
    1718class ProtocoloAddForm(base.AddForm):
     
    2728
    2829    def createAndAdd(self, data):
     30        api = getUtility(ISPDOAPI)
     31        user = api.getUser()
     32
    2933        protocolo = db.Protocolo(
    3034                data['tipoprotocolo'],
     
    3943        session.flush()
    4044        self.protocolo_id = protocolo.id
    41 
    42         portal_state = getMultiAdapter((self.context, self.request),
    43                                         name=u'plone_portal_state')
    44         user_id = portal_state.member().getId()
    45         user = session.query(db.Pessoa).filter_by(email=user_id).first()
    4645
    4746        observacao = None
     
    6463
    6564        log = db.LogModificacao(
    66                 usuario=user_id,
     65                usuario=user.email;
    6766                protocolo_id=protocolo.id,
    6867                tramite_id=tramite.id,
     
    7271        session.add(log)
    7372
    74         #inicializa a path dos anexos do protocolo
    75         path_protocolo = os.path.join(PATH_ANEXOS, str(protocolo.ano), str(protocolo.id))
    76         os.makedirs(path_protocolo, 0700)
    77 
     73        # salva os arquivos anexados ao protocolo se existirem
    7874        anexos = data['anexos'] if data['anexos'] is not None else []
    79         for arquivo in anexos:
    80             anexo = db.Anexo(
    81                     protocolo_id=protocolo.id,
    82                     tamanho=arquivo.getSize(),
    83                     arquivo=arquivo.filename,
    84                 )
    85            
    86             session.add(anexo)
    87             session.flush()
    88 
    89             log = db.LogModificacao(
    90                     usuario=user_id,
    91                     protocolo_id=protocolo.id,
    92                     anexo_id=anexo.id,
    93                     detalhes=_(u'Anexo criado: %s' % anexo.arquivo)
    94                 )
    95             session.add(log)
    96 
    97             path_anexo = os.path.join(path_protocolo, str(anexo.id))
    98             with open(path_anexo, 'w') as file_anexo:
    99                 file_anexo.write(arquivo.data)
     75        if anexos:
     76            api.addAnexos(protocolo.id, anexos)
    10077
    10178        pessoas_origem = data['origem']
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.