Пример #1
0
 public function executeAddQuickMsg(sfWebRequest $request)
 {
     $this->preAct($request);
     $ei_subject_message = new EiSubjectMessage();
     $ei_subject_message->setGuardId($this->guardUser->getId());
     $ei_subject_message->setSubjectId($this->ei_subject->getId());
     $this->parent_id = intval($request->getParameter('parent_id'));
     $this->message_type_id = $request->getParameter('message_type_id');
     $this->ei_message_text = $request->getParameter('ei_message_text');
     $this->ei_message_type = $request->getParameter('ei_message_type');
     $this->success = false;
     /* Si le message est vide , on retourne une erreur */
     if ($this->ei_message_text && trim($this->ei_message_text) != "") {
         $ei_subject_message->setMessage($this->ei_message_text);
     } else {
         return $this->renderText(json_encode(array('html' => "Empty message", 'success' => $this->success)));
     }
     /* Récupération du type de message bug_description_message ou bug_details_message ou bug_solution_message ou  bug_migration_message */
     if ($this->ei_message_type && trim($this->ei_message_type) != "") {
         $ei_subject_message->setType($this->ei_message_type);
     } else {
         return $this->renderText(json_encode(array('html' => "Empty message type ", 'success' => $this->success)));
     }
     /* On se rassure que le parent existe : sinon on set le parent à null */
     if ($this->parent_id == 0 || $this->parent_id != null) {
         $parent = Doctrine_Core::getTable('EiSubjectMessage')->findOneById($this->parent_id);
         if ($parent != null) {
             $ei_subject_message->setDirectParent($parent);
         }
     } else {
         return $this->renderText(json_encode(array('html' => "Error : Parent not found", 'success' => $this->success)));
     }
     // On se rassure que le type de méssage est bien définit et existe pour le projet
     if ($this->message_type_id != null) {
         $msgType = Doctrine_Core::getTable('EiSubjectMessageType')->findOneByIdAndProjectIdAndProjectRef($this->message_type_id, $this->ei_project->getProjectId(), $this->ei_project->getRefId());
         if ($msgType != null) {
             $ei_subject_message->setMessageTypeId($msgType->getId());
         } else {
             return $this->renderText(json_encode(array('html' => "Error : no msg type specified", 'success' => $this->success)));
         }
     } else {
         return $this->renderText(json_encode(array('html' => "Error : no msg type specified", 'success' => $this->success)));
     }
     $res = $ei_subject_message->save();
     //throw new Exception($res);
     if ($res) {
         $item = Doctrine_Core::getTable('EiSubjectMessage')->fetchBranchMsg($ei_subject_message->getId(), sfConfig::get("app_bug_description_message"));
         $this->success = true;
         $partialParam = $this->urlParameters;
         $partialParam['ei_subject_message'] = $item[0];
         $this->html = $this->getPartial('eisubjectmessage/item', $partialParam);
     } else {
         $this->html = "Error : unable to save message";
     }
     /* Tout s'est bien passé */
     return $this->renderText(json_encode(array('html' => $this->html, 'success' => $this->success)));
     return sfView::NONE;
 }
Пример #2
0
 public function setDirectParent(EiSubjectMessage $parent)
 {
     $this->direct_parent = $parent;
     $this->setRootId($parent->getId());
 }