浏览代码

allow users to manage groups

Damien Accorsi 11 年前
父节点
当前提交
5c5644802b

+ 3 - 4
pboard/pboard/controllers/admin.py 查看文件

1
 # -*- coding: utf-8 -*-
1
 # -*- coding: utf-8 -*-
2
 """Main Controller"""
2
 """Main Controller"""
3
 
3
 
4
+import tg.predicates
4
 from tgext.admin.config import AdminConfig, CrudRestControllerConfig
5
 from tgext.admin.config import AdminConfig, CrudRestControllerConfig
5
 from sprox.formbase import AddRecordForm
6
 from sprox.formbase import AddRecordForm
6
 from sprox import formbase as sform
7
 from sprox import formbase as sform
86
     display_name           = TextField
87
     display_name           = TextField
87
     verify_password        = PasswordField('verify_password')
88
     verify_password        = PasswordField('verify_password')
88
     groups = tw2f.MultipleSelectionField('groups')
89
     groups = tw2f.MultipleSelectionField('groups')
89
-    """
90
-    __base_validator__     = form_validator
91
-    """
90
+
92
 
91
 
93
 class UserTableFiller(sfill.TableFiller):
92
 class UserTableFiller(sfill.TableFiller):
94
 
93
 
121
 class PodAdminConfig(AdminConfig):
120
 class PodAdminConfig(AdminConfig):
122
     user = UserCrudConfig
121
     user = UserCrudConfig
123
     group = GroupCrudConfig
122
     group = GroupCrudConfig
124
-
123
+    allow_only = tg.predicates.in_group('user')
125
 
124
 
126
 
125
 

+ 2 - 2
pboard/pboard/controllers/debug.py 查看文件

23
 
23
 
24
 class DebugController(BaseController):
24
 class DebugController(BaseController):
25
 
25
 
26
-  allow_only = predicates.in_group('admin',
27
-                              msg=l_('You\'re not allowed to access this page'))
26
+  # allow_only = predicates.in_group('admin',
27
+  #                            msg=l_('You\'re not allowed to access this page'))
28
 
28
 
29
   @expose('pboard.templates.debug.iconset')
29
   @expose('pboard.templates.debug.iconset')
30
   def iconset(self, **kw):
30
   def iconset(self, **kw):

+ 1 - 1
pboard/pboard/templates/document-widgets.mak 查看文件

52
       <a class="btn btn-small dropdown-toggle" data-toggle="dropdown" href="#">
52
       <a class="btn btn-small dropdown-toggle" data-toggle="dropdown" href="#">
53
         <span class="caret"></span>
53
         <span class="caret"></span>
54
       </a>
54
       </a>
55
-      <ul class="dropdown-menu">
55
+      <ul class="dropdown-menu pull-right">
56
         <li>
56
         <li>
57
           <div class="pod-grey strong" ><strong><i class="fa fa-magic"></i> ${_('Current status is...')}</strong><br/></div>
57
           <div class="pod-grey strong" ><strong><i class="fa fa-magic"></i> ${_('Current status is...')}</strong><br/></div>
58
         </li>
58
         </li>

+ 14 - 4
pboard/pboard/templates/master.mak 查看文件

148
 
148
 
149
           % endif
149
           % endif
150
 
150
 
151
-          % if request.identity and request.identity['repoze.who.userid']=='damien@accorsi.info':
151
+          % if request.identity:
152
             <li class="dropdown">
152
             <li class="dropdown">
153
-              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Admin <b class="caret"></b></a>
153
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">
154
+                <i class="fa fa-cogs"></i>
155
+                Admin <b class="caret"></b>
156
+              </a>
154
               <ul class="dropdown-menu">
157
               <ul class="dropdown-menu">
155
-                <li><a href="${tg.url('/admin')}"><i class="fa fa-magic"></i> Manage</a></li>
158
+                <li><a href="${tg.url('/admin/users')}"><i class="fa fa-user"></i> ${_('List users')}</a></li>
159
+                <li><a href="${tg.url('/admin/groups')}"><i class="fa fa-group"></i> ${_('Manage groups')}</a></li>
160
+                % if request.identity and 'managers' in request.identity['groups']:
161
+                  <li class="divider" role="presentation"></li>
162
+                  <li><a href="${tg.url('/admin')}"><i class="fa fa-magic"></i> Manage all</a></li>
163
+                % endif
156
               </ul>
164
               </ul>
157
             </li>
165
             </li>
158
-            
166
+          % endif
167
+
168
+          % if request.identity and 'managers' in request.identity['groups']:
159
             <li class="dropdown">
169
             <li class="dropdown">
160
               <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-cogs "></i> Debug <b class="caret"></b></a>
170
               <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-cogs "></i> Debug <b class="caret"></b></a>
161
               <ul class="dropdown-menu">
171
               <ul class="dropdown-menu">