X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=users.php;h=fd9e7593fb30c941858390f6d321b98a2c9ba120;hb=1dc4d7237116ebf149921a5988be96ab2cf40f3c;hp=fe0e92da900c5075ad45f05bb1ad301857cbcdf3;hpb=7797eda9fb04c217a813db88e00bb9ee541eabbb;p=timetracker.git diff --git a/users.php b/users.php index fe0e92da..fd9e7593 100644 --- a/users.php +++ b/users.php @@ -36,58 +36,31 @@ if (!(ttAccessAllowed('view_users') || ttAccessAllowed('manage_users'))) { header('Location: access_denied.php'); exit(); } -if ($request->isPost() && !$user->isGroupValid($request->getParameter('group'))) { - header('Location: access_denied.php'); // Wrong group id in post. - exit(); -} -// Note: we don't use "manage_subgroups" in access check, because when user cannot -// "manage_users" or "view_users" they do not belong here. // End of access checks. -if ($request->isPost()) { - $group_id = $request->getParameter('group'); - $user->setOnBehalfGroup($group_id); -} else { - $group_id = $user->getGroup(); -} - -$form = new Form('usersForm'); -if ($user->can('manage_subgroups')) { - $groups = $user->getGroupsForDropdown(); - if (count($groups) > 1) { - $form->addInput(array('type'=>'combobox', - 'onchange'=>'this.form.submit();', - 'name'=>'group', - 'style'=>'width: 250px;', - 'value'=>$group_id, - 'data'=>$groups, - 'datakeys'=>array('id','name'))); - $smarty->assign('group_dropdown', 1); - } -} - // Prepare a list of active users. +$rank = $user->getMaxRankForGroup($user->getGroup()); 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,'include_login'=>true,'include_role'=>true); + $options = array('status'=>ACTIVE,'max_rank'=>$rank,'include_clients'=>true,'include_self'=>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); + $options = array('status'=>INACTIVE,'max_rank'=>$rank,'include_clients'=>true,'include_login'=>true,'include_role'=>true); $inactive_users = $user->getUsers($options); } -// Check if the group is set to show indicators for uncompleted time entries. -if ($user->uncompleted_indicators) { +$uncompleted_indicators = $user->getConfigOption('uncompleted_indicators'); +if ($uncompleted_indicators) { // Check each active user if they have an uncompleted time entry. foreach ($active_users as $key => $user) { $active_users[$key]['has_uncompleted_entry'] = (bool) ttTimeHelper::getUncompleted($user['id']); } + $smarty->assign('uncompleted_indicators', true); } -$smarty->assign('forms', array($form->getName()=>$form->toArray())); $smarty->assign('active_users', $active_users); $smarty->assign('inactive_users', $inactive_users); $smarty->assign('title', $i18n->get('title.users'));