Improved users page a bit in accordance with user rights.
authorNik Okuntseff <support@anuko.com>
Mon, 26 Mar 2018 00:10:07 +0000 (00:10 +0000)
committerNik Okuntseff <support@anuko.com>
Mon, 26 Mar 2018 00:10:07 +0000 (00:10 +0000)
WEB-INF/lib/ttUser.class.php
WEB-INF/templates/footer.tpl
users.php

index 3461ac5..5321e74 100644 (file)
@@ -251,12 +251,14 @@ class ttUser {
     $includeSelf = isset($options['include_self']);
 
     $select_part = 'select u.id, u.name';
+    if (isset($options['include_login'])) $select_part .= ', u.login';
     if (!isset($options['include_clients'])) $select_part .= ', r.rights';
+    if (isset($options['include_role'])) $select_part .= ', r.name as role_name, r.rank';
 
     $from_part = ' from tt_users u';
 
     $left_joins = null;
-    if (isset($options['max_rank']) || $skipClients)
+    if (isset($options['max_rank']) || $skipClients || isset($options['include_role']))
         $left_joins .= ' left join tt_roles r on (u.role_id = r.id)';
 
     $where_part = " where u.team_id = $this->team_id";
index 658d120..e9e28a3 100644 (file)
@@ -12,7 +12,7 @@
       <br>
       <table cellspacing="0" cellpadding="4" width="100%" border="0">
         <tr>
-          <td align="center">&nbsp;Anuko Time Tracker 1.17.72.4168 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
+          <td align="center">&nbsp;Anuko Time Tracker 1.17.72.4169 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
             <a href="https://www.anuko.com/lp/tt_4.htm" target="_blank">{$i18n.footer.credits}</a> |
             <a href="https://www.anuko.com/lp/tt_5.htm" target="_blank">{$i18n.footer.license}</a> |
             <a href="https://www.anuko.com/lp/tt_7.htm" target="_blank">{$i18n.footer.improve}</a>
index 35fd416..f533545 100644 (file)
--- a/users.php
+++ b/users.php
@@ -38,11 +38,17 @@ if (!(ttAccessAllowed('view_users') || ttAccessAllowed('manage_users'))) {
   exit();
 }
 
-// Get users.
-$active_users = ttTeamHelper::getActiveUsers(array('getAllFields'=>true));
-if($user->canManageTeam()) {
-  $can_delete_manager = (1 == count($active_users));
-  $inactive_users = ttTeamHelper::getInactiveUsers($user->team_id, true);
+// Prepare a list of active users.
+if ($user->can('view_users'))
+  $options = array('status'=>ACTIVE,'include_clients'=>true,'include_login'=>true,'include_role'=>true);
+else /* if ($user->can('manage_users')) */
+  $options = array('status'=>ACTIVE,'max_rank'=>$user->rank-1,'include_clients'=>true,'include_self'=>true,'self_first'=>true,'include_login'=>true,'include_role'=>true);
+$active_users = $user->getUsers($options);
+
+// Prepare a list of inactive users.
+if($user->can('manage_users')) {
+  $options = array('status'=>INACTIVE,'max_rank'=>$user->rank-1,'include_clients'=>true,'include_login'=>true,'include_role'=>true);
+  $inactive_users = $user->getUsers($options);
 }
 
 // Check if the team is set to show indicators for uncompleted time entries.
@@ -55,7 +61,6 @@ if ($user->uncompleted_indicators) {
 
 $smarty->assign('active_users', $active_users);
 $smarty->assign('inactive_users', $inactive_users);
-$smarty->assign('can_delete_manager', $can_delete_manager);
 $smarty->assign('title', $i18n->get('title.users'));
 $smarty->assign('content_page_name', 'users.tpl');
 $smarty->display('index.tpl');