Conjunto de mudanças 997 no repositório publico


Ignorar:
Timestamp:
19/10/2005 17:13:57 (14 anos atrás)
Autor:
paulovieira
Mensagem:

alterações nas classes Parlamentar e Casa Legislativa

Localização:
ILPortal/trunk
Arquivos:
4 adicionados
14 editados

Legenda:

Não Modificado
Adicionado
Removido
  • ILPortal/trunk/AppConfig.py

    r975 r997  
    22from Globals import InitializeClass
    33from AccessControl import ClassSecurityInfo
     4from Products.CMFCore.CMFCorePermissions import ManagePortal
    45
    56class DynamicVocabulary:
     
    1314        name = getattr(field, 'getName', None) and field.getName() or field
    1415        items = self.portal_properties.ilportal_properties.getProperty(name)
    15         print items
    1616        results = []
    1717        for item in items:
     
    2626
    2727
     28PROJECTNAME = 'ILPortal'
     29CONFIGLET_ID = 'configuracao_portal'
    2830
    29 ### Vocabularios estaticos ###
    30 
    31 VOCAB_ESTADOS = DisplayList((
    32     ('', u''),
    33     ('AC', u'Acre'),
    34     ('AL', u'Alagoas'),
    35     ('AP', u'Amapá'),
    36     ('AM', u'Amazonas'),
    37     ('BA', u'Bahia'),
    38     ('CE', u'Ceará'),
    39     ('DF', u'Distrito Federal'),
    40     ('ES', u'Espírito Santo'),
    41     ('GO', u'Goiás'),
    42     ('MA', u'Maranhão'),
    43     ('MT', u'Mato Grosso'),
    44     ('MS', u'Mato Grosso do Sul'),
    45     ('MG', u'Minas Gerais'),
    46     ('PA', u'Pará'),
    47     ('PB', u'Paraíba'),
    48     ('PR', u'Paraná'),
    49     ('PE', u'Pernambuco'),
    50     ('PI', u'Piauí'),
    51     ('RJ', u'Rio de Janeiro'),
    52     ('RN', u'Rio Grande do Norte'),
    53     ('RS', u'Rio Grande do Sul'),
    54     ('RO', u'Rondônia'),
    55     ('RR', u'Roraima'),
    56     ('SC', u'Santa Catarina'),
    57     ('SP', u'São Paulo'),
    58     ('SE', u'Sergipe'),
    59     ('TO', u'Tocantins'),
    60 ))
     31# Configlet to manage organisation
     32prefs_portal_configlet = {
     33    'id': CONFIGLET_ID,
     34    'appId': PROJECTNAME,
     35    'name': 'Configuração do Portal Interlegis',
     36    'action': 'string:$portal_url/prefs_portal',
     37    'category': 'Products',
     38    'permission': (ManagePortal, ),
     39    'imageUrl': 'favicon.ico',
     40    }
  • ILPortal/trunk/CasaLegislativa.py

    r847 r997  
    2929
    3030from Products.Archetypes.SQLStorage import *
    31 # additional imports from tagged value 'import'
    32 from vocabularies import VOCAB_ESTADOS
    33 
    3431from Products.ILPortal.config import *
    3532##code-section module-header #fill in your manual code here
     
    4037    StringField('title',
    4138        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    ),
     48   
     49    StringField('nom_casa',
     50        widget=StringWidget(
    4251            label='Nome da Casa',
    4352            description='Informe o nome da Casa Legislativa',
    44             label_msgid='ILPortal_label_title',
    45             description_msgid='ILPortal_help_title',
     53            label_msgid='ILPortal_label_nom_casa',
     54            description_msgid='ILPortal_help_nom_casa',
    4655            i18n_domain='ILPortal',
    4756        ),
    4857        required=1,
    49         accessor="Title",
    50         searchable=1
     58        storage=PostgreSQLStorage(),
     59        searchable="1"
    5160    ),
    5261   
    5362    StringField('endereco',
    5463        widget=StringWidget(
    55             label='Endereco',
     64            label='Endereço',
    5665            description='Informe o Endereço da Casa Legislativa',
    5766            label_msgid='ILPortal_label_endereco',
     
    6170        required=0,
    6271        storage=PostgreSQLStorage(),
    63         searchable=0
     72        searchable="0"
    6473    ),
    6574   
     
    7483        required=0,
    7584        storage=PostgreSQLStorage(),
    76         searchable=0
     85        searchable="0"
    7786    ),
    7887   
     
    8796        required=0,
    8897        storage=PostgreSQLStorage(),
    89         searchable=0
     98        searchable="0"
    9099    ),
    91100   
     
    102111    ),
    103112   
    104     StringField('sgl_uf',
     113    StringField('estado',
    105114        widget=SelectionWidget(
    106115            label='UF',
    107116            description='Informe a Unidade Federativa da Casa Legislativa.',
    108117            format='select',
    109             label_msgid='ILPortal_label_sgl_uf',
    110             description_msgid='ILPortal_help_sgl_uf',
     118            label_msgid='ILPortal_label_estado',
     119            description_msgid='ILPortal_help_estado',
    111120            i18n_domain='ILPortal',
    112121        ),
    113122        enforceVocabulary=1,
    114123        storage=PostgreSQLStorage(),
    115         vocabulary=VOCAB_ESTADOS
     124        vocabulary='getVocab'
    116125    ),
    117126   
     
    160169        storage=PostgreSQLStorage(),
    161170        validators=('isEmail',)
     171    ),
     172   
     173    StringField('tip_casa_interlegis',
     174        widget=SelectionWidget(
     175            label="Tipo da Casa",
     176            description="Selecione o tipo da casa",
     177            format='select',
     178            label_msgid='ILPortal_label_tip_casa_interlegis',
     179            description_msgid='ILPortal_help_tip_casa_interlegis',
     180            i18n_domain='ILPortal',
     181        ),
     182        storage=PostgreSQLStorage(),
     183        vocabulary='getVocab'
    162184    ),
    163185   
     
    213235   
    214236    DateTimeField('dat_inclusao',
    215         default=DateTime(),
    216237        widget=CalendarWidget(
    217238            label='Data de Inclusão',
    218             description='',
     239            description='Data de inclusão no programa Interlegis',
    219240            format='%d/%m/%Y',
    220241            date_only=1,
     
    227248    ),
    228249   
     250    StringField('oper_inclusao',
     251        widget=StringWidget(
     252            label="Operador de Inclusão",
     253            visible={'view':'visible','edit':'hidden'},
     254            label_msgid='ILPortal_label_oper_inclusao',
     255            description_msgid='ILPortal_help_oper_inclusao',
     256            i18n_domain='ILPortal',
     257        ),
     258        storage=PostgreSQLStorage()
     259    ),
     260   
     261    DateTimeField('dat_atualizacao',
     262        widget=CalendarWidget(
     263            label="Data da última atualização",
     264            format='%d/%m/%Y',
     265            date_only=1,
     266            visible={'edit':'hidden','view':'visible'},
     267            label_msgid='ILPortal_label_dat_atualizacao',
     268            description_msgid='ILPortal_help_dat_atualizacao',
     269            i18n_domain='ILPortal',
     270        ),
     271        storage=PostgreSQLStorage()
     272    ),
     273   
    229274    StringField('oper_atualizacao',
    230275        widget=StringWidget(
    231             label='Operador da ultima atualização',
    232             description='',
     276            label='Operador da última atualização',
    233277            visible={'edit':'hidden','view':'visible'},
    234278            label_msgid='ILPortal_label_oper_atualizacao',
     
    236280            i18n_domain='ILPortal',
    237281        ),
    238         storage=PostgreSQLStorage(),
    239         default_method='getMember'
     282        storage=PostgreSQLStorage()
    240283    ),
    241284   
     
    265308        ),
    266309        default_output_type='text/html',
    267         storage=PostgreSQLStorage()
    268     ),
    269    
    270     StringField('tipo_casa',
    271         widget=StringWidget(
    272             label="Tipo da Casa",
    273             description="Selecione o tipo da casa",
    274             format='select',
    275             label_msgid='ILPortal_label_tipo_casa',
    276             description_msgid='ILPortal_help_tipo_casa',
    277             i18n_domain='ILPortal',
    278         ),
    279310        storage=PostgreSQLStorage()
    280311    ),
     
    302333##/code-section after-schema
    303334
    304 class CasaLegislativa(BaseBTreeFolder):
     335class CasaLegislativa(BaseBTreeFolder,DynamicVocabulary):
    305336    """
    306337    Area especifica de uma Casa Legislativa
    307338    """
    308339    security = ClassSecurityInfo()
    309     __implements__ = (getattr(BaseBTreeFolder,'__implements__',()),)
     340    __implements__ = (getattr(BaseBTreeFolder,'__implements__',()),) + (getattr(DynamicVocabulary,'__implements__',()),)
    310341
    311342
     
    334365
    335366    #Methods
    336     #manually created methods
    337 
    338     security.declarePublic('getMember')
    339     def getMember(self):
    340         """
    341         Retorna o membro que adicionou a Casa Legislativa
    342         """
    343         #portal = getToolByName(self, 'portal_url').getPortalObject()
    344         #member = portal.portal_membership.getAuthenticatedMember()
    345         return 'member'
     367
     368    security.declareProtected("View", 'setNom_casa')
     369    def setNom_casa(self,valor):
     370        """ seta o nome da casa e o titulo do objeto"""
     371        self.getField('nom_casa').set(self, valor)
     372        self.getField('title').set(self, self.getNom_casa())
     373        self.reindexObject()
     374
     375
     376
     377    security.declarePublic('setOper_inclusao')
     378    def setOper_inclusao(self,valor):
     379        """seta o usuario que incluiu o objeto"""
     380       
     381        self.getField('oper_inclusao').set(self,self.Creator())
     382        self.reindexObject()
     383
     384
     385
     386    security.declarePublic('setOper_atualizacao')
     387    def setOper_atualizacao(self,valor):
     388        """ seta o usuario que realizou a ultima alteracao """
     389
     390        portal = getToolByName(self, 'portal_url').getPortalObject()
     391        member = str(portal.portal_membership.getAuthenticatedMember())
     392
     393        self.getField('oper_atualizacao').set(self,member)
     394        self.reindexObject()
     395
     396
     397
     398    security.declarePublic('setDat_inclusao')
     399    def setDat_inclusao(self,valor):
     400        """seta a data de inclusao do objeto"""
     401
     402        self.getField('dat_inclusao').set(self,self.CreationDate())
     403        self.reindexObject()
     404
     405
     406
     407    security.declarePublic('setDat_atualizacao')
     408    def setDat_atualizacao(self,valor):
     409        """ seta a data de atualizacao do objeto """
     410
     411        self.getField('dat_atualizacao').set(self,self.ModificationDate())
     412        self.reindexObject()
    346413
    347414
  • ILPortal/trunk/Extensions/AppInstall.py

    r966 r997  
    11from Products.CMFCore.utils import getToolByName
    22from StringIO import StringIO
    3 from Products.ILPortal.vocabularies import VOCABULARIOS_DINAMICOS
    4 from Products.ILPortal.utils import setVocabulariosDinamicos
     3from Products.ILPortal.vocabularies import VOCABULARIOS
     4from Products.ILPortal.config import *
    55from Products.CMFPlone.migrations.migration_util import safeEditProperty
    66from Acquisition import aq_base
     
    4242    deletePastas(portal)
    4343    addPastas(portal)
     44    addNewsletters(portal)
     45#    addForuns(portal)
     46    addEnquetes(portal)
     47    addImagens(portal)
     48    addChats(portal)
    4449    setupPublicatorDestaques(portal)
    4550    setupPublicatorProdutos(portal)
     
    4752    setupPublicatorOpiniao(portal)
    4853    setupPublicatorMelhoresPraticas(portal)
    49     addNewsletters(portal)
    50 #    addForuns(portal)
    51     addEnquetes(portal)
    52     addImagens(portal)
    53     addChats(portal)
    5454    addJavaScript(portal)
    5555    addCSS(portal)
     
    6565    setupWorkflow(portal)
    6666    setupBusca(portal)
    67 
    68 
    69     setVocabulariosDinamicos(self, VOCABULARIOS_DINAMICOS)
    70     print >>out, 'Criados vocabularios no ATVocabularyManager'
    71 
     67    setupConfiguracao(portal)
    7268    setPloneProperties(self, portal, out)
     69
    7370    return 'Feito!'
    7471
     
    10097       portal.manage_delObjects('front-page')
    10198    portal.manage_addProduct['PageTemplates'].manage_addPageTemplate('index_html', '', INDEX_HTML)
     99
    102100
    103101def deletePastas(portal):
     
    116114    if 'produtos' not in portal.objectIds():
    117115        portal.invokeFactory('Folder', id='produtos', title='Produtos', excludeFromNav=0)
     116
     117def addNewsletters(portal):
     118    if 'boletins' not in portal.objectIds():
     119        portal.invokeFactory('Folder', id='boletins', title='Boletins', excludeFromNav=0)
     120
     121        newsletters = getattr(aq_base(portal), 'boletins')
     122        addable_types = ['Subscriber','NewsletterTheme']
     123        if getattr(newsletters.aq_base, 'setConstrainTypesMode', None) is not None:
     124            newsletters.setConstrainTypesMode(1)
     125            newsletters.setImmediatelyAddableTypes(addable_types)
     126            newsletters.setLocallyAllowedTypes(addable_types)
     127
     128def addForuns(portal):
     129    if 'foruns' not in portal.objectIds():
     130        portal.invokeFactory('Ploneboard', id='foruns', title='Fóruns')
     131
     132def addChats(portal):
     133    if 'chats' not in portal.objectIds():
     134        portal.invokeFactory('Folder', id='chats', title='Chats', excludeFromNav=0)
     135
     136        chat = getattr(aq_base(portal), 'chats')
     137        addable_types = ['PloneChat']
     138        if getattr(chat.aq_base, 'setConstrainTypesMode', None) is not None:
     139            chat.setConstrainTypesMode(1)
     140            chat.setImmediatelyAddableTypes(addable_types)
     141            chat.setLocallyAllowedTypes(addable_types)
     142
     143def addEnquetes(portal):
     144    if 'enquetes' not in portal.objectIds():
     145        portal.invokeFactory('Folder', id='enquetes', title='Enquetes', excludeFromNav=0)
     146
     147        enquete = getattr(aq_base(portal), 'enquetes')
     148        addable_types = ['PlonePopoll']
     149        if getattr(enquete.aq_base, 'setConstrainTypesMode', None) is not None:
     150            enquete.setConstrainTypesMode(1)
     151            enquete.setImmediatelyAddableTypes(addable_types)
     152            enquete.setLocallyAllowedTypes(addable_types)
     153
     154def addImagens(portal):
     155    if 'imagens' not in portal.objectIds():
     156        portal.invokeFactory('Folder', id='imagens', title='Imagens', excludeFromNav=0)
     157
     158        imagem = getattr(aq_base(portal), 'imagens')
     159        addable_types = ['Image','Folder']
     160        if getattr(imagem.aq_base, 'setConstrainTypesMode', None) is not None:
     161            imagem.setConstrainTypesMode(1)
     162            imagem.setImmediatelyAddableTypes(addable_types)
     163            imagem.setLocallyAllowedTypes(addable_types)
    118164
    119165def setupPublicatorDestaques(portal):
     
    208254    print >>out, 'Plone para ILPortal customizado!\n'
    209255
     256
    210257def setILPortalProperties(portal):
    211258    portal_properties = getToolByName(portal, 'portal_properties')
     
    213260       portal_properties.manage_addPropertySheet('ilportal_properties','Propriedades do Portal Interlegis')
    214261
     262    for vocab in VOCABULARIOS.keys():
     263        if not portal_properties.ilportal_properties.hasProperty(vocab):
     264           portal_properties.ilportal_properties._setProperty(vocab, VOCABULARIOS[vocab], 'lines')
     265
     266
     267
     268def setILPortalProperties2(portal):
     269    portal_properties = getToolByName(portal, 'portal_properties')
     270    if not hasattr(portal_properties,'ilportal_properties'):
     271       portal_properties.manage_addPropertySheet('ilportal_properties','Propriedades do Portal Interlegis')
     272
    215273    if not portal_properties.ilportal_properties.hasProperty('sexo'):
    216274        sexos = ['M;Masculino', 'F;Feminino']
    217275        portal_properties.ilportal_properties._setProperty('sexo', sexos, 'lines')
     276
     277    if not portal_properties.ilportal_properties.hasProperty('tip_casa_interlegis'):
     278        tipos = ['AL;Assembléia Legislativa',
     279                 'CD;Câmara dos Deputados',
     280                 'CM;Câmara Municipal',
     281                 'CT;Câmara Legislativa',
     282                 'OI;Outras Instituições',
     283                 'SF;Senado Federal',]
     284        portal_properties.ilportal_properties._setProperty('tip_casa_interlegis', tipos, 'lines')
     285
     286    if not portal_properties.ilportal_properties.hasProperty('status'):
     287        status = ['1;Ativo', '2;Afastado']
     288        portal_properties.ilportal_properties._setProperty('status', status, 'lines')
     289
     290    if not portal_properties.ilportal_properties.hasProperty('suplencia'):
     291        suplencia = ['1;Suplente', '2;Titular']
     292        portal_properties.ilportal_properties._setProperty('suplencia', status, 'lines')
    218293
    219294    if not portal_properties.ilportal_properties.hasProperty('estado'):
     
    308383        portal_properties.ilportal_properties._setProperty('partido', partidos, 'lines')
    309384
    310 def addNewsletters(portal):
    311     if 'boletins' not in portal.objectIds():
    312         portal.invokeFactory('Folder', id='boletins', title='Boletins', excludeFromNav=0)
    313 
    314         newsletters = getattr(aq_base(portal), 'boletins')
    315         addable_types = ['Subscriber','NewsletterTheme']
    316         if getattr(newsletters.aq_base, 'setConstrainTypesMode', None) is not None:
    317             newsletters.setConstrainTypesMode(1)
    318             newsletters.setImmediatelyAddableTypes(addable_types)
    319             newsletters.setLocallyAllowedTypes(addable_types)
    320 
    321 def addForuns(portal):
    322     if 'foruns' not in portal.objectIds():
    323         portal.invokeFactory('Ploneboard', id='foruns', title='Fóruns')
    324 
    325 def addChats(portal):
    326     if 'chats' not in portal.objectIds():
    327         portal.invokeFactory('Folder', id='chats', title='Chats', excludeFromNav=0)
    328 
    329         chat = getattr(aq_base(portal), 'chats')
    330         addable_types = ['PloneChat']
    331         if getattr(chat.aq_base, 'setConstrainTypesMode', None) is not None:
    332             chat.setConstrainTypesMode(1)
    333             chat.setImmediatelyAddableTypes(addable_types)
    334             chat.setLocallyAllowedTypes(addable_types)
    335 
    336 def addEnquetes(portal):
    337     if 'enquetes' not in portal.objectIds():
    338         portal.invokeFactory('Folder', id='enquetes', title='Enquetes', excludeFromNav=0)
    339 
    340         enquete = getattr(aq_base(portal), 'enquetes')
    341         addable_types = ['PlonePopoll']
    342         if getattr(enquete.aq_base, 'setConstrainTypesMode', None) is not None:
    343             enquete.setConstrainTypesMode(1)
    344             enquete.setImmediatelyAddableTypes(addable_types)
    345             enquete.setLocallyAllowedTypes(addable_types)
    346 
    347 def addImagens(portal):
    348     if 'imagens' not in portal.objectIds():
    349         portal.invokeFactory('Folder', id='imagens', title='Imagens', excludeFromNav=0)
    350 
    351         imagem = getattr(aq_base(portal), 'imagens')
    352         addable_types = ['Image','Folder']
    353         if getattr(imagem.aq_base, 'setConstrainTypesMode', None) is not None:
    354             imagem.setConstrainTypesMode(1)
    355             imagem.setImmediatelyAddableTypes(addable_types)
    356             imagem.setLocallyAllowedTypes(addable_types)
    357385
    358386def setupActions(portal):
     
    623651
    624652    portal_properties.site_properties.manage_changeProperties(types_not_searched=blacklistedTypes)
     653
     654def setupConfiguracao(portal):
     655    portal.portal_controlpanel.registerConfiglet(**prefs_portal_configlet)
    625656   
    626657
    627658def uninstall(self):
    628     pass
     659
     660    try:
     661        self.portal_controlpanel.unregisterApplication(PROJECTNAME)
     662    except:
     663        pass
     664
  • ILPortal/trunk/Extensions/Install.py

    r651 r997  
    7070
    7171
    72     # Create vocabularies in vocabulary lib
    73     atvm = getToolByName(self, 'portal_vocabularies')
    74     vocabmap = {u'VOCAB_PARTIDOS': ('SimpleVocabulary', 'SimpleVocabularyTerm'), u'VOCAB_CARGOS_MESA': ('SimpleVocabulary', 'SimpleVocabularyTerm')}
    75     for vocabname in vocabmap.keys():
    76         if not vocabname in atvm.contentIds():
    77             atvm.invokeFactory(vocabmap[vocabname][0], vocabname)
    78         if len(atvm[vocabname].contentIds()) < 1:
    79             atvm[vocabname].invokeFactory(vocabmap[vocabname][1],'default')
    80             atvm[vocabname]['default'].setTitle('Default term, replace it by your own stuff')
    81 
    8272    # try to call a workflow install method
    8373    # in 'InstallWorkflows.py' method 'installWorkflows'
     
    9989    factory_types=[
    10090        "MesaDiretora",
    101         "CasaLegislativa",
    10291        "Telefone",
    103         "Parlamentar",
    10492        "MembroMesaDiretora",
    10593        ] + factory_tool.getFactoryTypes().keys()
  • ILPortal/trunk/Extensions/InstallWorkflows.py

    r950 r997  
    1515    workflow = ourProductWorkflow(self, 'ilportal_workflow')
    1616    workflowTool._setObject('ilportal_workflow', workflow)
    17 #    workflowTool.setChainForPortalTypes( ['CalendarX'],'plone_workflow')
    1817
    1918    return workflowTool
  • ILPortal/trunk/MembroMesaDiretora.py

    r847 r997  
    2727
    2828
    29 from Products.ATVocabularyManager.namedvocabulary import NamedVocabulary
    3029
    3130from Products.Archetypes.SQLStorage import *
     
    5756            i18n_domain='ILPortal',
    5857        ),
    59         vocabulary=NamedVocabulary("""VOCAB_CARGOS_MESA""")
     58        vocabulary='getVocab'
    6059    ),
    6160   
  • ILPortal/trunk/Parlamentar.py

    r847 r997  
    2727
    2828
    29 from Products.ATVocabularyManager.namedvocabulary import NamedVocabulary
    3029
    3130from Products.Archetypes.SQLStorage import *
    32 # additional imports from tagged value 'import'
    33 from vocabularies import VOCAB_SEXO
    34 from vocabularies import VOCAB_ESTADOS
    35 from vocabularies import VOCAB_STATUS
    36 
    3731from Products.ILPortal.config import *
    3832##code-section module-header #fill in your manual code here
     33from DateTime import DateTime
    3934##/code-section module-header
    4035
     
    4237    StringField('title',
    4338        widget=StringWidget(
    44             label='Nome Parlametar',
    45             description='Informe o nome pelo qual o Parlamentar é conhecido',
     39            visible={'edit':'hidden','view':'hidden'},
     40            label='Title',
    4641            label_msgid='ILPortal_label_title',
    4742            description_msgid='ILPortal_help_title',
    4843            i18n_domain='ILPortal',
    4944        ),
     45        required=0,
     46        accessor="Title"
     47    ),
     48   
     49    StringField('nom_parlamentar',
     50        widget=StringWidget(
     51            label='Nome Parlamentar',
     52            description='Informe o nome pelo qual o parlamentar é conhecido',
     53            label_msgid='ILPortal_label_nom_parlamentar',
     54            description_msgid='ILPortal_help_nom_parlamentar',
     55            i18n_domain='ILPortal',
     56        ),
    5057        required=1,
    51         accessor="Title",
     58        storage=PostgreSQLStorage(),
    5259        searchable="1"
    5360    ),
     
    8996        enforceVocabulary=1,
    9097        storage=PostgreSQLStorage(),
    91         vocabulary=VOCAB_SEXO
     98        vocabulary='getVocab'
    9299    ),
    93100   
     
    134141    ),
    135142   
    136     StringField('sgl_uf',
     143    StringField('estado',
    137144        widget=SelectionWidget(
    138145            format='select',
    139146            label="Estado",
    140             label_msgid='ILPortal_label_sgl_uf',
    141             description_msgid='ILPortal_help_sgl_uf',
     147            label_msgid='ILPortal_label_estado',
     148            description_msgid='ILPortal_help_estado',
    142149            i18n_domain='ILPortal',
    143150        ),
    144151        enforceVocabulary=1,
    145152        storage=PostgreSQLStorage(),
    146         vocabulary=VOCAB_ESTADOS
     153        vocabulary='getVocab'
    147154    ),
    148155   
     
    246253        ),
    247254        storage=PostgreSQLStorage(),
    248         vocabulary=NamedVocabulary("""VOCAB_PARTIDOS""")
     255        vocabulary='getVocab'
    249256    ),
    250257   
     
    284291        ),
    285292        storage=PostgreSQLStorage(),
    286         vocabulary=VOCAB_STATUS
     293        vocabulary='getVocab'
    287294    ),
    288295   
    289296    StringField('suplencia',
    290297        widget=SelectionWidget(
    291             label='Suplencia',
     298            label='Suplência',
     299            format='select',
    292300            label_msgid='ILPortal_label_suplencia',
    293301            description_msgid='ILPortal_help_suplencia',
    294302            i18n_domain='ILPortal',
    295303        ),
    296         storage=PostgreSQLStorage()
     304        storage=PostgreSQLStorage(),
     305        vocabulary='getVocab'
    297306    ),
    298307   
    299308    StringField('representacao',
    300309        widget=StringWidget(
    301             label='Representacao',
     310            label="Representação",
     311            visible={'view':'visible','edit':'hidden'},
    302312            label_msgid='ILPortal_label_representacao',
    303313            description_msgid='ILPortal_help_representacao',
     
    309319    StringField('des_represetacao',
    310320        widget=StringWidget(
    311             label='Des_represetacao',
     321            label="Descrição do Local de Representação",
     322            description="Informe uma breve descrição sobre o local de representação",
    312323            label_msgid='ILPortal_label_des_represetacao',
    313324            description_msgid='ILPortal_help_des_represetacao',
     
    317328    ),
    318329   
    319     StringField('oper_alteracao',
    320         widget=StringWidget(
    321             label='Oper_alteracao',
    322             label_msgid='ILPortal_label_oper_alteracao',
    323             description_msgid='ILPortal_help_oper_alteracao',
     330    DateTimeField('dat_inclusao',
     331        widget=CalendarWidget(
     332            label="Data de Incluão",
     333            visible={'view':'visible','edit':'hidden'},
     334            label_msgid='ILPortal_label_dat_inclusao',
     335            description_msgid='ILPortal_help_dat_inclusao',
     336            i18n_domain='ILPortal',
     337        ),
     338        storage=PostgreSQLStorage()
     339    ),
     340   
     341    StringField('oper_inclusao',
     342        widget=StringWidget(
     343            label="Operador de inclusão",
     344            visible={'view':'visible','edit':'hidden'},
     345            label_msgid='ILPortal_label_oper_inclusao',
     346            description_msgid='ILPortal_help_oper_inclusao',
     347            i18n_domain='ILPortal',
     348        ),
     349        storage=PostgreSQLStorage()
     350    ),
     351   
     352    DateTimeField('dat_atualizacao',
     353        widget=CalendarWidget(
     354            label="Data da última atualização",
     355            visible={'view':'visible','edit':'hidden'},
     356            label_msgid='ILPortal_label_dat_atualizacao',
     357            description_msgid='ILPortal_help_dat_atualizacao',
     358            i18n_domain='ILPortal',
     359        ),
     360        storage=PostgreSQLStorage()
     361    ),
     362   
     363    StringField('oper_atualizacao',
     364        widget=StringWidget(
     365            label='Operador da última atualização',
     366            visible={'edit':'hidden','view':'visible'},
     367            label_msgid='ILPortal_label_oper_atualizacao',
     368            description_msgid='ILPortal_help_oper_atualizacao',
    324369            i18n_domain='ILPortal',
    325370        ),
     
    329374    TextField('informacoes_geral',
    330375        widget=TextAreaWidget(
    331             label='Informacoes_geral',
     376            label='Informações Gerais',
    332377            label_msgid='ILPortal_label_informacoes_geral',
    333378            description_msgid='ILPortal_help_informacoes_geral',
     
    339384    TextField('leis_autoria',
    340385        widget=TextAreaWidget(
    341             label='Leis_autoria',
     386            label='Autoria de Leis',
    342387            label_msgid='ILPortal_label_leis_autoria',
    343388            description_msgid='ILPortal_help_leis_autoria',
     
    349394    TextField('projetos_apresentados',
    350395        widget=TextAreaWidget(
    351             label='Projetos_apresentados',
     396            label='Projetos Apresentados',
    352397            label_msgid='ILPortal_label_projetos_apresentados',
    353398            description_msgid='ILPortal_help_projetos_apresentados',
     
    359404    TextField('cargos_exercidos',
    360405        widget=TextAreaWidget(
    361             label='Cargos_exercidos',
     406            label='Cargos Exercídos',
    362407            label_msgid='ILPortal_label_cargos_exercidos',
    363408            description_msgid='ILPortal_help_cargos_exercidos',
     
    369414    TextField('mandatos_exercidos',
    370415        widget=TextAreaWidget(
    371             label='Mandatos_exercidos',
     416            label='Mandatos Exercídos',
    372417            label_msgid='ILPortal_label_mandatos_exercidos',
    373418            description_msgid='ILPortal_help_mandatos_exercidos',
     
    379424    TextField('particip_comissoes',
    380425        widget=TextAreaWidget(
    381             label='Particip_comissoes',
     426            label="Participação de Comissões",
    382427            label_msgid='ILPortal_label_particip_comissoes',
    383428            description_msgid='ILPortal_help_particip_comissoes',
     
    389434    TextField('missao',
    390435        widget=TextAreaWidget(
    391             label='Missao',
     436            label='Missão',
    392437            label_msgid='ILPortal_label_missao',
    393438            description_msgid='ILPortal_help_missao',
     
    404449##/code-section after-schema
    405450
    406 class Parlamentar(BaseContent):
     451class Parlamentar(BaseContent,DynamicVocabulary):
    407452    """
    408453    Parlamentar
    409454    """
    410455    security = ClassSecurityInfo()
    411     __implements__ = (getattr(BaseContent,'__implements__',()),)
     456    __implements__ = (getattr(BaseContent,'__implements__',()),) + (getattr(DynamicVocabulary,'__implements__',()),)
    412457
    413458
     
    437482    #Methods
    438483
     484    security.declareProtected("Modify portal content", 'setNom_parlamentar')
     485    def setNom_parlamentar(self,valor):
     486        """ seta o nome parlamentar e o titulo do objeto parlamentar """
     487        self.getField('nom_parlamentar').set(self, valor)
     488        self.getField('title').set(self, self.getNom_parlamentar())
     489        self.reindexObject()
     490
     491
     492
     493    security.declareProtected("Modify portal content", 'setOper_atualizacao')
     494    def setOper_atualizacao(self,valor):
     495        """ seta o usuario que realizou a ultima alteracao """
     496
     497        portal = getToolByName(self, 'portal_url').getPortalObject()
     498        member = str(portal.portal_membership.getAuthenticatedMember())
     499
     500        self.getField('oper_atualizacao').set(self,member)
     501        self.reindexObject()
     502
     503
     504
     505    security.declarePublic('setOper_inclusao')
     506    def setOper_inclusao(self,valor):
     507        """seta o usuario que incluiu o objeto"""
     508       
     509        self.getField('oper_inclusao').set(self,self.Creator())
     510        self.reindexObject()
     511
     512
     513
     514    security.declarePublic('setDat_inclusao')
     515    def setDat_inclusao(self,valor):
     516        """seta a data de inclusao do objeto"""
     517
     518        self.getField('dat_inclusao').set(self,self.CreationDate())
     519        self.reindexObject()       
     520
     521
     522
     523    security.declarePublic('setDat_atualizacao')
     524    def setDat_atualizacao(self,valor):
     525        """ seta a data de atualizacao do objeto """
     526
     527        self.getField('dat_atualizacao').set(self,self.ModificationDate())
     528        self.reindexObject()               
     529
     530
     531
    439532registerType(Parlamentar,PROJECTNAME)
    440533# end of class Parlamentar
  • ILPortal/trunk/Telefone.py

    r574 r997  
    3636    StringField('title',
    3737        widget=StringWidget(
    38             label="Local",
    39             description='Informe a localização do Telefone',
     38            visible={'edit':'invisible','view':'invisible'},
     39            label='Title',
    4040            label_msgid='ILPortal_label_title',
    4141            description_msgid='ILPortal_help_title',
    4242            i18n_domain='ILPortal',
    4343        ),
     44        required=0,
     45        accessor="Title"
     46    ),
     47   
     48    StringField('local',
     49        widget=StringWidget(
     50            labale='Local',
     51            description='Informe a localização do telefone',
     52            label='Local',
     53            label_msgid='ILPortal_label_local',
     54            description_msgid='ILPortal_help_local',
     55            i18n_domain='ILPortal',
     56        ),
    4457        required=1,
    45         accessor="Title",
    4658        searchable="1"
    4759    ),
     
    101113    #Methods
    102114
     115    security.declareProtected("View", 'Title')
     116    def Title(self,**Kwargs):
     117        """
     118       
     119        """
     120       
     121        pass
     122
     123
     124
    103125registerType(Telefone,PROJECTNAME)
    104126# end of class Telefone
  • ILPortal/trunk/config.py

    r772 r997  
    3232##code-section config-bottom #fill in your manual code here
    3333
    34 DEPENDENCIES = ['Archetypes','ATVocabularyManager','Ploneboard','CMFPublicator','PloneGazette','PloneMaintenance','PlonePopoll','PloneChat']
     34DEPENDENCIES = ['Archetypes','Ploneboard','CMFPublicator','PloneGazette','PloneMaintenance','PlonePopoll','PloneChat','TextIndexNG3']
    3535
    3636##/code-section config-bottom
  • ILPortal/trunk/i18n/generated.pot

    r847 r997  
    2323
    2424
     25#: MesaDiretora.py
     26#. cargo
    2527#: MembroMesaDiretora.py
    2628#. Selecione o cargo do parlamentar na mesa diretora
    27 #: MesaDiretora.py
    28 #. cargo
    2929msgid "ILPortal_help_cargo"
    3030msgstr "cargo"
     
    6868#: CasaLegislativa.py
    6969#. dat_atualizacao
     70## 1 more: Parlamentar.py
    7071msgid "ILPortal_help_dat_atualizacao"
    7172msgstr "dat_atualizacao"
     
    7677#: Legislativa.py
    7778#. dat_inclusao
     79## 1 more: Parlamentar.py
    7880msgid "ILPortal_help_dat_inclusao"
    7981msgstr "dat_inclusao"
     
    183185
    184186#: CasaLegislativa.py
     187#. Informe a Unidade Federativa da Casa Legislativa.
     188#: Parlamentar.py
     189#. estado
     190msgid "ILPortal_help_estado"
     191msgstr "Informe a Unidade Federativa da Casa Legislativa."
     192
     193
     194#: CasaLegislativa.py
    185195#. Adicione uma foto da Casa Legislativa
    186196msgid "ILPortal_help_foto"
     
    212222
    213223
     224#: Telefone.py
     225#. Informe a localização do telefone
     226msgid "ILPortal_help_local"
     227msgstr "Informe a localização do telefone"
     228
     229
    214230#: Parlamentar.py
    215231#. mandatos_exercidos
     
    259275
    260276
     277#: CasaLegislativa.py
     278#. Informe o nome da Casa Legislativa
    261279#: Legislativa.py
    262280#. informe o nome da Casa Legislativa
     
    273291
    274292
     293#: Parlamentar.py
     294#. Informe o nome pelo qual o parlamentar é conhecido
     295msgid "ILPortal_help_nom_parlamentar"
     296msgstr "Informe o nome pelo qual o parlamentar é conhecido"
     297
     298
     299#: CasaLegislativa.py
     300#. Informe o nome da Casa Legislativa
     301msgid "ILPortal_help_nome_casa"
     302msgstr "Informe o nome da Casa Legislativa"
     303
     304
    275305#: MembroMesaDiretora.py
    276306#. Selecione o parlamentar
     
    332362#: CasaLegislativa.py
    333363#. oper_atualizacao
     364## 1 more: Parlamentar.py
    334365msgid "ILPortal_help_oper_atualizacao"
    335366msgstr "oper_atualizacao"
     
    338369#: Legislativa.py
    339370#. oper_inclusao
     371## 2 more: CasaLegislativa.py, Parlamentar.py
    340372msgid "ILPortal_help_oper_inclusao"
    341373msgstr "oper_inclusao"
     
    448480msgid "ILPortal_help_texto"
    449481msgstr "Descreva o texto que sera mostrado no topo da lista de conteudos."
     482
     483
     484#: CasaLegislativa.py
     485#. Selecione o tipo da casa
     486msgid "ILPortal_help_tip_casa_interlegis"
     487msgstr "Selecione o tipo da casa"
    450488
    451489
     
    542580#: CasaLegislativa.py
    543581#. Data da ultima atualizacao
     582#: Parlamentar.py
     583#. Data da última atualização
    544584msgid "ILPortal_label_dat_atualizacao"
    545585msgstr "Data da ultima atualizacao"
     
    548588#: CasaLegislativa.py
    549589#. Data de Inclusão
     590#: Parlamentar.py
     591#. Data de Incluão
    550592#: Legislativa.py
    551593#. Data de Inclusao
     
    592634#: Diretora.py
    593635#. Descrição
    594 ## 1 more: MesaDiretora.py
     636#: MesaDiretora.py
     637#. Descrição
    595638msgid "ILPortal_label_description"
    596639msgstr "Descricao"
     
    616659
    617660
    618 #: Parlamentar.py
     661#: CasaLegislativa.py
    619662#. Endereço
    620663#: Legislativa.py
    621664#. Endereco
    622 ## 1 more: CasaLegislativa.py
     665#: Parlamentar.py
     666#. Endereço
    623667msgid "ILPortal_label_endereco"
    624668msgstr "Endereco"
     669
     670
     671#: CasaLegislativa.py
     672#. UF
     673#: Parlamentar.py
     674#. Estado
     675msgid "ILPortal_label_estado"
     676msgstr "UF"
    625677
    626678
     
    655707
    656708
     709#: Telefone.py
     710#. Local
     711msgid "ILPortal_label_local"
     712msgstr "Local"
     713
     714
    657715#: Parlamentar.py
    658716#. Mandatos_exercidos
     
    676734#: Legislativa.py
    677735#. Nome da Casa
     736## 1 more: CasaLegislativa.py
    678737msgid "ILPortal_label_nom_casa"
    679738msgstr "Nome da Casa"
     
    688747
    689748
     749#: Parlamentar.py
     750#. Nome Parlamentar
     751msgid "ILPortal_label_nom_parlamentar"
     752msgstr "Nome Parlamentar"
     753
     754
     755#: CasaLegislativa.py
     756#. Nome da Casa
     757msgid "ILPortal_label_nome_casa"
     758msgstr "Nome da Casa"
     759
     760
    690761#: MembroMesaDiretora.py
    691762#. Parlamentar
     
    745816#: CasaLegislativa.py
    746817#. Operador da ultima atualizacao
     818#: Parlamentar.py
     819#. Operador da última atualização
    747820msgid "ILPortal_label_oper_atualizacao"
    748821msgstr "Operador da ultima atualizacao"
    749822
    750823
     824#: CasaLegislativa.py
     825#. Oper_inclusao
     826#: Parlamentar.py
     827#. Operador de inclusão
    751828#: Legislativa.py
    752829#. Operador de Inclusao
     
    812889#: Legislativa.py
    813890#. UF
    814 ## 1 more: CasaLegislativa.py
    815891msgid "ILPortal_label_sgl_uf"
    816892msgstr "UF"
     
    839915msgid "ILPortal_label_texto"
    840916msgstr "Texto"
     917
     918
     919#: CasaLegislativa.py
     920#. Tipo da Casa
     921msgid "ILPortal_label_tip_casa_interlegis"
     922msgstr "Tipo da Casa"
    841923
    842924
  • ILPortal/trunk/utils.py

    r844 r997  
    11from Products.CMFCore.utils import getToolByName
    22from Products.ATVocabularyManager.config import TOOL_NAME as ATVOCABULARYTOOL
     3
    34
    45def setVocabulariosDinamicos(self, vocabularios):
  • ILPortal/trunk/version.txt

    r847 r997  
    1 0.1 build 88
     10.1 build 2
  • ILPortal/trunk/vocabularies.py

    r846 r997  
    1 from Products.Archetypes.public import DisplayList
    21
    3 # Vocabularios estaticos
     2# Vocabularios utilizados no Portal
    43
    5 VOCAB_ESTADOS = DisplayList((
    6     ('AC', u'Acre'),
    7     ('AL', u'Alagoas'),
    8     ('AP', u'Amapá'),
    9     ('AM', u'Amazonas'),
    10     ('BA', u'Bahia'),
    11     ('CE', u'Ceará'),
    12     ('DF', u'Distrito Federal'),
    13     ('ES', u'Espírito Santo'),
    14     ('GO', u'Goiás'),
    15     ('MA', u'Maranhão'),
    16     ('MT', u'Mato Grosso'),
    17     ('MS', u'Mato Grosso do Sul'),
    18     ('MG', u'Minas Gerais'),
    19     ('PA', u'Pará'),
    20     ('PB', u'Paraíba'),
    21     ('PR', u'Paraná'),
    22     ('PE', u'Pernambuco'),
    23     ('PI', u'Piauí'),
    24     ('RJ', u'Rio de Janeiro'),
    25     ('RN', u'Rio Grande do Norte'),
    26     ('RS', u'Rio Grande do Sul'),
    27     ('RO', u'Rondônia'),
    28     ('RR', u'Roraima'),
    29     ('SC', u'Santa Catarina'),
    30     ('SP', u'São Paulo'),
    31     ('SE', u'Sergipe'),
    32     ('TO', u'Tocantins'),
    33 ))
    344
    35 VOCAB_SEXO = DisplayList((
    36     ('feminino', u'Feminino'),
    37     ('masculino', u'Masculino'),
    38 ))
     5VOCABULARIOS = {'sexo':['M;Masculino',
     6                        'F;Feminino',
     7                       ],
    398
    40 VOCAB_STATUS = DisplayList((
    41     ('ativo', u'Ativo'),
    42     ('inativo', u'Inativo'),
    43 ))
     9                'tip_casa_interlegis':['AL;Assembléia Legislativa',
     10                                       'CD;Câmara dos Deputados',
     11                                       'CM;Câmara Municipal',
     12                                       'CT;Câmara Legislativa',
     13                                       'OI;Outras Instituições',
     14                                       'SF;Senado Federal',
     15                                      ],
     16                'status':['1;Ativo',
     17                          '2;Afastado',
     18                         ],
    4419
    45 # Vocabularios dinamicos que serao persistidos com o
    46 # ATVocabularyManager
     20                'suplencia':['1;Suplente',
     21                             '2;Titular',
     22                            ],
     23                'estado':['AC;Acre',
     24                          'AL;Alagoas',
     25                          'AP;Amapá',
     26                          'AM;Amazonas',
     27                          'BA;Bahia',
     28                          'CE;Ceará',
     29                          'DF;Distrito Federal',
     30                          'ES;Espírito Santo',
     31                          'GO;Goiás',
     32                          'MA;Maranhão',
     33                          'MT;Mato Grosso',
     34                          'MS;Mato Grosso do Sul',
     35                          'MG;Minas Gerais',
     36                          'PA;Pará',
     37                          'PB;Paraíba',
     38                          'PR;Paraná',
     39                          'PE;Pernambuco',
     40                          'PI;Piauí',
     41                          'RJ;Rio de Janeiro',
     42                          'RN;Rio Grande do Norte',
     43                          'RS;Rio Grande do Sul',
     44                          'RO;Rondônia',
     45                          'RR;Roraima',
     46                          'SC;Santa Catarina',
     47                          'SP;São Paulo',
     48                          'SE;Sergipe',
     49                          'TO;Tocantins',
     50                         ],
    4751
    48 VOCABULARIOS_DINAMICOS = {
    49     'VOCAB_PARTIDOS' : (
    50        ('PAN', u'PAN - Partido dos Aposentados da Nação'),
    51        ('PCO', u'PCO - Partido da Causa Operaria'),
    52        ('PCB', u'PCB - Partido Comunista Brasileiro'),
    53        ('PCdoB', u'PC do B - Partido Comunista do Brasil'),
    54        ('PDT', u'PDT - Partido Democrático Trabalhista'),
    55        ('PFL', u'PFL - Partido da Frente Liberal'),
    56        ('PHS', u'PHS - Partido Humanista da Solidariedade'),
    57        ('PL', u'PL - Partido Liberal'),
    58        ('PMN', u'PMN - Partido da Mobilização Nacional'),
    59        ('PMDB', u'PMDB - Partido do Movimento Democrático Brasileiro'),
    60        ('PP', u'PP - Partido Progressista'),
    61        ('PPS', u'PPS - Partido Popular Socialista'),
    62        ('PRONA', u'PRONA - Partido da Reedificação da Ordem Nacional'),
    63        ('PRTB', u'PRTB - Partido Renovador Trabalhista Brasileiro'),
    64        ('PSB', u'PSB - Partido Socialista Brasileiro'),
    65        ('PSC', u'PSC - Partido Socialista Cristão'),
    66        ('PSDB', u'PSDB - Partido da Social Democracia Brasileira'),
    67        ('PSDC', u'PSDC - Partido Social Democrata Cristão'),
    68        ('PSL', u'PSL - Partido Social Liberal'),
    69        ('PSTU', u'PSTU - Partido Socialista dos Trabalhadores Unificado'),
    70        ('PT', u'PT - Partido dos Trabalhadores'),
    71        ('PTdoB', u'PT do B - Partido Trabalhista do Brasil'),
    72        ('PTB', u'PTB - Partido Trabalhista Brasileiro'),
    73        ('PTN', u'PTN - Partido Trabalhista Nacional'),
    74        ('PV', u'PV - Partido Verde'),
    75     ),
    76     'VOCAB_CARGOS_MESA' : (
    77        ('p', u'Presidente'),
    78        ('1vp', u'1º Vice-Presidente'),
    79        ('2vp', u'2º Vice-Presidente'),
    80        ('1s', u'1º Secretário'),
    81        ('2s', u'2º Secretário'),
    82        ('3s', u'3º Secretário'),
    83        ('4s', u'4º Secretário'),
    84        ('1ss', u'1º Suplente de Secretário'),
    85        ('2ss', u'2º Suplente de Secretário'),
    86        ('3ss', u'3º Suplente de Secretário'),
    87        ('4ss', u'4º Suplente de Secretário'),   
    88     ),
    89 }
     52                'escolaridade':['1;1º Grau Incompleto',
     53                                '2;1º Grau Completo',
     54                                '3;2º Grau Incompleto',
     55                                '4;2º Grau Completo',
     56                                '5;3º Grau Incompleto',
     57                                '6;3º Grau Completo',
     58                                '7;Especialização',
     59                                '8;Mestrado',
     60                                '9;Doutorado',
     61                               ],
     62                'cargo':['P;Presidente',
     63                         'VP;Vice-Presidente',
     64                         '1VP;1º Vice-Presidente',
     65                         '2VP;2º Vice-Presidente',
     66                         '1SE;1º Secretário',
     67                         '2SE;2º Secretário',
     68                         '3SE;3º Secretário',
     69                         '4SE;4º Secretário',
     70                         '1SU;1º Suplente',
     71                         '2SU;2º Suplente',
     72                         '3SU;3º Suplente',
     73                         'SS;Suplente de Secretário',
     74                         '1SS;1º Suplente de Secretário',
     75                         '2SS;2º Suplente de Secretário',
     76                         '3SS;3º Suplente de Secretário',
     77                         '4SS;4º Suplente de Secretário',
     78                        ],
     79                'partido':['PAN;PAN - Partido dos Aposentados da Nação',
     80                           'PCO;PCO - Partido da Causa Operaria',
     81                           'PCB;PCB - Partido Comunista Brasileiro',
     82                           'PCdoB;PC do B - Partido Comunista do Brasil',
     83                           'PDT;PDT - Partido Democrático Trabalhista',
     84                           'PFL;PFL - Partido da Frente Liberal',
     85                           'PHS;PHS - Partido Humanista da Solidariedade',
     86                           'PL;PL - Partido Liberal',
     87                           'PMN;PMN - Partido da Mobilização Nacional',
     88                           'PMDB;PMDB - Partido do Movimento Democrático Brasileiro',
     89                           'PP;PP - Partido Progressista',
     90                           'PPS;PPS - Partido Popular Socialista',
     91                           'PRONA;PRONA - Partido da Reedificação da Ordem Nacional',
     92                           'PRTB;PRTB - Partido Renovador Trabalhista Brasileiro',
     93                           'PSB;PSB - Partido Socialista Brasileiro',
     94                           'PSC;PSC - Partido Socialista Cristão',
     95                           'PSDB;PSDB - Partido da Social Democracia Brasileira',
     96                           'PSDC;PSDC - Partido Social Democrata Cristão',
     97                           'PSL;PSL - Partido Social Liberal',
     98                           'PSTU;PSTU - Partido Socialista dos Trabalhadores Unificado',
     99                           'PT;PT - Partido dos Trabalhadores',
     100                           'PTdoB;PT do B - Partido Trabalhista do Brasil',
     101                           'PTB;PTB - Partido Trabalhista Brasileiro',
     102                           'PTN;PTN - Partido Trabalhista Nacional',
     103                           'PV;PV - Partido Verde'],
     104               }
     105
Note: Veja TracChangeset para ajuda no uso do visualizador de conjunto de mudanças.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.