Esempio n. 1
0
    def _convertActions( self ):
        """ Upgrade dictionary-based actions.
        """
        aa, self._actions = self._actions, ()

        for action in aa:

            # Some backward compatibility stuff.
            if not 'id' in action:
                action['id'] = cookString(action['name'])

            if not 'title' in action:
                action['title'] = action.get('name', action['id'].capitalize())

            # historically, action['action'] is simple string
            actiontext = action.get('action').strip() or 'string:${object_url}'
            if actiontext[:7] not in ('python:', 'string:'):
                actiontext = 'string:${object_url}/%s' % actiontext

            self.addAction(
                  id=action['id']
                , name=action['title']
                , action=actiontext
                , condition=action.get('condition')
                , permission=action.get( 'permissions', () )
                , category=action.get('category', 'object')
                , visible=action.get('visible', True)
                )
Esempio n. 2
0
    def _convertActions(self):
        """ Upgrade dictionary-based actions.
        """
        aa, self._actions = self._actions, ()

        for action in aa:

            # Some backward compatibility stuff.
            if not action.has_key('id'):
                action['id'] = cookString(action['name'])

            if not action.has_key('name'):
                action['name'] = action['id'].capitalize()

            # historically, action['action'] is simple string
            actiontext = action.get('action').strip() or 'string:${object_url}'
            if actiontext[:7] not in ('python:', 'string:'):
                actiontext = 'string:${object_url}/%s' % actiontext

            self.addAction(id=action['id'],
                           name=action['name'],
                           action=actiontext,
                           condition=action.get('condition'),
                           permission=action.get('permissions', ()),
                           category=action.get('category', 'object'),
                           visible=action.get('visible', 1))
Esempio n. 3
0
 def manage_editActionsForm(self, REQUEST, manage_tabs_message=None):
     """
     Shows the 'Actions' management tab.
     """
     actions = []
     for a in self.getActions():
         a = a.copy()
         p = a['permissions']
         if p:
             a['permission'] = p[0]
         else:
             a['permission'] = ''
         if not a.has_key('category'):
             a['category'] = 'object'
         if not a.has_key('id'):
             a['id'] = cookString(a['name'])
         if not a.has_key('visible'):
             a['visible'] = 1
         actions.append(a)
     # possible_permissions is in AccessControl.Role.RoleManager.
     pp = self.possible_permissions()
     return self._actions_form(self,
                               REQUEST,
                               actions=actions,
                               possible_permissions=pp,
                               management_view='Actions',
                               manage_tabs_message=manage_tabs_message)
Esempio n. 4
0
 def manage_editActionsForm(self, REQUEST, manage_tabs_message=None):
     """
     Shows the 'Actions' management tab.
     """
     actions = []
     for a in self.getActions():
         a = a.copy()
         p = a['permissions']
         if p:
             a['permission'] = p[0]
         else:
             a['permission'] = ''
         if not a.has_key('category'):
             a['category'] = 'object'
         if not a.has_key('id'):
             a['id'] = cookString(a['name'])
         if not a.has_key( 'visible' ):
             a['visible'] = 1
         actions.append(a)
     # possible_permissions is in AccessControl.Role.RoleManager.
     pp = self.possible_permissions()
     return self._actions_form(self, REQUEST,
                               actions=actions,
                               possible_permissions=pp,
                               management_view='Actions',
                               manage_tabs_message=manage_tabs_message)
Esempio n. 5
0
    def __init__(self, id, **kw):

        self.id = id

        kw = kw.copy()  # Get a modifiable dict.

        if kw:

            if (not kw.has_key('content_meta_type')
                and kw.has_key('meta_type')):
                kw['content_meta_type'] = kw['meta_type']

            if (not kw.has_key('content_icon')
                and kw.has_key('icon')):
                kw['content_icon'] = kw['icon']

            apply(self.manage_changeProperties, (), kw)

        aa = kw.get( 'actions', () )

        for action in aa:

            action = action.copy()

            # Some backward compatibility stuff.
            if not action.has_key('id'):
                action['id'] = cookString(action['name'])

            if not action.has_key('name'):
                action['name'] = action['id'].capitalize()

            # XXX:  historically, action['action'] is simple string

            self.addAction( id=action['id']
                          , name=action['name']
                          , action=action.get( 'action' )
                          , condition=action.get( 'condition' )
                          , permission=action.get('permissions', () )
                          , category=action.get( 'category', 'object' )
                          , visible=action.get( 'visible', 1 )
                          )
Esempio n. 6
0
    def __init__(self, id, **kw):

        self.id = id

        kw = kw.copy()  # Get a modifiable dict.

        if kw:

            if (not kw.has_key('content_meta_type')
                and kw.has_key('meta_type')):
                kw['content_meta_type'] = kw['meta_type']

            if (not kw.has_key('content_icon')
                and kw.has_key('icon')):
                kw['content_icon'] = kw['icon']

            apply(self.manage_changeProperties, (), kw)

        aa = kw.get( 'actions', () )

        for action in aa:

            action = action.copy()

            # Some backward compatibility stuff.
            if not action.has_key('id'):
                action['id'] = cookString(action['name'])

            if not action.has_key('name'):
                action['name'] = action['id'].capitalize()

            # XXX:  historically, action['action'] is simple string

            self.addAction( id=action['id']
                          , name=action['name']
                          , action=action.get( 'action' )
                          , condition=action.get( 'condition' )
                          , permission=action.get('permissions', () )
                          , category=action.get( 'category', 'object' )
                          , visible=action.get( 'visible', 1 )
                          )
Esempio n. 7
0
 def __init__(self, id, **kw):
     self.id = id
     if kw:
         kw = kw.copy()  # Get a modifiable dict.
         if (not kw.has_key('content_meta_type')
                 and kw.has_key('meta_type')):
             kw['content_meta_type'] = kw['meta_type']
         if (not kw.has_key('content_icon') and kw.has_key('icon')):
             kw['content_icon'] = kw['icon']
         apply(self.manage_changeProperties, (), kw)
         if kw.has_key('actions'):
             aa = kw['actions']
             actions = []
             for action in aa:
                 action = action.copy()
                 # Some backward compatibility stuff.
                 if not action.has_key('id'):
                     action['id'] = cookString(action['name'])
                 if not action.has_key('category'):
                     action['category'] = 'object'
                 actions.append(action)
             self._actions = tuple(actions)
Esempio n. 8
0
 def __init__(self, id, **kw):
     self.id = id
     if kw:
         kw = kw.copy()  # Get a modifiable dict.
         if (not kw.has_key('content_meta_type')
             and kw.has_key('meta_type')):
             kw['content_meta_type'] = kw['meta_type']
         if (not kw.has_key('content_icon')
             and kw.has_key('icon')):
             kw['content_icon'] = kw['icon']
         apply(self.manage_changeProperties, (), kw)
         if kw.has_key('actions'):
             aa = kw['actions']
             actions = []
             for action in aa:
                 action = action.copy()
                 # Some backward compatibility stuff.
                 if not action.has_key('id'):
                     action['id'] = cookString(action['name'])
                 if not action.has_key('category'):
                     action['category'] = 'object'
                 actions.append(action)
             self._actions = tuple(actions)