Changeset 32

Show
Ignore:
Timestamp:
2008年07月30日 23时05分05秒 (4 years ago)
Author:
jiangx
Message:

Use Controller's before method to check authz. Controller's before call BaseClass?'s before at the begining.

Location:
trunk/pysvnmanager
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • trunk/pysvnmanager/controllers/authz.py

    r25 r32  
    1717        self.reposlist = self.authz.get_manageable_repos_list(self.login_as) 
    1818         
    19     def __auth_failed(self): 
     19    def __before__(self, action): 
     20        super(AuthzController, self).__before__(action) 
    2021        if not self.reposlist: 
    21             return True 
    22         else: 
    23             return False 
     22            return redirect_to(h.url_for(controller='security', action='failed')) 
    2423 
    2524    def index(self): 
    26         if self.__auth_failed(): 
    27             return render('/auth_failed.mako') 
    28  
    2925        c.revision = self.authz.version 
    3026        c.reposlist = self.reposlist 
     
    5147 
    5248    def init_repos_list(self): 
    53         if self.__auth_failed(): 
    54             return render('/auth_failed.mako') 
    55  
    5649        total = 0; 
    5750        msg = '' 
     
    7063 
    7164    def repos_changed(self): 
    72         if self.__auth_failed(): 
    73             return render('/auth_failed.mako') 
    74  
    7565        total = 0; 
    7666        msg = '' 
     
    9585 
    9686    def path_changed(self): 
    97         if self.__auth_failed(): 
    98             return render('/auth_failed.mako') 
    99  
    10087        total = 0; 
    10188        msg = '' 
     
    121108         
    122109    def save_authz(self): 
    123         if self.__auth_failed(): 
    124             return render('/auth_failed.mako') 
    125  
    126110        d = request.params 
    127111         
     
    188172 
    189173    def delete_authz(self): 
    190         if self.__auth_failed(): 
    191             return render('/auth_failed.mako') 
    192  
    193174        d = request.params 
    194175         
  • trunk/pysvnmanager/controllers/check.py

    r25 r32  
    1717        self.reposlist = self.authz.get_manageable_repos_list(self.login_as) 
    1818 
    19     def __authz_failed(self): 
     19    def __before__(self, action): 
     20        super(CheckController, self).__before__(action) 
    2021        if not self.reposlist: 
    21             return True 
    22         else: 
    23             return False 
    24      
     22            return redirect_to(h.url_for(controller='security', action='failed')) 
     23         
    2524    def index(self): 
    26         if self.__authz_failed(): 
    27             return render('/auth_failed.mako') 
    28  
    2925        c.reposlist = self.reposlist 
    3026        c.userlist = map(lambda x:x.uname, self.authz.grouplist) 
     
    3531     
    3632    def access_map(self): 
    37         if self.__authz_failed(): 
    38             return render('/auth_failed.mako') 
    39  
    4033        msg = "" 
    4134        d = request.params 
     
    7871         
    7972    def get_auth_path(self, repos=None, type=None, path=None): 
    80         if self.__authz_failed(): 
    81             return render('/auth_failed.mako') 
    82  
    8373        total = 0; 
    8474        msg = '' 
  • trunk/pysvnmanager/controllers/logs.py

    r31 r32  
    1515        self.rcslog = _rcs.RcsLog(cfg.authz_file) 
    1616        # Default logs per page is 10 
    17         #self.rcslog.log_per_page = 10 
    18  
    19     def __auth_failed(self): 
    20         if self.authz.is_super_user(self.login_as): 
    21             return False 
    22         else: 
    23             return True 
     17        self.rcslog.log_per_page = 1 
     18     
     19    def __before__(self, action): 
     20        super(LogsController, self).__before__(action) 
     21        if not self.authz.is_super_user(self.login_as): 
     22            return redirect_to(h.url_for(controller='security', action='failed')) 
    2423     
    2524    def index(self): 
    26         if self.__auth_failed(): 
    27             return render('/auth_failed.mako') 
    28          
    2925        c.display = self.__get_log_display(1) 
    3026        return render('/logs/index.mako') 
    3127 
    3228    def paginate(self): 
    33         if self.__auth_failed(): 
    34             return render('/auth_failed.mako') 
    35          
    3629        d = request.params 
    3730        page = int(d.get('page', '1')) 
     
    4538        paginate = self.__get_paginate(current) 
    4639         
    47         buff  = '<span>%s</span>' % paginate 
     40        buff  = '<div>%s</div>' % paginate 
    4841        buff +=''' 
     42<div> 
    4943<table> 
    5044<tr> 
     
    7165         
    7266        buff += ''' 
    73 <span>%s</span> 
    74 </table>''' % paginate 
     67</table></div> 
     68<div>%s</div>''' % paginate 
    7569 
    7670        return buff 
     
    9185        sep = " " 
    9286        buff = _("Page: ") 
    93         for i in range(1, total_page+1): 
     87         
     88        i=1 
     89        while True: 
     90            if i > total_page: 
     91                break 
    9492            if i == current: 
    9593                buff += '%d%s' % (i, sep) 
     94                i+=1 
    9695            elif i == 1 or i == total_page or i == current-1 or i == current+1: 
    9796                buff += '%s%s' % (link(i), sep) 
     97                i+=1 
    9898            elif i < current-1: 
    99                 buff += '...' 
     99                buff += '...%s' % sep 
    100100                i = current-1 
    101101            elif i > current+1: 
    102                 buff += '...' 
     102                buff += '...%s' % sep 
    103103                i = total_page 
     104            else: 
     105                i+=1 
    104106 
    105107        return buff  
  • trunk/pysvnmanager/controllers/role.py

    r24 r32  
    1919        self.grouplist = map(lambda x:x.uname, self.authz.grouplist) 
    2020 
    21     def __auth_failed(self): 
    22         if self.authz.is_super_user(self.login_as): 
    23             return False 
    24         else: 
    25             return True 
     21    def __before__(self, action): 
     22        super(RoleController, self).__before__(action) 
     23        if not self.authz.is_super_user(self.login_as): 
     24            return redirect_to(h.url_for(controller='security', action='failed')) 
    2625 
    2726    def index(self): 
    28         if self.__auth_failed(): 
    29             return render('/auth_failed.mako') 
    30          
    3127        c.revision = self.authz.version 
    3228        c.aliaslist  = self.aliaslist 
     
    3632     
    3733    def get_role_info(self, role=None): 
    38         if self.__auth_failed(): 
    39             return render('/auth_failed.mako') 
    40  
    4134        members_count = 0; 
    4235        msg = '' 
     
    9285         
    9386    def save_group(self): 
    94         if self.__auth_failed(): 
    95             return render('/auth_failed.mako') 
    96  
    9787        d = request.params 
    9888        member_list = [] 
     
    126116     
    127117    def delete_group(self): 
    128         if self.__auth_failed(): 
    129             return render('/auth_failed.mako') 
    130  
    131118        d = request.params 
    132119        rolename = d.get('role') 
     
    150137         
    151138    def save_alias(self): 
    152         if self.__auth_failed(): 
    153             return render('/auth_failed.mako') 
    154  
    155139        d = request.params 
    156140        aliasname = d.get('aliasname') 
     
    174158     
    175159    def delete_alias(self): 
    176         if self.__auth_failed(): 
    177             return render('/auth_failed.mako') 
    178  
    179160        d = request.params 
    180161        aliasname = d.get('aliasname') 
  • trunk/pysvnmanager/controllers/security.py

    r24 r32  
    5555            session.save() 
    5656        redirect_to(h.url_for(controller="security")) 
     57 
     58    def failed(self): 
     59        return render('/auth_failed.mako') 
  • trunk/pysvnmanager/templates/logs/index.mako

    r31 r32  
    1717                onComplete: 
    1818                        function(request) 
    19                                 {hideNoticesPopup();}, 
     19                                {hideNoticesPopup(); 
     20                                new Effect.Highlight("logs",{duration:1});}, 
    2021                parameters:params}); 
    2122}