Browse Source

allow users to manage groups

Damien Accorsi 10 years ago
parent
commit
5c5644802b

+ 3 - 4
pboard/pboard/controllers/admin.py View File

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

+ 2 - 2
pboard/pboard/controllers/debug.py View File

@@ -23,8 +23,8 @@ __all__ = ['DebugController']
23 23
 
24 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 29
   @expose('pboard.templates.debug.iconset')
30 30
   def iconset(self, **kw):

+ 1 - 1
pboard/pboard/templates/document-widgets.mak View File

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

+ 14 - 4
pboard/pboard/templates/master.mak View File

@@ -148,14 +148,24 @@
148 148
 
149 149
           % endif
150 150
 
151
-          % if request.identity and request.identity['repoze.who.userid']=='damien@accorsi.info':
151
+          % if request.identity:
152 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 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 164
               </ul>
157 165
             </li>
158
-            
166
+          % endif
167
+
168
+          % if request.identity and 'managers' in request.identity['groups']:
159 169
             <li class="dropdown">
160 170
               <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-cogs "></i> Debug <b class="caret"></b></a>
161 171
               <ul class="dropdown-menu">