public static function getCourseSubjects($widget, $values)
 {
     $sf_user = sfContext::getInstance()->getUser();
     $career_school_year = CareerSchoolYearPeer::retrieveByPK(sfContext::getInstance()->getUser()->getAttribute('career_school_year_id'));
     $career = $career_school_year->getCareer();
     $c = new Criteria();
     $c->addJoin(CourseSubjectPeer::CAREER_SUBJECT_SCHOOL_YEAR_ID, CareerSubjectSchoolYearPeer::ID);
     $c->add(CareerSubjectSchoolYearPeer::CAREER_SCHOOL_YEAR_ID, $career_school_year->getId());
     $c->addJoin(CourseSubjectPeer::COURSE_ID, CoursePeer::ID);
     $c->add(CoursePeer::SCHOOL_YEAR_ID, SchoolYearPeer::retrieveCurrent()->getId());
     $c->addJoin(CareerSubjectSchoolYearPeer::CAREER_SUBJECT_ID, CareerSubjectPeer::ID);
     $c->addJoin(CareerSubjectSchoolYearPeer::CAREER_SCHOOL_YEAR_ID, CareerSchoolYearPeer::ID);
     $c->add(CareerSubjectPeer::YEAR, $values);
     if ($sf_user->isPreceptor()) {
         $course_ids = PersonalPeer::retrieveCourseIdsjoinWithDivisionCourseOrCommission($sf_user->getGuardUser()->getId(), true);
         $c->add(CoursePeer::ID, $course_ids, Criteria::IN);
         $c->addJoin(CourseSubjectPeer::COURSE_ID, CoursePeer::ID);
     }
     $course_ids = array();
     foreach (CourseSubjectPeer::doSelect($c) as $course_subject) {
         if ($course_subject->hasAttendanceForSubject()) {
             $course_ids[] = $course_subject->getId();
         }
     }
     $criteria = new Criteria();
     $criteria->add(CourseSubjectPeer::ID, $course_ids, Criteria::IN);
     $criteria->addJoin(CourseSubjectPeer::CAREER_SUBJECT_SCHOOL_YEAR_ID, CareerSubjectSchoolYearPeer::ID);
     CareerSubjectSchoolYearPeer::sorted($criteria);
     $widget->setOption('criteria', $criteria);
 }
Beispiel #2
0
 public function getPersonal()
 {
     $c = new Criteria();
     $c->add(PersonalPeer::USER_ID, $this->getUserId());
     $personal = PersonalPeer::doSelectOne($c);
     return $personal;
 }
    public function executeChangepassword()
    {
        $oldpass = $this->getRequestParameter('oldpassword');
        $newpass = $this->getRequestParameter('newpassword');
        if ($oldpass) {
            $user = UserPeer::retrieveByPK($this->getUser()->getAttribute('userid'));
            $salt = md5(sfConfig::get('app_salt_password'));
            if (sha1($salt . $oldpass) == $user->getPassword()) {
                $user->setPassword($newpass);
                $user->save();
                $this->setFlash('changepassword', 'Password changed successfully.');
                $c = new Criteria();
                $c->add(PersonalPeer::USER_ID, $user->getId());
                $personal = PersonalPeer::doSelectOne($c);
                $name = $personal->getFirstname() . " " . $personal->getMiddlename() . " " . $personal->getLastname();
                $sendermail = sfConfig::get('app_from_mail');
                $sendername = sfConfig::get('app_from_name');
                $to = $personal->getEmail();
                $subject = "Password change request for ITBHU Global Org";
                $body = '
		
Dear ' . $name . ',

Someone, probably you have changed the password.
If its not you, please contact admin as soon as practical.

Admin,
ITBHU Global
';
                $mail = myUtility::sendmail($sendermail, $sendername, $sendermail, $sendername, $sendermail, $to, $subject, $body);
            } else {
                $this->setFlash('changepasswordErr', 'Incorrect Old Password');
            }
        }
    }
 public function configureWidgets()
 {
     $this->setWidget('student_id', new sfWidgetFormInputHidden());
     $this->setWidget('school_year_id', new sfWidgetFormInputHidden());
     $this->setWidget('request_date', new csWidgetFormDateInput());
     $this->setWidget('resolution_date', new csWidgetFormDateInput());
     $this->getWidget('disciplinary_sanction_type_id')->setOption('add_empty', true);
     $this->getWidget('sanction_type_id')->setOption('add_empty', true);
     $applicants_criteria = new Criteria();
     PersonPeer::doSelectOrderedCriteria($applicants_criteria);
     $results = array();
     foreach (PersonalPeer::doSelect(new Criteria()) as $personal) {
         $results[$personal->getPersonId()] = $personal->getPersonId();
     }
     foreach (TeacherPeer::doSelect(new Criteria()) as $teacher) {
         $results[$teacher->getPersonId()] = $teacher->getPersonId();
     }
     $applicants_criteria->add(PersonPeer::ID, $results, Criteria::IN);
     $this->getWidget('applicant_id')->setOption('criteria', $applicants_criteria);
     $preceptors_criteria = new Criteria();
     PersonPeer::doSelectOrderedCriteria($preceptors_criteria);
     $preceptors_criteria->addJoin(PersonPeer::ID, PersonalPeer::PERSON_ID);
     $this->getWidget('responsible_id')->setOption('criteria', $preceptors_criteria);
     $this->setWidget('document', new sfWidgetFormInputFile());
     if ($this->getObject()->getDocument()) {
         $this->setWidget('current_document', new mtWidgetFormPartial(array('module' => 'student_disciplinary_sanction', 'partial' => 'downloable_document', 'form' => $this)));
         $this->setWidget('delete_document', new sfWidgetFormInputCheckbox());
         $this->getWidgetSchema()->moveField('delete_document', sfWidgetFormSchema::BEFORE, 'document');
         $this->getWidgetSchema()->moveField('current_document', sfWidgetFormSchema::BEFORE, 'delete_document');
     }
 }
Beispiel #5
0
 public function getObject()
 {
     if (!is_null(sfContext::getInstance()->getUser()->getReferenceFor("teacher"))) {
         $this->back_to = 'teacher';
         return TeacherPeer::retrieveByPK(sfContext::getInstance()->getUser()->getReferenceFor("teacher"))->getPerson();
     }
     $this->back_to = 'personal';
     return PersonalPeer::retrieveByPK(sfContext::getInstance()->getUser()->getReferenceFor("personal"))->getPerson();
 }
Beispiel #6
0
 public static function initilize($idP, $idS)
 {
     $OP = PersonalPeer::retrieveByPK($idP);
     if ($OP instanceof Personal) {
         return new PersonalForm($OP);
     } else {
         $OP = new Personal();
         $OP->setSiteId($idS);
         $OP->setActiu(true);
         return new PersonalForm($OP);
     }
 }
 public static function getDivisions($widget, $values)
 {
     $sf_user = sfContext::getInstance()->getUser();
     $career_school_year_id = $sf_user->getAttribute('career_school_year_id');
     $c = new Criteria();
     $c->add(DivisionPeer::CAREER_SCHOOL_YEAR_ID, $career_school_year_id);
     $c->add(DivisionPeer::YEAR, $values);
     if ($sf_user->isPreceptor()) {
         PersonalPeer::joinWithDivisions($c, $sf_user->getGuardUser()->getId());
     }
     $widget->setOption('criteria', $c);
 }
