Example #1
0
 function renderHtml()
 {
     $tilmelding = new VIH_Model_LangtKursus_OnlineTilmelding($this->context->name());
     if (!$tilmelding->cancel()) {
         throw new Exception('Der opstod en fejl, da tilmeldingen skulle afbrydes.');
     }
     return new k_SeeOther('/langekurser');
 }
Example #2
0
 public function postForm()
 {
     $tilmelding = new VIH_Model_LangtKursus_OnlineTilmelding($this->context->name());
     if ($this->getForm()->validate()) {
         if (!$tilmelding->setStatus('tilmeldt')) {
             throw new Exception('Status kunne ikke sættes');
         }
         if ($this->body('confirm')) {
             if (!$tilmelding->confirm()) {
                 throw new Exception('Tilmelding ' . $tilmelding->getId() . ' kunne ikke bekr�ftes');
             }
             if ($tilmelding->get('email')) {
                 $historik = new VIH_Model_Historik('langekurser', $tilmelding->get('id'));
                 if (!$tilmelding->sendEmail()) {
                     if (!$historik->save(array('type' => 'kode', 'comment' => 'Bekræftelse på onlinetilmelding kunne ikke sendes'))) {
                         throw new Exception('Historikken kunne ikke gemmes');
                     }
                     throw new Exception('E-mailen kunne ikke sendes til ordre ' . $tilmelding->getId());
                 } else {
                     if (!$historik->save(array('type' => 'kode', 'comment' => 'Bekræftelse på onlinetilmelding'))) {
                         throw new Exception('Historikken kunne ikke gemmes');
                     }
                 }
             }
             return new k_SeeOther($this->context->url('kvittering'));
         }
     } else {
         return $this->getForm()->toHTML();
     }
     return $this->render();
 }
Example #3
0
 function createTilmelding()
 {
     $data = array('kursus_id' => 1, 'navn' => 'Emanuel Wani Lado', 'adresse' => 'Jens Juelsvej 56, 4. sal', 'postnr' => '5230', 'postby' => 'Odense M', 'email' => '*****@*****.**', 'mobil' => '30587032', 'telefonnummer' => '30587032', 'arbejdstelefon' => '30587032', 'cpr' => '1406909999', 'kontakt_navn' => 'Præst - Domhuset - Odense Leif og Lis Munksgaard', 'kontakt_adresse' => 'Folkekirkens Tværkultur, Smarilis, Vestagergade 51B', 'kontakt_postnr' => '5000', 'kontakt_postby' => 'Odense C', 'kontakt_email' => '', 'kontakt_mobil' => '63120873', 'kontakt_telefon' => '63120873', 'kontakt_arbejdstelefon' => '63120873', 'uddannelse' => 'Ingen', 'betaling' => '1', 'besked' => 'Rikke Mandrup, Garanti højskolernes sekretariat', 'nationalitet' => 'Sudan', 'kommune' => 'Odense', 'ryger' => 'Nej', 'sex' => 'M', 'fag_id' => 1, 'tekst_diplom' => 'test');
     $session_id = rand(1, 1000000000);
     $tilmelding = new VIH_Model_LangtKursus_OnlineTilmelding($session_id);
     $tilmelding->start(1);
     $tilmelding->save($data);
     $data = array('dato_start' => '2007-10-10', 'dato_slut' => '2007-12-12', 'elevstotte' => 200, 'ugeantal_elevstotte' => 200, 'statsstotte' => 200, 'kommunestotte' => 200, 'aktiveret_tillaeg' => 200, 'kompetencestotte' => 200, 'pris_uge' => 200, 'ugeantal' => 200, 'pris_tilmeldingsgebyr' => 200, 'pris_materiale' => 200, 'pris_rejsedepositum' => 200, 'pris_rejserest' => 200, 'pris_rejselinje' => 300, 'pris_noegledepositum' => 200, 'pris_afbrudt_ophold' => 200);
     $tilmelding->savePriser($data);
     $tilmelding->setStatus('reserveret');
     return $tilmelding;
 }
