Преглед на файлове

Improved user admin experience for non-superusers

Enrico Berti преди 13 години
родител
ревизия
6afdc2af26

+ 10 - 2
apps/useradmin/src/useradmin/templates/list_groups.mako

@@ -30,7 +30,9 @@ ${layout.menubar(section='groups')}
 	<div class="well">
 			Filter by name: <input id="filterInput"/> <a href="#" id="clearFilterBtn" class="btn">Clear</a>
 			<p class="pull-right">
+				%if user.is_superuser == True:
 				<a id="addGroupBtn" href="#" class="btn">Add group</a>
+				%endif
 			</p>
 	</div>
       <table class="datatables">
@@ -39,19 +41,23 @@ ${layout.menubar(section='groups')}
             <th>${_('Group Name')}</th>
             <th>${_('Members')}</th>
             <th>${_('Permissions')}</th>
+			%if user.is_superuser == True:
 			<th>&nbsp;</th>
+			%endif
           </tr>
         </head>
         <tbody>
         % for group in groups:
-          <tr class="groupRow" data-search="${group.name}${', '.join([user.username for user in group.user_set.all()])}">
+          <tr class="groupRow" data-search="${group.name}${', '.join([group_user.username for group_user in group.user_set.all()])}">
             <td>${group.name}</td>
-            <td>${', '.join([user.username for user in group.user_set.all()])}</td>
+            <td>${', '.join([group_user.username for group_user in group.user_set.all()])}</td>
             <td>${', '.join([perm.app + "." + perm.action for perm in group_permissions(group)])}</td>
+			%if user.is_superuser == True:
             <td>
               <a title="Edit ${group.name}" class="btn small editGroupBtn" data-url="${ url('useradmin.views.edit_group', name=urllib.quote(group.name)) }" data-name="${group.name}">Edit</a>
               <a title="Delete ${group.name}" class="btn small confirmationModal" alt="Are you sure you want to delete ${group.name}?" href="javascript:void(0)" data-confirmation-url="${ url('useradmin.views.delete_group', name=urllib.quote_plus(group.name)) }">Delete</a>
             </td>
+			%endif
           </tr>
         % endfor
         </tbody>
@@ -111,7 +117,9 @@ ${layout.menubar(section='groups')}
 					{ "sWidth": "20%" },
 					{ "sWidth": "20%" },
 					null,
+					%if user.is_superuser == True:
 					{ "sWidth": "120px" },
+					%endif
 				 ]
 			});
 			$(".dataTables_wrapper").css("min-height","0");

+ 4 - 0
apps/useradmin/src/useradmin/templates/list_permissions.mako

@@ -37,7 +37,9 @@ ${layout.menubar(section='permissions')}
             <th>${_('Application')}</th>
             <th>${_('Permission')}</th>
             <th>${_('Groups')}</th>
+			%if user.is_superuser == True:
 			<th>&nbsp;</th>
+			%endif
           </tr>
         </head>
         <tbody>
@@ -46,9 +48,11 @@ ${layout.menubar(section='permissions')}
             <td>${perm.app}</td>
             <td>${perm.description}</td>
             <td>${', '.join([group.name for group in Group.objects.filter(grouppermission__hue_permission=perm).order_by('name')])}</td>
+			%if user.is_superuser == True:
             <td>
               <a title="Edit permission" class="btn small editPermissionBtn" data-url="${ url('useradmin.views.edit_permission', app=urllib.quote(perm.app), priv=urllib.quote(perm.action)) }" data-name="${perm.app}">Edit</a>
             </td>
+			%endif
           </tr>
         % endfor
         </tbody>

+ 19 - 9
apps/useradmin/src/useradmin/templates/list_users.mako

@@ -29,7 +29,9 @@ ${layout.menubar(section='users')}
 	<div class="well">
 			Filter by name: <input id="filterInput"/> <a href="#" id="clearFilterBtn" class="btn">Clear</a>
 			<p class="pull-right">
+				%if user.is_superuser == True:
 				<a id="addUserBtn" href="#" class="btn">Add user</a>
+				%endif
 			</p>
 	</div>
       <table class="datatables">
@@ -44,18 +46,26 @@ ${layout.menubar(section='users')}
           </tr>
         </head>
         <tbody>
-        % for user in users:
-          <tr class="userRow" data-search="${user.username}${user.first_name}${user.last_name}${user.email}">
-            <td>${user.username}</td>
-            <td>${user.first_name}</td>
-            <td>${user.last_name}</td>
-            <td>${user.email}</td>
+        % for listed_user in users:
+          <tr class="userRow" data-search="${listed_user.username}${listed_user.first_name}${listed_user.last_name}${listed_user.email}">
+            <td>${listed_user.username}</td>
+            <td>${listed_user.first_name}</td>
+            <td>${listed_user.last_name}</td>
+            <td>${listed_user.email}</td>
             <td>
-              ${user.last_login.strftime('%c')}
+              ${listed_user.last_login.strftime('%c')}
             </td>
             <td>
-              <a title="Edit ${user.username}" class="btn small editUserBtn" data-url="${ url('useradmin.views.edit_user', username=urllib.quote(user.username)) }" data-name="${user.username}">Edit</a>
-              <a title="Delete ${user.username}" class="btn small confirmationModal" alt="Are you sure you want to delete ${user.username}?" href="javascript:void(0)" data-confirmation-url="${ url('useradmin.views.delete_user', username=urllib.quote_plus(user.username)) }">Delete</a>
+			  %if user.is_superuser == True:
+              <a title="Edit ${listed_user.username}" class="btn small editUserBtn" data-url="${ url('useradmin.views.edit_user', username=urllib.quote(listed_user.username)) }" data-name="${listed_user.username}">Edit</a>
+              <a title="Delete ${listed_user.username}" class="btn small confirmationModal" alt="Are you sure you want to delete ${listed_user.username}?" href="javascript:void(0)" data-confirmation-url="${ url('useradmin.views.delete_user', username=urllib.quote_plus(listed_user.username)) }">Delete</a>
+			  %else:
+				%if user.username == listed_user.username:
+					<a title="Edit ${listed_user.username}" class="btn small editUserBtn" data-url="${ url('useradmin.views.edit_user', username=urllib.quote(listed_user.username)) }" data-name="${listed_user.username}">Edit</a>
+				%else:
+					&nbsp;
+				%endif
+			  %endif
             </td>
           </tr>
         % endfor