if (!checkGroupedObjectPermission('user', 'edit', $oldGroups, $assignedGroups)) { $errorMessages[''] = $kga['lang']['errorMessages']['permissionDenied']; } if (count($errorMessages) == 0) { $database->user_edit($id, $userData); $groups = array_combine($assignedGroups, $membershipRoles); $database->setGroupMemberships($id, $groups); } header('Content-Type: application/json;charset=utf-8'); echo json_encode(array('errors' => $errorMessages)); break; case "sendEditGroup": // process editGroup form $group['name'] = trim($_REQUEST['name']); $errors = array(); if (!checkGroupedObjectPermission('group', 'edit', array($id), array($id))) { $errors[''] = $kga['lang']['errorMessages']['permissionDenied']; } if (count($errors) == 0) { $database->group_edit($id, $group); } header('Content-Type: application/json;charset=utf-8'); echo json_encode(array('errors' => $errors)); break; case "sendEditStatus": // process editStatus form $status_data['status'] = trim($_REQUEST['status']); $errors = array(); if (!isset($kga['user']) || !$database->global_role_allows($kga['user']['globalRoleID'], 'core-status-edit')) { $errors[''] = $kga['lang']['errorMessages']['permissionDenied']; }
$data['comment'] = $_REQUEST['comment']; $data['visible'] = getRequestBool('visible'); $data['filter'] = $_REQUEST['activityFilter']; $data['defaultRate'] = getRequestDecimal($_REQUEST['defaultRate']); $data['myRate'] = getRequestDecimal($_REQUEST['myRate']); $data['fixedRate'] = getRequestDecimal($_REQUEST['fixedRate']); $oldGroups = array(); if ($id) { $oldGroups = $database->activity_get_groupIDs($id); } // validate data $errorMessages = array(); if (count($_REQUEST['activityGroups']) == 0) { $errorMessages['activityGroups'] = $kga['lang']['atLeastOneGroup']; } if (!checkGroupedObjectPermission('Activity', $id ? 'edit' : 'add', $oldGroups, $_REQUEST['activityGroups'])) { $errorMessages[''] = $kga['lang']['errorMessages']['permissionDenied']; } if (count($errorMessages) == 0) { // add or update the project if (!$id) { $id = $database->activity_create($data); } else { $database->activity_edit($id, $data); } // set the activity group and activity project mappings if (isset($_REQUEST['activityGroups'])) { $database->assign_activityToGroups($id, $_REQUEST['activityGroups']); } if (isset($_REQUEST['projects'])) { $database->assignActivityToProjectsForGroup($id, $_REQUEST['projects'], $kga['user']['groups']);
$view->id = 0; } echo $view->render("floaters/add_edit_project.php"); break; /** * Display the dialog to add or edit an activity. */ /** * Display the dialog to add or edit an activity. */ case 'add_edit_activity': $oldGroups = array(); if ($id) { $oldGroups = $database->activity_get_groupIDs($id); } if (!checkGroupedObjectPermission('Activity', $id ? 'edit' : 'add', $oldGroups, $oldGroups)) { die; } if ($id) { $data = $database->activity_get_data($id); if ($data) { $view->name = $data['name']; $view->comment = $data['comment']; $view->visible = $data['visible']; $view->filter = $data['filter']; $view->defaultRate = $data['defaultRate']; $view->myRate = $data['myRate']; $view->fixedRate = $data['fixedRate']; $view->selectedGroups = $database->activity_get_groups($id); $view->selectedProjects = $database->activity_get_projects($id); $view->id = $id;