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

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

Adicionada rotina de calculo de digito verificador.

File size: 2.9 KB
Linha 
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
13from zExceptions import NotFound
14
15from il.spdo.config import MessageFactory as _
16from il.spdo.interfaces import ITipoDocumento, IArea
17from il.spdo import db
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
28#TipoDocumentoAddFormView = layout.wrap_form(TipoDocumentoAddForm)
29
30class TipoDocumentoEditForm(form.EditForm):
31    grok.context(ISiteRoot)
32    grok.name('edit-tipo-documento')
33    grok.require('cmf.ManagePortal')
34
35    fields = field.Fields(ITipoDocumento)
36    label = _(u'Editar tipo de documento.')
37
38    def getContent(self):
39        pass   
40
41#TipoDocumentoEditFormView = layout.wrap_form(TipoDocumentoAddForm)
42
43class AreaAddForm(form.AddForm):
44    grok.context(ISiteRoot)
45    grok.name('add-area')
46    grok.require('zope2.View')
47
48    fields = field.Fields(IArea)
49    #fields['chefia'].widgetFactory = AutocompleteFieldWidget
50    label = _(u'Adcionar uma nova área.')
51
52    def createAndAdd(self, data):
53        area = db.Area()
54        area.nome = data['nome']
55        area.chefia_id = data['chefia_id']
56        session = Session()
57        session.add(area)
58        self._finishedAdd = True
59
60    def nextURL(self):
61        message = _(u'Área cadastrada com sucesso.')
62        status = IStatusMessage(self.request)
63        status.addStatusMessage(message, type='info')
64        return self.context.absolute_url()
65
66#AreaAddFormView = layout.wrap_form(AreaAddForm)
67
68class AreaEditForm(form.EditForm):
69    implements(IPublishTraverse)
70
71    grok.context(ISiteRoot)
72    grok.name('edit-area')
73    grok.require('cmf.ManagePortal')
74
75    fields = field.Fields(IArea)
76    label = _(u'Editar Área.')
77    ignoreContext = True
78    area_id = None
79
80    def publishTraverse(self, request, name):
81        if self.area_id is None:
82            self.area_id = int(name)
83            return self
84        else:
85            raise NotFound()
86 
87    def getContent(self):
88        import pdb; pdb.set_trace()
89        session = Session()
90        if self.area_id is not None:
91            area = session.query(db.Area).get(self.area_id)
92            if area is not None:
93                return area
94        return False
95
96    def applyChanges(self, data):
97        content = self.getContent()
98        if content:
99            for key, value in data.items():
100               setattr(content, key, value)
101            return True
102        return False
103           
104#AreaEditFormView = 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.