Conjunto de mudanças 5342 no repositório publico


Ignorar:
Timestamp:
10/10/2011 18:42:50 (8 anos atrás)
Autor:
fabianosantos
Mensagem:

Removendo traverser de AreaEditForm?.

Arquivo:
1 editado

Legenda:

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

    r5341 r5342  
    22from five import grok
    33from zope.interface import implements
    4 from zope.publisher.interfaces import IPublishTraverse
    54
    65from plone.z3cform import layout
     
    1615from il.spdo.interfaces import ITipoDocumento, IArea
    1716from il.spdo import db
    18 from il.spdo.content import AreaItem
    1917
    2018from il.spdo.config import Session
     
    4442    grok.require('zope2.View')
    4543
    46     fields = field.Fields(IArea)
     44    fields = field.Fields(IArea).select('nome','chefia_id')
    4745    label = _(u'Adcionar uma nova área.')
    4846
     
    6260
    6361class AreaEditForm(form.EditForm):
    64     implements(IPublishTraverse)
    6562
    6663    grok.context(ISiteRoot)
     
    7067    fields = field.Fields(IArea)
    7168    label = _(u'Editar Área.')
    72     area_id = None
    7369
    74     def publishTraverse(self, request, name):
    75         if self.area_id is None:
    76             self.area_id = int(name)
    77             return self
    78         else:
    79             raise NotFound()
    80  
    81     def getArea(self):
    82         if self.area_id is not None:
     70    def getArea(self, area_id):
     71        if area_id is not None:
    8372            session = Session()
    84             area = session.query(db.Area).get(self.area_id)
     73            area = session.query(db.Area).get(area_id)
    8574            if area is not None:
    8675                return area
     
    8877
    8978    def getContent(self):
    90         return self.getArea()
    91 
    92     def update(self):
    93         self.request.set('disable_border', True)
    94         area = self.getArea()
    95         if area is not None:
    96             super(AreaEditForm, self).update()
    97             return
    98 
    99         #redirect if area is None
    100         message = _(u'Área não localizada.')
    101         status = IStatusMessage(self.request)
    102         status.addStatusMessage(message, type='info')
    103         url = self.context.absolute_url()
    104         return self.request.response.redirect(url)
     79        area_id = self.request.get('id', None) or self.request.get('form.widgets.id', None)
     80        return self.getArea(area_id)
    10581
    10682    def applyChanges(self, data):
    107         content = self.getArea()
     83        content = self.getArea(data['id'])
    10884        if content:
    10985            for key, value in data.items():
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.