Example #1
0
 protected function processForm(sfWebRequest $request, sfForm $form)
 {
     $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
     if ($form->isValid()) {
         if ($form->getObject()->isNew()) {
             $tasks = Doctrine_Core::getTable('Tasks')->find($request->getParameter('tasks_id'));
             if ($form->getValue('tasks_priority_id') > 0) {
                 $tasks->setTasksPriorityId($form->getValue('tasks_priority_id'));
             } else {
                 unset($form['tasks_priority_id']);
             }
             if ($request->getParameter('tasks_labels_id') > 0) {
                 $tasks->setTasksLabelId($request->getParameter('tasks_labels_id'));
             }
             if ($request->getParameter('tasks_types_id') > 0) {
                 $tasks->setTasksTypeId($request->getParameter('tasks_types_id'));
             }
             if (strlen($form->getValue('due_date')) > 0) {
                 $tasks->setDueDate($form->getValue('due_date'));
             } else {
                 unset($form['due_date']);
             }
             if ($request->getParameter('progress') > 0) {
                 $tasks->setProgress($request->getParameter('progress'));
             }
             if ($form->getValue('tasks_status_id') > 0) {
                 $tasks->setTasksStatusId($form->getValue('tasks_status_id'));
                 if (in_array($form->getValue('tasks_status_id'), app::getStatusByGroup('closed', 'TasksStatus'))) {
                     $tasks->setClosedDate(date('Y-m-d H:i:s'));
                     $tasks->save();
                 }
                 if (!in_array($form->getValue('tasks_status_id'), app::getStatusByGroup('closed', 'TasksStatus'))) {
                     $tasks->setClosedDate(null);
                     $tasks->save();
                 }
             } else {
                 unset($form['tasks_status_id']);
             }
             $tasks->save();
         }
         if ($form->getObject()->isNew() and sfConfig::get('app_allow_adit_tasks_comments_date') != 'on') {
             $form->setFieldValue('created_at', date('Y-m-d H:i:s'));
         }
         $tasks_comments = $form->save();
         Attachments::insertAttachments($request->getFiles(), 'comments', $tasks_comments->getId(), $request->getParameter('attachments_info'), $this->getUser());
         TasksComments::sendNotification($this, $tasks_comments, $this->getUser());
         $this->redirect('tasksComments/index?projects_id=' . $request->getParameter('projects_id') . '&tasks_id=' . $request->getParameter('tasks_id'));
     }
 }