source: publico/ILSAALOrcamento/trunk/ClassificacaoOrcamentaria.py @ 1031

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

ClassificacaoOrcamentaria? alterada, resolucao do ticket #140

File size: 8.7 KB
Linha 
1# File: ClassificacaoOrcamentaria.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 <stc@interlegis.gov.br>'''
22__docformat__ = 'plaintext'
23
24
25from AccessControl import ClassSecurityInfo
26from Products.Archetypes.atapi import *
27from Products.ILSAALOrcamento.interfaces.IClassificacaoOrcamentaria import IClassificacaoOrcamentaria
28
29from Products.ATVocabularyManager.namedvocabulary import NamedVocabulary
30
31from Products.Archetypes.SQLStorage import *
32# additional imports from tagged value 'import'
33from Products.ILSAAL.saalapi import *
34from Products.CMFCore.utils import getToolByName
35
36from Products.ILSAALOrcamento.config import *
37##code-section module-header #fill in your manual code here
38##/code-section module-header
39
40schema=Schema((
41    StringField('nome_casa',
42        widget=StringWidget(
43            label="Nome da Casa Legislativa",
44            visible={'edit':'hidden','view':'visible'},
45            label_msgid='ILSAALOrcamento_label_nome_casa',
46            description_msgid='ILSAALOrcamento_help_nome_casa',
47            i18n_domain='ILSAALOrcamento',
48        ),
49        default_method="getNomeCasa"
50    ),
51
52    StringField('cod_funcao',
53        widget=SelectionWidget(
54            label="Codigo da Funcao",
55            description="Informe o codigo da funcao.",
56            format="select",
57            label_msgid='ILSAALOrcamento_label_cod_funcao',
58            description_msgid='ILSAALOrcamento_help_cod_funcao',
59            i18n_domain='ILSAALOrcamento',
60        ),
61        required=1,
62        vocabulary=NamedVocabulary("""funcao"""),
63        enforceVocabulary=1
64    ),
65
66    StringField('cod_subfuncao',
67        widget=SelectionWidget(
68            label="Codigo da Subfuncao",
69            description="Informe o codigo da funcao.",
70            format="select",
71            label_msgid='ILSAALOrcamento_label_cod_subfuncao',
72            description_msgid='ILSAALOrcamento_help_cod_subfuncao',
73            i18n_domain='ILSAALOrcamento',
74        ),
75        required=1,
76        vocabulary=NamedVocabulary("""subfuncao"""),
77        enforceVocabulary=1
78    ),
79
80    StringField('cod_nivel',
81        widget=StringWidget(
82            label="Codigo do Nivel",
83            description="Informe o codigo do nivel.",
84            label_msgid='ILSAALOrcamento_label_cod_nivel',
85            description_msgid='ILSAALOrcamento_help_cod_nivel',
86            i18n_domain='ILSAALOrcamento',
87        ),
88        required=1
89    ),
90
91    StringField('cod_lancamento',
92        widget=StringWidget(
93            label="Codigo do Lancamento",
94            description="Informe o codigo do lancamento.",
95            label_msgid='ILSAALOrcamento_label_cod_lancamento',
96            description_msgid='ILSAALOrcamento_help_cod_lancamento',
97            i18n_domain='ILSAALOrcamento',
98        ),
99        required=1
100    ),
101
102    TextField('des_classificacao',
103        widget=TextAreaWidget(
104            description="Informe a descricao da classificacao orcamentaria.",
105            label="Descricao da Classificacao Orcamentaria",
106            label_msgid='ILSAALOrcamento_label_des_classificacao',
107            description_msgid='ILSAALOrcamento_help_des_classificacao',
108            i18n_domain='ILSAALOrcamento',
109        ),
110        required=1
111    ),
112
113    StringField('cod_programa',
114        widget=SelectionWidget(
115            label="Codigo do Programa",
116            description="Informe o codigo do programa.",
117            format="select",
118            label_msgid='ILSAALOrcamento_label_cod_programa',
119            description_msgid='ILSAALOrcamento_help_cod_programa',
120            i18n_domain='ILSAALOrcamento',
121        ),
122        required=1,
123        vocabulary=NamedVocabulary("""programa"""),
124        enforceVocabulary=1
125    ),
126
127    StringField('cod_projeto_atividade',
128        widget=SelectionWidget(
129            label="Atividade",
130            description="Informe o codigo da atividade.",
131            format="select",
132            label_msgid='ILSAALOrcamento_label_cod_projeto_atividade',
133            description_msgid='ILSAALOrcamento_help_cod_projeto_atividade',
134            i18n_domain='ILSAALOrcamento',
135        ),
136        required=1,
137        vocabulary=NamedVocabulary("""projeto_atividade"""),
138        enforceVocabulary=1
139    ),
140
141
142    ReferenceField('cod_unidade_orcamentaria',
143        widget=ReferenceWidget(
144            label='Cod_unidade_orcamentaria',
145            label_msgid='ILSAALOrcamento_label_cod_unidade_orcamentaria',
146            description_msgid='ILSAALOrcamento_help_cod_unidade_orcamentaria',
147            i18n_domain='ILSAALOrcamento',
148        ),
149        allowed_types=('UnidadeOrcamentaria',),
150        multiValued=0,
151        relationship='ClassificacaoOrcamentaria_UnidadeOrcamentaria'
152    ),
153
154
155    ReferenceField('cod_natureza_orcamento',
156        widget=ReferenceWidget(
157            label='Cod_natureza_orcamento',
158            label_msgid='ILSAALOrcamento_label_cod_natureza_orcamento',
159            description_msgid='ILSAALOrcamento_help_cod_natureza_orcamento',
160            i18n_domain='ILSAALOrcamento',
161        ),
162        allowed_types=('NaturezaReceita', 'NaturezaDespesa'),
163        multiValued=0,
164        relationship='ClassificacaoOrcamentaria_NaturezaOrcamento'
165    ),
166
167),
168)
169
170
171##code-section after-local-schema #fill in your manual code here
172##/code-section after-local-schema
173
174ClassificacaoOrcamentaria_schema = BaseFolderSchema + \
175    schema
176
177##code-section after-schema #fill in your manual code here
178##/code-section after-schema
179
180class ClassificacaoOrcamentaria(BaseFolder):
181    """
182    Interface da classe ClassificacaoOrcamentaria
183    """
184    security = ClassSecurityInfo()
185    __implements__ = (getattr(BaseFolder,'__implements__',()),) + (IClassificacaoOrcamentaria,)
186
187
188    # This name appears in the 'add' box
189    archetype_name             = 'ClassificacaoOrcamentaria'
190
191    meta_type                  = 'ClassificacaoOrcamentaria'
192    portal_type                = 'ClassificacaoOrcamentaria'
193    allowed_content_types      = ['OrcamentoReal', 'OrcamentoSimulado']
194    filter_content_types       = 1
195    global_allow               = 0
196    allow_discussion           = 0
197    #content_icon               = 'ClassificacaoOrcamentaria.gif'
198    immediate_view             = 'base_view'
199    default_view               = 'base_view'
200    suppl_views                = ()
201    typeDescription            = "ClassificacaoOrcamentaria"
202    typeDescMsgId              = 'description_edit_classificacaoorcamentaria'
203
204    schema = ClassificacaoOrcamentaria_schema
205
206    ##code-section class-header #fill in your manual code here
207    ##/code-section class-header
208
209
210    #Methods
211
212    security.declarePublic('getCodClassificacao')
213    def getCodClassificacao(self):
214        """
215        Gera o Codigo dessa Classificacao Orcamentaria com base nos
216        atributos que correspondem aos codigos.
217        """
218       
219        return self.getCod_orgao() + ':' + self.getCod_funcao() + ':' + self.getCod_subfuncao() \
220               + ':' + self.getCod_nivel() + ':'  + self.getCod_lancamento() \
221               + ':' + self.getCod_programa() + ':' + self.getCod_projeto_atividade()
222
223
224    security.declarePublic('getNomeCasa')
225    def getNomeCasa(self):
226        """
227        Pega o nome da casa Legislativa       
228        """
229        portal = getToolByName(self, 'portal_url').getPortalObject()
230
231        return getToolByName(portal,'portal_saal').getNom_casa()
232
233
234    #methods from Interface IClassificacaoOrcamentaria
235
236    security.declarePrivate('_titulo')
237    def _titulo(self):
238        """
239        Configuracao do titulo que esse objeto deseja disponibilizar.
240        """
241       
242        return self.getCodClassificacao() + ':' + self.getDes_classificacao()
243
244
245    #manually created methods
246
247    def gerarListaNaturezas(self):
248        """
249        Gera a lista que servira como dicionario para o parametro do
250        Selection cod_natureza_orcamento
251        """
252       
253        return ('NaturezaDespesa',)
254
255
256
257registerType(ClassificacaoOrcamentaria,PROJECTNAME)
258# end of class ClassificacaoOrcamentaria
259
260##code-section module-footer #fill in your manual code here
261##/code-section module-footer
262
263
264
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.