function postForm() { $tilmelding = $this->getTilmelding(); $deltagere = $tilmelding->getDeltagere(); if ($this->getForm()->validate()) { if ($tilmelding->save($this->body())) { $i = 0; $indkvartering = $this->body('indkvartering_key'); $input = $this->body(); foreach ($deltagere as $deltager) { $var['id'] = $input['id'][$i]; $var['navn'] = $input['navn'][$i]; $var['cpr'] = $input['cpr'][$i]; if (!empty($indkvartering[$i])) { $var['indkvartering_key'] = $indkvartering[$i]; $var['sambo'] = $input['sambo'][$i]; } switch ($tilmelding->kursus->get('gruppe_id')) { case 1: // golf $var['handicap'] = $input['handicap'][$i]; $var['klub'] = $input['klub'][$i]; $var['dgu'] = $input['dgu'][$i]; break; case 3: // bridge $var['niveau'] = $input['niveau'][$i]; break; case 4: // golf og bridge $var['handicap'] = $input['handicap'][$i]; $var['klub'] = $input['klub'][$i]; $var['dgu'] = $input['dgu'][$i]; $var['niveau'] = $input['niveau'][$i]; break; case 5: $var['speciale'] = $input['speciale'][$i]; default: break; } // switch $input = $this->body(); $deltager_object = new VIH_Model_KortKursus_Tilmelding_Deltager($tilmelding, $input['id'][$i]); if (!$deltager_object->save($var)) { throw new Exception('Oplysningerne om en af deltagerne kunne ikke gemmes'); } $i++; } // foreach if (!$tilmelding->setCode()) { throw new Exception('Tilmeldingen kunne ikke tilføjes en kode'); } return new k_SeeOther($this->getRedirectUrl()); } else { throw new Exception('Tilmeldingen kunne ikke gemmes'); } } else { return '<h1>Indtast oplysninger</h1><p class="notice" style="clear: both;"><strong>Vigtigt:</strong> Kontaktpersonen modtager al post angående tilmeldingen, og det er også kun kontaktpersonen, der modtager programmet. Hvis I er flere, der ønsker at få post, beder vi jer lave flere tilmeldinger.</p>' . $this->getForm()->toHTML(); } }
function testDeltagerOplysningCanSaveEmptyValue() { $kort_kursus_id = $this->createKortKursusId(); $data = array('kursus_id' => $kort_kursus_id, 'antal_deltagere' => 1); $session_id = uniqid(); $tilmelding = new VIH_Model_KortKursus_OnlineTilmelding($session_id); $tilmelding->start($data); // add a beginner $deltager = new VIH_Model_KortKursus_Tilmelding_Deltager($tilmelding); $data = array('navn' => 'tester', 'cpr' => '140676-9999', 'handicap' => 70, 'klub' => 'none', 'dgu' => 'nej'); $deltager->save($data); $data = array('navn' => 'tester', 'cpr' => '140676-9999', 'handicap' => 70, 'klub' => '', 'dgu' => 'nej'); $deltager->save($data); }
function testGetBegyndereReturnsTheCorrectNumberOfDeltagereWhenOneIsAdded() { $kursus = $this->createKortKursus(); $session_id = rand(1, 1000000000); $tilmelding = new VIH_Model_KortKursus_OnlineTilmelding($session_id); $data = array('kursus_id' => $kursus->getId(), 'antal_deltagere' => 1); $tilmelding->start($data); $data = array('kursus_id' => $this->createKortKursus()->getId(), 'kontaktnavn' => 'Test', 'adresse' => 'Test', 'postnr' => 'Test', 'postby' => 'Test', 'email' => 'Test', 'mobil' => 'Test', 'telefonnummer' => 'Test', 'mobil' => 'Test', 'besked' => '', 'afbestillingsforsikring' => ''); $tilmelding->save($data); // add a beginner $deltager = new VIH_Model_KortKursus_Tilmelding_Deltager($tilmelding); $data = array('navn' => 'tester', 'cpr' => '140676-9999', 'handicap' => 70, 'klub' => 'none', 'dgu' => 'nej'); $deltager->save($data); // add a nonbeginner $deltager = new VIH_Model_KortKursus_Tilmelding_Deltager($tilmelding); $data = array('navn' => 'tester', 'cpr' => '140676-9999', 'handicap' => 10, 'klub' => 'none', 'dgu' => 'nej'); $deltager->save($data); $tilmelding->confirm(); $this->assertEquals(1, $kursus->getBegyndere()); }
function postForm() { if ($this->getForm()->validate()) { $tilmelding = new VIH_Model_KortKursus_Tilmelding($this->context->name()); $deltagere = $tilmelding->getDeltagere(); if ($id = $tilmelding->save($this->body())) { $i = 0; $indkvartering = $this->body('indkvartering_key'); $post = $this->body(); foreach ($deltagere as $deltager) { $var['id'] = $post['deltager_id'][$i]; $var['navn'] = $post['navn'][$i]; $var['cpr'] = $post['cpr'][$i]; if (!empty($indkvartering[$i])) { $var['indkvartering_key'] = $indkvartering[$i]; $var['sambo'] = $post['sambo'][$i]; } switch ($tilmelding->kursus->get('gruppe_id')) { case 1: // golf $var['handicap'] = $post['handicap'][$i]; $var['klub'] = $post['klub'][$i]; $var['dgu'] = $post['dgu'][$i]; break; case 3: // bridge $var['niveau'] = $post['niveau'][$i]; break; case 4: // golf og bridge $var['handicap'] = $post['handicap'][$i]; $var['klub'] = $post['klub'][$i]; $var['dgu'] = $post['dgu'][$i]; $var['niveau'] = $post['niveau'][$i]; break; default: break; } // switch $deltager_object = new VIH_Model_KortKursus_Tilmelding_Deltager($tilmelding, $post['deltager_id'][$i]); if (!$deltager_object->save($var)) { // saving was unsuccessful. What @todo } $i++; } // foreach return new k_SeeOther($this->context->url()); } } return $this->render(); }