Beispiel #8
0
 public function setup()
 {
     $this->setWidgets(array('idPersonal' => new sfWidgetFormInputHidden(), 'idUsuari' => new sfWidgetFormInputHidden(), 'idData' => new sfWidgetFormInputHidden(), 'tipus' => new sfWidgetFormChoice(array('choices' => PersonalPeer::getTipusArray())), 'text' => new sfWidgetFormTextarea(), 'data_alta' => new sfWidgetFormInputHidden(), 'data_baixa' => new sfWidgetFormInputHidden(), 'usuariUpdateId' => new sfWidgetFormInputHidden(), 'finalitza' => new sfWidgetFormChoice(array('choices' => array(0 => 'No', 1 => 'Sí')), array()), 'data_finalitzada' => new sfWidgetFormShowText(array('type' => 'date'), array()), 'revisat' => new sfWidgetFormChoice(array('choices' => array(0 => 'No', 1 => 'Sí')), array()), 'data_revisio' => new sfWidgetFormShowText(array('type' => 'date'), array())));
     $DR = $this->getObject()->getDatarevisio();
     $DF = $this->getObject()->getDataFinalitzada();
     if ($DR != null) {
         $this->setWidget('revisat', new sfWidgetFormInputHidden());
     }
     if ($DF != null) {
         $this->setWidget('finalitza', new sfWidgetFormInputHidden());
     }
     $this->setValidators(array('idPersonal' => new sfValidatorChoice(array('choices' => array($this->getObject()->getIdpersonal()), 'empty_value' => $this->getObject()->getIdpersonal(), 'required' => false)), 'idUsuari' => new sfValidatorPropelChoice(array('model' => 'Usuaris', 'column' => 'UsuariID')), 'idData' => new sfValidatorDate(), 'tipus' => new sfValidatorInteger(array('min' => -128, 'max' => 127, 'required' => false)), 'text' => new sfValidatorString(array('required' => false)), 'data_revisio' => new sfValidatorDate(array('required' => false)), 'data_alta' => new sfValidatorDateTime(array('required' => false)), 'data_baixa' => new sfValidatorDate(array('required' => false)), 'usuariUpdateId' => new sfValidatorPropelChoice(array('model' => 'Usuaris', 'column' => 'UsuariID', 'required' => false)), 'data_finalitzada' => new sfValidatorDate(array('required' => false), array()), 'finalitza' => new sfValidatorPass(array('required' => false), array()), 'revisat' => new sfValidatorPass(array('required' => false), array())));
     $this->widgetSchema->setNameFormat('personal[%s]');
     $this->widgetSchema->setLabels(array('tipus' => 'Tipus', 'text' => 'Text', 'data_revisio' => 'Data revisió: ', 'finalitza' => 'Acabada?', 'revisat' => 'Revisada?', 'data_finalitzada' => 'Data acabada: '));
     $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
 }
