function renderHtml() { $tilmelding = new VIH_Model_KortKursus_Tilmelding($this->name()); if (is_numeric($this->query('sletdeltager'))) { $deltager = new VIH_Model_KortKursus_Tilmelding_Deltager($tilmelding, $this->query('sletdeltager')); $deltager->delete(); } elseif ($this->query('action') == 'sendemail') { if ($tilmelding->sendEmail()) { $historik = new VIH_Model_Historik('kortekurser', $tilmelding->get('id')); if (!$historik->save(array('type' => 'kode', 'comment' => 'Kode sendt med e-mail'))) { throw new Exception('Historikken kunne ikke gemmes'); } } else { throw new Exception('E-mailen kunne ikke sendes'); } } if ($this->query('slet_historik_id')) { $historik = new VIH_Model_Historik(intval($this->query('slet_historik_id'))); $historik->delete(); } $deltagere = $tilmelding->getDeltagere(); $historik_object = new VIH_Model_Historik('kortekurser', $tilmelding->get("id")); $betalinger = new VIH_Model_Betaling('kortekurser', $tilmelding->get("id")); if ($this->query('registrer_betaling')) { if ($betalinger->save(array('type' => 'giro', 'amount' => $this->query('beloeb')))) { $betalinger->setStatus('approved'); return new k_SeeOther($this->url()); } else { throw new Exception("Betalingen kunne ikke gemmes. Det kan skyldes et ugyldigt beløb"); } } $tilmelding->loadBetaling(); $this->document->setTitle('Tilmelding #' . $tilmelding->getId()); $this->document->addOption('Tilbage til liste', $this->url('../')); $this->document->addOption('Ret', $this->url('edit')); $this->document->addOption('Slet', $this->url(null, array('delete'))); if ($tilmelding->get('email')) { $this->document->addOption('E-mail', $this->url('email')); } $this->document->addOption('Kundens side', KORTEKURSER_LOGIN_URI . $tilmelding->get('code')); $data = array('deltagere' => $deltagere, 'indkvartering' => !$tilmelding->kursus->isFamilyCourse(), 'type' => $tilmelding->get('keywords'), 'vis_slet' => 'ja'); $historik = array('historik' => $historik_object->getList(), 'tilmelding' => $tilmelding); $historik_tpl = $this->templates->create('tilmelding/historik'); $betaling_data = array('caption' => 'Afventende betalinger', 'betalinger' => $betalinger->getList('not_approved'), 'msg_ingen', 'Der er ingen afventende betalinger.'); $prisoversigt_data = array('tilmelding' => $tilmelding); $prisoversigt_tpl = $this->templates->create('kortekurser/tilmelding/prisoversigt'); $deltager_tpl = $this->templates->create('kortekurser/deltagere'); $betaling_tpl = $this->templates->create('tilmelding/betalinger'); $tilmelding = array('tilmelding' => $tilmelding, 'historik_object' => $historik_object, 'deltagere' => $deltager_tpl->render($this, $data), 'status' => $tilmelding->get('status'), 'prisoversigt' => $prisoversigt_tpl->render($this, $prisoversigt_data), 'historik' => $historik_tpl->render($this, $historik), 'betalinger' => $betaling_tpl->render($this, $betaling_data)); $tpl = $this->templates->create('kortekurser/tilmelding'); return $tpl->render($this, $tilmelding); }
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(); }