source: publico/il.spdo/trunk/il/spdo/browser/forms.py @ 5342

Última Alteração nesse arquivo desde 5342 foi 5342, incluída por fabianosantos, 8 anos atrás

Removendo traverser de AreaEditForm?.

File size: 2.5 KB
Linha 
1# -*- coding: utf-8 -*-
2from five import grok
3from zope.interface import implements
4
5from plone.z3cform import layout
6from plone.directives import form
7from z3c.form import field
8
9from plone.formwidget.autocomplete import AutocompleteFieldWidget
10from Products.statusmessages.interfaces import IStatusMessage
11from Products.CMFCore.interfaces import ISiteRoot
12from zExceptions import NotFound
13
14from il.spdo.config import MessageFactory as _
15from il.spdo.interfaces import ITipoDocumento, IArea
16from il.spdo import db
17
18from il.spdo.config import Session
19
20class TipoDocumentoAddForm(form.AddForm):
21    grok.context(ISiteRoot)
22    grok.name('add-tipo-documento')
23    grok.require('zope2.View')
24
25    fields = field.Fields(ITipoDocumento)
26    label = _(u'Adcionar tipo de documento.')
27
28class TipoDocumentoEditForm(form.EditForm):
29    grok.context(ISiteRoot)
30    grok.name('edit-tipo-documento')
31    grok.require('cmf.ManagePortal')
32
33    fields = field.Fields(ITipoDocumento)
34    label = _(u'Editar tipo de documento.')
35
36    def getContent(self):
37        pass   
38
39class AreaAddForm(form.AddForm):
40    grok.context(ISiteRoot)
41    grok.name('add-area')
42    grok.require('zope2.View')
43
44    fields = field.Fields(IArea).select('nome','chefia_id')
45    label = _(u'Adcionar uma nova área.')
46
47    def createAndAdd(self, data):
48        area = db.Area()
49        area.nome = data['nome']
50        area.chefia_id = data['chefia_id']
51        session = Session()
52        session.add(area)
53        self._finishedAdd = True
54
55    def nextURL(self):
56        message = _(u'Área cadastrada com sucesso.')
57        status = IStatusMessage(self.request)
58        status.addStatusMessage(message, type='info')
59        return self.context.absolute_url()
60
61class AreaEditForm(form.EditForm):
62
63    grok.context(ISiteRoot)
64    grok.name('edit-area')
65    grok.require('cmf.ManagePortal')
66
67    fields = field.Fields(IArea)
68    label = _(u'Editar Área.')
69
70    def getArea(self, area_id):
71        if area_id is not None:
72            session = Session()
73            area = session.query(db.Area).get(area_id)
74            if area is not None:
75                return area
76        return None
77
78    def getContent(self):
79        area_id = self.request.get('id', None) or self.request.get('form.widgets.id', None)
80        return self.getArea(area_id)
81
82    def applyChanges(self, data):
83        content = self.getArea(data['id'])
84        if content:
85            for key, value in data.items():
86               setattr(content, key, value)
87            return True
88        return False
Note: Veja TracBrowser para ajuda no uso do navegador do trac.
 

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