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

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

Import inicial.

File size: 2.8 KB
RevLinha 
[5327]1# -*- coding: utf-8 -*-
2from five import grok
3from zope.interface import implements
4from zope.publisher.interfaces import IPublishTraverse
5
6from plone.z3cform import layout
7from plone.directives import form
8from z3c.form import field
9
10from plone.formwidget.autocomplete import AutocompleteFieldWidget
11from Products.statusmessages.interfaces import IStatusMessage
12from Products.CMFCore.interfaces import ISiteRoot
13
14from il.spdo.config import MessageFactory as _
15from il.spdo.interfaces import ITipoDocumento, IArea
16from il.spdo import db
17from il.spdo.config import Session
18
19class TipoDocumentoAddForm(form.AddForm):
20    grok.context(ISiteRoot)
21    grok.name('add-tipo-documento')
22    grok.require('zope2.View')
23
24    fields = field.Fields(ITipoDocumento)
25    label = _(u'Adcionar tipo de documento.')
26
27TipoDocumentoAddFormView = layout.wrap_form(TipoDocumentoAddForm)
28
29class TipoDocumentoEditForm(form.EditForm):
30    grok.context(ISiteRoot)
31    grok.name('edit-tipo-documento')
32    grok.require('cmf.ManagePortal')
33
34    fields = field.Fields(ITipoDocumento)
35    label = _(u'Editar tipo de documento.')
36
37    def getContent(self):
38        pass   
39
40TipoDocumentoEditFormView = layout.wrap_form(TipoDocumentoAddForm)
41
42class AreaAddForm(form.AddForm):
43    grok.context(ISiteRoot)
44    grok.name('add-areas')
45    grok.require('zope2.View')
46
47    fields = field.Fields(IArea)
48    #fields['chefia'].widgetFactory = AutocompleteFieldWidget
49    label = _(u'Adcionar uma nova área.')
50
51    def createAndAdd(self, data):
52        area = db.Area()
53        area.nome = data['nome']
54        area.chefia_id = data['chefia_id']
55        session = Session()
56        session.add(area)
57        self._finishedAdd = True
58
59    def nextURL(self):
60        message = _(u'Área cadastrada com sucesso.')
61        status = IStatusMessage(self.request)
62        status.addStatusMessage(message, type='info')
63        return self.context.absolute_url()
64
65AreaAddFormView = layout.wrap_form(AreaAddForm)
66
67class AreaEditForm(form.EditForm):
68    implements(IPublishTraverse)
69
70    grok.context(ISiteRoot)
71    grok.name('edit-area')
72    grok.require('cmf.ManagePortal')
73
74    fields = field.Fields(IArea)
75    label = _(u'Editar Área.')
76    ignoreContext = True
77
78    #def update(self):
79       
80    def publishTraverse(self, request, name):
81        pass
82 
83    def getContent(self):
84        import pdb; pdb.set_trace()
85        area_id = self.request.get('area_id', None)
86        session = Session()
87        area = session.query(db.Area).get(area_id)
88        if area is None:
89            message = _(u'Área não encontrada.')
90            status = IStatusMessage(self.request)
91            status.addStatusMessage(message, type='info')
92            return self.request.response.redirect(self.context.absolute_url())
93        else:
94            return area
95           
96AreaEditFormView = layout.wrap_form(AreaEditForm)
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.