X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=role_edit.php;h=972d4540cb2e3e9d2f392a640e3d1a00663f664e;hb=e23ea8f905bd9122e5c52a3457d05ebb20f6570b;hp=b665e6dcb0ce5701758db83ccaf5fd098eadf187;hpb=5402d18abe68d10b0b5f500fee4d9ca31d6a7ab0;p=timetracker.git diff --git a/role_edit.php b/role_edit.php index b665e6dc..972d4540 100644 --- a/role_edit.php +++ b/role_edit.php @@ -28,12 +28,10 @@ require_once('initialize.php'); import('form.Form'); -import('ttTeamHelper'); // TODO: remove this? -import('ttTaskHelper'); // TODO: remove this? import('ttRoleHelper'); -// Access check. -if (!ttAccessCheck(right_manage_team)) { +// Access checks. +if (!ttAccessAllowed('manage_roles')) { header('Location: access_denied.php'); exit(); } @@ -43,8 +41,10 @@ if (!$role) { header('Location: access_denied.php'); exit(); } +// End of access checks. + $assigned_rights = explode(',', $role['rights']); -$available_rights = array_diff($user->rights_array, $assigned_rights); +$available_rights = array_diff($user->rights, $assigned_rights); if ($request->isPost()) { $cl_name = trim($request->getParameter('name')); @@ -62,26 +62,26 @@ $form = new Form('roleForm'); $form->addInput(array('type'=>'hidden','name'=>'id','value'=>$cl_role_id)); $form->addInput(array('type'=>'text','maxlength'=>'100','name'=>'name','style'=>'width: 250px;','value'=>$cl_name)); $form->addInput(array('type'=>'textarea','name'=>'description','style'=>'width: 250px; height: 40px;','value'=>$cl_description)); -for ($i = 0; $i < $user->role; $i++) { - $existing_role_name = null; +for ($i = 0; $i < $user->rank; $i++) { $rank_data[] = $i; } $form->addInput(array('type'=>'combobox','name'=>'rank','data'=>$rank_data,'value'=>$cl_rank)); $form->addInput(array('type'=>'combobox','name'=>'status','value'=>$cl_status, - 'data'=>array(ACTIVE=>$i18n->getKey('dropdown.status_active'),INACTIVE=>$i18n->getKey('dropdown.status_inactive')))); -$form->addInput(array('type'=>'submit','name'=>'btn_save','value'=>$i18n->getKey('button.save'))); + 'data'=>array(ACTIVE=>$i18n->get('dropdown.status_active'),INACTIVE=>$i18n->get('dropdown.status_inactive')))); +$form->addInput(array('type'=>'submit','name'=>'btn_save','value'=>$i18n->get('button.save'))); // Multiple select controls for assigned and available rights. $form->addInput(array('type'=>'combobox','name'=>'assigned_rights','style'=>'width: 250px;','multiple'=>true,'data'=>$assigned_rights)); -$form->addInput(array('type'=>'submit','name'=>'btn_delete','value'=>$i18n->getKey('button.delete'))); +$form->addInput(array('type'=>'submit','name'=>'btn_delete','value'=>$i18n->get('button.delete'))); $form->addInput(array('type'=>'combobox','name'=>'available_rights','style'=>'width: 250px;','multiple'=>true,'data'=>$available_rights)); -$form->addInput(array('type'=>'submit','name'=>'btn_add','value'=>$i18n->getKey('button.add'))); +$form->addInput(array('type'=>'submit','name'=>'btn_add','value'=>$i18n->get('button.add'))); if ($request->isPost()) { if ($request->getParameter('btn_save')) { // Validate user input. - if (!ttValidString($cl_name)) $err->add($i18n->getKey('error.field'), $i18n->getKey('label.thing_name')); - if (!ttValidString($cl_description, true)) $err->add($i18n->getKey('error.field'), $i18n->getKey('label.description')); + if (!ttValidString($cl_name)) $err->add($i18n->get('error.field'), $i18n->get('label.thing_name')); + if (!ttValidString($cl_description, true)) $err->add($i18n->get('error.field'), $i18n->get('label.description')); + if ($cl_rank >= $user->rank || $cl_rank < 0) $err->add($i18n->get('error.field'), $i18n->get('form.roles.rank')); if ($err->no()) { $existing_role = ttRoleHelper::getRoleByName($cl_name); @@ -90,14 +90,15 @@ if ($request->isPost()) { if (ttRoleHelper::update(array( 'id' => $cl_role_id, 'name' => $cl_name, + 'rank' => $cl_rank, 'description' => $cl_description, 'status' => $cl_status))) { header('Location: roles.php'); exit(); } else - $err->add($i18n->getKey('error.db')); + $err->add($i18n->get('error.db')); } else - $err->add($i18n->getKey('error.object_exists')); + $err->add($i18n->get('error.object_exists')); } } if ($request->getParameter('btn_delete') && $request->getParameter('assigned_rights')) { @@ -113,7 +114,7 @@ if ($request->isPost()) { header('Location: role_edit.php?id='.$role['id']); exit(); } else - $err->add($i18n->getKey('error.db')); + $err->add($i18n->get('error.db')); } if ($request->getParameter('btn_add') && $request->getParameter('available_rights')) { $rights = $role['rights']; @@ -124,7 +125,7 @@ if ($request->isPost()) { $rights = str_replace($right_to_add, '', $rights); $rights = str_replace(',,',',', $rights); // Add the right only if we have it ourselves. - if (in_array($right_to_add, $user->rights_array)) + if (in_array($right_to_add, $user->rights)) $rights .= ','.$right_to_add; } $rights = trim($rights, ','); @@ -132,11 +133,11 @@ if ($request->isPost()) { header('Location: role_edit.php?id='.$role['id']); exit(); } else - $err->add($i18n->getKey('error.db')); + $err->add($i18n->get('error.db')); } } // isPost $smarty->assign('forms', array($form->getName()=>$form->toArray())); -$smarty->assign('title', $i18n->getKey('title.edit_role')); +$smarty->assign('title', $i18n->get('title.edit_role')); $smarty->assign('content_page_name', 'role_edit.tpl'); $smarty->display('index.tpl');