Changeset 915

Show
Ignore:
Timestamp:
07/17/07 08:15:32
Author:
crchemist
Message:

Added compatibility with all plone versions.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • qSEOptimizer/branches/qSEOptimizer-plone-3.0/Extensions/Install.py

    r908 r915  
    66from Products.CMFCore.DirectoryView import addDirectoryViews 
    77from Products.qSEOptimizer import qSEO_globals 
     8from OFS.ObjectManager import BadRequestException 
     9 
     10from Products.CMFPlone.migrations.migration_util import safeEditProperty 
     11from Products.qSEOptimizer.config import * 
    812 
    913try: 
     
    1216except ImportError: 
    1317    from Products.CMFCore.CMFCorePermissions import ManagePortal 
    14  
    15 from OFS.ObjectManager import BadRequestException 
    16  
    17 from Products.CMFPlone.migrations.migration_util import safeEditProperty 
    18 from Products.qSEOptimizer.config import * 
    1918 
    2019configlets = ({'id':'qSEOptimizer', 
     
    8685        for l in original_path: 
    8786            if (l == layer) or (l.startswith(layer+'/')): 
    88                continue 
     87                continue 
    8988            new_path.append(l) 
    9089        skinstool.addSkinSelection(skinName, ','.join(new_path)) 
     
    9998            try: 
    10099                #for Plone-2.5 and higher 
    101                 action = ptype.queryMethodID("seo_properties") 
     100                acts = filter(lambda x: x.id == 'seo_properties', ptype.listActions()) 
     101                action = acts and acts[0] or None 
    102102            except AttributeError: 
    103103                action = ptype.getActionById('seo_properties', default=None ) 
     104 
    104105 
    105106            if action is None: 
     
    119120        if ptype.getId() in qSEO_TYPES: 
    120121            #delet the action for viewing versioning 
    121             action = ptype.getActionById( 'seo_properties', default=None ) 
     122            try: 
     123                #for Plone-2.5 and higher 
     124                acts = filter(lambda x: x.id == 'seo_properties', ptype.listActions()) 
     125                action = acts and acts[0] or None 
     126            except AttributeError: 
     127                action = ptype.getActionById('seo_properties', default=None ) 
    122128            if action != None: 
    123129                acts = list(ptype.listActions()) 
     
    144150        out.write('found.\n') 
    145151        Layers.append('qSEOptimizer/%s' % plone_version) 
    146     else
     152    elif str(plone_version) < "3"
    147153        out.write("not found.\nLimited functionality mode. Upgrade" 
    148154                  "qSEOptimizer product or report to support@quintagroup.com" 
  • qSEOptimizer/branches/qSEOptimizer-plone-3.0/skins/qSEOptimizer/prefs_qseo_setup.cpy

    r914 r915  
    1717    try: 
    1818        #for Plone-2.5 and higher 
    19         action = ptype.queryMethodID("seo_properties") 
     19        acts = filter(lambda x: x.id == 'seo_properties', ptype.listActions()) 
     20        action = acts and acts[0] or None 
    2021    except AttributeError: 
    2122        action = ptype.getActionById('seo_properties', default=None ) 
  • qSEOptimizer/branches/qSEOptimizer-plone-3.0/skins/qSEOptimizer/prefs_qseo_setup_form.cpt

    r197 r915  
    5656                                <li tal:repeat="ptypeInfo sublist"> 
    5757                                    <tal:type define="type python:portal_types.getTypeInfo(ptypeInfo); 
    58                                                       name type/getId"> 
     58                                                      name type/getId;"> 
     59 
    5960                                        <input  type="checkbox" 
    6061                                                name="portalTypes:list" 
    6162                                                tal:attributes="id name; 
    6263                                                                value name; 
    63                                                                 checked python:type.getActionById('seo_properties', default=None)"/> 
     64                                                                checked python:test(filter(lambda x:x.id == 'seo_properties', type.listActions()), True, None)"/> 
    6465                                        <label tal:attributes="for python:type.getId()" 
    6566                                               tal:content="type/Title"/> 
  • qSEOptimizer/branches/qSEOptimizer-plone-3.0/tests/testQSEOptimizer.py

    r914 r915  
    6767            try: 
    6868                #for Plone-2.5 and higher 
    69                 action = ptype.queryMethodID("seo_properties") 
     69                acts = filter(lambda x: x.id == 'seo_properties', ptype.listActions()) 
     70                action = acts and acts[0] or None 
    7071            except AttributeError: 
    7172                action = ptype.getActionById('seo_properties', default=None ) 
     
    8889        mtool = getToolByName(self.portal, 'portal_migration') 
    8990        plone_version = mtool.getFileSystemVersion() 
    90  
    91         for skin in skinstool.getSkinSelections(): 
    92             path = skinstool.getSkinPath(skin) 
    93             path = map( string.strip, string.split( path,',' ) ) 
    94             self.assert_(PRODUCT+'/%s' % plone_version in path, 'qSEOptimizer versioned layer not found in %s' %skin) 
     91        if plone_version < "3": 
     92            for skin in skinstool.getSkinSelections(): 
     93                path = skinstool.getSkinPath(skin) 
     94                path = map( string.strip, string.split( path,',' ) ) 
     95                self.assert_(PRODUCT+'/%s' % plone_version in path, 'qSEOptimizer versioned layer not found in %s' %skin) 
    9596 
    9697    def test_actions_uninstall(self): 
     
    101102            try: 
    102103                #for Plone-2.5 and higher 
    103                 action = ptype.queryMethodID("seo_properties") 
     104                acts = filter(lambda x: x.id == 'seo_properties', ptype.listActions()) 
     105                action = acts and acts[0] or None 
    104106            except AttributeError: 
    105107                action = ptype.getActionById('seo_properties', default=None ) 
     
    157159                                    distribution_override=1) 
    158160 
    159         self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
     161        wf_tool = self.portal.portal_workflow 
     162        wf_tool.doActionFor(my_doc, 'publish') 
     163 
     164        abs_path = "/%s" % my_doc.absolute_url(1) 
     165        self.html = self.publish(abs_path, self.basic_auth).getBody() 
    160166 
    161167    def testTitle(self):