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

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

modelo,visoes,css e appinstall atualizados

File size: 14.1 KB
Linha 
1# File: CasaLegislativa.py
2#
3# Copyright (c) 2005 by Interlegis
4# Generator: ArchGenXML Version 1.4.0-RC1
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
24
25from AccessControl import ClassSecurityInfo
26from Products.Archetypes.atapi import *
27
28
29
30from Products.Archetypes.SQLStorage import *
31from Products.ILPortal.config import *
32##code-section module-header #fill in your manual code here
33from DateTime import DateTime
34##/code-section module-header
35
36schema=Schema((
37    StringField('title',
38        widget=StringWidget(
39            visible={'edit':'invisible','view':'invisible'},
40            label='Title',
41            label_msgid='ILPortal_label_title',
42            description_msgid='ILPortal_help_title',
43            i18n_domain='ILPortal',
44        ),
45        required=0,
46        accessor="Title",
47        searchable="1"
48    ),
49
50    StringField('nom_casa',
51        widget=StringWidget(
52            label='Nome da Casa',
53            description='Informe o nome da Casa Legislativa',
54            label_msgid='ILPortal_label_nom_casa',
55            description_msgid='ILPortal_help_nom_casa',
56            i18n_domain='ILPortal',
57        ),
58        required=1,
59        storage=PostgreSQLStorage(),
60        searchable="1"
61    ),
62
63    StringField('endereco',
64        widget=StringWidget(
65            label='Endereço',
66            description='Informe o Endereço da Casa Legislativa',
67            label_msgid='ILPortal_label_endereco',
68            description_msgid='ILPortal_help_endereco',
69            i18n_domain='ILPortal',
70        ),
71        required=0,
72        storage=PostgreSQLStorage(),
73        searchable="0"
74    ),
75
76    StringField('nom_bairro',
77        widget=StringWidget(
78            label='Bairro',
79            description='Informe o nome do Bairro da Casa Legislativa',
80            label_msgid='ILPortal_label_nom_bairro',
81            description_msgid='ILPortal_help_nom_bairro',
82            i18n_domain='ILPortal',
83        ),
84        required=0,
85        storage=PostgreSQLStorage(),
86        searchable="0"
87    ),
88
89    StringField('cidade',
90        widget=StringWidget(
91            label='Cidade',
92            description='Informe a cidade da Casa Legislativa',
93            label_msgid='ILPortal_label_cidade',
94            description_msgid='ILPortal_help_cidade',
95            i18n_domain='ILPortal',
96        ),
97        required=0,
98        storage=PostgreSQLStorage(),
99        searchable="0"
100    ),
101
102    StringField('num_cep',
103        widget=StringWidget(
104            label='CEP',
105            description='Informe o Código de Endereçamento Postal da Casa Legislativa',
106            label_msgid='ILPortal_label_num_cep',
107            description_msgid='ILPortal_help_num_cep',
108            i18n_domain='ILPortal',
109        ),
110        storage=PostgreSQLStorage(),
111        searchable="0",
112        validators=('ehCEP',)
113    ),
114
115    StringField('estado',
116        widget=SelectionWidget(
117            label='UF',
118            description='Informe a Unidade Federativa da Casa Legislativa.',
119            format='select',
120            label_msgid='ILPortal_label_estado',
121            description_msgid='ILPortal_help_estado',
122            i18n_domain='ILPortal',
123        ),
124        enforceVocabulary=1,
125        storage=PostgreSQLStorage(),
126        vocabulary='getVocab',
127        searchable="0"
128    ),
129
130    StringField('num_fax1',
131        widget=StringWidget(
132            label='Fax 1',
133            description='Informe um número de Fax',
134            label_msgid='ILPortal_label_num_fax1',
135            description_msgid='ILPortal_help_num_fax1',
136            i18n_domain='ILPortal',
137        ),
138        storage=PostgreSQLStorage(),
139        searchable="0"
140    ),
141
142    StringField('num_fax2',
143        widget=StringWidget(
144            label='Fax 2',
145            description='Informe um numero de Fax',
146            label_msgid='ILPortal_label_num_fax2',
147            description_msgid='ILPortal_help_num_fax2',
148            i18n_domain='ILPortal',
149        ),
150        storage=PostgreSQLStorage(),
151        searchable="0"
152    ),
153
154    StringField('pagina_web',
155        widget=StringWidget(
156            description='Informe a página web da Casa Legislativa (http://www...)',
157            label='Página Web',
158            label_msgid='ILPortal_label_pagina_web',
159            description_msgid='ILPortal_help_pagina_web',
160            i18n_domain='ILPortal',
161        ),
162        storage=PostgreSQLStorage(),
163        searchable="0",
164        validators=('isURL',)
165    ),
166
167    StringField('end_email',
168        widget=StringWidget(
169            label='E-mail',
170            description='Informe o e-mail da Casa Legislativa',
171            label_msgid='ILPortal_label_end_email',
172            description_msgid='ILPortal_help_end_email',
173            i18n_domain='ILPortal',
174        ),
175        storage=PostgreSQLStorage(),
176        searchable="0",
177        validators=('isEmail',)
178    ),
179
180    StringField('tip_casa_interlegis',
181        widget=SelectionWidget(
182            label="Tipo da Casa",
183            description="Selecione o tipo da casa",
184            format='select',
185            label_msgid='ILPortal_label_tip_casa_interlegis',
186            description_msgid='ILPortal_help_tip_casa_interlegis',
187            i18n_domain='ILPortal',
188        ),
189        storage=PostgreSQLStorage(),
190        vocabulary='getVocab',
191        searchable="0"
192    ),
193
194    StringField('sgl_casa',
195        widget=StringWidget(
196            label='Sigla da Casa',
197            description='Informe a sigla da Casa Legisltiva',
198            label_msgid='ILPortal_label_sgl_casa',
199            description_msgid='ILPortal_help_sgl_casa',
200            i18n_domain='ILPortal',
201        ),
202        storage=PostgreSQLStorage(),
203        searchable="0"
204    ),
205
206    DateTimeField('dat_adesao',
207        widget=CalendarWidget(
208            label='Data de Adesão',
209            description='Informe a data de adesão da Casa Legislativa ao Programa Interlegis',
210            format='%d/%m/%Y',
211            date_only=1,
212            label_msgid='ILPortal_label_dat_adesao',
213            description_msgid='ILPortal_help_dat_adesao',
214            i18n_domain='ILPortal',
215        ),
216        storage=PostgreSQLStorage(),
217        searchable="0"
218    ),
219
220    DateTimeField('dat_inicio_mandato',
221        widget=CalendarWidget(
222            label='Data Inicio do Mandato dos Parlamentares',
223            description='Informe a data de Início do Mandato dos Parlamentares da Casa Legislativa',
224            format='%d/%m/%Y',
225            date_only=1,
226            label_msgid='ILPortal_label_dat_inicio_mandato',
227            description_msgid='ILPortal_help_dat_inicio_mandato',
228            i18n_domain='ILPortal',
229        ),
230        storage=PostgreSQLStorage(),
231        searchable="0"
232    ),
233
234    DateTimeField('data_fim_mandato',
235        widget=CalendarWidget(
236            label='Data Fim do Mandato dos Parlamentares',
237            description='Informe a data do fim do Mandato dos Parlamentares da Casa Legislativa',
238            format='%d/%m/%Y',
239            date_only=1,
240            label_msgid='ILPortal_label_data_fim_mandato',
241            description_msgid='ILPortal_help_data_fim_mandato',
242            i18n_domain='ILPortal',
243        ),
244        storage=PostgreSQLStorage(),
245        searchable="0"
246    ),
247
248    DateTimeField('dat_inclusao',
249        widget=CalendarWidget(
250            label='Data de Inclusão',
251            description='Data de inclusão no programa Interlegis',
252            format='%d/%m/%Y',
253            date_only=1,
254            visible={'edit':'hidden','view':'visible'},
255            label_msgid='ILPortal_label_dat_inclusao',
256            description_msgid='ILPortal_help_dat_inclusao',
257            i18n_domain='ILPortal',
258        ),
259        storage=PostgreSQLStorage(),
260        searchable="0"
261    ),
262
263    StringField('oper_inclusao',
264        widget=StringWidget(
265            label="Operador de Inclusão",
266            visible={'view':'visible','edit':'hidden'},
267            label_msgid='ILPortal_label_oper_inclusao',
268            description_msgid='ILPortal_help_oper_inclusao',
269            i18n_domain='ILPortal',
270        ),
271        storage=PostgreSQLStorage(),
272        searchable="0"
273    ),
274
275    DateTimeField('dat_atualizacao',
276        widget=CalendarWidget(
277            label="Data da última atualização",
278            format='%d/%m/%Y',
279            date_only=1,
280            visible={'edit':'hidden','view':'visible'},
281            label_msgid='ILPortal_label_dat_atualizacao',
282            description_msgid='ILPortal_help_dat_atualizacao',
283            i18n_domain='ILPortal',
284        ),
285        storage=PostgreSQLStorage(),
286        searchable="0"
287    ),
288
289    StringField('oper_atualizacao',
290        widget=StringWidget(
291            label='Operador da última atualização',
292            visible={'edit':'hidden','view':'visible'},
293            label_msgid='ILPortal_label_oper_atualizacao',
294            description_msgid='ILPortal_help_oper_atualizacao',
295            i18n_domain='ILPortal',
296        ),
297        storage=PostgreSQLStorage(),
298        searchable="0"
299    ),
300
301    TextField('informacao_geral',
302        default_content_type='text/html',
303        widget=TextAreaWidget
304        (
305            label='Informações Gerais',
306            description='Informe uma descrição geral da Casa Legislativa',
307            label_msgid='ILPortal_label_informacao_geral',
308            description_msgid='ILPortal_help_informacao_geral',
309            i18n_domain='ILPortal',
310        ),
311        default_output_type='text/html',
312        storage=PostgreSQLStorage(),
313        searchable="1"
314    ),
315
316    TextField('historico_casa',
317        default_content_type='text/html',
318        widget=TextAreaWidget
319        (
320            label='Histórico da Casa',
321            description='Infome um breve histórico da Casa Legislativa ',
322            label_msgid='ILPortal_label_historico_casa',
323            description_msgid='ILPortal_help_historico_casa',
324            i18n_domain='ILPortal',
325        ),
326        default_output_type='text/html',
327        storage=PostgreSQLStorage(),
328        searchable="1"
329    ),
330
331    ImageField('foto',
332        allowable_content_types=('image/gif', 'image/jpeg', 'image/png'),
333        default_content_type='image/jpeg',
334        widget=ImageWidget
335        (
336            label='Foto',
337            description='Adicione uma foto da Casa Legislativa',
338            label_msgid='ILPortal_label_foto',
339            description_msgid='ILPortal_help_foto',
340            i18n_domain='ILPortal',
341        ),
342        storage=AttributeStorage(),
343        original_size=(160,120)
344    ),
345
346),
347)
348
349
350##code-section after-local-schema #fill in your manual code here
351##/code-section after-local-schema
352
353CasaLegislativa_schema = BaseFolderSchema + \
354    schema
355
356##code-section after-schema #fill in your manual code here
357##/code-section after-schema
358
359class CasaLegislativa(BaseBTreeFolder,DynamicVocabulary):
360    """
361    Area especifica de uma Casa Legislativa
362    """
363    security = ClassSecurityInfo()
364    __implements__ = (getattr(BaseBTreeFolder,'__implements__',()),) + (getattr(DynamicVocabulary,'__implements__',()),)
365
366
367    # This name appears in the 'add' box
368    archetype_name             = 'Casa Legislativa'
369
370    meta_type                  = 'CasaLegislativa'
371    portal_type                = 'CasaLegislativa'
372    allowed_content_types      = ['Telefone', 'Parlamentar', 'MesaDiretora']
373    filter_content_types       = 1
374    global_allow               = 1
375    allow_discussion           = 0
376    content_icon               = 'Casa_Legislativa.gif'
377    immediate_view             = 'folder_listing'
378    default_view               = 'folder_listing'
379    suppl_views                = ()
380    typeDescription            = "Casa Legislativa"
381    typeDescMsgId              = 'description_edit_casalegislativa'
382
383    schema = CasaLegislativa_schema
384
385    ##code-section class-header #fill in your manual code here
386    ##/code-section class-header
387
388
389    #Methods
390
391    security.declareProtected("View", 'setNom_casa')
392    def setNom_casa(self,valor):
393        """ seta o nome da casa e o titulo do objeto"""
394        self.getField('nom_casa').set(self, valor)
395        self.getField('title').set(self, self.getNom_casa())
396        self.reindexObject()
397
398
399
400    security.declarePublic('setOper_inclusao')
401    def setOper_inclusao(self,valor):
402        """seta o usuario que incluiu o objeto"""
403       
404        self.getField('oper_inclusao').set(self,self.Creator())
405        self.reindexObject()
406
407
408
409    security.declarePublic('setOper_atualizacao')
410    def setOper_atualizacao(self,valor):
411        """ seta o usuario que realizou a ultima alteracao """
412
413        portal = getToolByName(self, 'portal_url').getPortalObject()
414        member = str(portal.portal_membership.getAuthenticatedMember())
415
416        self.getField('oper_atualizacao').set(self,member)
417        self.reindexObject()
418
419
420
421    security.declarePublic('setDat_inclusao')
422    def setDat_inclusao(self,valor):
423        """seta a data de inclusao do objeto"""
424
425        self.getField('dat_inclusao').set(self,self.CreationDate())
426        self.reindexObject()
427
428
429
430    security.declarePublic('setDat_atualizacao')
431    def setDat_atualizacao(self,valor):
432        """ seta a data de atualizacao do objeto """
433
434        self.getField('dat_atualizacao').set(self,self.ModificationDate())
435        self.reindexObject()
436
437
438def modify_fti(fti):
439    # hide unnecessary tabs (usability enhancement)
440    for a in fti['actions']:
441        if a['id'] in ['references']:
442            a['visible'] = 0
443    return fti
444
445registerType(CasaLegislativa,PROJECTNAME)
446# end of class CasaLegislativa
447
448##code-section module-footer #fill in your manual code here
449##/code-section module-footer
450
451
452
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.