source: publico/ILPortal/trunk/CasaLegislativa.py @ 655

Última Alteração nesse arquivo desde 655 foi 655, incluída por gabrielmedina, 15 anos atrás

modelo modificado. validadores de email funcionando

File size: 10.8 KB
Linha 
1# File: CasaLegislativa.py
2#
3# Copyright (c) 2005 by Interlegis
4# Generator: ArchGenXML Version 1.4.0-beta2 devel
5#            http://plone.org/products/archgenxml
6#
7# GNU General Public Licence (GPL)
8#
9# This program is free software; you can redistribute it and/or modify it under
10# the terms of the GNU General Public License as published by the Free Software
11# Foundation; either version 2 of the License, or (at your option) any later
12# version.
13# This program is distributed in the hope that it will be useful, but WITHOUT
14# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
16# details.
17# You should have received a copy of the GNU General Public License along with
18# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
19# Place, Suite 330, Boston, MA  02111-1307  USA
20#
21__author__  = '''STC Interlegis <admin-stc@interlegis.gov.br>'''
22__docformat__ = 'plaintext'
23
24from AccessControl import ClassSecurityInfo
25from Products.Archetypes.atapi import *
26
27
28
29
30from Products.Archetypes.SQLStorage import *
31# additional imports from tagged value 'import'
32from vocabularies import VOCAB_ESTADOS
33
34from Products.ILPortal.config import *
35##code-section module-header #fill in your manual code here
36from DateTime import DateTime
37##/code-section module-header
38
39schema=Schema((
40    StringField('title',
41        widget=StringWidget(
42            label='Nome da Casa',
43            description='Informe o nome da Casa Legislativa',
44            label_msgid='ILPortal_label_title',
45            description_msgid='ILPortal_help_title',
46            i18n_domain='ILPortal',
47        ),
48        required=1,
49        accessor='Title',
50        searchable=1
51    ),
52   
53    StringField('endereco',
54        widget=StringWidget(
55            label='Endereco',
56            description='Informe o Endereço da Casa Legislativa',
57            label_msgid='ILPortal_label_endereco',
58            description_msgid='ILPortal_help_endereco',
59            i18n_domain='ILPortal',
60        ),
61        required=0,
62        searchable=0
63    ),
64   
65    StringField('nom_bairro',
66        widget=StringWidget(
67            label='Bairro',
68            description='Informe o nome do Bairro da Casa Legislativa',
69            label_msgid='ILPortal_label_nom_bairro',
70            description_msgid='ILPortal_help_nom_bairro',
71            i18n_domain='ILPortal',
72        ),
73        required=0,
74        searchable=0
75    ),
76   
77    StringField('cidade',
78        widget=StringWidget(
79            label='Cidade',
80            description='Informe a cidade da Casa Legislativa',
81            label_msgid='ILPortal_label_cidade',
82            description_msgid='ILPortal_help_cidade',
83            i18n_domain='ILPortal',
84        ),
85        required=0,
86        searchable=0
87    ),
88   
89    StringField('num_cep',
90        widget=StringWidget(
91            label='CEP',
92            description='Informe o Código de Endereçamento Postal da Casa Legislativa',
93            label_msgid='ILPortal_label_num_cep',
94            description_msgid='ILPortal_help_num_cep',
95            i18n_domain='ILPortal',
96        )
97    ),
98   
99    StringField('sgl_uf',
100        widget=SelectionWidget(
101            label='UF',
102            description='Informe a Unidade Federativa da Casa Legislativa.',
103            format='select',
104            label_msgid='ILPortal_label_sgl_uf',
105            description_msgid='ILPortal_help_sgl_uf',
106            i18n_domain='ILPortal',
107        ),
108        enforceVocabulary=1,
109        vocabulary=VOCAB_ESTADOS
110    ),
111   
112    StringField('num_fax1',
113        widget=StringWidget(
114            label='Fax 1',
115            description='Informe um número de Fax',
116            label_msgid='ILPortal_label_num_fax1',
117            description_msgid='ILPortal_help_num_fax1',
118            i18n_domain='ILPortal',
119        )
120    ),
121   
122    StringField('num_fax2',
123        widget=StringWidget(
124            label='Fax 2',
125            description='Informe um numero de Fax',
126            label_msgid='ILPortal_label_num_fax2',
127            description_msgid='ILPortal_help_num_fax2',
128            i18n_domain='ILPortal',
129        )
130    ),
131   
132    StringField('pagina_web',
133        widget=StringWidget(
134            description='Informe a página web da Casa Legislativa (http://www...)',
135            label='Página Web',
136            label_msgid='ILPortal_label_pagina_web',
137            description_msgid='ILPortal_help_pagina_web',
138            i18n_domain='ILPortal',
139        )
140    ),
141   
142    StringField('end_email',
143        widget=StringWidget(
144            label='E-mail',
145            description='Informe o e-mail da Casa Legislativa',
146            label_msgid='ILPortal_label_end_email',
147            description_msgid='ILPortal_help_end_email',
148            i18n_domain='ILPortal',
149        ),
150        validators=('isEmail',)
151    ),
152   
153    StringField('sgl_casa',
154        widget=StringWidget(
155            label='Sigla da Casa',
156            description='Informe a sigla da Casa Legisltiva',
157            label_msgid='ILPortal_label_sgl_casa',
158            description_msgid='ILPortal_help_sgl_casa',
159            i18n_domain='ILPortal',
160        )
161    ),
162   
163    DateTimeField('dat_adesao',
164        widget=CalendarWidget(
165            label='Data de Adesão',
166            description='Informe a data de adesão da Casa Legislativa ao Programa Interlegis',
167            format='%d/%m/%Y',
168            date_only=1,
169            label_msgid='ILPortal_label_dat_adesao',
170            description_msgid='ILPortal_help_dat_adesao',
171            i18n_domain='ILPortal',
172        )
173    ),
174   
175    DateTimeField('dat_inicio_mandato',
176        widget=CalendarWidget(
177            label='Data Inicio do Mandato dos Parlamentares',
178            description='Informe a data de Início do Mandato dos Parlamentares da Casa Legislativa',
179            format='%d/%m/%Y',
180            date_only=1,
181            label_msgid='ILPortal_label_dat_inicio_mandato',
182            description_msgid='ILPortal_help_dat_inicio_mandato',
183            i18n_domain='ILPortal',
184        )
185    ),
186   
187    DateTimeField('data_fim_mandato',
188        widget=CalendarWidget(
189            label='Data Fim do Mandato dos Parlamentares',
190            description='Informe a data do fim do Mandato dos Parlamentares da Casa Legislativa',
191            format='%d/%m/%Y',
192            date_only=1,
193            label_msgid='ILPortal_label_data_fim_mandato',
194            description_msgid='ILPortal_help_data_fim_mandato',
195            i18n_domain='ILPortal',
196        )
197    ),
198   
199    DateTimeField('dat_inclusao',
200        default=DateTime(),
201        widget=CalendarWidget(
202            label='Data de Inclusão',
203            description='',
204            format='%d/%m/%Y',
205            date_only=1,
206            visible={'edit':'hidden','view':'visible'},
207            label_msgid='ILPortal_label_dat_inclusao',
208            description_msgid='ILPortal_help_dat_inclusao',
209            i18n_domain='ILPortal',
210        )
211    ),
212   
213    StringField('oper_atualizacao',
214        widget=StringWidget(
215            label='Operador da ultima atualização',
216            description='',
217            visible={'edit':'hidden','view':'visible'},
218            label_msgid='ILPortal_label_oper_atualizacao',
219            description_msgid='ILPortal_help_oper_atualizacao',
220            i18n_domain='ILPortal',
221        ),
222        default_method='getMember'
223    ),
224   
225    TextField('informacao_geral',
226        widget=TextAreaWidget
227        (
228            label='Informações Gerais',
229            description='Informe uma descrição geral da Casa Legislativa',
230            label_msgid='ILPortal_label_informacao_geral',
231            description_msgid='ILPortal_help_informacao_geral',
232            i18n_domain='ILPortal',
233        ),
234        default_output_type='text/html',
235        default_content_type='text/html'
236    ),
237   
238    TextField('historico_casa',
239        widget=TextAreaWidget
240        (
241            label='Histórico da Casa',
242            description='Infome um breve histórico da Casa Legislativa ',
243            label_msgid='ILPortal_label_historico_casa',
244            description_msgid='ILPortal_help_historico_casa',
245            i18n_domain='ILPortal',
246        ),
247        default_output_type='text/html',
248        default_content_type='text/html'
249    ),
250   
251    StringField('tipo_casa',
252        widget=StringWidget(
253            label="Tipo da Casa",
254            description="Selecione o tipo da casa",
255            format='select',
256            label_msgid='ILPortal_label_tipo_casa',
257            description_msgid='ILPortal_help_tipo_casa',
258            i18n_domain='ILPortal',
259        )
260    ),
261   
262    ImageField('foto',
263        allowable_content_types=('image/gif', 'image/jpeg', 'image/png'),
264        default_content_type='image/jpeg',
265        widget=ImageWidget
266        (
267            label='Foto',
268            description='Adicione uma foto da Casa Legislativa',
269            label_msgid='ILPortal_label_foto',
270            description_msgid='ILPortal_help_foto',
271            i18n_domain='ILPortal',
272        ),
273        storage=AttributeStorage(),
274        original_size=(160,120)
275    ),
276   
277),
278)
279
280
281##code-section after-schema #fill in your manual code here
282##/code-section after-schema
283
284class CasaLegislativa(BaseBTreeFolder):
285    """
286    Area especifica de uma Casa Legislativa
287    """
288    security = ClassSecurityInfo()
289    __implements__ = (getattr(BaseBTreeFolder,'__implements__',()),)
290
291
292    # This name appears in the 'add' box
293    archetype_name             = 'Casa Legislativa'
294
295    meta_type                  = 'CasaLegislativa'
296    portal_type                = 'CasaLegislativa'
297    allowed_content_types      = ['Telefone', 'Parlamentar', 'MesaDiretora']
298    filter_content_types       = 1
299    global_allow               = 1
300    allow_discussion           = 0
301    content_icon               = 'Casa_Legislativa.gif'
302    immediate_view             = 'folder_listing'
303    default_view               = 'folder_listing'
304    suppl_views                = ()
305    typeDescription            = "Casa Legislativa"
306    typeDescMsgId              = 'description_edit_casalegislativa'
307
308    schema = BaseFolderSchema + \
309             schema
310
311    ##code-section class-header #fill in your manual code here
312    ##/code-section class-header
313
314
315    #Methods
316    #manually created methods
317
318    security.declarePublic('getMember')
319    def getMember(self):
320        """
321        Retorna o membro que adicionou a Casa Legislativa
322        """
323        #portal = getToolByName(self, 'portal_url').getPortalObject()
324        #member = portal.portal_membership.getAuthenticatedMember()
325        return 'member'
326
327
328def modify_fti(fti):
329    # hide unnecessary tabs (usability enhancement)
330    for a in fti['actions']:
331        if a['id'] in ['references']:
332            a['visible'] = 0
333    return fti
334
335registerType(CasaLegislativa,PROJECTNAME)
336# end of class CasaLegislativa
337
338##code-section module-footer #fill in your manual code here
339##/code-section module-footer
340
341
342
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.