/** * Gets an array of Matricules objects which contain a foreign key that references this object. * * If this collection has already been initialized with an identical Criteria, it returns the collection. * Otherwise if this Cursos has previously been saved, it will retrieve * related Matriculess from storage. If this Cursos is new, it will return * an empty collection or the current collection, the criteria is ignored on a new object. * * @param PropelPDO $con * @param Criteria $criteria * @return array Matricules[] * @throws PropelException */ public function getMatriculess($criteria = null, PropelPDO $con = null) { if ($criteria === null) { $criteria = new Criteria(CursosPeer::DATABASE_NAME); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collMatriculess === null) { if ($this->isNew()) { $this->collMatriculess = array(); } else { $criteria->add(MatriculesPeer::CURSOS_IDCURSOS, $this->idcursos); MatriculesPeer::addSelectColumns($criteria); $this->collMatriculess = MatriculesPeer::doSelect($criteria, $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 the collection. $criteria->add(MatriculesPeer::CURSOS_IDCURSOS, $this->idcursos); MatriculesPeer::addSelectColumns($criteria); if (!isset($this->lastMatriculesCriteria) || !$this->lastMatriculesCriteria->equals($criteria)) { $this->collMatriculess = MatriculesPeer::doSelect($criteria, $con); } } } $this->lastMatriculesCriteria = $criteria; return $this->collMatriculess; }
static function getMatricules($idC, $idS, $amb_llista_espera = false, $amb_baixa = false, $amb_tots_els_estats = false) { $Curs = self::retrieveByPK($idC); $C = new Criteria(); $C = MatriculesPeer::criteriaMatriculat($C, $amb_llista_espera, $amb_baixa, $amb_tots_els_estats); $C->add(MatriculesPeer::CURSOS_IDCURSOS, $idC); $C->addJoin(MatriculesPeer::USUARIS_USUARIID, UsuarisPeer::USUARIID); $C->addAscendingOrderByColumn(MatriculesPeer::DATAINSCRIPCIO); $C->addAscendingOrderByColumn(UsuarisPeer::COG1); $C->addAscendingOrderByColumn(UsuarisPeer::COG2); $C->addAscendingOrderByColumn(UsuarisPeer::NOM); return MatriculesPeer::doSelect($C); }
/** * Matrícules * */ public function executeGMatricules(sfWebRequest $request) { $this->setLayout('gestio'); $this->IDS = $this->getUser()->getSessionPar('idS'); //Netegem cerca if ($request->getParameter('accio') == 'C') { $this->CERCA = $this->getUser()->setSessionPar('cerca', array('text' => '', 'select' => 2)); $this->PAGINA = $this->getUser()->setSessionPar('pagina', 1); $this->redirect('gestio/gMatricules?accio=CA'); } $this->CERCA = $this->getUser()->ParReqSesForm($request, 'cerca', array('text' => "", 'select' => 2)); $this->PAGINA = $this->getUser()->ParReqSesForm($request, 'PAGINA', 1); $accio = $this->getUser()->ParReqSesForm($request, 'accio', 'CA'); //Inicialitzem el formulari de cerca $this->FCerca = new CercaTextChoiceForm(); $this->FCerca->setChoice(array(2 => 'Alumnes', 3 => 'Matrícula')); $this->FCerca->bind($this->CERCA); //Inicialitzem variables $this->MODE = array('CONSULTA' => false, 'NOU' => false, 'EDICIO' => false, 'LMATRICULES' => false, 'VERIFICA' => false); if ($request->isMethod('POST')) { if ($request->hasParameter('BCERCA')) { switch ($this->CERCA['select']) { case 2: $accio = 'CA'; break; case 3: $accio = 'CM'; break; } $this->PAGINA = 1; } elseif ($request->hasParameter('BNOU')) { $accio = 'NU'; } elseif ($request->hasParameter('BSAVENEWUSER')) { $accio = 'SAVE_NEW_USER'; } elseif ($request->hasParameter('BSELCURS')) { $accio = 'SNU'; } elseif ($request->hasParameter('BSAVECURS')) { $accio = 'SAVE_CURS'; } elseif ($request->hasParameter('BPAGAMENT')) { $accio = 'PAGAMENT'; } elseif ($request->hasParameter('BSUBMIT')) { $accio = 'S'; } elseif ($request->hasParameter('BDELETE')) { $accio = 'D'; } elseif ($request->hasParameter('BSAVE')) { $accio = 'SAVE_MATRICULA'; } elseif ($request->hasParameter('BSAVEMATRICULA')) { $accio = 'SAVE_NEW_MATRICULA'; } } //Aquest petit bloc és per si es modifica amb un POST el que s'ha enviat per GET $this->getUser()->setSessionPar('accio', $accio); $this->getUser()->setSessionPar('PAGINA', $this->PAGINA); //Guardem la pà gina per si hem fet una consulta nova switch ($accio) { // Iniciem una nova matrícula case 'NU': $this->IDM = $request->getParameter('IDM', null); $this->CURSOS = MatriculesPeer::getCursosMatriculacio($this->IDS); $this->MODE = 'MAT_USUARI'; break; //Consultem els usuaris disponibles //Consultem els usuaris disponibles case 'AJAX_USUARIS': $RET = UsuarisPeer::cercaTotsCampsSelect($request->getParameter('q'), $request->getParameter('lim'), $this->IDS); return $this->renderText(json_encode($RET)); break; case 'AJAX_GET_CURSOS': $IDU = $request->getParameter('IDU', null); return $this->renderPartial('matriculesLlistatCursos', array('IDU' => $IDU, 'CURSOS' => MatriculesPeer::getCursosMatriculacio($this->IDS))); break; //Carreguem les dades de pagament de la matrícula //Carreguem les dades de pagament de la matrícula case 'AJAX_EXTRES': $OC = CursosPeer::retrieveByPK($request->getParameter('IDC')); $IDU = $request->getParameter('IDU'); //Si no hem trobat el curs, retornem un error if (!$OC instanceof Cursos) { return $this->renderPartial('matricules', array("OC" => new Cursos(), "RET" => array(), "ERROR" => "ERROR: El curs no s'ha trobat.")); //Treiem les dades extres que s'han d'entrar } else { $MostraPreu = !$OC->isPle(); return $this->renderPartial('matricules', array("IDU" => $IDU, "OC" => $OC, "RET" => $OC->getDescomptesArray($MostraPreu), "ERROR" => "")); } break; //Guardem les dades de la matrícula i carreguem les dades de pagament o bé redireccionem cap a OK. //Guardem les dades de la matrícula i carreguem les dades de pagament o bé redireccionem cap a OK. case 'SAVE_NEW_MATRICULA': //La matrícula pot ser amb pagament de targeta de crèdit o bé en metàl·lic. $RS = $request->getParameter('matricules'); $RET = MatriculesPeer::saveNewMatricula($RS['idU'], $RS['idC'], "", $RS['descompte'], $RS['mode_pagament'], $RS['idDadesBancaries']); $AVISOS = $RET['AVISOS']; //Si la matrícula surt amb algun estat que no sigui tpv, fem la redirecció i mostrem el missatge. if (array_key_exists('ERR_USUARI', $AVISOS)) { $this->redirect('gestio/gMatricules?accio=PAGAMENT&IDM=0&MISSATGE=ERR_USUARI'); } elseif (array_key_exists('ERR_CURS', $AVISOS)) { $this->redirect('gestio/gMatricules?accio=PAGAMENT&IDM=0&MISSATGE=ERR_CURS'); } elseif (array_key_exists('ERR_JA_TE_UNA_MATRICULA', $AVISOS)) { $this->redirect('gestio/gMatricules?accio=PAGAMENT&IDM=0&MISSATGE=ERR_JA_TE_UNA_MATRICULA'); } elseif (array_key_exists('CURS_PLE', $AVISOS)) { $this->redirect('gestio/gMatricules?accio=PAGAMENT&IDM=' . $RET['OM']->getIdmatricules() . '&MISSATGE=CURS_PLE'); } elseif (array_key_exists('CURS_PLE_LLISTA_ESPERA', $AVISOS)) { $this->redirect('gestio/gMatricules?accio=PAGAMENT&IDM=' . $RET['OM']->getIdmatricules() . '&MISSATGE=CURS_PLE_LLISTA_ESPERA'); } elseif (array_key_exists('RESERVA_OK', $AVISOS)) { $this->redirect('gestio/gMatricules?accio=PAGAMENT&IDM=' . $RET['OM']->getIdmatricules() . '&MISSATGE=RESERVA_OK'); } elseif (array_key_exists('MATRICULA_METALIC_OK', $AVISOS)) { $this->redirect('gestio/gMatricules?accio=PAGAMENT&IDM=' . $RET['OM']->getIdmatricules() . '&MISSATGE=MATRICULA_METALIC_OK'); } elseif (array_key_exists('MATRICULA_DOMICILIACIO_OK', $AVISOS)) { $this->redirect('gestio/gMatricules?accio=PAGAMENT&IDM=' . $RET['OM']->getIdmatricules() . '&MISSATGE=MATRICULA_DOMICILIACIO_OK'); } elseif (array_key_exists('MATRICULA_CODI_BARRES', $AVISOS)) { $this->redirect('gestio/gMatricules?accio=PAGAMENT&IDM=' . $RET['OM']->getIdmatricules() . '&MISSATGE=MATRICULA_METALIC_OK'); } elseif (array_key_exists('ERR_CURS_RESTRINGIT', $AVISOS)) { $this->redirect('gestio/gMatricules?accio=PAGAMENT&IDM=0&MISSATGE=ERR_CURS_RESTRINGIT'); } //La matrícula es paga amb TPV if (array_key_exists('PAGAMENT_TPV', $AVISOS)) { $NOM = UsuarisPeer::retrieveByPK($RET['OM']->getUsuarisUsuariid())->getNomComplet(); $this->TPV = MatriculesPeer::getTPV($RET['OM']->getPagat(), $NOM, $RET['OM']->getIdmatricules(), $RET['OM']->getSiteid(), false); $this->URL = OptionsPeer::getString('TPV_URL', $RET['OM']->getSiteId()); $this->setLayout('blank'); $this->setTemplate('pagament'); } break; //Entenem que hem fet un pagament correcte i mostrem pantalla de finalització. //Entenem que hem fet un pagament correcte i mostrem pantalla de finalització. case 'PAGAMENT': $this->IDM = $request->getParameter('IDM'); $this->OM = MatriculesPeer::retrieveByPK($this->IDM); $this->MISSATGE = $request->getParameter('MISSATGE'); $this->MODE = 'PAGAMENT'; $this->getUser()->addLogAction($accio, 'gMatricules', $this->IDM); myUser::addLogTimeline('alta', 'matricules', $this->getUser()->getSessionPar('idU'), $this->IDS, $this->IDM); break; //Si hem fet un pagament amb targeta, anem a la següent pantalla. El TPV serà l'encarregat de donar-li l'estat oportú. //Si hem fet un pagament amb targeta, anem a la següent pantalla. El TPV serà l'encarregat de donar-li l'estat oportú. case 'OK': $RedSys = new sha256(); $decode = $RedSys->decodeMerchantParameters($request->getParameter('Ds_MerchantParameters')); $RedSys->stringToArray($decode); $parametres = $RedSys->vars_pay; $this->IDM = $parametres['Ds_MerchantData']; if ($this->IDM > 0) { $this->MISSATGE = "PAGAMENT_TPV"; } else { $this->MISSATGE = "PAGAMENT_TPV_KO"; } $this->MODE = 'PAGAMENT'; break; //Esborra una matrícula //Esborra una matrícula case 'D': $RM = $request->getParameter('matricules'); $OM = MatriculesPeer::retrieveByPK($RM['idMatricules']); $OM->setActiu(false); $OM->save(); $this->getUser()->addLogAction($accio, 'gMatricules', $OM); myUser::addLogTimeline('baixa', 'matricules', $this->getUser()->getSessionPar('idU'), $this->IDS, $RM['idMatricules']); break; //Edita una matrícula //Edita una matrícula case 'E': $this->IDM = $request->getParameter('IDM'); $this->FMATRICULA = MatriculesPeer::initialize($this->IDM, $this->IDS); $this->MODE = 'EDICIO'; break; //Guardem una matrícula modificada //Guardem una matrícula modificada case 'SAVE_MATRICULA': $RS = $request->getParameter('matricules'); $this->FMATRICULA = MatriculesPeer::initialize($RS['idMatricules'], $this->IDS); $this->FMATRICULA->bind($RS); if ($this->FMATRICULA->isValid()) { $this->FMATRICULA->save(); $this->getUser()->addLogAction($accio, 'gMatricules', $this->FMATRICULA->getObject()); myUser::addLogTimeline('modificació', 'matricules', $this->getUser()->getSessionPar('idU'), $this->IDS, $RS['idMatricules']); $this->redirect('gestio/gMatricules?accio=CA'); } $this->MODE = 'EDICIO'; break; //Cerquem alumnes //Cerquem alumnes case 'CA': if (empty($this->CERCA['text'])) { $this->ALUMNES = MatriculesPeer::cercaAlumnes('....', $this->PAGINA, $this->IDS); } else { $this->ALUMNES = MatriculesPeer::cercaAlumnes($this->CERCA['text'], $this->PAGINA, $this->IDS); } $this->SELECT = 2; $this->MODE = 'CONSULTA'; break; //Cerquem per matrícula //Cerquem per matrícula case 'CM': $C = new Criteria(); $C->add(MatriculesPeer::IDMATRICULES, $this->CERCA['text']); $this->MATRICULES = MatriculesPeer::doSelect($C); $this->MODE = 'LMATRICULES'; break; case 'LMA': $this->MATRICULES = MatriculesPeer::getMatriculesUsuari($request->getParameter('IDA'), $this->IDS); $this->MODE = 'LMATRICULES'; break; //Imprimeix la baixa d'una matrícula //Imprimeix la baixa d'una matrícula case 'PB': $IDM = $request->getParameter('IDM'); $OM = MatriculesPeer::retrieveByPK($IDM); $OU = $OM->getUsuaris(); $OC = $OM->getCursos(); $doc = new sfTinyDoc(); $url_prop = OptionsPeer::getString('SF_WEBSYSROOT', $this->IDS) . 'documents/FullBaixa' . $this->IDS . '.docx'; $url_gen = OptionsPeer::getString('SF_WEBSYSROOT', $this->IDS) . 'documents/FullBaixaGen.docx'; if (file_exists($url_prop)) { $doc->createFrom($url_prop); } else { $doc->createFrom($url_gen); } $doc->loadXml('word/document.xml'); $mat = 'MAT' . $OM->getIdmatricules(); $doc->mergeXmlField('nom', $OU->getNomComplet()); $doc->mergeXmlField('telèfon', $OU->getTelefonString()); $doc->mergeXmlField('identificador', $OU->getDni()); $doc->mergeXmlField('carrer', $OU->getAdreca()); $doc->mergeXmlField('poble', $OU->getPoblacioString()); $doc->mergeXmlField('postal', $OU->getCodipostal()); $doc->mergeXmlField('concepte', $OC->getCodi() . ' - ' . $OC->getTitolcurs()); $doc->mergeXmlField('data_baixa', $OM->getDataBaixa('d/m/Y')); $doc->saveXml(); $doc->close(); $doc->sendResponse(); $doc->remove(); throw new sfStopException(); break; case 'PRINT_PAGAMENT': $idM = $request->getParameter('IDM'); $OM = MatriculesPeer::retrieveByPK($idM); $HTML = MatriculesPeer::DocMatriculaPagamentCaixer($OM, $this->IDS); myUser::Html2PDF($HTML); throw new sfStopException(); break; case 'C': $this->getUser()->addLogAction('inside', 'gMatricules'); break; } }
/** * 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(MatriculesPeer::DATABASE_NAME, Propel::CONNECTION_READ); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(MatriculesPeer::DATABASE_NAME); $criteria->add(MatriculesPeer::IDMATRICULES, $pks, Criteria::IN); $objs = MatriculesPeer::doSelect($criteria, $con); } return $objs; }
static function getMatriculesCurs($idC, $idS) { $C = new Criteria(); $C = self::getCriteriaActiu($C, $idS); $C->add(MatriculesPeer::CURSOS_IDCURSOS, $idC); $C->addAscendingOrderByColumn(MatriculesPeer::ESTAT); $C->addJoin(MatriculesPeer::USUARIS_USUARIID, UsuarisPeer::USUARIID); $C->addDescendingOrderByColumn(MatriculesPeer::ESTAT); $C->addAscendingOrderByColumn(UsuarisPeer::COG1); $C->addAscendingOrderByColumn(UsuarisPeer::COG2); $C->addAscendingOrderByColumn(UsuarisPeer::NOM); $C->add(MatriculesPeer::ESTAT, MatriculesPeer::EN_PROCES, CRITERIA::NOT_EQUAL); return MatriculesPeer::doSelect($C); }
public function getMatricules($idS = 0) { $C = new Criteria(); $C = UsuarisPeer::getCriteriaActiu($C, $idS); $C = MatriculesPeer::getCriteriaActiu($C, $idS); $C->addJoin(UsuarisPeer::USUARIID, MatriculesPeer::USUARIS_USUARIID); $C->add(MatriculesPeer::ESTAT, MatriculesPeer::EN_PROCES, CRITERIA::NOT_EQUAL); $C->add(UsuarisPeer::USUARIID, $this->getUsuariid()); return MatriculesPeer::doSelect($C); }