Ejemplo n.º 1
0
 public function createAction()
 {
     $this->initialize();
     //read form submition
     if ($this->request->isPost()) {
         //get session info
         $auth = $this->session->get('auth');
         $userID = $auth['userID'];
         //get other user information from db
         $user = Users::findFirstByUserID($userID);
         if ($user) {
             //user found
             //get goal info
             $g_title = $this->request->getPost('g_title');
             $g_subject = $this->request->getPost('g_subject');
             $g_description = $this->request->getPost('g_description');
             //create new goal
             $goal = new Goals();
             $goal->seekerID = $userID;
             $goal->isComplete = "0";
             $goal->title = $g_title;
             $goal->description = $g_description;
             $goal->subject = $g_subject;
             if ($goal->create()) {
                 $numMilestones = $this->request->getPost('numMilestones');
                 $this->flashSession->success("Goal created with " . $numMilestones);
                 for ($i = 1; $i <= $numMilestones; $i++) {
                     //get info for current milestone
                     $ms_title_key = "ms" . "{$i}" . "_title";
                     $ms_title = $this->request->getPost($ms_title_key);
                     $ms_description = $this->request->getPost("ms" . "{$i}" . "_description");
                     $ms = new Milestones();
                     $ms->title = $ms_title;
                     $ms->description = $ms_description;
                     $ms->goalID = $goal->goalID;
                     $ms->number = $i;
                     $ms->isComplete = 0;
                     if ($ms->create()) {
                         $this->flashSession->success("ms {$i} ms created");
                     } else {
                         foreach ($ms->getMessages() as $message) {
                             $this->flashSession->error("ms {$i} {$message} {$ms_title_key} [ {$ms_title} ]");
                         }
                         $this->response->redirect("index");
                         $this->view->disable();
                     }
                 }
             } else {
                 foreach ($goal->getMessages() as $message) {
                     $this->flashSession->error($message);
                 }
                 $this->response->redirect("index");
                 $this->view->disable();
             }
             $this->flashSession->success("Created");
             $this->response->redirect("index");
             $this->view->disable();
         } else {
             //error, go to login
             $this->flashSession->error("Error: Unable to access user information");
             $this->response->redirect("index");
             $this->view->disable();
         }
     }
 }