// let's check if there are some assigned departments to project //部门分配 if (!dPgetParam($_POST, "project_departments", 0)) { //返回一个部门的id $obj->project_departments = implode(",", dPgetParam($_POST, "dept_ids", array())); } $del = dPgetParam($_POST, 'del', 0); // prepare (and translate) the module name ready for the suffix if ($del) { $project_id = dPgetParam($_POST, 'project_id', 0); $canDelete = $obj->canDelete($msg, $project_id); if (!$canDelete) { $AppUI->setMsg($msg, UI_MSG_ERROR); $AppUI->redirect(); } if ($msg = $obj->delete()) { $AppUI->setMsg($msg, UI_MSG_ERROR); $AppUI->redirect(); } else { $AppUI->setMsg("Project deleted", UI_MSG_ALERT); $AppUI->redirect("m=projects"); } } else { if ($msg = $obj->store()) { $AppUI->setMsg($msg, UI_MSG_ERROR); } else { $isNotNew = @$_POST['project_id']; if ($importTask_projectId = dPgetParam($_POST, 'import_tasks_from', '0')) { $obj->importTasks($importTask_projectId); } $AppUI->setMsg($isNotNew ? 'Project updated' : 'Project inserted', UI_MSG_OK, true);
/* $Id$ $URL$ */ if (!defined('W2P_BASE_DIR')) { die('You should not access this file directly.'); } $del = (int) w2PgetParam($_POST, 'del', 0); $obj = new CProject(); if (!$obj->bind($_POST)) { $AppUI->setMsg($obj->getError(), UI_MSG_ERROR); $AppUI->redirect(); } if (!w2PgetParam($_POST, 'project_departments', 0)) { $obj->project_departments = implode(',', w2PgetParam($_POST, 'dept_ids', array())); } $action = $del ? 'deleted' : 'stored'; $result = $del ? $obj->delete($AppUI) : $obj->store($AppUI); $notify_owner = $_POST['email_project_owner_box'] ? 1 : 0; $notify_contacts = $_POST['email_project_contacts_box'] ? 1 : 0; $notfiyTrigger = $del ? 1 : $obj->project_id; $importTask_projectId = (int) w2PgetParam($_POST, 'import_tasks_from', '0'); if (is_array($result)) { $AppUI->setMsg($result, UI_MSG_ERROR); $AppUI->holdObject($obj); $AppUI->redirect('m=projects&a=addedit'); } if ($result) { if ($importTask_projectId) { $obj->importTasks($importTask_projectId); } if ($notify_owner) { if ($msg = $obj->notifyOwner($notfiyTrigger)) {
/* $Id$ $URL$ */ if (!defined('W2P_BASE_DIR')) { die('You should not access this file directly.'); } $del = (int) w2PgetParam($_POST, 'del', 0); $obj = new CProject(); if (!$obj->bind($_POST)) { $AppUI->setMsg($obj->getError(), UI_MSG_ERROR); $AppUI->redirect(); } if (!w2PgetParam($_POST, 'project_departments', 0)) { $obj->project_departments = implode(',', w2PgetParam($_POST, 'dept_ids', array())); } $action = $del ? 'deleted' : 'stored'; $result = $del ? $obj->delete() : $obj->store(); $redirect = $del ? 'm=projects' : 'm=projects&a=view&project_id=' . $obj->project_id; $notify_owner = w2PgetParam($_POST, 'email_project_owner_box', 'off'); $notify_contacts = w2PgetParam($_POST, 'email_project_contacts_box', 'off'); $notfiyTrigger = $del ? 1 : $obj->project_id; $importTask_projectId = (int) w2PgetParam($_POST, 'import_tasks_from', '0'); if (is_array($result)) { $AppUI->setMsg($result, UI_MSG_ERROR); $AppUI->holdObject($obj); $AppUI->redirect('m=projects&a=addedit'); } if ($result) { if (!$del) { $billingCategory = w2PgetSysVal('BudgetCategory'); $budgets = array(); foreach ($billingCategory as $id => $category) {
/** * Delete Request Handler * * This method is called when a request is a DELETE * * @return array */ public function executeDelete() { $valid = $this->hasRequiredParameters($this->requiredParams); if ($valid instanceof Frapi_Error) { return $valid; } $username = $this->getParam('username'); $password = $this->getParam('password'); $project_id = $this->getParam('project_id', self::TYPE_INT); // Attempt to login as user, a little bit of a hack as we currently // require the $_POST['login'] var to be set as well as a global AppUI $AppUI = new CAppUI(); $GLOBALS['AppUI'] = $AppUI; $_POST['login'] = '******'; if (!$AppUI->login($username, $password)) { throw new Frapi_Error('INVALID_LOGIN'); } $project = new CProject(); $project->load($project_id); if (!$project->delete($AppUI)) { throw new Frapi_Error('PERMISSION_ERROR'); } $this->data['success'] = true; return $this->toArray(); }