Conjunto de mudanças 4618 no repositório publico


Ignorar:
Timestamp:
03/09/2010 18:01:40 (10 anos atrás)
Autor:
sesostris
Mensagem:

Corrigidos os tickets #470 #448 #450 #449 #474 #460 #454 #468 #451 #452 #456 #458 #455 #457 #459 #461 #469 #473 #247 do SAAP 2.0

Localização:
ILSAAP/branches/2.0
Arquivos:
7 adicionados
22 editados

Legenda:

Não Modificado
Adicionado
Removido
  • ILSAAP/branches/2.0/Extensions/InstallWorkflows.py

    r3639 r4618  
    4242
    4343    ourProductWorkflow = ExternalMethod('temp', 'temp',
    44                                         productname+'.'+'label_workflow',
    45                                         'createlabel_workflow')
    46     workflow = ourProductWorkflow(self, 'label_workflow')
    47     if 'label_workflow' in workflowTool.listWorkflows():
    48         print >> out, 'label_workflow already in workflows.'
     44                                        productname+'.'+'saap_workflow',
     45                                        'create_saap_workflow')
     46    workflow = ourProductWorkflow(self, 'saap_workflow')
     47    if 'saap_workflow' in workflowTool.listWorkflows():
     48        print >> out, 'saap_workflow already in workflows.'
    4949    else:
    50         workflowTool._setObject('label_workflow', workflow)
     50        workflowTool._setObject('saap_workflow', workflow)
    5151    workflowTool.setChainForPortalTypes(['LabelModel'], workflow.getId())
     52    workflowTool.setChainForPortalTypes(['Letter'], workflow.getId())
     53    workflowTool.setChainForPortalTypes(['Editorial'], workflow.getId())
     54    workflowTool.setChainForPortalTypes(['Entity'], workflow.getId())
     55    workflowTool.setChainForPortalTypes(['PhysicalPerson'], workflow.getId())
     56    workflowTool.setChainForPortalTypes(['LabelModel'], workflow.getId())
     57    workflowTool.setChainForPortalTypes(['ContactCollection'], workflow.getId())
     58 
    5259
    5360    ##code-section after-workflow-install #fill in your manual code here
  • ILSAAP/branches/2.0/Validators.py

    r3639 r4618  
    2424
    2525        if len(cpf) != 11:
    26             return "%s must have 11 digits." % cpf
     26            return "%s: precisa ter 11 digitos." % cpf
    2727        elif not cpf.isdigit():
    28             return "%s must have only numbers." % cpf
     28            return "%s: somente aceita números." % cpf
    2929        else:
    3030            vtemp = [int(cpf[:1]) for i in list(cpf)]
     
    3232
    3333            if cpf2 == vtemp:
    34                 return "%s invalid sequence." % cpf
     34                return "%s: sequencia inválida." % cpf
    3535
    3636            tmp = cpf[:9]
     
    4747
    4848            if cpf2 != ltmp:
    49                 return "%s invalid verifier digit." % cpf
     49                return "%s: cpf inválido." % cpf
    5050
    5151            return 1
     
    7676       
    7777        if len(cnpj) != 14:
    78             return "%s must have 14 digits." % cnpj
     78            return "%s precisa ter 14 digitos." % cnpj
    7979        elif not cnpj.isdigit():
    80             return "%s must have only numbers." % cnpj
     80            return "%s somente aceita números." % cnpj
    8181        else:
    8282            vtemp = [int(cnpj[:1]) for i in list(cnpj[:8])]
     
    8484
    8585            if cnpj2 == vtemp:
    86                return "%s invalid sequence." % cnpj
     86               return "%s sequencia inválida." % cnpj
    8787
    8888            tmp = cnpj[:12]
     
    102102
    103103            if temp != ltmp:
    104                 return "%s invalid CNPJ." % cnpj
     104                return "%s CNPJ inválido." % cnpj
    105105            return 1
    106106
     
    124124        if zip_code.__len__()==8:
    125125            if zip_core.isdigit()==False:
    126                         return "Invalid Zip Code: %s"%zip_code
     126                        return "CEP inválido: %s"%zip_code
    127127        elif zip_code.__len__()==9:
    128128            if (zip_code[:5].isdigit()==False) or (zip_code[5]!='-') or (zip_code[6:9].isdigit()==False):
    129                 return "Invalid Zip Code: %s"%zip_code
     129                return "CEP inválido: %s"%zip_code
    130130        else:
    131             return "Invalid Zip Code: %s"%zip_code
     131            return "CEP inválido: %s"%zip_code
    132132        return 1
    133133
  • ILSAAP/branches/2.0/__init__.py

    r3777 r4618  
    5151from Globals import package_home
    5252from Products.CMFCore import utils as cmfutils
     53
     54# allow sys encoding
     55from Products.PythonScripts.Utility import allow_module, allow_class
     56
     57allow_module('sys')
     58
     59from Products.PortalTransforms.data import datastream
     60allow_class(datastream)
     61
     62
     63import sys
    5364
    5465try: # New CMF
  • ILSAAP/branches/2.0/config.py

    r4133 r4618  
    108108
    109109##code-section config-bottom #fill in your manual code here
    110 DEPENDENCIES = ['AddRemoveWidget', 'CSSManager', 'DataGridField', 'PloneCollectorNG', 'TextIndexNG3', 'mxmCalendar', 'mxmCalendarTypes', 'Plone2Pdf']
     110DEPENDENCIES = ['AddRemoveWidget', 'CSSManager', 'DataGridField', 'PloneCollectorNG', 'TextIndexNG3', 'mxmCalendar', 'mxmCalendarTypes', 'Plone2Pdf', 'PopupCalendarWidget']
    111111##/code-section config-bottom
    112112
  • ILSAAP/branches/2.0/content/ContactCollection.py

    r3871 r4618  
    7272    global_allow = 0
    7373    content_icon = 'contact_collection.png'
    74     immediate_view = 'base_view'
    75     default_view = 'base_view'
     74    immediate_view = 'contact_collection_view'
     75    default_view = 'contact_collection_view'
    7676    suppl_views = ()
    7777    typeDescription = "A collection of contacts. It would be used by Newsletters, Issues, and so forth."
     
    7979
    8080
     81
     82
    8183    actions =  (
     84
     85
     86       {'action': "string:${object_url}/contact_collection_view",
     87        'category': "object",
     88        'id': 'view',
     89        'name': 'View',
     90        'permissions': ("View",),
     91        'condition': 'python:1'
     92       },
     93
     94
     95
     96    )
    8297
    8398
    8499
    85100
    86 
    87     )
    88101
    89102    _at_rename_after_creation = True
  • ILSAAP/branches/2.0/content/ILSAAPTool.py

    r4479 r4618  
    406406        results = self.portal_catalog.searchResults(portal_type='PhysicalPerson', sort_on='sortable_title')
    407407        return results
     408   
     409    def getContactsFromMyWorkArea(self):
     410        wa = self.getWorkArea()
     411        path = wa.getPath()
     412        results = self.portal_catalog.searchResults(portal_type='PhysicalPerson',path=path, sort_on='sortable_title')
     413        return results
    408414       
    409415
  • ILSAAP/branches/2.0/content/Model.py

    r4538 r4618  
    3838from Products.PortalTransforms.libtransforms.utils import bin_search, sansext
    3939from Products.PortalTransforms.libtransforms.commandtransform import commandtransform
     40from Products.PopupCalendarWidget.PopupCalendarWidget import PopupCalendarWidget
    4041
    4142
     
    103104    DateTimeField(
    104105        name='model_date',
    105         default_method = 'getDefaultTime',
    106         widget=CalendarWidget(
    107             format='%d/%m/%y',
    108             starting_year=1900,
    109             ending_year=2030,
     106        widget=PopupCalendarWidget(
    110107            label="Date",
    111             show_hm=False,
    112             description="Add the date this document will be sent.",
     108            description="Add the date this document will be sent. Format (dd/mm/YYYY)",
    113109            label_msgid='ILSAAP_label_model_date',
    114110            description_msgid='ILSAAP_help_model_date',
    115111            i18n_domain='ILSAAP',
     112            showsTime = 'false',
     113            firstDay = '3', 
     114            ifFormat= '%d/%m/%Y',
     115            weekNumbers= 'false',
     116            range = [1900, 2050],
     117            singleClick='true',
     118            electric= 'true',
     119            step= '1',
     120            showOthers= 'false',
    116121        ),
    117122        required=1
     
    144149    StringField(
    145150        name='sender_position',
    146 
    147151        widget=StringWidget(
    148152            description="Add the position of the sender.",
     
    208212        except:       
    209213            return []
    210 
     214   
    211215    def getDefaultTime(self):
    212216        return DateTime()
    213    
    214217
    215218# end of class Model
  • ILSAAP/branches/2.0/content/Person.py

    r4443 r4618  
    4040from Products.DataGridField.FixedColumn import FixedColumn
    4141from Products.DataGridField.RadioColumn import RadioColumn
     42from Products.DataGridField.SelectColumn import SelectColumn
    4243from Products.AddRemoveWidget.AddRemoveWidget import AddRemoveWidget
    4344from Products.CMFCore.utils import getToolByName
     
    9697        index="FieldIndex",
    9798        widget=DataGridWidget(
    98             description="Add all data about the address. You can inform more than one, in this case set the preferencial one.",
    99             columns={'address':Column('Address'), 'number':Column('Number'), 'neighborhood':Column('Neighborhood'), 'city':Column('City'), 'state':Column('State'), 'zip_code':Column('Zip Code'), 'preferencial':RadioColumn('Preferencial', vocabulary='getPrefs')},
     99            description="Add all data about the address. You can inform more than one, in this case set the preferencial one, using <img src='move_row_up_icon.gif'> and <img src='move_row_down_icon.gif'> controls to order your address list. The firt address record will be your preferencial record.",
     100            columns={'address':Column('Address'), 'number':Column('Number'), 'neighborhood':Column('Neighborhood'), 'city':Column('City'), 'state':Column('State'), 'zip_code':Column('Zip Code')},
    100101            label='Address',
    101102            label_msgid='ILSAAP_label_address',
     
    103104            i18n_domain='ILSAAP',
    104105        ),
    105         columns=('address', 'number', 'neighborhood', 'city', 'state', 'zip_code', 'preferencial',)
    106     ),
    107 
     106        columns=('address', 'number', 'neighborhood', 'city', 'state', 'zip_code',)
     107    ),
     108
     109           
     110#    DataGridField(
     111#            name='address',
     112#            index="FieldIndex",
     113#            widget=DataGridWidget(
     114#                description="Add all data about the address. You can inform more than one, in this case set the preferencial one.",
     115#                columns={'address':Column('Address'), 'city':Column('City'), 'state':Column('State'), 'zip_code':Column('Zip Code'), 'preferencial':RadioColumn('Preferencial', vocabulary='getPrefs')},
     116#                label='Address',
     117#                label_msgid='ILSAAP_label_address',
     118#                description_msgid='ILSAAP_help_address',
     119#                i18n_domain='ILSAAP',
     120#            ),
     121#            columns=('address', 'city', 'state', 'zip_code', 'preferencial',)
     122#        ),
     123                               
     124                                       
    108125    DataGridField(
    109126        name='email',
     
    206223        Generate fixed row key information
    207224        """
    208         PHONE_TYPE = ['Celular', 'Residencial', 'Comercial', 'Pager']
     225        PHONE_TYPE = ['Mobil Phone', 'Residencial', 'Comercial', 'Pager']
    209226        rows = []
    210227        for pt in PHONE_TYPE:
     
    215232    def getPrefs(self):
    216233
    217         return DisplayList((("yes", "Yes",),))
     234        return DisplayList((("yes", "Yes",),("no", "No",)))
    218235   
    219236    def setGroup(self, value):
  • ILSAAP/branches/2.0/content/PhysicalPerson.py

    r4528 r4618  
    3838from Products.DataGridField.DataGridWidget import DataGridWidget
    3939from Products.AddRemoveWidget.AddRemoveWidget import AddRemoveWidget
     40from Products.PopupCalendarWidget.PopupCalendarWidget import PopupCalendarWidget
    4041
    4142##code-section module-header #fill in your manual code here
     
    6263    ImageField(
    6364        name='portrait',
    64         original_size=(200,200),
     65        original_size=(200,200),
    6566        widget=ImageWidget(
    6667            description="Upload the portrait of this person.",
     
    7576    DateTimeField(
    7677        name='birth',
    77         index="FieldIndex",
    78         widget=CalendarWidget(
    79             description="Add the birthday of this person.",
     78        index="DateIndex",
     79        validators=('isValidDate',),
     80        widget=PopupCalendarWidget(
     81            description="Add the birthday of this person. Format (dd/mm/YYYY)",
    8082            show_hm=False,
    81             starting_year=1900,
    82             ending_year=2020,
    8383            label='Birth',
    8484            label_msgid='ILSAAP_label_birth',
    8585            description_msgid='ILSAAP_help_birth',
    86             i18n_domain='ILSAAP',    ),
    87      ),
     86            i18n_domain='ILSAAP',
     87            showsTime = 'false',
     88            firstDay = '3', 
     89            ifFormat= '%d/%m/%Y',
     90            weekNumbers= 'false',
     91            range = [1900, 2050],
     92            singleClick='true',
     93            electric= 'true',
     94            step= '1',
     95            showOthers= 'false',                     
     96        )
     97    ),
    8898
    8999    StringField(
     
    102112    StringField(
    103113        name='cpf',
    104         widget=StringWidget(
    105             description="Add a valid CPF.",
     114        index="FieldIndex",
     115        widget=StringWidget(
     116            description="Add a valid CPF. Type only numbers.",
    106117            label="CPF",
    107118            label_msgid='ILSAAP_label_cpf',
     
    248259    ),
    249260
     261
    250262    DateTimeField(
    251263        name='filiation_date',
    252         widget=CalendarWidget(
    253             label="Filiation Date",
     264        widget=PopupCalendarWidget(
    254265            description="Add the filiation date to the party.",
    255266            show_hm=False,
    256             starting_year=1900,
    257             ending_year=2020,
     267            label="Filiation Date",
    258268            label_msgid='ILSAAP_label_filiation_date',
    259269            description_msgid='ILSAAP_help_filiation_date',
    260270            i18n_domain='ILSAAP',
     271            showsTime = 'false',
     272            firstDay = '3', 
     273            ifFormat= '%d/%m/%Y',
     274            weekNumbers= 'false',
     275            range = [1900, 2050],
     276            singleClick='true',
     277            electric= 'true',
     278            step= '1',
     279            showOthers= 'false',                     
    261280        )
    262281    ),
  • ILSAAP/branches/2.0/i18n/ILSAAP-plone-pt-br.po

    r4443 r4618  
     1# ArchGenXML generated POT File
    12# SCT Interlegis <admin-stc@interlegis.gov.br>, 2007.
    23msgid ""
     
    162163msgstr "Leitor"
    163164
     165#. Default: "Add new row"
     166msgid "ILSAAP_add_new_button"
     167msgstr "Adicionar nova linha"
     168
    164169#. Default: "Neighborhood"
    165170msgid "Neighborhood"
  • ILSAAP/branches/2.0/i18n/ILSAAP-pt-br.po

    r4477 r4618  
    3535#: content/Person.py
    3636msgid "ILSAAP_help_address"
    37 msgstr "Informe todos os dados sobre o endereço. Você pode informar mais de um, neste caso informe qual é o preferencial."
     37msgstr "Informe todos os dados sobre o endereço. Você pode informar mais de um, neste caso utilize os controles <img src='move_row_up_icon.gif'> e <img src='move_row_down_icon.gif'> para ordenar a sua lista de endereço. O primeiro registro de endereço será o preferencial. "
    3838
    3939#. Default: "Add the birthday of this person."
    4040#: content/PhysicalPerson.py
    4141msgid "ILSAAP_help_birth"
    42 msgstr "Informe a data de nascimento desta pessoa."
     42msgstr "Informe a data de nascimento desta pessoa. Formato (dd/mm/AAAA)"
    4343
    4444#. Default: "Add the body for this document."
     
    7171#: content/PhysicalPerson.py
    7272msgid "ILSAAP_help_cpf"
    73 msgstr "Informe um CPF válido."
     73msgstr "Informe um CPF válido. Informar apenas números."
    7474
    7575#. Default: "Add the dependent(s). You can add more than one."
     
    161161#: content/Model.py
    162162msgid "ILSAAP_help_model_date"
    163 msgstr "Informe a data que este documento será enviado."
     163msgstr "Informe a data que este documento será enviado. Formato (dd/mm/AAAA)."
    164164
    165165#. Default: "If the registry has a nickname, add it here."
     
    830830msgstr "Importar uma área de trabalho"
    831831
     832msgid "ILSAAP_search_help_contacts"
     833msgstr "Utilize os caracteres especiais '*' e '?' para buscar por parte do nome. Exemplo: Mar* trará Marcos, Marcelo e Maria."
     834
  • ILSAAP/branches/2.0/skins/ILSAAP_css/SAAP.css.dtml

    r3743 r4618  
    267267
    268268
     269.documentHelpAltert {
     270 font-weight: bold;
     271 font-size: 14px;
     272 font-color: red;
     273}
     274
    269275/**** End Styles ****/
    270276
  • ILSAAP/branches/2.0/skins/ILSAAP_css/pisa.css.dtml

    r3743 r4618  
    191191}
    192192
     193
  • ILSAAP/branches/2.0/skins/ILSAAP_scripts/add_work_area_services.py

    r3639 r4618  
    3232    obj.edit(title="Documentos")   
    3333
    34 # Documents
     34# Contatos
    3535if not hasattr(wa,'contacts'):
    3636    wa.invokeFactory('FolderContact', 'contacts')
    3737    obj = getattr(wa, 'contacts')
    3838    obj.edit(title="Contatos")
     39   
     40# Newsletter
     41if not hasattr(wa,'newsletter'):
     42    wa.invokeFactory('FolderNewsLetter', 'newsletter')
     43    obj = getattr(wa, 'newsletter')
     44    obj.edit(title="Boletins")     
    3945
  • ILSAAP/branches/2.0/skins/ILSAAP_scripts/saap_contact_search_results_a.cpy

    r3743 r4618  
    3030
    3131    id_co = context.plone_utils.normalizeString(title)
     32
    3233    contact_folder = getattr(wa, 'contacts')
    3334    co = contact_folder.invokeFactory('ContactCollection', id_co, title=title)
    3435
    3536    collection = getattr(contact_folder, id_co)
    36 
     37    if (same_type('String', contact_id)):
     38        contact_id = [contact_id]
     39       
    3740    collection.setContacts(tuple(contact_id))
     41 
    3842    util = context.plone_utils
    3943    membership_tool=context.portal_membership
  • ILSAAP/branches/2.0/skins/ILSAAP_views/editorial2pdf_view.pt

    r3743 r4618  
    1212     id="letter">
    1313
     14<metal:block  define-macro="pdf">
    1415
     16<metal:css use-macro="here/pdf_css/macros/css" />
    1517
    1618  <tal:block repeat="item here/getListTo">
     
    4143  </tal:block>
    4244
    43 
     45</metal:block>
    4446
    4547</div>
  • ILSAAP/branches/2.0/skins/ILSAAP_views/folder_contact_view.pt

    r4459 r4618  
    2424  </a>
    2525
     26  <div class="portalMessage"
     27       i18n:translate="ILSAAP_search_help_contacts">
     28          You can use especial characters like '*' and '?' to filter partial search.
     29  </div>
     30
    2631  <div class="documentDescription"
    2732       i18n:translate="ILSAAP_search_contacts">
     
    3641  </div>
    3742
    38   <form method="get"
     43  <form method="post"
    3944        action="saap_contact_search_results"
    4045        name="search"
     
    7277        <span style="white-space: nowrap">
    7378          <input type="checkbox"
    74                  name="PysicalPerson"
     79                 name="portal_type"
    7580                 value="PhysicalPerson"
    7681                 i18n:translate="ILSAAP_physical_person_button" />
    7782
    7883          <input type="checkbox"
    79                  id="entity"
    80                  name="Entity"
     84                 id="portal_type"
     85                 name="portal_type"
    8186                 value="Entity"
    8287                 onclick="desabilita();"
     
    9196               for="Title"
    9297               i18n:translate="ILSAAP_label_name">Name</div>
    93 
    9498             <input type="text"
    9599                    id="Title"
  • ILSAAP/branches/2.0/skins/ILSAAP_views/label2pdf_view.pt

    r3822 r4618  
    1010
    1111<div metal:fill-slot="main"
    12      id="letter"
    13      tal:define="fonteDados here/getFonteDados | nothing;
     12     id="letter">
     13
     14<metal:block  define-macro="pdf">
     15
     16<metal:css use-macro="here/pdf_css/macros/css" />
     17
     18 <tal:defines  define="fonteDados here/getFonteDados | nothing;
    1419                ph here/getPage_height | nothing;               
    1520                pw here/getPage_width | nothing;               
     
    2429                breakline python:'</tr><tr>';
    2530                tw python:int(pw) - (int(lm) + int(rm));">
    26 
    27 
    2831
    2932    <style tal:content="string:table{width:${tw}mm;}table td{height:${lh}mm;width:${lw}mm;}">
     
    5255        </tr> 
    5356    </table>
     57    </tal:defines>
     58</metal:block>
    5459
    5560</div>
     61
    5662</body>
    5763</html>
  • ILSAAP/branches/2.0/skins/ILSAAP_views/letter2pdf_view.pt

    r3777 r4618  
    1616  </div>-->
    1717
     18<metal:css use-macro="here/pdf_css/macros/css" />
    1819
     20<metal:block  define-macro="pdf">
    1921
     22<metal:css use-macro="here/pdf_css/macros/css" />
    2023
    2124  <tal:block repeat="item here/getListTo">
     
    2326        <span class="visualClear"> <!-- --> </span>
    2427       
    25         <img class="marginRight" tal:attributes="src string:${portal_url}/logo_interlegis.jpg" />
    26        
    27         <div class="floatDocumentLeft">Carta n&deg; <span tal:content="here/getDoc_number" /></div>
     28        <img class="marginRight" tal:attributes="src string:${portal_url}/portal_ilsaap/system_logo" />
     29         
     30        <div class="floatDocumentLeft">Carta nº; <span tal:content="here/getDoc_number" /></div>
    2831        <div class="marginRight">Em <span tal:content="here/getLocal" />,
    2932                                    <span tal:define="data here/getModel_date"
     
    5558            (<span tal:content="here/getSender_name" /> - <span tal:content="here/getSender_position" />)
    5659        </div> 
    57  
    5860        <span class="visualClear"> <!-- --> </span>
    5961        <pdf:nextpage>
     
    6264  </tal:block>
    6365
    64 
     66</metal:block>
    6567
    6668</div>
  • ILSAAP/branches/2.0/skins/ILSAAP_views/letter_view.pt

    r3743 r4618  
    1515  <span class="visualClear"> <!-- --> </span>
    1616
    17   <img class="marginRight" tal:attributes="src string:${portal_url}/logo_interlegis.jpg" />
     17  <img class="marginRight" tal:attributes="src string:${portal_url}/portal_ilsaap/system_logo" />
    1818
    1919  <div class="floatDocumentLeft">Carta n&deg; <span tal:content="here/getDoc_number" /></div>
    2020  <div class="marginRight">Em <span tal:content="here/getLocal" />,
    2121                             <span tal:define="data here/getModel_date"
    22                                    tal:content="python:data.strftime('%d de %B de %Y.')" /></div>
     22                                   tal:content="python: here.date_translate(data)" /></div>
    2323
    2424  <span class="visualClear"> <!-- --> </span>
  • ILSAAP/branches/2.0/skins/ILSAAP_views/physical_person_view.pt

    r4443 r4618  
    111111          <th i18n:translate="ILSAAP_label_state">State</th>
    112112          <th i18n:translate="ILSAAP_label_zip_code">Zip Code</th>
    113           <th i18n:translate="ILSAAP_label_pref">Preferencial</th>
     113<!--          <th i18n:translate="ILSAAP_label_pref">Preferencial</th>-->
    114114        </tr>
    115115        <tbody tal:define="field python:here.getWrappedField('address');
  • ILSAAP/branches/2.0/skins/ILSAAP_views/viewPdf.pt

    r3743 r4618  
    5252  <div id="visual-portal-wrapper" class="">
    5353
    54     <tal:ifDynDocument tal:condition="python: here.portal_type in context.pdfConvertTypes()">
     54    <tal:ifDynDocument tal:condition="python: (here.portal_type in context.pdfConvertTypes()) and not (here.portal_type in ['Letter', 'LabelModel', 'Editorial'])">
    5555   
    5656        <tal:defDocument define="template python:getattr(here, here.getLayout(), None);
     
    6565    </tal:ifDynDocument>
    6666
     67    <tal:ifSAAP_DOCUMENT tal:condition="python: here.portal_type == 'Letter'">
     68            <div metal:use-macro="here/letter2pdf_view/macros/pdf" />
     69    </tal:ifSAAP_DOCUMENT>
     70
     71    <tal:ifSAAP_DOCUMENT tal:condition="python: here.portal_type == 'LabelModel'">
     72            <div metal:use-macro="here/label2pdf_view/macros/pdf" />
     73    </tal:ifSAAP_DOCUMENT>
     74   
     75    <tal:ifSAAP_DOCUMENT tal:condition="python: here.portal_type == 'Editorial'">
     76            <div metal:use-macro="here/editorial2pdf_view/macros/pdf" />
     77    </tal:ifSAAP_DOCUMENT>   
    6778
    6879  </div>
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.