X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=roles.php;h=fe68329d36c27caba68a48bac622e5850a6068e0;hb=b01b40bf411268d98c57adb97d111166698eadb8;hp=efeb495752c660132a1305dbcbc1c7a45c2ce3ec;hpb=b401022733a9645ed701522585b2d57db936f5cc;p=timetracker.git diff --git a/roles.php b/roles.php index efeb4957..fe68329d 100644 --- a/roles.php +++ b/roles.php @@ -31,17 +31,26 @@ import('form.Form'); import('ttTeamHelper'); import('ttRoleHelper'); -// Access check. +// Access checks. if (!ttAccessAllowed('manage_roles')) { header('Location: access_denied.php'); exit(); } +$group_id = (int)$request->getParameter('group_id'); +if ($group_id && !$user->isGroupValid($group_id)) { + header('Location: access_denied.php'); + exit(); +} +// End of access checks. -// If there are no roles in team, introduce default ones. -if (!ttRoleHelper::rolesExist()) ttRoleHelper::createDefaultRoles(); // TODO: refactor or remove after roles revamp. +if ($group_id) { + // We are passed a valid group_id (most likely from group_edit.php). + // Set on behalf group accordingly. + $user->setOnBehalfGroup($group_id); +} -$smarty->assign('active_roles', ttTeamHelper::getActiveRoles($user->team_id)); -$smarty->assign('inactive_roles', ttTeamHelper::getInactiveRoles($user->team_id)); -$smarty->assign('title', $i18n->getKey('title.roles')); +$smarty->assign('active_roles', ttTeamHelper::getActiveRolesForUser()); +$smarty->assign('inactive_roles', ttTeamHelper::getInactiveRolesForUser()); +$smarty->assign('title', $i18n->get('title.roles')); $smarty->assign('content_page_name', 'roles.tpl'); $smarty->display('index.tpl');