[zopeorg-checkins] CVS: Products/ZopeOrg-NV - ZopeOrgWorkflow.py:1.13

Jens Vagelpohl jens at zope.com
Tue Jun 11 13:09:40 EDT 2002


Update of /cvs-zopeorg/Products/ZopeOrg-NV
In directory cvs.zope.org:/tmp/cvs-serv10843

Modified Files:
	ZopeOrgWorkflow.py 
Log Message:
- excise "sharing" of content



=== Products/ZopeOrg-NV/ZopeOrgWorkflow.py 1.12 => 1.13 ===
         allow_request = _checkPermission('Request review', content)
         allow_change = _checkPermission('Manage properties', content)
-        owns_shareTarget = current_user == getattr(content, 'share_owner', '')
         is_owner = current_user == content_creator 
         is_sitemanager = _checkPermission('Manage portal', content)
-        no_share_target = getattr( content
-                                 , 'share_target'
-                                 , 'no_target') == 'no_target'
- 
         append_action = (lambda name, p, url=content_url, a=actions.append:
                          a({'name': name,
                             'url': url + '/' + p,
@@ -88,21 +83,9 @@
             if is_owner and allow_request:
                 show_retract = 1
                 show_obsolete = 1
-                append_action('Submit Share', 'content_submitshare_form')
             if allow_review and not is_owner:
                 show_reject = 1
 
-        elif review_state == 'share pending':
-            if is_owner and allow_request:
-                show_obsolete = 1
-            if not is_owner and owns_shareTarget:
-                append_action('Reject Share', 'content_reject_form')
-                append_action('Divert Share', 'content_divertshare_form')
-                append_action('Approve Share', 'content_share_form')
-            elif is_sitemanager and no_share_target:
-                append_action('Divert Share', 'content_divertshare_form')
-                append_action('Reject Share', 'content_reject_form')
-
         elif review_state == 'obsolete':
             if allow_request or allow_review:
                 append_action('Restore', 'content_refresh_form')
@@ -137,32 +120,6 @@
             return None
  
         actions = []
-        catalog = getToolByName(self, 'portal_catalog', None)
-        if catalog is not None:
-            pending = 0
-            s_args = None
-            if _checkPermission('Manage portal', info.portal):
-                pending = pending + len(catalog.searchResults(
-                    review_state='share pending', share_target='no_target'))
-                s_args = ''
-
-            pm = getToolByName(self, 'portal_membership')
-            current_user = pm.getAuthenticatedMember().getUserName()
-            pending = pending + len(catalog.searchResults(
-                review_state='share pending', share_owner=current_user))
-
-            if pending > 0:
-                s_url = '/search?review_state=share+pending'
-
-                if s_args is None:
-                    s_args = '&share_owner=' + replace(current_user, ' ', '+')
-
-                actions.append(
-                    {'name': 'Pending shares (%d)' % pending,
-                     'url': info.portal_url + s_url + s_args,
-                     'permissions': (),
-                     'category': 'global'}
-                    )
         return actions
 
 
@@ -175,9 +132,6 @@
                           , 'publish'
                           , 'reject'
                           , 'obsolete'
-                          , 'submit_share'
-                          , 'share'
-                          , 'divert_share'
                           , 'refresh'
                           ))
 
@@ -223,12 +177,8 @@
         elif action == 'reject':
             if not allow_review or is_owner:
                 raise 'Unauthorized', 'Not authorized'
-            if review_state == 'share pending':
-                setattr(ob, 'share_target', '')
-                setattr(ob, 'share_owner', '')
-                self.setReviewStateOf(ob, 'published', action, comment)
-            else:
-                self.setReviewStateOf(ob, 'private', action, comment)
+                
+            self.setReviewStateOf(ob, 'private', action, comment)
 
         elif action == 'obsolete':
             if not allow_change:
@@ -236,88 +186,6 @@
             self.setReviewStateOf(ob, 'obsolete', action, comment)
             self.unindexObject()
             raise ObjectDeleted
-            
-        elif action == 'submit_share':
-            if review_state != 'published':
-                raise 'Unauthorized', 'Only "published" content can be shared'
-            elif not allow_request:
-                raise 'Unauthorized', 'Not authorized'
-            share_target = kw.get('share_target')
-            if share_target and share_target != 'no_target':
-                share_obj = self.restrictedTraverse(share_target)
-                share_owner = share_obj.getOwner().getUserName()
-                setattr(ob, 'share_target', share_target)
-                setattr(ob, 'share_owner', share_owner)
-            else:
-                setattr(ob, 'share_target', 'no_target')
-
-            self.setReviewStateOf(ob, 'share pending', action, comment)
-
-        elif action == 'divert_share':
-            if review_state != 'share pending':
-                raise 'Unauthorized', 'Only pending shares can be deflected'
-            share_target = kw.get('share_target')
-            share_obj = self.restrictedTraverse(share_target)
-            share_owner = share_obj.getOwner().getUserName()
-            setattr(ob, 'share_target', share_target)
-            setattr(ob, 'share_owner', share_owner)
-            self.setReviewStateOf(ob, 'share pending', action, comment)
-
-        elif action == 'share':
-            if review_state != 'share pending':
-                raise 'Unauthorized', 'Only pending shares can be shared'
-            if is_owner:
-                raise 'Unauthorized', 'Owners cannot approve sharing'
-
-            mem_tool = getToolByName(self, 'portal_membership')
-            url_tool = getToolByName(self, 'portal_url')
-            obj_id = ob.getId()
-            obj_creatorName = ob.Creator()
-            obj_creatorObj = mem_tool.getMemberById(obj_creatorName).getUser()
-            container = aq_parent(aq_inner(ob))
-            target = self.unrestrictedTraverse(getattr(ob, 'share_target'))
-
-            subObs = ob.objectValues()
-            for sub_Ob in subObs:
-                try: subOb.unindexObject()
-                except: pass
-
-            container._delObject(obj_id)
-
-            counter = 1
-            new_obj_id = obj_id
-            while 1:
-                if hasattr(target, new_obj_id):
-                    new_obj_id = '%s_%d' % (obj_id, counter)
-                    counter = counter +1
-                else:
-                    ob.id = new_obj_id
-                    target._setObject(new_obj_id, aq_base(aq_inner(ob)))
-                    break
-
-            moved_obj = getattr(target, new_obj_id)
-            moved_obj.manage_setLocalRoles( obj_creatorName, ['Owner', 'Manager'] )
-            moved_obj.changeOwnership(obj_creatorObj)
-            
-            moved_subObs = moved_obj.objectValues()
-            for subOb in moved_subObs:
-                try: subOb.indexObject()
-                except: pass
- 
-            self.setReviewStateOf(moved_obj, 'shared', action, comment)
-
-            fav_obj = Favorite( id=new_obj_id
-                              , title=moved_obj.Title()
-                              , remote_url=url_tool.getRelativeUrl(moved_obj)
-                              , description=moved_obj.Description()
-                              )
-            container._setObject(new_obj_id, fav_obj)
-            fav_obj.changeOwnership(obj_creatorObj)
-            fav_obj.manage_delLocalRoles((current_user),)
-            fav_obj.manage_setLocalRoles(obj_creatorName, ['Owner'])
- 
-            # This will prevent further reindexing
-            raise ObjectMoved( moved_obj )
 
         elif action == 'refresh':
             if (review_state != 'stale') and (review_state != 'obsolete'):
@@ -362,15 +230,6 @@
             anon_view = 1
             owner_modify = 1
             reviewer_view = 1
-        elif review_state == 'share pending':
-            anon_view = 1
-            owner_modify = 0  # Require a retraction for editing.
-            reviewer_view = 1
-        elif review_state == 'shared':
-            anon_view = 1
-            owner_modify = 1
-            reviewer_view = 1
-
 
         # Modify role to permission mappings directly.
  






More information about the zopeorg-checkins mailing list