public function enroll(dsPerson $person, $role, $registration = null, $partner = null, $confirm = true, $type = 'regular') { $enrolment = new dsClassStudent(); $enrolment->link('Class', $this->getId() ); $enrolment->link('Person', $person->getId()); $enrolment->setRole( $role ); $enrolment->setPartner( $partner ); if (!is_null($registration)) { $enrolment->link('Registration', $registration); $registration->approve(); $registration->save(); } else { $enrolment->link('Registration', NULL); // $enrolment->registration_id = NULL; } if ($confirm) $enrolment->setDateConfirmed( date('Y-m-d H:i:s', time()) ); // $conn->setAttribute(Doctrine_Core::ATTR_CASCADE_SAVES, false); // $enrolment->link('Registration', NULL); // $enrolment->unlink('Registration'); // 2013-02-04 $enrolment->setType( $type ); try { $enrolment->save(); return $enrolment; } catch (Exception $e) { return false; } //$enrolment->confirm(); // 2. send email // $this->sendConfirmationEmail(); // return $enrolment; // dsClassStudent }
public function createEnrolment() { if (!$this->getPerson()) return false; //var_dump($enrolment); // check for existing enrolment // Registration has enrolment linked if ($enrolment = $this->getEnrolment()) // person is already enrolled for this class if (!$enrolment = $this->getPerson()->getEnrolment( $this->getClassId() )) // if not: create new $enrolment = new dsClassStudent(); $enrolment->link('Class', $this->getClassId() ); $enrolment->link('Person', $this->getPersonId()); // var_dump( $this->getClassId() ); // set params from registration $enrolment->setPartner( $this->getPartner() ); $enrolment->setDateTimeObject('date_registered', $this->getDateTimeObject('created_at')); $role = ($this->getRole()=='L') ? 'leader' : 'follower'; $enrolment->setRole( $role ); $enrolment->setComment( $this->getComment() ); // $enrolment->confirm(); $enrolment->save(); $this->link('Enrolment', $enrolment->getId() ); $this->save(); // var_dump( 'saved'.$this->getId().'-'.$this->getEnrolmentId() ); /* if ($enrolment) { $this->approve(); $this->save(); } */ return $enrolment; }