- Timestamp:
- 04.01.2012 21:54:35 (5 months ago)
- Location:
- ZMS/trunk
- Files:
-
- 2 edited
-
_accessmanager.py (modified) (6 diffs)
-
dtml/ZMS/manage_customize.dtml (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ZMS/trunk/_accessmanager.py
r1756 r1785 103 103 return id 104 104 105 105 106 # ------------------------------------------------------------------------------ 106 107 # _accessmanager.deleteUser: 107 108 # ------------------------------------------------------------------------------ 108 def deleteUser(self, id, REQUEST): 109 userFldr = self.getUserFolder() 109 def deleteUser(self, id): 110 110 111 111 # Delete local roles in node. 112 # ---------------------------113 112 nodes = self.getUserAttr(id,'nodes',{}) 114 113 for node in nodes.keys(): … … 118 117 119 118 # Delete user from ZMS dictionary. 120 # --------------------------------121 119 self.delUserAttr(id) 122 120 123 121 # Delete user from User-Folder. 124 # -----------------------------122 userFldr = self.getUserFolder() 125 123 if userFldr.meta_type != 'LDAPUserFolder': 126 124 userObj = userFldr.getUser(id) 127 125 if userObj is not None: 128 126 userFldr.userFolderDelUsers([id]) 129 130 id = ''131 return id132 127 133 128 … … 629 624 ############################################################################ 630 625 626 # ------------------------------------------------------------------------------ 627 # AccessManager.purgeLocalUsers 628 # ------------------------------------------------------------------------------ 629 def purgeLocalUsers(self, ob=None, valid_userids=[], invalid_userids=[]): 630 rtn = "" 631 if ob is None: ob = self 632 633 for local_role in ob.get_local_roles(): 634 delLocalRoles = False 635 userid = local_role[0] 636 userroles = local_role[1] 637 if 'Owner' not in userroles: 638 if userid not in valid_userids and userid not in invalid_userids: 639 userob = ob.findUser(userid) 640 if userob is None: 641 invalid_userids.append(userid) 642 else: 643 valid_userids.append(userid) 644 if userid in valid_userids: 645 nodes = self.getUserAttr(userid,'nodes',{}) 646 if len(filter(lambda x: (x=="{$}" and ob.id=="content") or x.endswith("/%s}"%ob.id),nodes.keys()))==0: 647 delLocalRoles = True 648 elif userid in invalid_userids: 649 delLocalRoles = True 650 if delLocalRoles: 651 rtn += ob.absolute_url()+ " " + userid + " " + str(userroles) + "<br/>" 652 ob.manage_delLocalRoles(userids=[userid]) 653 654 # Process subtree. 655 for subob in ob.objectValues(ob.dGlobalAttrs.keys()): 656 rtn += self.purgeLocalUsers(subob, valid_userids, invalid_userids) 657 658 return rtn 659 660 631 661 # -------------------------------------------------------------------------- 632 662 # AccessManager.setLocalUser: 633 663 # -------------------------------------------------------------------------- 634 664 def setLocalUser(self, id, node, roles, langs): 635 #-- Insert node to user-properties. 665 666 # Insert node to user-properties. 636 667 nodes = self.getUserAttr(id,'nodes',{}) 637 668 nodes[node] = {'langs':langs,'roles':roles} … … 639 670 self.setUserAttr(id,'nodes',nodes) 640 671 roles = list(roles) 641 if 'ZMSAdministrator' in roles: roles.append('Manager') 642 #-- Set local roles in node. 672 if 'ZMSAdministrator' in roles: 673 roles.append('Manager') 674 675 # Set local roles in node. 643 676 ob = self.getLinkObj(node,self.REQUEST) 644 try:677 if ob is not None: 645 678 ob.manage_setLocalRoles(id,roles) 646 except:647 _globals.writeError(self,'[setLocalUser]: node=%s does not exist!'%node)648 679 649 680 … … 652 683 # -------------------------------------------------------------------------- 653 684 def delLocalUser(self, id, node): 654 #-- Delete node from user-properties. 685 686 # Delete node from user-properties. 655 687 nodes = self.getUserAttr(id,'nodes',{}) 656 688 if nodes.has_key(node): del nodes[node] 657 689 nodes = nodes.copy() 658 690 self.setUserAttr(id,'nodes',nodes) 659 #-- Delete local roles in node. 691 692 # Delete local roles in node. 660 693 ob = self.getLinkObj(node,self.REQUEST) 661 try:694 if ob is not None: 662 695 ob.manage_delLocalRoles(userids=[id]) 663 except:664 _globals.writeError(self,'[delLocalUser]: node=%s does not exist!'%node)665 696 666 697 … … 828 859 if key=='obj': 829 860 #-- Delete user. 830 id = deleteUser(self,id,REQUEST) 861 deleteUser(self,id) 862 id = '' 831 863 #-- Assemble message. 832 864 message = self.getZMILangStr('MSG_DELETED')%int(1) -
ZMS/trunk/dtml/ZMS/manage_customize.dtml
r1755 r1785 11 11 </dtml-comment> 12 12 <dtml-if "REQUEST.get('key')=='Maintenance'"> 13 <dtml-if "REQUEST.get('btn','').startswith('Reindex')"> 13 <dtml-if "REQUEST.get('btn','').startswith('Purge')"> 14 <div id="system_msg" class="ui-state-highlight ui-corner-all"> 15 <b>UserFolder:</b> 16 Purge local users<br/><dtml-var "purgeLocalUsers()"> 17 (<dtml-var "getLangFmtDate(ZopeTime())">) 18 </div> 19 <dtml-elif "REQUEST.get('btn','').startswith('Reindex')"> 14 20 <div id="system_msg" class="ui-state-highlight ui-corner-all"> 15 21 <b>Catalog:</b> … … 420 426 </tr> 421 427 <tr valign="top" class="zmiNeutralColorLight0"> 428 <td class="form-small"><b>UserFolder</b></td> 429 <td class="form-small"></td> 430 <td class="form-small"></td> 431 <td class="form-small"><input type="submit" value="Purge » " name="btn" style="width:60px" /></td> 432 </tr> 433 <tr valign="top" class="zmiNeutralColorLight0"> 422 434 <td class="form-small"><b>Catalog</b></td> 423 435 <td class="form-small"><input type="checkbox" value="1" id="catalog_awareness_active" name="catalog_awareness_active:int" class="form-checkbox" <dtml-if "getConfProperty('ZMS.CatalogAwareness.active',1)==1">checked="checked"</dtml-if>/> <label for="catalog_awareness_active">Awareness</label></td>
Note: See TracChangeset
for help on using the changeset viewer.
