Changeset 64
- Timestamp:
- 2009年02月24日 12时10分58秒 (3 years ago)
- Location:
- trunk/pysvnmanager
- Files:
-
- 6 modified
-
controllers/authz.py (modified) (1 diff)
-
controllers/logs.py (modified) (3 diffs)
-
controllers/repos.py (modified) (1 diff)
-
controllers/role.py (modified) (6 diffs)
-
templates/logs/view.mako (modified) (1 diff)
-
templates/role/index.mako (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pysvnmanager/controllers/authz.py
r63 r64 182 182 try: 183 183 if isAddRepos: 184 if not self.is_super_user: 185 raise Exception("Access denied.") 184 assert self.is_super_user 186 185 repos = self.authz.add_repos(reposname) 187 186 else: 188 187 repos = self.authz.get_repos(reposname) 189 188 if not repos: 190 if not self.is_super_user: 191 raise Exception("Access denied.") 189 assert self.is_super_user 192 190 log.warning("Repos '%s' not exists. Create authz config automatically." % reposname) 193 191 repos = self.authz.add_repos(reposname) -
trunk/pysvnmanager/controllers/logs.py
r55 r64 34 34 # Default logs per page is 10 35 35 self.rcslog.log_per_page = cfg.log_per_page 36 self.is_super_user = self.authz.is_super_user(self.login_as) 37 self.own_reposlist = set(self.authz.get_manageable_repos_list(self.login_as)) 36 38 37 39 def __before__(self, action): 38 40 super(LogsController, self).__before__(action) 39 if not self. authz.is_super_user(self.login_as):41 if not self.own_reposlist and not self.is_super_user: 40 42 return redirect_to(h.url_for(controller='security', action='failed')) 41 43 … … 161 163 c.contents = self.rcslog.cat(id) 162 164 c.log = self.rcslog.get_logs(id, id)[0] 163 if self.rcslog.head == id:165 if self.rcslog.head != id and self.is_super_user: 164 166 c.rollback_enabled = True 165 167 else: … … 168 170 169 171 def rollback(self, id): 172 assert self.is_super_user 170 173 log_message = _("Rollback successfully to revision: %s") % id 171 174 try: -
trunk/pysvnmanager/controllers/repos.py
r63 r64 60 60 61 61 def validate_repos(self, reposname): 62 if reposname not in self.own_reposlist and not self.is_super_user: 63 raise Exception("Access denied.") 62 assert reposname in self.own_reposlist or self.is_super_user 64 63 65 64 def init_repos_list(self): -
trunk/pysvnmanager/controllers/role.py
r50 r64 35 35 self.userlist = map(lambda x:x.uname, self.authz.userlist) 36 36 self.grouplist = map(lambda x:x.uname, self.authz.grouplist) 37 self.is_super_user = self.authz.is_super_user(self.login_as) 38 self.own_reposlist = self.authz.get_manageable_repos_list(self.login_as) 37 39 38 40 def __before__(self, action): 39 41 super(RoleController, self).__before__(action) 40 if not self. authz.is_super_user(self.login_as):42 if not self.own_reposlist and not self.is_super_user: 41 43 return redirect_to(h.url_for(controller='security', action='failed')) 42 44 … … 46 48 c.userlist = self.userlist 47 49 c.grouplist = self.grouplist 50 c.is_super_user = self.is_super_user 48 51 return render('/role/index.mako') 49 52 … … 102 105 103 106 def save_group(self): 107 assert self.is_super_user 104 108 d = request.params 105 109 member_list = [] … … 133 137 134 138 def delete_group(self): 139 assert self.is_super_user 135 140 d = request.params 136 141 rolename = d.get('role') … … 154 159 155 160 def save_alias(self): 161 assert self.is_super_user 156 162 d = request.params 157 163 aliasname = d.get('aliasname') … … 175 181 176 182 def delete_alias(self): 183 assert self.is_super_user 177 184 d = request.params 178 185 aliasname = d.get('aliasname') -
trunk/pysvnmanager/templates/logs/view.mako
r39 r64 14 14 15 15 <form name="main_form" action="${h.url_for(action='rollback')}" onsubmit="return confirm('${_("Rollback to this revision, are you sure?")}');"> 16 % if notc.rollback_enabled:16 % if c.rollback_enabled: 17 17 <input type="submit" name="submit" value='${_("Rollback to this revision")}'> 18 18 -
trunk/pysvnmanager/templates/role/index.mako
r55 r64 602 602 function enable_save_btn() 603 603 { 604 % if c.is_super_user: 604 605 document.main_form.save_btn.disabled = false; 606 % else: 607 ; 608 % endif 605 609 } 606 610 … … 612 616 function enable_delete_btn() 613 617 { 618 % if c.is_super_user: 614 619 document.main_form.delete_btn.disabled = false; 620 % else: 621 ; 622 % endif 615 623 } 616 624 … … 632 640 ${_("Select a role name:")} 633 641 ${h.select("role_list", "", role_list_opts, onChange='role_changed()')} 634 <a href="#" onclick='new_group()'>[+${_("New Group")}]</a> 635 <a href="#" onclick='new_alias()'>[+${_("New Alias")}]</a> 642 % if c.is_super_user: 643 <a href="#" onclick='new_group()'>[+${_("New Group")}]</a> 644 <a href="#" onclick='new_alias()'>[+${_("New Alias")}]</a> 645 % endif 636 646 </div> 637 647 … … 706 716 <div id='action_box' style="position:relative;" class=gainlayout> 707 717 <input type="hidden" name="rolename"> 708 <input type="button" name="save_btn" value='${_("Save")}' onClick="do_save(this.form)">709 <input type="button" name="delete_btn" value='${_("Delete")}' onClick="do_delete(this.form)" >710 <input type="button" name="cancel_btn" value='${_("Cancel")}' onClick="role_changed()" >718 <input type="button" name="save_btn" value='${_("Save")}' onClick="do_save(this.form)" ${c.is_super_user or "DISABLED"}> 719 <input type="button" name="delete_btn" value='${_("Delete")}' onClick="do_delete(this.form)" ${c.is_super_user or "DISABLED"}> 720 <input type="button" name="cancel_btn" value='${_("Cancel")}' onClick="role_changed()" ${c.is_super_user or "DISABLED"}> 711 721 </div> 712 722 <!-- end: action_box -->
![(please configure the [header_logo] section in trac.ini)](/trac/pysvnmanager/chrome/common/trac_banner.png)