} } //si pas du compte rendu trouvé, récupération du groupe dans la requete et création d'un nouvel objet CahierTexteCompteRendu if ($ctTravailAFaire == null) { $groupe = GroupePeer::retrieveByPK($id_groupe); if ($groupe == null) { echo "Erreur enregistrement de devoir : pas de groupe ou mauvais groupe spécifié"; die; } // Vérification : est-ce que l'utilisateur a le droit de travailler sur ce groupe ? if (!$groupe->belongsTo($utilisateur)) { echo "Erreur enregistrement de devoir : le groupe n'appartient pas au professeur"; die; } //pas de notices, on lance une création de notice $ctTravailAFaire = new CahierTexteTravailAFaire(); $ctTravailAFaire->setIdGroupe($groupe->getId()); $ctTravailAFaire->setIdLogin($utilisateur->getLogin()); } // Vérification : est-ce que l'utilisateur a le droit de travailler sur ce devoir ? if ($ctTravailAFaire->getIdLogin() != $utilisateur->getLogin()) { if (getSettingValue("cdt_autoriser_modif_multiprof") != "yes") { echo "Erreur enregistrement de devoir : vous n'avez pas le droit de modifier cette notice."; die; } } // interdire la modification d'un visa par le prof si c'est un visa if ($ctTravailAFaire->getVise() == 'y') { echo "Erreur enregistrement de devoir : Notice signée, edition impossible/"; die; }
/** * @param CahierTexteTravailAFaire $cahierTexteTravailAFaire The cahierTexteTravailAFaire object to add. */ protected function doAddCahierTexteTravailAFaire($cahierTexteTravailAFaire) { $this->collCahierTexteTravailAFaires[]= $cahierTexteTravailAFaire; $cahierTexteTravailAFaire->setUtilisateurProfessionnel($this); }
/** * Filter the query by a related CahierTexteTravailAFaire object * * @param CahierTexteTravailAFaire $cahierTexteTravailAFaire the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return CahierTexteSequenceQuery The current query, for fluid interface */ public function filterByCahierTexteTravailAFaire($cahierTexteTravailAFaire, $comparison = null) { if ($cahierTexteTravailAFaire instanceof CahierTexteTravailAFaire) { return $this ->addUsingAlias(CahierTexteSequencePeer::ID, $cahierTexteTravailAFaire->getIdSequence(), $comparison); } elseif ($cahierTexteTravailAFaire instanceof PropelCollection) { return $this ->useCahierTexteTravailAFaireQuery() ->filterByPrimaryKeys($cahierTexteTravailAFaire->getPrimaryKeys()) ->endUse(); } else { throw new PropelException('filterByCahierTexteTravailAFaire() only accepts arguments of type CahierTexteTravailAFaire or PropelCollection'); } }
// Vérification : est-ce que l'utilisateur a le droit de travailler sur ce groupe ? if (!$groupe->belongsTo($utilisateur)) { echo "Erreur edition de devoir : le groupe n'appartient pas au professeur"; die; } if ($ajout_nouvelle_notice != "oui") { //on cherche si il y a une notice pour le groupe à la date précisée $criteria = new Criteria(CahierTexteTravailAFairePeer::DATABASE_NAME); $criteria->add(CahierTexteTravailAFairePeer::DATE_CT, $today, '='); $criteria->add(CahierTexteTravailAFairePeer::ID_LOGIN, $utilisateur->getLogin()); $ctTravailAFaires = $groupe->getCahierTexteTravailAFaires($criteria); $ctTravailAFaire = isset($ctTravailAFaires[0]) ? $ctTravailAFaires[0] : NULL; } if ($ctTravailAFaire == null) { //pas de notices, on initialise un nouvel objet $ctTravailAFaire = new CahierTexteTravailAFaire(); $ctTravailAFaire->setIdGroupe($groupe->getId()); $ctTravailAFaire->setDateCt($today); $ctTravailAFaire->setIdLogin($utilisateur->getLogin()); } } // Vérification : est-ce que l'utilisateur a le droit de modifier cette entré ? if (my_strtolower($ctTravailAFaire->getIdLogin()) != my_strtolower($utilisateur->getLogin()) && getSettingValue("cdt_autoriser_modif_multiprof") != "yes") { echo "Erreur edition de devoir : vous n'avez pas le droit de modifier cette notice car elle appartient à un autre professeur."; die; } if ($ctTravailAFaire->getVise() == 'y') { // interdire la modification d'un visa par le prof si c'est un visa echo "Erreur edition de devoir : Notice signée, edition impossible"; die; }
/** * @param CahierTexteTravailAFaire $cahierTexteTravailAFaire The cahierTexteTravailAFaire object to add. */ protected function doAddCahierTexteTravailAFaire($cahierTexteTravailAFaire) { $this->collCahierTexteTravailAFaires[]= $cahierTexteTravailAFaire; $cahierTexteTravailAFaire->setGroupe($this); }
/** * Declares an association between this object and a CahierTexteTravailAFaire object. * * @param CahierTexteTravailAFaire $v * @return CahierTexteTravailAFaireFichierJoint The current object (for fluent API support) * @throws PropelException */ public function setCahierTexteTravailAFaire(CahierTexteTravailAFaire $v = null) { if ($v === null) { $this->setIdCtDevoir(0); } else { $this->setIdCtDevoir($v->getIdCt()); } $this->aCahierTexteTravailAFaire = $v; // Add binding for other direction of this n:n relationship. // If this object has already been added to the CahierTexteTravailAFaire object, it will not be re-added. if ($v !== null) { $v->addCahierTexteTravailAFaireFichierJoint($this); } return $this; }
/** * Exclude object from result * * @param CahierTexteTravailAFaire $cahierTexteTravailAFaire Object to remove from the list of results * * @return CahierTexteTravailAFaireQuery The current query, for fluid interface */ public function prune($cahierTexteTravailAFaire = null) { if ($cahierTexteTravailAFaire) { $this->addUsingAlias(CahierTexteTravailAFairePeer::ID_CT, $cahierTexteTravailAFaire->getIdCt(), Criteria::NOT_EQUAL); } return $this; }
/** * Filter the query by a related CahierTexteTravailAFaire object * * @param CahierTexteTravailAFaire|PropelCollection $cahierTexteTravailAFaire The related object(s) to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return CahierTexteTravailAFaireFichierJointQuery The current query, for fluid interface */ public function filterByCahierTexteTravailAFaire($cahierTexteTravailAFaire, $comparison = null) { if ($cahierTexteTravailAFaire instanceof CahierTexteTravailAFaire) { return $this ->addUsingAlias(CahierTexteTravailAFaireFichierJointPeer::ID_CT_DEVOIR, $cahierTexteTravailAFaire->getIdCt(), $comparison); } elseif ($cahierTexteTravailAFaire instanceof PropelCollection) { if (null === $comparison) { $comparison = Criteria::IN; } return $this ->addUsingAlias(CahierTexteTravailAFaireFichierJointPeer::ID_CT_DEVOIR, $cahierTexteTravailAFaire->toKeyValue('PrimaryKey', 'IdCt'), $comparison); } else { throw new PropelException('filterByCahierTexteTravailAFaire() only accepts arguments of type CahierTexteTravailAFaire or PropelCollection'); } }