Example #4
0
 protected function getForm()
 {
     if ($this->form) {
         return $this->form;
     }
     $kurser = VIH_Model_LangtKursus::getList('åbne');
     $list = array();
     if ($this->query('kursus_id')) {
         $kursus_id = intval($this->query('kursus_id'));
     } else {
         $kursus_id = 0;
     }
     foreach ($kurser as $kursus) {
         $list[$kursus->getId()] = $kursus->getKursusNavn() . ' som starter ' . $kursus->getDateStart()->format('%d-%m-%Y');
     }
     $tilmelding = new VIH_Model_LangtKursus_OnlineTilmelding($this->name());
     $this->form = new HTML_QuickForm('langekurser', 'POST', $this->url($this->subspace()));
     $this->form->addElement('header', null, 'Hvilket kursus vil du tilmelde dig?');
     $this->form->addElement('select', 'kursus_id', 'Kursus', $list);
     $this->form->addElement('header', null, 'Navn og adresse');
     $this->form->addElement('text', 'navn', 'Navn');
     $this->form->addElement('text', 'adresse', 'Adresse');
     $this->form->addElement('text', 'postnr', 'Postnummer');
     $this->form->addElement('text', 'postby', 'Postby');
     $this->form->addElement('text', 'cpr', 'Cpr-nummer');
     $this->form->addElement('text', 'telefonnummer', 'Telefonnummer');
     $this->form->addElement('text', 'kommune', 'Bopælskommune');
     $this->form->addElement('text', 'nationalitet', 'Nationalitet');
     $this->form->addElement('text', 'email', 'E-mail');
     $this->form->addElement('header', null, 'Nærmeste pårørende - hvem skal vi rette henvendelse til ved sygdom');
     $this->form->addElement('text', 'kontakt_navn', 'Navn');
     $this->form->addElement('text', 'kontakt_adresse', 'Adresse');
     $this->form->addElement('text', 'kontakt_postnr', 'Postnummer');
     $this->form->addElement('text', 'kontakt_postby', 'Postby');
     $this->form->addElement('text', 'kontakt_telefon', 'Telefon');
     $this->form->addElement('text', 'kontakt_arbejdstelefon', 'Arbejdstelefon');
     $this->form->addElement('text', 'kontakt_email', 'E-mail');
     $this->form->addElement('header', null, 'Hvordan er din uddannelsesmæssige baggrund?');
     foreach ($tilmelding->uddannelse as $key => $value) {
         $udd[] =& HTML_QuickForm::createElement('radio', null, null, $value, $key, 'id="uddannelse_' . $key . '"');
     }
     $this->form->addGroup($udd, 'uddannelse', 'Uddannelse');
     $this->form->addElement('header', null, 'Hvordan betaler du?');
     foreach ($tilmelding->betaling as $key => $value) {
         $bet[] =& HTML_QuickForm::createElement('radio', null, null, $value, $key, 'id="payment_' . $key . '"');
     }
     $this->form->addGroup($bet, 'betaling', 'Betaling');
     $this->form->addElement('header', null, 'Besked til Vejle Idrætshøjskole');
     $this->form->addElement('textarea', 'besked', 'Er der andet vi bør vide?', array('cols' => 50, 'rows' => 5));
     $this->form->addElement('submit', 'submit', 'Tilmelding');
     $defaults = array('navn' => $tilmelding->get('navn'), 'adresse' => $tilmelding->get('adresse'), 'cpr' => $tilmelding->get('cpr'), 'telefonnummer' => $tilmelding->get('telefon'), 'postnr' => $tilmelding->get('postnr'), 'postby' => $tilmelding->get('postby'), 'nationalitet' => $tilmelding->get('nationalitet'), 'kommune' => $tilmelding->get('kommune'), 'email' => $tilmelding->get('email'), 'kontakt_navn' => $tilmelding->get('kontakt_navn'), 'kontakt_adresse' => $tilmelding->get('kontakt_adresse'), 'kontakt_postnr' => $tilmelding->get('kontakt_postnr'), 'kontakt_postby' => $tilmelding->get('kontakt_postby'), 'kontakt_telefon' => $tilmelding->get('kontakt_telefon'), 'kontakt_arbejdstelefon' => $tilmelding->get('kontakt_arbejdstelefon'), 'kontakt_email' => $tilmelding->get('kontakt_email'), 'betaling' => $tilmelding->get('betaling_key'), 'uddannelse' => $tilmelding->get('uddannelse_key'), 'besked' => $tilmelding->get('besked'));
     if ($tilmelding->get('kursus_id') > 0) {
         $defaults['kursus_id'] = $tilmelding->get('kursus_id');
     } else {
         $defaults['kursus_id'] = $this->context->getLangtKursusId();
     }
     $this->form->setDefaults($defaults);
     $this->form->applyFilter('__ALL__', 'trim');
     $this->form->applyFilter('__ALL__', 'strip_tags');
     //$this->form->registerRule('validate_cpr', 'callback', 'validateCpr');
     $this->form->addRule('kursus_id', 'Du skal vælge et kursus', 'required');
     $this->form->addRule('kursus_id', 'Du skal vælge et kursus', 'numeric');
     $this->form->addRule('navn', 'Du skal skrive et navn', 'required');
     $this->form->addRule('adresse', 'Du skal skrive en adresse', 'required');
     $this->form->addRule('postnr', 'Postnummer', 'required');
     $this->form->addRule('postnr', 'Postnummer skal være numerisk', 'numeric');
     $this->form->addRule('postby', 'Postby', 'required');
     $this->form->addRule('telefonnummer', 'Telefonnummer', 'required');
     $this->form->addRule('email', 'Du har ikke skrevet en gyldig e-mail', 'email');
     $this->form->addRule('kommune', 'Du har ikke skrevet en kommune', 'required');
     $this->form->addRule('nationalitet', 'Du har ikke skrevet en nationalitet', 'required');
     $this->form->addRule('cpr', 'Du skal skrive et cpr-nummer', 'required');
     //$this->form->addRule('cpr', 'Du skal skrive et gyldigt cpr-nummer', 'validate_cpr');
     $this->form->addRule('kontakt_navn', 'Du har ikke skrevet et gyldigt kontaktnavn', 'required');
     $this->form->addRule('kontakt_adresse', 'Du har ikke skrevet et gyldig kontaktadresse', 'required');
     $this->form->addRule('kontakt_postnr', 'Du har ikke skrevet en kontaktpostnummer', 'required');
     $this->form->addRule('kontakt_postnr', 'Postnummeret skal være et tal', 'numeric');
     $this->form->addRule('kontakt_postby', 'Du har ikke skrevet en kontaktpostby', 'required');
     $this->form->addRule('kontakt_telefon', 'Du har ikke skrevet et nummer under telefon', 'required');
     $this->form->addRule('kontakt_arbejdstelefon', 'Du har ikke skrevet et nummer under arbejdstelefon', 'required');
     $this->form->addRule('kontakt_email', 'Du har ikke skrevet en gyldig kontakte-mail', 'email');
     $this->form->addGroupRule('uddannelse', 'Du skal vælge din uddannelsesmæssige baggrund', 'required', null);
     $this->form->addGroupRule('betaling', 'Du skal vælge, hvordan du betaler', 'required', null);
     return $this->form;
 }