Exemplo n.º 1
0
 /**
  * Prepares the membership page
  *
  * @param array args
  */
 public function get_create(array $args)
 {
     if (!strlen($args['provider_name'])) {
         $url = com_meego_devprogram_utils::get_url('index', $args);
         $this->mvc->head->relocate($url);
     }
     // require login
     $redirect = com_meego_devprogram_utils::get_url('my_membership_create', $args);
     $user = com_meego_devprogram_utils::require_login($redirect);
     // @todo: sanity check
     $providers = com_meego_devprogram_provutils::get_providers(array('name' => $args['provider_name']));
     $provider = $providers[0];
     if (!is_object($provider)) {
         throw new InvalidArgumentException("Provider: {$args['provider_name']} con not be found");
     }
     $this->data['provider'] = $provider;
     $this->data['person'] = $user->person;
     // check if the user has applied for the program and
     // display a warning if yes
     $this->data['mymemberships'] = com_meego_devprogram_membutils::get_memberships_of_current_user($provider->id);
     if (!count($this->data['mymemberships'])) {
         // we move on if user has not member yet
         parent::get_create($args);
     }
 }
Exemplo n.º 2
0
 /**
  * Prepares the create form
  */
 public function get_create(array $args)
 {
     // require login
     $redirect = com_meego_devprogram_utils::get_url('provider_create', $args);
     $user = com_meego_devprogram_utils::require_login($redirect);
     parent::get_create($args);
 }
Exemplo n.º 3
0
 /**
  * Prepares the application page
  *
  * @param array args
  */
 public function get_create(array $args)
 {
     if (!strlen($args['program_name'])) {
         $url = com_meego_devprogram_utils::get_url('index', $args);
         $this->mvc->head->relocate($url);
     }
     // require login
     $redirect = com_meego_devprogram_utils::get_url('my_application_create', $args);
     $user = com_meego_devprogram_utils::require_login($redirect);
     // @todo: sanity check
     $programs = com_meego_devprogram_progutils::get_programs(array('name' => $args['program_name']));
     $program = $programs[0];
     if (!is_object($program)) {
         throw new InvalidArgumentException("Program: {$args['program_name']} con not be found");
     }
     $this->data['program'] = $program;
     // check if the user has applied for the program and
     // display a warning if yes
     // in case of multiple applications we only refer to the 1st
     $this->data['myapps'] = com_meego_devprogram_apputils::get_applications_of_current_user($program->id);
     $now = new DateTime();
     if ($program->duedate >= $now && (!count($this->data['myapps']) || $program->multiple)) {
         // we move on if user has not applied or
         // the program accepts multiple entries from the same person
         parent::get_create($args);
     }
     // load the text limiter js files
     $this->mvc->head->add_jsfile(MIDGARDMVC_STATIC_URL . '/' . $this->component . '/js/textLimit.js');
     $this->mvc->head->add_jsfile(MIDGARDMVC_STATIC_URL . '/' . $this->component . '/js/limiter_for_applications.js');
 }