Changeset 3598 in products


Ignore:
Timestamp:
Oct 24, 2012 1:59:38 PM (11 years ago)
Author:
vmaksymiv
Message:

PPP fixes

Location:
quintagroup.plonetabs/trunk/quintagroup/plonetabs
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.plonetabs/trunk/quintagroup/plonetabs/browser/plonetabs.py

    r3564 r3598  
    1010# BBB: compatibility with older plone versions 
    1111try: 
    12      # Plone < 4.3 
    13      from zope.app.container import interfaces 
    14      INameChooser = interfaces.INameChooser 
     12    # Plone < 4.3 
     13    from zope.app.container import interfaces 
     14    INameChooser = interfaces.INameChooser 
    1515except ImportError: 
    16      # Plone >= 4.3  
    17      from zope.container.interfaces import INameChooser 
    18       
     16    # Plone >= 4.3 
     17    from zope.container.interfaces import INameChooser 
     18 
    1919from zope.viewlet.interfaces import IViewletManager, IViewlet 
    2020 
     
    7777        # action handler def handler(self, form) 
    7878        if submitted: 
    79             if form.has_key('add.add'): 
     79            if 'add.add' in form.keys(): 
    8080                postback = self.manage_addAction(form, errors) 
    81             elif form.has_key("edit.save"): 
     81            elif "edit.save" in form.keys(): 
    8282                postback = self.manage_editAction(form, errors) 
    83             elif form.has_key("edit.delete"): 
     83            elif "edit.delete" in form.keys(): 
    8484                postback = self.manage_deleteAction(form, errors) 
    85             elif form.has_key("edit.moveup"): 
     85            elif "edit.moveup" in form.keys(): 
    8686                postback = self.manage_moveUpAction(form, errors) 
    87             elif form.has_key("edit.movedown"): 
     87            elif "edit.movedown" in form.keys(): 
    8888                postback = self.manage_moveDownAction(form, errors) 
    89             elif form.has_key("autogenerated.save"): 
     89            elif "autogenerated.save" in form.keys(): 
    9090                postback = self.manage_setAutogeneration(form, errors) 
    9191            else: 
     
    176176 
    177177        # validate posted data 
    178         errors = self.validateActionFields(cat_name, data, 
    179             allow_dup=(id == data['id'])) 
     178        errors = self.validateActionFields( 
     179            cat_name, data, allow_dup=(id == data['id'])) 
    180180 
    181181        if not errors: 
     
    187187            return False 
    188188        else: 
    189             errs.update(self.processErrors(errors, 
    190                 sufix='_%s' % id))  # add edit form sufix to error ids 
    191             IStatusMessage(self.request).addStatusMessage( 
    192                 _(u"Please correct the indicated errors."), type="error") 
     189            errs.update(self.processErrors( 
     190                errors, sufix='_%s' % id))  # add edit form sufix to error ids 
     191            IStatusMessage(self.request).addStatusMessage(_( 
     192                u"Please correct the indicated errors."), type="error") 
    193193            return True 
    194194 
     
    223223            self.moveAction(id, cat_name, steps=1) 
    224224            IStatusMessage(self.request).addStatusMessage( 
    225                _(u"'${id}' action moved up.", mapping={'id': id}), type="info") 
     225                _(u"'${id}' action moved up.", mapping={'id': id}), type="info") 
    226226            self.redirect(search="category=%s" % cat_name) 
    227227            return False 
     
    256256        """Redirect to @@plonetabs-controlpanel configlet""" 
    257257        if not url: 
    258             portal_url = getMultiAdapter((self.context, self.request), 
     258            portal_url = getMultiAdapter( 
     259                (self.context, self.request), 
    259260                name=u"plone_portal_state").portal_url() 
    260261            url = '%s/%s' % (portal_url, "@@plonetabs-controlpanel") 
     
    404405        # now add the content to results 
    405406        for item in rawresult: 
    406             if not excludedIds.has_key(item.getId): 
     407            if item.getId not in excludedIds: 
    407408                id, item_url = get_view_url(item) 
    408409                data = {'name': utils.pretty_title_or_id(context, item), 
     
    437438        """See global-sections viewlet""" 
    438439        actions = getMultiAdapter((self.context, self.request), 
    439                                    name=u'plone_context_state').actions() 
     440                                  name=u'plone_context_state').actions() 
    440441        actions_tabs = [] 
    441442        try: 
     
    449450 
    450451        portal_tabs_view = getMultiAdapter((self.context, self.request), 
    451             name="portal_tabs_view") 
     452                                           name="portal_tabs_view") 
    452453        return portal_tabs_view.topLevelTabs(actions=actions_tabs) 
    453454 
     
    455456        """See global-sections viewlet""" 
    456457        # BBB: compatibility with older plone versions. 
    457         # ``selectedTabs`` Python script was merged into the  
     458        # ``selectedTabs`` Python script was merged into the 
    458459        # GlobalSectionsViewlet. 
    459460        section_viewlet = setupViewletByName(self, 
     
    464465            # Plone >= 4.3 
    465466            selected_tabs = section_viewlet.selectedTabs( 
    466                 default_tab='index_html',  
     467                default_tab='index_html', 
    467468                portal_tabs=self.portal_tabs()) 
    468469        else: 
     
    470471            selectedTabs = self.context.restrictedTraverse('selectedTabs') 
    471472            selected_tabs = selectedTabs('index_html', self.context, 
    472                 self.portal_tabs()) 
     473                                         self.portal_tabs()) 
    473474 
    474475        return selected_tabs['portal'] 
     
    497498        actionslist = self.getActionsList(category=cat_name) 
    498499        ksscore.replaceInnerHTML(ksscore.getHtmlIdSelector('tabslist'), 
    499             actionslist) 
     500                                 actionslist) 
    500501 
    501502        # update autogenerated sections 
     
    556557        """Toggle visibility for portal root objects (exclude_from_nav)""" 
    557558        portal = getMultiAdapter((aq_inner(self.context), self.request), 
    558             name='plone_portal_state').portal() 
     559                                 name='plone_portal_state').portal() 
    559560 
    560561        # remove prefix, added for making ids on configlet unique ("roottabs_") 
     
    562563 
    563564        if obj_id not in portal.objectIds(): 
    564             raise KSSExplicitError("Object with %s id doesn't" +\ 
     565            raise KSSExplicitError("Object with %s id doesn't" 
    565566                                   " exist in portal root." % obj_id) 
    566567 
     
    576577        if checked: 
    577578            ksscore.removeClass(ksscore.getHtmlIdSelector(id), 
    578                 value="invisible") 
     579                                value="invisible") 
    579580            message = _(u"'${id}' object was included into navigation.", 
    580581                        mapping={'id': obj_id}) 
     
    596597        act_id, category, action = self.kss_validateAction(id, cat_name) 
    597598        self.updateAction(act_id, cat_name, 
    598             {'id': act_id, 'visible': (checked == '1') or False}) 
     599                          {'id': act_id, 'visible': (checked == '1') or False}) 
    599600 
    600601        # update client 
     
    602603        if checked == '1': 
    603604            ksscore.removeClass(ksscore.getHtmlIdSelector(id), 
    604                 value="invisible") 
     605                                value="invisible") 
    605606            message = _(u"'${id}' action is now visible.", 
    606607                        mapping={'id': act_id}) 
     
    652653            content = self.getActionsList(category=cat_name, tabs=[action, ]) 
    653654            ksscore.insertHTMLAsLastChild( 
    654                                          ksscore.getHtmlIdSelector('tabslist'), 
    655                                          content) 
     655                ksscore.getHtmlIdSelector('tabslist'), 
     656                content) 
    656657 
    657658            # update reorder controls 
     
    660661            # hide adding form 
    661662            ksscore.removeClass(ksscore.getHtmlIdSelector('addaction'), 
    662                 'adding') 
     663                                'adding') 
    663664            self.kss_toggleCollapsible( 
    664665                ksscore.getCssSelector('form[name=addaction_form] ' 
     
    683684        else: 
    684685            # expand advanced section if there are errors in id or condition 
    685             if errors.has_key('id') or errors.has_key('available_expr'): 
     686            if 'id' in errors or 'available_expr' in errors: 
    686687                self.kss_toggleCollapsible( 
    687                    ksscore.getCssSelector('form[name=addaction_form] ' 
    688                                           '.headerAdvanced'), collapse='false') 
     688                    ksscore.getCssSelector('form[name=addaction_form] ' 
     689                                           '.headerAdvanced'), collapse='false') 
    689690 
    690691            message = _(u"Please correct the indicated errors.") 
     
    708709        # collapse advanced section 
    709710        self.kss_toggleCollapsible( 
    710            ksscore.getCssSelector('form[name=addaction_form] .headerAdvanced'), 
    711                                   collapse='true') 
     711            ksscore.getCssSelector( 
     712                'form[name=addaction_form] .headerAdvanced'), 
     713            collapse='true') 
    712714 
    713715        # reset form inputs 
     
    769771        # validate posted data 
    770772        errors = self.validateActionFields(cat_name, data, 
    771             allow_dup=(id == data['id'])) 
     773                                           allow_dup=(id == data['id'])) 
    772774 
    773775        html_id = '%s%s%s' % (self.prefix, id, self.sufix) 
     
    793795            # expand advanced section if there are errors in id, 
    794796            # action url or condition 
    795             if errors.has_key('id') or errors.has_key('available_expr') or \ 
    796                 errors.has_key('url_expr'): 
     797            if 'id' in errors or 'available_expr' in errors or \ 
     798                    'url_expr' in errors: 
    797799                self.kss_toggleCollapsible( 
    798800                    ksscore.getCssSelector('#%s .headerAdvanced' % html_id), 
     
    818820        else: 
    819821            ids = [component[len(self.prefix):-len(self.sufix)] 
    820                 for component in components] 
     822                   for component in components] 
    821823 
    822824        # do actual sorting 
     
    936938 
    937939        # preprocess 'visible' field (checkbox needs special checking) 
    938         if form.has_key('visible_%s' % id): 
     940        if 'visible_%s' % id in form: 
    939941            form['visible_%s' % id] = True 
    940942        else: 
     
    954956 
    955957        # preprocess 'visible' field (checkbox needs special checking) 
    956         if form.has_key('visible') and form['visible']: 
     958        if 'visible' in form and form['visible']: 
    957959            form['visible'] = True 
    958960        else: 
     
    984986        """Change site_properties""" 
    985987        site_properties = getToolByName(self.context, 
    986             "portal_properties").site_properties 
     988                                        "portal_properties").site_properties 
    987989        site_properties.manage_changeProperties(**kw) 
    988990        return True 
     
    997999            category = self.getActionCategory(cat_name) 
    9981000        except Exception: 
    999             raise KSSExplicitError(u"%s action category does not exist." %\ 
     1001            raise KSSExplicitError(u"%s action category does not exist." % 
    10001002                                   cat_name) 
    10011003 
    10021004        # extract action id from given list item id on client 
    10031005        action_id = self.sufix and id[len(self.prefix):-len(self.sufix)] or \ 
    1004                     id[len(self.prefix):] 
     1006            id[len(self.prefix):] 
    10051007        try: 
    10061008            action = category[action_id] 
    10071009        except Exception: 
    1008             raise KSSExplicitError("No %s action in %s category." %\ 
    1009                                               (action_id, cat_name)) 
     1010            raise KSSExplicitError("No %s action in %s category." % 
     1011                                   (action_id, cat_name)) 
    10101012 
    10111013        return (action_id, category, action) 
     
    10231025        if editform: 
    10241026            id = '%s%s%s' % (self.prefix, editform, self.sufix) 
    1025             field_selector = ksscore.getCssSelector('#%s .edit-field-%s' % (id, 
    1026                 UI_ATTRS.get(name, name))) 
    1027             field_error_selector = ksscore.getCssSelector('#%s .edit-field-%s ' 
    1028                 '.error-container' % (id, UI_ATTRS.get(name, name))) 
    1029         else: 
    1030             field_selector = ksscore.getCssSelector('form' +\ 
    1031                 '[name=addaction_form] ' 
    1032                 '.field-%s' % UI_ATTRS.get(name, name)) 
    1033             field_error_selector = ksscore.getCssSelector('form[name=' 
    1034                 'addaction_form] .field-%s ' 
     1027            field_selector = ksscore.getCssSelector( 
     1028                '#%s .edit-field-%s' % (id, UI_ATTRS.get(name, name))) 
     1029            field_error_selector = ksscore.getCssSelector( 
     1030                '#%s .edit-field-%s .error-container' % (id, 
     1031                                                         UI_ATTRS.get(name, 
     1032                                                                      name))) 
     1033        else: 
     1034            field_selector = ksscore.getCssSelector( 
     1035                'form[name=addaction_form] .field-%s' % UI_ATTRS.get(name, 
     1036                                                                     name)) 
     1037            field_error_selector = ksscore.getCssSelector( 
     1038                'form[name=addaction_form] .field-%s ' 
    10351039                '.error-container' % UI_ATTRS.get(name, name)) 
    10361040 
     
    10701074        """KSS Server command to execute replaceOrInsert client action""" 
    10711075        command = self.commands.addCommand('plonetabs-replaceOrInsert', 
    1072             selector) 
     1076                                           selector) 
    10731077        command.addParam('selector', parentSelector) 
    10741078        command.addHtmlParam('html', html) 
     
    10841088        if positionSelectorType: 
    10851089            command.addParam('positionSelectorType', 
    1086                               positionSelectorType) 
     1090                             positionSelectorType) 
    10871091 
    10881092    def kss_issueMessage(self, message, msgtype="info"): 
     
    11371141        # update action properties 
    11381142        for attr in data.keys(): 
    1139             if data.has_key(attr): 
     1143            if attr in data: 
    11401144                action._setPropValue(attr, data[attr]) 
    11411145 
  • quintagroup.plonetabs/trunk/quintagroup/plonetabs/configure.zcml

    r3381 r3598  
    55    xmlns:i18n="http://namespaces.zope.org/i18n" 
    66    i18n_domain="quintagroup.plonetabs"> 
    7      
     7 
    88    <include package="Products.CMFCore" file="permissions.zcml" 
    99             zcml:condition="have plone-41" /> 
    10      
     10 
    1111    <include package="plone.browserlayer" /> 
    1212 
     
    1515    <!-- Set up as a Zope2 product --> 
    1616    <five:registerPackage package="." initialize=".initialize" /> 
    17      
     17 
    1818    <include file="profiles.zcml" /> 
    19      
     19 
    2020    <include package=".browser" /> 
    21      
     21 
    2222    <include package=".plugins" /> 
    2323 
  • quintagroup.plonetabs/trunk/quintagroup/plonetabs/profiles.zcml

    r865 r3598  
    33    xmlns:genericsetup="http://namespaces.zope.org/genericsetup" 
    44    i18n_domain="quintagroup.plonetabs"> 
    5      
     5 
    66    <genericsetup:registerProfile 
    77       name="default" 
     
    1919       provides="Products.GenericSetup.interfaces.EXTENSION" 
    2020       /> 
    21      
     21 
    2222</configure> 
  • quintagroup.plonetabs/trunk/quintagroup/plonetabs/utils.py

    r3563 r3598  
    88 
    99 
    10 # TODO: Methods 'getViewletByName' and 'setupViewletByName' were copied  
     10# TODO: Methods 'getViewletByName' and 'setupViewletByName' were copied 
    1111# from https://github.com/collective/collective.developermanual/blob/master/source/views/viewlets.rst#what-viewlets-do 
    12 # Better solution would be to use collective.fastview  
    13 # (http://svn.plone.org/svn/collective/collective.fastview/trunk/)  
     12# Better solution would be to use collective.fastview 
     13# (http://svn.plone.org/svn/collective/collective.fastview/trunk/) 
    1414# which has not yet included in plone. 
    1515 
     
    4747    # from adapters registry 
    4848    reg = getViewletByName(name) 
    49     if reg == None: 
     49    if reg is None: 
    5050        return None 
    5151 
Note: See TracChangeset for help on using the changeset viewer.