예제 #1
0
	/**
	 * Performs the work of inserting or updating the row in the database.
	 *
	 * If the object is new, it inserts it; otherwise an update is performed.
	 * All related objects are also updated in this method.
	 *
	 * @param      PropelPDO $con
	 * @return     int The number of rows affected by this insert/update and any referring fk objects' save() operations.
	 * @throws     PropelException
	 * @see        save()
	 */
	protected function doSave(PropelPDO $con)
	{
		$affectedRows = 0; // initialize var to track total num of affected rows
		if (!$this->alreadyInSave) {
			$this->alreadyInSave = true;

			// We call the save method on the following object(s) if they
			// were passed to this object by their coresponding set
			// method.  This object relates to these object(s) by a
			// foreign key reference.

			if ($this->aUtilisateurProfessionnel !== null) {
				if ($this->aUtilisateurProfessionnel->isModified() || $this->aUtilisateurProfessionnel->isNew()) {
					$affectedRows += $this->aUtilisateurProfessionnel->save($con);
				}
				$this->setUtilisateurProfessionnel($this->aUtilisateurProfessionnel);
			}

			if ($this->aAbsenceEleveType !== null) {
				if ($this->aAbsenceEleveType->isModified() || $this->aAbsenceEleveType->isNew()) {
					$affectedRows += $this->aAbsenceEleveType->save($con);
				}
				$this->setAbsenceEleveType($this->aAbsenceEleveType);
			}

			if ($this->aAbsenceEleveMotif !== null) {
				if ($this->aAbsenceEleveMotif->isModified() || $this->aAbsenceEleveMotif->isNew()) {
					$affectedRows += $this->aAbsenceEleveMotif->save($con);
				}
				$this->setAbsenceEleveMotif($this->aAbsenceEleveMotif);
			}

			if ($this->aAbsenceEleveJustification !== null) {
				if ($this->aAbsenceEleveJustification->isModified() || $this->aAbsenceEleveJustification->isNew()) {
					$affectedRows += $this->aAbsenceEleveJustification->save($con);
				}
				$this->setAbsenceEleveJustification($this->aAbsenceEleveJustification);
			}

			if ($this->aModifieParUtilisateur !== null) {
				if ($this->aModifieParUtilisateur->isModified() || $this->aModifieParUtilisateur->isNew()) {
					$affectedRows += $this->aModifieParUtilisateur->save($con);
				}
				$this->setModifieParUtilisateur($this->aModifieParUtilisateur);
			}

			if ($this->isNew() || $this->isModified()) {
				// persist changes
				if ($this->isNew()) {
					$this->doInsert($con);
				} else {
					$this->doUpdate($con);
				}
				$affectedRows += 1;
				$this->resetModified();
			}

			if ($this->absenceEleveSaisiesScheduledForDeletion !== null) {
				if (!$this->absenceEleveSaisiesScheduledForDeletion->isEmpty()) {
					JTraitementSaisieEleveQuery::create()
						->filterByPrimaryKeys($this->absenceEleveSaisiesScheduledForDeletion->getPrimaryKeys(false))
						->delete($con);
					$this->absenceEleveSaisiesScheduledForDeletion = null;
				}

				foreach ($this->getAbsenceEleveSaisies() as $absenceEleveSaisie) {
					if ($absenceEleveSaisie->isModified()) {
						$absenceEleveSaisie->save($con);
					}
				}
			}

			if ($this->jTraitementSaisieElevesScheduledForDeletion !== null) {
				if (!$this->jTraitementSaisieElevesScheduledForDeletion->isEmpty()) {
					JTraitementSaisieEleveQuery::create()
						->filterByPrimaryKeys($this->jTraitementSaisieElevesScheduledForDeletion->getPrimaryKeys(false))
						->delete($con);
					$this->jTraitementSaisieElevesScheduledForDeletion = null;
				}
			}

			if ($this->collJTraitementSaisieEleves !== null) {
				foreach ($this->collJTraitementSaisieEleves as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->absenceEleveNotificationsScheduledForDeletion !== null) {
				if (!$this->absenceEleveNotificationsScheduledForDeletion->isEmpty()) {
					AbsenceEleveNotificationQuery::create()
						->filterByPrimaryKeys($this->absenceEleveNotificationsScheduledForDeletion->getPrimaryKeys(false))
						->delete($con);
					$this->absenceEleveNotificationsScheduledForDeletion = null;
				}
			}

			if ($this->collAbsenceEleveNotifications !== null) {
				foreach ($this->collAbsenceEleveNotifications as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			$this->alreadyInSave = false;

		}
		return $affectedRows;
	} // doSave()
	/**
	 * Exchange the rank of the object with the one passed as argument, and saves both objects
	 *
	 * @param     AbsenceEleveJustification $object
	 * @param     PropelPDO $con optional connection
	 *
	 * @return    AbsenceEleveJustification the current object
	 *
	 * @throws Exception if the database cannot execute the two updates
	 */
	public function swapWith($object, PropelPDO $con = null)
	{
		if ($con === null) {
			$con = Propel::getConnection(AbsenceEleveJustificationPeer::DATABASE_NAME);
		}
		$con->beginTransaction();
		try {
			$oldRank = $this->getSortableRank();
			$newRank = $object->getSortableRank();
			$this->setSortableRank($newRank);
			$this->save($con);
			$object->setSortableRank($oldRank);
			$object->save($con);
			$con->commit();
	
			return $this;
		} catch (Exception $e) {
			$con->rollback();
			throw $e;
		}
	}
예제 #3
0
파일: function.php 프로젝트: rhertzog/lcs
function ajoutJustificationsParDefaut() {
    $justifications = new AbsenceEleveJustification();
    $justifications->setNom("Certificat médical");
    $justifications->setCommentaire("Une justification établie par une autorité médicale");
    if (AbsenceEleveJustificationQuery::create()->filterByNom($justifications->getNom())->find()->isEmpty()) {
	$justifications->save();
    }

    $justifications = new AbsenceEleveJustification();
    $justifications->setNom("Courrier familial");
    $justifications->setCommentaire("Justification par courrier de la famille");
    if (AbsenceEleveJustificationQuery::create()->filterByNom($justifications->getNom())->find()->isEmpty()) {
	$justifications->save();
    }

    $justifications = new AbsenceEleveJustification();
    $justifications->setNom("Justificatif d'une administration publique");
    $justifications->setCommentaire("Justification émise par une administration publique");
    if (AbsenceEleveJustificationQuery::create()->filterByNom($justifications->getNom())->find()->isEmpty()) {
	$justifications->save();
    }
}
	$justification->moveDown();
    }
} elseif ($action == 'ajouterdefaut') {
	check_token();
    //include("function.php");
    ajoutJustificationsParDefaut();
} else {
    if ($nom != '') {
		check_token();
		$justification = AbsenceEleveJustificationQuery::create()->findPk($id);
		if ($justification == null) {
			$justification = new AbsenceEleveJustification();
		}
		$justification->setNom(stripslashes($nom));
		$justification->setCommentaire(stripslashes($commentaire));
		$justification->save();
    }
}

if(isset($_GET['corriger'])) {
	check_token();

	$table="a_justifications";

	$sql="SELECT * FROM $table ORDER BY sortable_rank, nom;";
	//echo "$sql<br />";
	$res=mysqli_query($GLOBALS["mysqli"], $sql);
	$cpt=1;
	while($lig=mysqli_fetch_object($res)) {
		$sql="UPDATE $table SET sortable_rank='$cpt' WHERE id='$lig->id';";
		//echo "$sql<br />";