public function start($kursus_id) { $tilmelding = Doctrine::getTable('VIH_Model_Course_Registration')->findOneBySessionId($this->session_id); if ($tilmelding === false) { $tilmelding = new VIH_Model_Course_Registration(); } $tilmelding->session_id = $this->session_id; $tilmelding->ip = $this->getIpAddress(); $tilmelding->kursus_id = $kursus_id; $tilmelding->save(); return true; }
public function testSubjectsCanBeRetrievedWhenReopeningTheRegistrationEvenThoughNoSubjectsWasSavedInitally() { $course1 = new VIH_Model_Course(); $course1->navn = 'Course 1'; $period1 = new VIH_Model_Course_Period(); $period1->name = 'Period 1'; $period1->Course = $course1; $period1->save(); $group1 = new VIH_Model_Course_SubjectGroup(); $group1->name = 'SubjectGroup 1'; $group1->Period = $period1; $subject1 = new VIH_Model_Subject(); $subject1->identifier = 'Subject 1'; $subject2 = new VIH_Model_Subject(); $subject2->identifier = 'Subject 2'; $group1->Subjects[] = $subject1; $group1->Subjects[] = $subject2; $group1->save(); $group1->Subjects[] = $subject1; $group1->Subjects[] = $subject2; $group1->save(); $course1->SubjectGroups[] = $group1; $course1->save(); // saved without Subjects try { $registrar = new VIH_Model_Course_Registration(); $registrar->Course = $course1; // $registrar->Subjects; // if this is uncommented the test will pass $registrar->save(); } catch (Doctrine_Record_Exception $e) { $this->fail($e->getMessage()); } $reopend = Doctrine_Core::getTable('VIH_Model_Course_Registration')->findOneById($registrar->id); try { $reopend->Subjects[] = $subject1; } catch (Doctrine_Record_Exception $e) { $this->fail($e->getMessage()); } $reopend->save(); try { $subject = $reopend->Subjects[0]; $this->assertTrue(is_object($subject)); $this->assertEqual('VIH_Model_Subject', get_class($reopend->Subjects[0])); } catch (Doctrine_Record_Exception $e) { $this->fail($e->getMessage()); } }
/** * Bruges til at gemme ordren * * @param array $var Array to save */ function save($var) { if (!empty($var['cpr'])) { $var['cpr'] = str_replace('-', '', $var['cpr']); } else { $var['cpr'] = ''; } if (!$this->validate($var)) { return false; } // adressen $adresse = new VIH_Model_Adresse((int) $this->get('adresse_id')); $adresse_id = $adresse->save($var); $kontakt_adresse = new VIH_Model_Adresse($this->get('kontakt_adresse_id')); $kontakt_adresse_id = $kontakt_adresse->save(array('navn' => $var['kontakt_navn'], 'adresse' => $var['kontakt_adresse'], 'postnr' => $var['kontakt_postnr'], 'postby' => $var['kontakt_postby'], 'telefonnummer' => $var['kontakt_telefon'], 'arbejdstelefon' => $var['kontakt_arbejdstelefon'], 'mobil' => '', 'email' => $var['kontakt_email'])); if ($this->get('status_key') < $this->getStatusKey('undervejs')) { $bind['status_key'] = $this->getStatusKey('undervejs'); } $bind['adresse_id'] = $adresse_id; $bind['kontakt_adresse_id'] = $kontakt_adresse_id; $bind['besked'] = $var['besked']; $bind['uddannelse'] = $var['uddannelse']; $bind['kursus_id'] = $var['kursus_id']; $bind['betaling'] = $var['betaling']; $bind['cpr'] = $var['cpr']; $bind['nationalitet'] = $var['nationalitet']; $bind['kommune'] = $var['kommune']; if (!empty($var['sex'])) { $bind['sex'] = $var['sex']; } $conn = Doctrine_Manager::connection(DB_DSN); $conn->setCharset('utf8'); $table = Doctrine::getTable('VIH_Model_Course_Registration'); $tilmelding = $table->findOneById($this->id); if (empty($tilmelding)) { $tilmelding = new VIH_Model_Course_Registration(); } $tilmelding->fromArray($bind); $tilmelding->save(); if ($this->id == 0) { $this->id = $tilmelding->id; } $this->load(); return $this->id; }