public function getItemCreateResponse(sfGuardUser $user) { /** @var sfWebRequest $request */ $request = $this->getRequest(); $decision = DecisionTable::getInstance()->getDecisionForUser($user, $request->getParameter('decision_id')); if (is_object($decision)) { $alternative = new Alternative(); $alternative->Decision = $decision; $alternative->name = $request->getParameter('name', 'New ' . $decision->getAlternativeAlias()); $alternative->additional_info = $request->getParameter('description', ''); $alternative->status = $request->getParameter('status', 'New'); $alternative->setCreatedBy(Alternative::generateUpdateAndCreatedBy($user)); $alternative->setUpdatedBy(Alternative::generateUpdateAndCreatedBy($user)); try { $alternative->save(); $result = array('status' => 'success', 'result' => $alternative->getAPIData()); } catch (sfException $ex) { $result = array('status' => 'error', 'error' => $ex->getMessage()); } } else { $result = array('status' => 'error', 'error' => sprintf('Project with id %d does not exist', $request->getParameter('decision_id'))); } return $result; }