/**
  * Process the submitted form data and save to database
  *
  * @return Redirect
  */
 public function post(array $data, Form $form)
 {
     $discussion = null;
     $page = DiscussionHolder::get()->byID($this->controller->ID);
     $member = Member::currentUser();
     if ($this->controller->canStartDiscussions($member)) {
         // Check if we are editing or creating
         if (isset($data['ID']) && $data['ID']) {
             $discussion = Discussion::get()->byID($data['ID']);
         }
         if (!$discussion || $discussion == null) {
             $discussion = Discussion::create();
         }
         $form->saveInto($discussion);
         $discussion->AuthorID = $member->ID;
         $discussion->ParentID = $page->ID;
         $form->saveInto($discussion);
         $discussion->write();
         $discussion_url = Controller::join_links($this->controller->Link("view"), $discussion->ID);
         return $this->controller->redirect($discussion_url);
     } else {
         return $this->controller->httpError(404);
     }
 }