/**
  * Perform the add action
  */
 public function add()
 {
     if (!$this->is_allowed_to_edit()) {
         $this->forbidden();
         return;
     }
     $type_id = Request::get_description_type();
     $type = CourseDescriptionType::repository()->find_one_by_id($type_id);
     $c_id = Request::get_c_id();
     $session_id = Request::get_session_id();
     if (empty($type)) {
         $home = $this->url(self::ACTION_DEFAULT);
         Redirect::go($home);
     }
     $description = $type->create();
     $description->c_id = $c_id;
     $description->session_id = $session_id;
     $params = array();
     $params[Request::PARAM_DESCRIPTION_TYPE] = $type_id;
     $action = $this->url(self::ACTION_ADD, $params);
     $form = CourseDescriptionForm::create($action, $description);
     if ($form->validate()) {
         $repo = CourseDescription::repository();
         $success = $repo->save($description);
         $message = $success ? get_lang('CourseDescriptionAdded') : get_lang('Error');
         $home = $this->url();
         Redirect::go($home);
     }
     //$is_valid = !empty($type) && !empty($c_id) && !empty($title) && !empty($content) && Security::check_token();
     $data = (object) array();
     $data->type = $type;
     $data->form = $form;
     $this->render('edit', $data);
 }