Beispiel #9
0
 public function executeUpdatePreceptors(sfWebRequest $request)
 {
     $this->head_personal = PersonalPeer::retrieveByPk($request->getParameter('head_personal_personal[id]'));
     if (null === $this->head_personal) {
         $this->getUser()->setFlash('error', 'Debe seleccionar un jefe de preceptores para configurar sus preceptores');
         $this->redirect('@head_personal');
     }
     $this->form = new HeadPersonalPersonalManyForm($this->head_personal);
     $this->form->bind($request->getParameter($this->form->getName()), $request->getFiles($this->form->getName()));
     if ($this->form->isValid()) {
         $this->form->save();
         $this->getUser()->setFlash('notice', 'Los preceptores seleccionados han sido correctamente asignado al jefe de preceptores.');
     } else {
         $this->setProcessFormErrorFlash();
     }
     $this->setTemplate('preceptors');
 }
 public static function getCourseSUbjects($widget, $values)
 {
     $sf_user = sfContext::getInstance()->getUser();
     $career_school_year = CareerSchoolYearPeer::retrieveByPK(sfContext::getInstance()->getUser()->getAttribute('career_school_year_id'));
     $c = new Criteria();
     $c->addJoin(CourseSubjectPeer::CAREER_SUBJECT_SCHOOL_YEAR_ID, CareerSubjectSchoolYearPeer::ID);
     $c->add(CareerSubjectSchoolYearPeer::CAREER_SCHOOL_YEAR_ID, $career_school_year->getId());
     $c->addJoin(CourseSubjectPeer::COURSE_ID, CoursePeer::ID);
     $c->addJoin(CareerSubjectSchoolYearPeer::CAREER_SUBJECT_ID, CareerSubjectPeer::ID);
     $c->addJoin(CareerSubjectSchoolYearPeer::CAREER_SCHOOL_YEAR_ID, CareerSchoolYearPeer::ID);
     $c->add(CareerSubjectPeer::YEAR, $values);
     if ($sf_user->isPreceptor()) {
         $course_ids = PersonalPeer::retrieveCourseIdsjoinWithDivisionCourseOrCommission($sf_user->getGuardUser()->getId(), true);
         $c->add(CoursePeer::ID, $course_ids, Criteria::IN);
         $c->addJoin(CourseSubjectPeer::COURSE_ID, CoursePeer::ID);
     }
     $widget->setOption('criteria', $c);
 }
 public function configure()
 {
     $this->setWidget('student_id', new sfWidgetFormInputHidden());
     $this->setWidget('school_year_id', new sfWidgetFormInputHidden());
     unset($this['resolution_date']);
     $this->setWidget('request_date', new csWidgetFormDateInput());
     $this->setValidator('request_date', new mtValidatorDateString());
     $this->getWidgetSchema()->setLabel('request_date', 'Day');
     $this->getWidgetSchema()->setHelp('value', 'This field represents the value of the disciplinary sanction');
     $this->setValidator('value', new sfValidatorNumber(array('required' => true)));
     $this->getWidget('disciplinary_sanction_type_id')->setOption('add_empty', true);
     $this->getWidget('sanction_type_id')->setOption('add_empty', true);
     $applicants_criteria = new Criteria();
     PersonPeer::doSelectOrderedCriteria($applicants_criteria);
     $results = array();
     foreach (PersonalPeer::doSelect(new Criteria()) as $personal) {
         $results[$personal->getPersonId()] = $personal->getPersonId();
     }
     foreach (TeacherPeer::doSelect(new Criteria()) as $teacher) {
         $results[$teacher->getPersonId()] = $teacher->getPersonId();
     }
     $applicants_criteria->add(PersonPeer::ID, $results, Criteria::IN);
     $this->getWidget('applicant_id')->setOption('criteria', $applicants_criteria);
     $preceptors_criteria = new Criteria();
     PersonPeer::doSelectOrderedCriteria($preceptors_criteria);
     $preceptors_criteria->addJoin(PersonPeer::ID, PersonalPeer::PERSON_ID);
     $this->getWidget('responsible_id')->setOption('criteria', $preceptors_criteria);
     $this->setWidget('document', new sfWidgetFormInputFile());
     $this->setValidator('document', new sfValidatorFile(array('path' => StudentDisciplinarySanction::getDocumentDirectory(), 'max_size' => '2097152', 'required' => false)));
     $this->getWidgetSchema()->setHelp('document', 'The file must be of the following types: jpeg, jpg, gif, png, pdf.');
     $this->getValidator('document')->setOption('mime_categories', array('web_images' => array('image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'image/gif'), 'documents' => array('application/pdf')));
     $this->getWidgetSchema()->moveField('observation', sfWidgetFormSchema::LAST);
     $this->getWidgetSchema()->moveField('document', sfWidgetFormSchema::AFTER, 'responsible_id');
     if ($this->getObject()->getDocument()) {
         $this->setWidget('current_document', new mtWidgetFormPartial(array('module' => 'student_disciplinary_sanction', 'partial' => 'downloable_document', 'form' => $this)));
         $this->setValidator('current_document', new sfValidatorPass(array('required' => false)));
         $this->setWidget('delete_document', new sfWidgetFormInputCheckbox());
         $this->setValidator('delete_document', new sfValidatorBoolean(array('required' => false)));
         $this->getWidgetSchema()->moveField('delete_document', sfWidgetFormSchema::BEFORE, 'document');
         $this->getWidgetSchema()->moveField('current_document', sfWidgetFormSchema::BEFORE, 'delete_document');
     }
 }
 public static function getDivisions($widget, $values)
 {
     $sf_user = sfContext::getInstance()->getUser();
     $career_school_year_id = $sf_user->getAttribute('career_school_year_id');
     $c = new Criteria();
     $c->add(DivisionPeer::CAREER_SCHOOL_YEAR_ID, $career_school_year_id);
     $c->add(DivisionPeer::YEAR, $values);
     if ($sf_user->isPreceptor()) {
         PersonalPeer::joinWithDivisions($c, $sf_user->getGuardUser()->getId());
     }
     $division_ids = array();
     foreach (DivisionPeer::doSelect($c) as $division) {
         if ($division->hasAttendanceForDay()) {
             $division_ids[] = $division->getId();
         }
     }
     $criteria = new Criteria();
     $criteria->add(DivisionPeer::ID, $division_ids, Criteria::IN);
     $widget->setOption('criteria', $criteria);
 }
Beispiel #13
0
 public function buildCriteria(Criteria $criteria = null)
 {
     if (null === $criteria) {
         $criteria = new Criteria();
     }
     $params = $this->getFilterCriteria();
     $criteria->setLimit(50);
     if (isset($params['attendance_subject']) && $params['attendance_subject']) {
         $criteria->add(StudentAttendancePeer::COURSE_SUBJECT_ID, null, Criteria::ISNOTNULL);
     }
     if (isset($params['from_date']) && trim($params['from_date']) != '') {
         $criteria->add(StudentAttendancePeer::DAY, $params['from_date'], Criteria::GREATER_EQUAL);
     }
     if (isset($params['to_date']) && trim($params['to_date']) != '') {
         $criteria->addAnd(StudentAttendancePeer::DAY, $params['to_date'], Criteria::LESS_EQUAL);
     }
     if (isset($params['student']) && trim($params['student']) != '') {
         if (is_numeric($params['student'])) {
             //si es un nro chequeo documento
             $criteria->add(PersonPeer::IDENTIFICATION_NUMBER, (int) $params['student']);
             $criteria->addJoin(StudentPeer::PERSON_ID, PersonPeer::ID);
             $criteria->addJoin(StudentPeer::ID, StudentAttendancePeer::STUDENT_ID);
         } else {
             $criteria->add(PersonPeer::LASTNAME, '%' . $params['student'] . '%', Criteria::LIKE);
             $criteria->addJoin(StudentPeer::PERSON_ID, PersonPeer::ID);
             $criteria->addJoin(StudentPeer::ID, StudentAttendancePeer::STUDENT_ID);
         }
     }
     if ($this->getUser()->isPreceptor()) {
         PersonalPeer::joinWithStudents($criteria, $this->getUser()->getGuardUser()->getId());
         $criteria->addJoin(StudentPeer::ID, StudentAttendancePeer::STUDENT_ID);
     }
     $school_year = SchoolYearPeer::retrieveCurrent();
     //Filtro solo las que son faltas.
     $criteria->add(StudentAttendancePeer::VALUE, 0, Criteria::GREATER_THAN);
     $criteria->addJoin(StudentAttendancePeer::CAREER_SCHOOL_YEAR_ID, CareerSchoolYearPeer::ID);
     $criteria->add(CareerSchoolYearPeer::SCHOOL_YEAR_ID, $school_year->getId());
     $criteria->addDescendingOrderByColumn(StudentAttendancePeer::DAY);
     return $criteria;
 }
Beispiel #14
0
 public function canAddPreceptor()
 {
     $c = new Criteria();
     $c->add(PersonalPeer::PERSON_ID, $this->getPersonId());
     return PersonalPeer::doCount($c) == 0;
 }
 public static function doSelectJoinAllExceptWorktype(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     PersonalWorktypePeer::addSelectColumns($c);
     $startcol2 = PersonalWorktypePeer::NUM_COLUMNS - PersonalWorktypePeer::NUM_LAZY_LOAD_COLUMNS + 1;
     PersonalPeer::addSelectColumns($c);
     $startcol3 = $startcol2 + PersonalPeer::NUM_COLUMNS;
     $c->addJoin(PersonalWorktypePeer::PERSONAL_ID, PersonalPeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = PersonalWorktypePeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = PersonalPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj2 = new $cls();
         $obj2->hydrate($rs, $startcol2);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj2 = $temp_obj1->getPersonal();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addPersonalWorktype($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initPersonalWorktypes();
             $obj2->addPersonalWorktype($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
 /**
  * Event listener function that should be registered to
  * 'admin.build_criteria' event in order to add some
  * personalized criteria restrictions.
  *
  * @param sfEvent $event
  * @param Criteria $criteria
  */
 static function applyRestrictions(sfEvent $event, $criteria)
 {
     $user = sfContext::getInstance()->getUser();
     if ($event->getSubject() instanceof schoolyearActions) {
         // Restrictions for schoolyear module
         // $criteria->add(...);
     } elseif ($event->getSubject() instanceof career_subjectActions) {
         // Restrictions for careersubject module
         if ($user->getReferenceFor('career')) {
             $criteria->add(CareerSubjectPeer::CAREER_ID, $user->getReferenceFor('career'));
             CareerSubjectPeer::OrderByYearAndName($criteria);
         }
     } elseif ($event->getSubject() instanceof career_subject_optionActions) {
         // Restrictions for careersubject module
         if ($user->getReferenceFor('career')) {
             $criteria->add(CareerSubjectPeer::IS_OPTION, true);
             $criteria->add(CareerSubjectPeer::CAREER_ID, $user->getReferenceFor('career'));
         }
     } elseif ($event->getSubject() instanceof career_school_yearActions) {
         if ($school_year_id = $user->getReferenceFor('schoolyear')) {
             $criteria->add(CareerSchoolYearPeer::SCHOOL_YEAR_ID, $school_year_id);
         }
     } elseif ($event->getSubject() instanceof career_subject_school_yearActions) {
         if ($career_school_year_id = $user->getReferenceFor('career_school_year')) {
             $criteria->add(CareerSubjectSchoolYearPeer::CAREER_SCHOOL_YEAR_ID, $career_school_year_id);
             $criteria->add(CareerSubjectPeer::IS_OPTION, false);
             $criteria->addJoin(CareerSubjectPeer::ID, CareerSubjectSchoolYearPeer::CAREER_SUBJECT_ID);
             CareerSubjectSchoolYearPeer::sorted($criteria);
         }
     } elseif ($event->getSubject() instanceof optional_school_yearActions) {
         if ($career_school_year_id = $user->getReferenceFor('career_school_year')) {
             $criteria->add(CareerSubjectSchoolYearPeer::CAREER_SCHOOL_YEAR_ID, $career_school_year_id);
             $criteria->add(CareerSubjectPeer::HAS_OPTIONS, true);
             $criteria->addJoin(CareerSubjectPeer::ID, CareerSubjectSchoolYearPeer::CAREER_SUBJECT_ID);
         }
     } elseif ($event->getSubject() instanceof division_courseActions) {
         if ($division_id = $user->getReferenceFor('division')) {
             $criterion = $criteria->getNewCriterion(CoursePeer::DIVISION_ID, $division_id);
             $criterion->addOr($criteria->getNewCriterion(CoursePeer::RELATED_DIVISION_ID, $division_id));
             $criteria->add($criterion);
         }
         if ($user->isPreceptor()) {
             self::addCoursePreceptorCriteria($criteria, $user);
         }
         if ($user->isTeacher()) {
             self::addCourseTeacherCriteria($criteria, $user);
         }
         $criteria->setDistinct();
     } elseif ($event->getSubject() instanceof divisionActions) {
         DivisionPeer::sorted($criteria);
         if ($user->isPreceptor()) {
             self::addDivisionPreceptorCriteria($criteria, $user);
         } elseif ($user->isTeacher()) {
             self::addDivisionTeacherCriteria($criteria, $user);
         } elseif ($user->isHeadPreceptor()) {
             self::addDivisionHeadPersonalCriteria($criteria, $user);
         }
     } else {
         if ($event->getSubject() instanceof shared_studentActions) {
             $reference_array = sfContext::getInstance()->getUser()->getReferenceFor("shared_student");
             $peer = $reference_array["peer"];
             $fk = $reference_array["fk"];
             if (isset($reference_array["object_id"])) {
                 $object_id = $reference_array["object_id"];
             } else {
                 $object_ids = $reference_array["object_ids"];
             }
             $criteria->addJoin(constant("{$peer}::STUDENT_ID"), StudentPeer::ID);
             $criteria->addGroupByColumn(StudentPeer::ID);
             if (isset($object_id)) {
                 $criteria->add(constant("{$peer}::{$fk}"), $object_id);
             } else {
                 $criteria->add(constant("{$peer}::{$fk}"), $object_ids, Criteria::IN);
             }
             $criteria->addJoin(StudentPeer::PERSON_ID, PersonPeer::ID);
             $criteria->add(PersonPeer::IS_ACTIVE, true);
         } else {
             if ($event->getSubject() instanceof examinationActions || $event->getSubject() instanceof manual_examinationActions) {
                 $school_year_id = sfContext::getInstance()->getUser()->getReferenceFor("schoolyear");
                 $criteria->add(ExaminationPeer::SCHOOL_YEAR_ID, $school_year_id);
                 if ($user->isTeacher()) {
                     $criteria->addJoin(ExaminationPeer::ID, ExaminationSubjectPeer::EXAMINATION_ID);
                     $criteria->addJoin(ExaminationSubjectPeer::ID, ExaminationSubjectTeacherPeer::EXAMINATION_SUBJECT_ID);
                     $criteria->addJoin(ExaminationSubjectTeacherPeer::TEACHER_ID, TeacherPeer::ID);
                     $criteria->addJoin(TeacherPeer::PERSON_ID, PersonPeer::ID);
                     $criteria->add(PersonPeer::IS_ACTIVE, true);
                     $criteria->add(PersonPeer::USER_ID, $user->getGuardUser()->getId());
                 }
             } else {
                 if ($event->getSubject() instanceof examination_subjectActions) {
                     $examination_id = sfContext::getInstance()->getUser()->getReferenceFor("examination");
                     $criteria->add(ExaminationSubjectPeer::EXAMINATION_ID, $examination_id);
                     $criteria->addJoin(CareerSubjectSchoolYearPeer::ID, ExaminationSubjectPeer::CAREER_SUBJECT_SCHOOL_YEAR_ID);
                     $criteria->addJoin(CareerSubjectPeer::ID, CareerSubjectSchoolYearPeer::CAREER_SUBJECT_ID);
                     $criteria->addAscendingOrderByColumn(CareerSubjectPeer::YEAR);
                     if ($user->isTeacher()) {
                         $criteria->addJoin(ExaminationSubjectPeer::ID, ExaminationSubjectTeacherPeer::EXAMINATION_SUBJECT_ID);
                         $criteria->addJoin(ExaminationSubjectTeacherPeer::TEACHER_ID, TeacherPeer::ID);
                         $criteria->addJoin(TeacherPeer::PERSON_ID, PersonPeer::ID);
                         $criteria->add(PersonPeer::IS_ACTIVE, true);
                         $criteria->add(PersonPeer::USER_ID, $user->getGuardUser()->getId());
                     }
                 } else {
                     if ($event->getSubject() instanceof manual_examination_subjectActions) {
                         $examination_id = sfContext::getInstance()->getUser()->getReferenceFor("manual_examination");
                         $criteria->add(ExaminationSubjectPeer::EXAMINATION_ID, $examination_id);
                         if ($user->isTeacher()) {
                             $criteria->addJoin(ExaminationSubjectPeer::ID, ExaminationSubjectTeacherPeer::EXAMINATION_SUBJECT_ID);
                             $criteria->addJoin(ExaminationSubjectTeacherPeer::TEACHER_ID, TeacherPeer::ID);
                             $criteria->addJoin(TeacherPeer::PERSON_ID, PersonPeer::ID);
                             $criteria->add(PersonPeer::IS_ACTIVE, true);
                             $criteria->add(PersonPeer::USER_ID, $user->getGuardUser()->getId());
                         }
                     } elseif ($event->getSubject() instanceof examination_repprovedActions) {
                         $school_year_id = sfContext::getInstance()->getUser()->getReferenceFor("schoolyear");
                         $criteria->add(ExaminationRepprovedPeer::SCHOOL_YEAR_ID, $school_year_id);
                         if ($user->isTeacher()) {
                             $criteria->addJoin(ExaminationRepprovedPeer::ID, ExaminationRepprovedSubjectPeer::EXAMINATION_REPPROVED_ID);
                             $criteria->addJoin(ExaminationRepprovedSubjectPeer::ID, ExaminationRepprovedSubjectTeacherPeer::EXAMINATION_REPPROVED_SUBJECT_ID);
                             $criteria->addJoin(ExaminationRepprovedSubjectTeacherPeer::TEACHER_ID, TeacherPeer::ID);
                             $criteria->addJoin(TeacherPeer::PERSON_ID, PersonPeer::ID);
                             $criteria->add(PersonPeer::IS_ACTIVE, true);
                             $criteria->add(PersonPeer::USER_ID, $user->getGuardUser()->getId());
                         }
                     } elseif ($event->getSubject() instanceof examination_repproved_subjectActions) {
                         $examination_repproved_id = sfContext::getInstance()->getUser()->getReferenceFor("examination_repproved");
                         $criteria->add(ExaminationRepprovedSubjectPeer::EXAMINATION_REPPROVED_ID, $examination_repproved_id);
                         ExaminationRepprovedSubjectPeer::sortedBySubject($criteria);
                         if ($user->isTeacher()) {
                             $criteria->addJoin(ExaminationRepprovedSubjectPeer::ID, ExaminationRepprovedSubjectTeacherPeer::EXAMINATION_REPPROVED_SUBJECT_ID);
                             $criteria->addJoin(ExaminationRepprovedSubjectTeacherPeer::TEACHER_ID, TeacherPeer::ID);
                             $criteria->addJoin(TeacherPeer::PERSON_ID, PersonPeer::ID);
                             $criteria->add(PersonPeer::IS_ACTIVE, true);
                             $criteria->add(PersonPeer::USER_ID, $user->getGuardUser()->getId());
                         }
                     } else {
                         if ($event->getSubject() instanceof courseActions) {
                             $school_year = SchoolYearPeer::retrieveCurrent();
                             $criteria->add(CoursePeer::DIVISION_ID, null, Criteria::ISNULL);
                             $criteria->add(CoursePeer::SCHOOL_YEAR_ID, $school_year->getId());
                             if ($user->isPreceptor()) {
                                 PersonalPeer::joinWithCourse($criteria, $user->getGuardUser()->getId());
                             }
                             if ($user->isTeacher()) {
                                 $criteria->addJoin(CoursePeer::ID, CourseSubjectPeer::COURSE_ID);
                                 $criteria->addJoin(CourseSubjectPeer::ID, CourseSubjectTeacherPeer::COURSE_SUBJECT_ID);
                                 $criteria->addJoin(CourseSubjectTeacherPeer::TEACHER_ID, TeacherPeer::ID);
                                 $criteria->addJoin(TeacherPeer::PERSON_ID, PersonPeer::ID);
                                 $criteria->add(PersonPeer::IS_ACTIVE, true);
                                 $criteria->add(PersonPeer::USER_ID, $user->getGuardUser()->getId());
                                 $criteria->setDistinct();
                             }
                         } else {
                             if ($event->getSubject() instanceof commissionActions) {
                                 /*
                                 $school_year = SchoolYearPeer::retrieveCurrent();
                                 $criteria->add(CoursePeer::SCHOOL_YEAR_ID, $school_year->getId());
                                 */
                                 CoursePeer::sorted($criteria);
                                 $criteria->add(CoursePeer::DIVISION_ID, null, Criteria::ISNULL);
                                 $criteria->add(CoursePeer::IS_PATHWAY, false);
                                 if ($user->isPreceptor()) {
                                     PersonalPeer::joinWithCourse($criteria, $user->getGuardUser()->getId());
                                 } elseif ($user->isTeacher()) {
                                     TeacherPeer::joinWithCourses($criteria, $user->getGuardUser()->getId(), true);
                                 }
                                 if ($user->isHeadPreceptor()) {
                                     self::addCommissionHeadPreceptorCriteria($criteria, $user);
                                 }
                             } else {
                                 if ($event->getSubject() instanceof final_examinationActions) {
                                     $school_year_id = sfContext::getInstance()->getUser()->getReferenceFor("schoolyear");
                                     $criteria->add(FinalExaminationPeer::SCHOOL_YEAR_ID, $school_year_id);
                                 } else {
                                     if ($event->getSubject() instanceof final_examination_subjectActions) {
                                         $final_examination_id = sfContext::getInstance()->getUser()->getReferenceFor("final_examination");
                                         $criteria->add(FinalExaminationSubjectPeer::FINAL_EXAMINATION_ID, $final_examination_id);
                                         if ($user->isTeacher()) {
                                             $criteria->addJoin(FinalExaminationSubjectTeacherPeer::TEACHER_ID, TeacherPeer::ID);
                                             $criteria->addJoin(TeacherPeer::PERSON_ID, PersonPeer::ID);
                                             $criteria->add(PersonPeer::IS_ACTIVE, true);
                                             $criteria->add(PersonPeer::USER_ID, $user->getGuardUser()->getId());
                                         }
                                     } else {
                                         if ($event->getSubject() instanceof equivalenceActions) {
                                             $student_id = sfContext::getInstance()->getUser()->getReferenceFor("student");
                                             $criteria->add(StudentCareerSchoolYearPeer::STUDENT_ID, $student_id);
                                         } else {
                                             if ($event->getSubject() instanceof sub_orientationActions) {
                                                 $orientation_id = sfContext::getInstance()->getUser()->getReferenceFor("orientation");
                                                 $criteria->add(SubOrientationPeer::ORIENTATION_ID, $orientation_id);
                                             } else {
                                                 if ($event->getSubject() instanceof student_reincorporationActions) {
                                                     $student_id = sfContext::getInstance()->getUser()->getReferenceFor("student");
                                                     if (is_null($student_id)) {
                                                         $student_id = $user->getAttribute('student_id');
                                                     }
                                                     $criteria->add(StudentReincorporationPeer::STUDENT_ID, $student_id);
                                                     $criteria->addJoin(StudentReincorporationPeer::CAREER_SCHOOL_YEAR_PERIOD_ID, CareerSchoolYearPeriodPeer::ID);
                                                     $criteria->addJoin(CareerSchoolYearPeriodPeer::CAREER_SCHOOL_YEAR_ID, CareerSchoolYearPeer::ID);
                                                     $criteria->add(CareerSchoolYearPeer::SCHOOL_YEAR_ID, SchoolYearPeer::retrieveCurrent()->getId());
                                                 } elseif ($event->getSubject() instanceof shared_course_subjectActions) {
                                                     $teacher_id = sfContext::getInstance()->getUser()->getReferenceFor("teacher");
                                                     $criteria->addJoin(CourseSubjectPeer::ID, CourseSubjectTeacherPeer::COURSE_SUBJECT_ID);
                                                     $criteria->addJoin(CourseSubjectTeacherPeer::TEACHER_ID, $teacher_id);
                                                     $criteria->setDistinct();
                                                 } elseif ($event->getSubject() instanceof personalActions) {
                                                     $criteria->add(PersonalPeer::PERSONAL_TYPE, PersonalType::PRECEPTOR);
                                                 } elseif ($event->getSubject() instanceof head_personalActions) {
                                                     $criteria->add(PersonalPeer::PERSONAL_TYPE, PersonalType::HEAD_PRECEPTOR);
                                                 } elseif ($event->getSubject() instanceof student_officeActions) {
                                                     $criteria->add(PersonalPeer::PERSONAL_TYPE, PersonalType::STUDENTS_OFFICE);
                                                 } elseif ($event->getSubject() instanceof studentActions) {
                                                     if ($user->isPreceptor()) {
                                                         SchoolBehaviourFactory::getInstance()->joinPreceptorWithStudents($criteria, $user->getGuardUser()->getId());
                                                     } elseif ($user->isTeacher()) {
                                                         TeacherPeer::joinWithStudents($criteria, $user->getGuardUser()->getId());
                                                     }
                                                     if ($user->isHeadPreceptor()) {
                                                         $criteria->addJoin(DivisionStudentPeer::STUDENT_ID, StudentPeer::ID);
                                                         $criteria->addJoin(DivisionStudentPeer::DIVISION_ID, DivisionPeer::ID);
                                                         self::addDivisionHeadPersonalCriteria($criteria, $user);
                                                     }
                                                 } elseif ($event->getSubject() instanceof licenseActions) {
                                                     if (!is_null(sfContext::getInstance()->getUser()->getReferenceFor("teacher"))) {
                                                         $person_id = TeacherPeer::retrieveByPK(sfContext::getInstance()->getUser()->getReferenceFor("teacher"))->getPersonId();
                                                     } else {
                                                         $person_id = PersonalPeer::retrieveByPK(sfContext::getInstance()->getUser()->getReferenceFor("personal"))->getPersonId();
                                                     }
                                                     $criteria->add(LicensePeer::PERSON_ID, $person_id);
                                                 } elseif ($event->getSubject() instanceof teacherActions) {
                                                     $criteria->setDistinct();
                                                 } else {
                                                     if ($event->getSubject() instanceof career_school_year_periodActions) {
                                                         $career_school_year_id = sfContext::getInstance()->getUser()->getReferenceFor("career_school_year");
                                                         $criteria->add(CareerSchoolYearPeriodPeer::CAREER_SCHOOL_YEAR_ID, $career_school_year_id);
                                                     } else {
                                                         if ($event->getSubject() instanceof student_freeActions) {
                                                             $student_id = sfContext::getInstance()->getUser()->getReferenceFor("student");
                                                             if (is_null($student_id)) {
                                                                 $student_id = $user->getAttribute('student_id');
                                                             }
                                                             $criteria->add(StudentFreePeer::STUDENT_ID, $student_id);
                                                         } else {
                                                             if ($event->getSubject() instanceof course_subject_student_examinationActions) {
                                                                 $examination_subject_id = sfContext::getInstance()->getUser()->getReferenceFor("examination_subject");
                                                                 $criteria->add(CourseSubjectStudentExaminationPeer::EXAMINATION_SUBJECT_ID, $examination_subject_id);
                                                             } else {
                                                                 if ($event->getSubject() instanceof student_examination_repproved_subjectActions) {
                                                                     $examination_repproved_subject_id = sfContext::getInstance()->getUser()->getReferenceFor("examination_repproved_subject");
                                                                     $criteria->add(StudentExaminationRepprovedSubjectPeer::EXAMINATION_REPPROVED_SUBJECT_ID, $examination_repproved_subject_id);
                                                                 } else {
                                                                     if ($event->getSubject() instanceof pathway_commissionActions) {
                                                                         $criteria->add(CoursePeer::IS_PATHWAY, true);
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return $criteria;
 }
Beispiel #17
0
 public function executeInvite()
 {
     $c = new Criteria();
     $c->add(PersonalPeer::USER_ID, $this->getRequestParameter('id'));
     $this->personal = PersonalPeer::doSelectOne($c);
     $this->email = $this->personal->getEmail();
     if ($this->getUser()->getAttribute('userid')) {
         $this->userid = $this->getUser()->getAttribute('userid');
         $user = UserPeer::retrieveByPK($this->userid);
         $this->fullname = $user->getFullname();
         $c = new Criteria();
         $c->add(PersonalPeer::USER_ID, $this->userid);
         $personal = PersonalPeer::doSelectOne($c);
         $this->senderemail = $personal->getEmail();
     } else {
         $this->fullname = "";
         $this->senderemail = "";
     }
     $g = new Captcha();
     $this->getUser()->setAttribute('captcha', $g->generate());
 }
 public function executeGPersonal(sfWebRequest $request)
 {
     $this->setLayout('gestio');
     //Inicialitzem variables
     $this->IDU = $request->getParameter('IDU', $this->getUser()->getSessionPar('idU'));
     $this->IDS = $request->getParameter('IDS', $this->getUser()->getSessionPar('idS'));
     $this->DIA = $request->getParameter('DIA', time());
     $this->IDP = $request->getParameter('IDP');
     $this->OP = PersonalPeer::retrieveByPK($this->IDP);
     if (!$this->OP instanceof Personal) {
         $this->OP = new Personal();
         $this->OP->setIdusuari($this->IDU);
         $this->OP->setIddata(date('Y-m-d', $this->DIA));
         $this->OP->setSiteid($this->IDS);
         $this->OP->setText('Escriu la informació de l\'acció... ');
     }
     $this->DATAI = $this->getUser()->ParReqSesForm($request, 'DATAI', time());
     $this->CALENDARI = PersonalPeer::getHoraris($this->DATAI, $this->IDS);
     $accio = $request->getParameter('accio', 'INICIAL');
     switch ($accio) {
         //Quan entrem a la pàgina sense clicar cap dia i mostrem el calendari.
         case 'INICIAL':
             //D'entrada no cal fer res, perquè ja ho hem inicialitzat tot
             $this->DADES_DIA = PersonalPeer::getDadesUpdates($this->DIA, $this->IDU, $this->IDS);
             break;
             //Accedim directament a una acció
         //Accedim directament a una acció
         case 'ACCES_DIRECTE_ACCIO':
             //D'entrada no cal fer res, perquè ja ho hem inicialitzat tot
             $this->DADES_DIA = PersonalPeer::getDadesUpdates($this->DIA, $this->IDU, $this->IDS);
             $this->ACCIO = "DIRECTE";
             $OP = PersonalPeer::retrieveByPK($request->getParameter('IDP'));
             if ($OP instanceof Personal) {
                 $this->OP = $OP;
             }
             break;
             //Hem clicat un dia
         //Hem clicat un dia
         case 'AJAX_CLICK_DIA':
             $dades_dia = PersonalPeer::getDadesUpdates($this->DIA, $this->IDU, $this->IDS);
             return $this->renderPartial('formPersonal', array('IDS' => $this->IDS, 'IDU' => $this->IDU, 'DIA' => $this->DIA, 'DADES_DIA' => $dades_dia, 'DATAI' => $this->DATAI, 'CALENDARI' => $this->CALENDARI));
             break;
             //Fem click al botó per editar una acció.
         //Fem click al botó per editar una acció.
         case 'AJAX_EDITA_ACCIO':
             return $this->renderPartial('formPersonalFormulari', array('OP' => $this->OP, 'IDS' => $this->IDS, 'IDU' => $this->IDU, 'DIA' => $this->DIA, 'DATAI' => $this->DATAI, 'CALENDARI' => $this->CALENDARI));
             break;
             //Tornem de l'edició d'una acció sense canvis
         //Tornem de l'edició d'una acció sense canvis
         case 'AJAX_TORNA':
             $dades_dia = PersonalPeer::getDadesUpdates($this->DIA, $this->IDU, $this->IDS);
             return $this->renderPartial('formPersonal', array('OP' => $this->OP, 'IDS' => $this->IDS, 'IDU' => $this->IDU, 'DIA' => $this->DIA, 'DADES_DIA' => $dades_dia, 'DATAI' => $this->DATAI, 'CALENDARI' => $this->CALENDARI));
             break;
             //Quan guardem una edició d'una acció.
         //Quan guardem una edició d'una acció.
         case 'AJAX_GUARDA_ACCIO':
             $FIDP = $request->getParameter('FIDP');
             $FIDU = $request->getParameter('FIDU');
             $FIDT = $request->getParameter('FIDT');
             $FDIES = explode(',', $request->getParameter('FDIA'));
             $FTEXT = $request->getParameter('FTEXT');
             $FDFI = $request->getParameter('FDFI');
             $DATES = array();
             $RESULTAT = array();
             $OK = 1;
             //Si hem entrat a editar una acció i hi hem posat més d'una data, esborrem el que estavem editant i creem els nous
             if (sizeof($FDIES) > 1 && $FIDP > 0) {
                 $OP = PersonalPeer::retrieveByPK($FIDP);
                 if ($OP instanceof Personal) {
                     $OP->setUsuariupdateid($this->IDU);
                     $OP->setActiu(false);
                     $OP->setDatabaixa(date('Y-m-d', time()));
                     $OP->save();
                 }
                 //Hem entrat un IDP i només una data.
             } elseif ($FIDP > 0 && sizeof($FDIES) == 1) {
                 $OK = PersonalPeer::doSave($FIDP, $FDIES[0], $FIDU, $FIDT, $FTEXT, $this->IDU, $this->IDS, $FDFI) && $OK;
                 //Hem entrat una nova acció
             } else {
                 //Crearem una nova acció per cada dia que hem entrat.
                 foreach ($FDIES as $DIA) {
                     $OK = PersonalPeer::doSave($FIDP, $DIA, $FIDU, $FIDT, $FTEXT, $this->IDU, $this->IDS, $FDFI) && $OK;
                 }
             }
             //Retornem al llistat inicial
             $this->CALENDARI = PersonalPeer::getHoraris($this->DATAI, $this->IDS);
             return $this->renderPartial('formPersonal', array('OP' => $this->OP, 'IDS' => $this->IDS, 'IDU' => $this->IDU, 'DIA' => $this->DIA, 'DADES_DIA' => $dades_dia, 'DATAI' => $this->DATAI, 'CALENDARI' => $this->CALENDARI));
             break;
             //Esborrem una acció determinada
         //Esborrem una acció determinada
         case 'AJAX_ESBORRA_ACCIO':
             $FIDP = $request->getParameter('FIDP');
             $OP = PersonalPeer::retrieveByPK($FIDP);
             if ($OP instanceof Personal) {
                 $OP->setUsuariupdateid($this->IDU);
                 $OP->setDatabaixa(date('Y-m-d', time()));
                 $OP->setActiu(false);
                 $OP->save();
             }
             $this->CALENDARI = PersonalPeer::getHoraris($this->DATAI, $this->IDS);
             return $this->renderPartial('formPersonal', array('OP' => $this->OP, 'IDS' => $this->IDS, 'IDU' => $this->IDU, 'DIA' => $this->DIA, 'DADES_DIA' => $dades_dia, 'DATAI' => $this->DATAI, 'CALENDARI' => $this->CALENDARI));
             break;
     }
 }
Beispiel #19
0
 public function executeLoraccept()
 {
     $lor = LorvaluesPeer::retrieveByPK($this->getRequestParameter('lorid'));
     $c = new Criteria();
     $c->add(PersonalPeer::USER_ID, $this->getUser()->getAttribute('userid'));
     $personal = PersonalPeer::doSelectOne($c);
     $personal->setLinkedin($lor->getData());
     $personal->save();
     $c = new Criteria();
     $c->add(LoruserPeer::USER_ID, $this->getUser()->getAttribute('userid'));
     $c->addJoin(LoruserPeer::LORVALUES_ID, LorvaluesPeer::ID);
     $c->add(LorvaluesPeer::LORFIELDS_ID, sfConfig::get('app_lor_linkedin'));
     $lors = LorvaluesPeer::doSelect($c);
     foreach ($lors as $lor) {
         $c = new Criteria();
         $c->add(LoruserPeer::LORVALUES_ID, $lor->getId());
         $loruser = LoruserPeer::doSelectOne($c);
         $loruser->delete();
         $lor->delete();
     }
     $this->redirect('/personal/show');
 }
Beispiel #20
0
 public static function retrievePreceptorBySfGuardUserId($sf_guard_user_id)
 {
     $criteria = new Criteria();
     $criteria->add(PersonPeer::USER_ID, $sf_guard_user_id);
     $criteria->addJoin(PersonPeer::ID, PersonalPeer::PERSON_ID);
     $criteria->add(PersonalPeer::PERSONAL_TYPE, PersonalType::PRECEPTOR);
     return PersonalPeer::doSelectOne($criteria);
 }
Beispiel #21
0
 /**
  * This method returns the personals ids related in head_personal_personal of the head_personal. The User must be headPreceptor
  *
  * @return array //with the Ids of the personal related
  */
 public function getPersonalIds()
 {
     if ($this->isHeadPreceptor()) {
         $c = new Criteria();
         $c->add(PersonPeer::USER_ID, $this->getGuardUser()->getId());
         $c->addJoin(PersonPeer::ID, PersonalPeer::PERSON_ID);
         $c->addJoin(HeadPersonalPersonalPeer::HEAD_PERSONAL_ID, PersonalPeer::ID);
         $head_personal = PersonalPeer::doSelectOne($c);
         $personal_in = array();
         if (!is_null($head_personal)) {
             foreach ($head_personal->getHeadPersonalPersonals() as $head_personal_personal) {
                 $personal_in[] = $head_personal_personal->getPersonalId();
             }
         }
         return $personal_in;
     }
 }
Beispiel #22
0
 public static function sortedJoinWithPreceptor($c, $sf_user)
 {
     self::sorted($c);
     if ($sf_user->isPreceptor()) {
         PersonalPeer::joinWithDivisions($c, $sf_user->getGuardUser()->getId());
     }
     return $c;
 }
Beispiel #23
0
 public static function getStudentsForAttendance($sf_user, $division_id, $course_subject_id = null, $career_school_year_id = null)
 {
     $c = new Criteria();
     $c->add(StudentCareerSchoolYearPeer::CAREER_SCHOOL_YEAR_ID, $career_school_year_id);
     $c->addJoin(StudentCareerSchoolYearPeer::STUDENT_ID, StudentPeer::ID);
     $c->addJoin(CourseSubjectStudentPeer::STUDENT_ID, self::ID);
     $c->addJoin(CourseSubjectStudentPeer::COURSE_SUBJECT_ID, CourseSubjectPeer::ID);
     $c->addJoin(CourseSubjectPeer::COURSE_ID, CoursePeer::ID);
     if (!is_null($course_subject_id)) {
         $c->add(CourseSubjectPeer::ID, $course_subject_id);
     }
     $c->add(CoursePeer::SCHOOL_YEAR_ID, SchoolYearPeer::retrieveCurrent()->getId());
     $c->setDistinct();
     if ($division_id) {
         $c->add(CoursePeer::DIVISION_ID, $division_id);
     }
     if ($sf_user->isPreceptor()) {
         $course_ids = PersonalPeer::retrieveCourseIdsjoinWithDivisionCourseOrCommission($sf_user->getGuardUser()->getId(), true);
         $c->add(CoursePeer::ID, $course_ids, Criteria::IN);
     } else {
         $c->addJoin(PersonPeer::ID, self::PERSON_ID);
     }
     return self::doSelectActive($c);
 }
Beispiel #24
0
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = PersonalPeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setId($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setUserId($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setImage($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setImageflag($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setSalutation($arr[$keys[4]]);
     }
     if (array_key_exists($keys[5], $arr)) {
         $this->setFirstname($arr[$keys[5]]);
     }
     if (array_key_exists($keys[6], $arr)) {
         $this->setFirstnameflag($arr[$keys[6]]);
     }
     if (array_key_exists($keys[7], $arr)) {
         $this->setMiddlename($arr[$keys[7]]);
     }
     if (array_key_exists($keys[8], $arr)) {
         $this->setMiddlenameflag($arr[$keys[8]]);
     }
     if (array_key_exists($keys[9], $arr)) {
         $this->setLastname($arr[$keys[9]]);
     }
     if (array_key_exists($keys[10], $arr)) {
         $this->setLastnameflag($arr[$keys[10]]);
     }
     if (array_key_exists($keys[11], $arr)) {
         $this->setMaidenname($arr[$keys[11]]);
     }
     if (array_key_exists($keys[12], $arr)) {
         $this->setMaidennameflag($arr[$keys[12]]);
     }
     if (array_key_exists($keys[13], $arr)) {
         $this->setItbhuname($arr[$keys[13]]);
     }
     if (array_key_exists($keys[14], $arr)) {
         $this->setItbhunameflag($arr[$keys[14]]);
     }
     if (array_key_exists($keys[15], $arr)) {
         $this->setGender($arr[$keys[15]]);
     }
     if (array_key_exists($keys[16], $arr)) {
         $this->setGenderflag($arr[$keys[16]]);
     }
     if (array_key_exists($keys[17], $arr)) {
         $this->setDob($arr[$keys[17]]);
     }
     if (array_key_exists($keys[18], $arr)) {
         $this->setDobflag($arr[$keys[18]]);
     }
     if (array_key_exists($keys[19], $arr)) {
         $this->setMaritalstatus($arr[$keys[19]]);
     }
     if (array_key_exists($keys[20], $arr)) {
         $this->setMaritalstatusflag($arr[$keys[20]]);
     }
     if (array_key_exists($keys[21], $arr)) {
         $this->setEmail($arr[$keys[21]]);
     }
     if (array_key_exists($keys[22], $arr)) {
         $this->setEmailflag($arr[$keys[22]]);
     }
     if (array_key_exists($keys[23], $arr)) {
         $this->setWebsite($arr[$keys[23]]);
     }
     if (array_key_exists($keys[24], $arr)) {
         $this->setWebsiteflag($arr[$keys[24]]);
     }
     if (array_key_exists($keys[25], $arr)) {
         $this->setLinkedin($arr[$keys[25]]);
     }
     if (array_key_exists($keys[26], $arr)) {
         $this->setLinkedinflag($arr[$keys[26]]);
     }
     if (array_key_exists($keys[27], $arr)) {
         $this->setHobbies($arr[$keys[27]]);
     }
     if (array_key_exists($keys[28], $arr)) {
         $this->setHobbiesflag($arr[$keys[28]]);
     }
     if (array_key_exists($keys[29], $arr)) {
         $this->setInterest($arr[$keys[29]]);
     }
 }
Beispiel #25
0
 /**
  * Returns the number of related Personal objects.
  *
  * @param      Criteria $criteria
  * @param      boolean $distinct
  * @param      PropelPDO $con
  * @return     int Count of related Personal objects.
  * @throws     PropelException
  */
 public function countPersonalsRelatedByUsuariupdateid(Criteria $criteria = null, $distinct = false, PropelPDO $con = null)
 {
     if ($criteria === null) {
         $criteria = new Criteria(UsuarisPeer::DATABASE_NAME);
     } else {
         $criteria = clone $criteria;
     }
     if ($distinct) {
         $criteria->setDistinct();
     }
     $count = null;
     if ($this->collPersonalsRelatedByUsuariupdateid === null) {
         if ($this->isNew()) {
             $count = 0;
         } else {
             $criteria->add(PersonalPeer::USUARIUPDATEID, $this->usuariid);
             $count = PersonalPeer::doCount($criteria, false, $con);
         }
     } else {
         // criteria has no effect for a new object
         if (!$this->isNew()) {
             // the following code is to determine if a new query is
             // called for.  If the criteria is the same as the last
             // one, just return count of the collection.
             $criteria->add(PersonalPeer::USUARIUPDATEID, $this->usuariid);
             if (!isset($this->lastPersonalRelatedByUsuariupdateidCriteria) || !$this->lastPersonalRelatedByUsuariupdateidCriteria->equals($criteria)) {
                 $count = PersonalPeer::doCount($criteria, false, $con);
             } else {
                 $count = count($this->collPersonalsRelatedByUsuariupdateid);
             }
         } else {
             $count = count($this->collPersonalsRelatedByUsuariupdateid);
         }
     }
     return $count;
 }
Beispiel #26
0
 public static function search($query_string, $sf_user)
 {
     if (strlen($query_string) > 3) {
         $c = new Criteria();
         $c->add(self::NAME, '%' . $query_string . '%', Criteria::LIKE);
         $c->add(self::SCHOOL_YEAR_ID, SchoolYearPeer::retrieveCurrent()->getId());
         if ($sf_user->isPreceptor()) {
             PersonalPeer::joinWithCourse($c, $sf_user->getGuardUser()->getId(), true);
         } elseif ($sf_user->isTeacher()) {
             TeacherPeer::joinWithCourses($c, $sf_user->getGuardUser()->getId());
         }
         return self::doSelect($c);
     }
     return array();
 }
Beispiel #27
0
 /**
  * This is a method for emulating ON DELETE CASCADE for DBs that don't support this
  * feature (like MySQL or SQLite).
  *
  * This method is not very speedy because it must perform a query first to get
  * the implicated records and then perform the deletes by calling those Peer classes.
  *
  * This method should be used within a transaction if possible.
  *
  * @param      Criteria $criteria
  * @param      PropelPDO $con
  * @return     int The number of affected rows (if supported by underlying database driver).
  */
 protected static function doOnDeleteCascade(Criteria $criteria, PropelPDO $con)
 {
     // initialize var to track total num of affected rows
     $affectedRows = 0;
     // first find the objects that are implicated by the $criteria
     $objects = UsuarisPeer::doSelect($criteria, $con);
     foreach ($objects as $obj) {
         // delete related AppDocumentsPermisos objects
         $criteria = new Criteria(AppDocumentsPermisosPeer::DATABASE_NAME);
         $criteria->add(AppDocumentsPermisosPeer::IDUSUARI, $obj->getUsuariid());
         $affectedRows += AppDocumentsPermisosPeer::doDelete($criteria, $con);
         // delete related AppDocumentsPermisosDir objects
         $criteria = new Criteria(AppDocumentsPermisosDirPeer::DATABASE_NAME);
         $criteria->add(AppDocumentsPermisosDirPeer::IDUSUARI, $obj->getUsuariid());
         $affectedRows += AppDocumentsPermisosDirPeer::doDelete($criteria, $con);
         // delete related Cessio objects
         $criteria = new Criteria(CessioPeer::DATABASE_NAME);
         $criteria->add(CessioPeer::USUARI_ID, $obj->getUsuariid());
         $affectedRows += CessioPeer::doDelete($criteria, $con);
         // delete related Factures objects
         $criteria = new Criteria(FacturesPeer::DATABASE_NAME);
         $criteria->add(FacturesPeer::VALIDAUSUARI, $obj->getUsuariid());
         $affectedRows += FacturesPeer::doDelete($criteria, $con);
         // delete related Matricules objects
         $criteria = new Criteria(MatriculesPeer::DATABASE_NAME);
         $criteria->add(MatriculesPeer::USUARIS_USUARIID, $obj->getUsuariid());
         $affectedRows += MatriculesPeer::doDelete($criteria, $con);
         // delete related Missatges objects
         $criteria = new Criteria(MissatgesPeer::DATABASE_NAME);
         $criteria->add(MissatgesPeer::USUARIS_USUARIID, $obj->getUsuariid());
         $affectedRows += MissatgesPeer::doDelete($criteria, $con);
         // delete related Personal objects
         $criteria = new Criteria(PersonalPeer::DATABASE_NAME);
         $criteria->add(PersonalPeer::IDUSUARI, $obj->getUsuariid());
         $affectedRows += PersonalPeer::doDelete($criteria, $con);
         // delete related Reservaespais objects
         $criteria = new Criteria(ReservaespaisPeer::DATABASE_NAME);
         $criteria->add(ReservaespaisPeer::USUARIS_USUARIID, $obj->getUsuariid());
         $affectedRows += ReservaespaisPeer::doDelete($criteria, $con);
         // delete related UsuarisApps objects
         $criteria = new Criteria(UsuarisAppsPeer::DATABASE_NAME);
         $criteria->add(UsuarisAppsPeer::USUARI_ID, $obj->getUsuariid());
         $affectedRows += UsuarisAppsPeer::doDelete($criteria, $con);
         // delete related UsuarisMenus objects
         $criteria = new Criteria(UsuarisMenusPeer::DATABASE_NAME);
         $criteria->add(UsuarisMenusPeer::USUARI_ID, $obj->getUsuariid());
         $affectedRows += UsuarisMenusPeer::doDelete($criteria, $con);
         // delete related UsuarisSites objects
         $criteria = new Criteria(UsuarisSitesPeer::DATABASE_NAME);
         $criteria->add(UsuarisSitesPeer::USUARI_ID, $obj->getUsuariid());
         $affectedRows += UsuarisSitesPeer::doDelete($criteria, $con);
         // delete related Usuarisllistes objects
         $criteria = new Criteria(UsuarisllistesPeer::DATABASE_NAME);
         $criteria->add(UsuarisllistesPeer::USUARIS_USUARISID, $obj->getUsuariid());
         $affectedRows += UsuarisllistesPeer::doDelete($criteria, $con);
     }
     return $affectedRows;
 }
Beispiel #28
0
 /**
  * Retrieve multiple objects by pkey.
  *
  * @param      array $pks List of primary keys
  * @param      PropelPDO $con the connection to use
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(PersonalPeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(PersonalPeer::DATABASE_NAME);
         $criteria->add(PersonalPeer::IDPERSONAL, $pks, Criteria::IN);
         $objs = PersonalPeer::doSelect($criteria, $con);
     }
     return $objs;
 }
 /**
  * This method filters students with preceptor in the AdminGeneratorFilter
  *
  * @param Criteria $criteria
  * @param integer $user_id
  */
 public function joinPreceptorWithStudents($criteria, $user_id)
 {
     return PersonalPeer::joinWithStudents($criteria, $user_id);
 }
Beispiel #30
0
 public function createPreceptor($division, $con)
 {
     if ($this->getUser()->isPreceptor() && $division->isNew()) {
         $division_preceptor = new DivisionPreceptor();
         $division_preceptor->setDivision($division);
         $preceptor = PersonalPeer::retrievePreceptorBySfGuardUserId($this->getUser()->getGuardUser()->getId());
         $division_preceptor->setPreceptorId($preceptor->getId());
         $division_preceptor->save($con);
     }
 }