gmal...@adullact.net
unread,Nov 20, 2018, 6:28:04 AM11/20/18Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to openmairi...@googlegroups.com
Author: gmalvolti
Date: 2018-11-20 12:28:01 +0100 (Tue, 20 Nov 2018)
New Revision: 8344
Modified:
branches/4.8.0-suppression-dossier/obj/dossier.class.php
Log:
Correction de la condition sur les autorisations contest?\195?\169es, ajout de la condition sur dossier existant.
Modified: branches/4.8.0-suppression-dossier/obj/dossier.class.php
===================================================================
--- branches/4.8.0-suppression-dossier/obj/dossier.class.php 2018-11-19 17:23:49 UTC (rev 8343)
+++ branches/4.8.0-suppression-dossier/obj/dossier.class.php 2018-11-20 11:28:01 UTC (rev 8344)
@@ -2329,6 +2329,7 @@
$dpc_fields['terrain_references_cadastrales'] = 'referencescadastralesstatic';
//
$re_fields['autorisation_contestee'] = 'hiddenstatic';
+ $re_fields['terrain'] = 'hiddenstatic';
// Si l'état du dossier est incomplet
if ($this->is_incomplet_notifie()) {
// on cache les dates de complétude et de limite d'instruction
@@ -3985,44 +3986,41 @@
* Ne servira surement pas mais dans le doute autant recalculer les données du DA
*/
function triggersupprimerapres($id, &$db = null, $val = array(), $DEBUG = null) {
- $sql = array();
- // Mise à jour des données du dossier d'autorisation
- $sql[0] = array("lien_dossier_autorisation_demandeur","dossier_autorisation ='".$this->getVal("dossier_autorisation")."'");
- $sql[1] = array("dossier_autorisation_parcelle","dossier_autorisation = '".$this->getVal("dossier_autorisation")."'");
- $sql[2] = array("donnees_techniques","dossier_autorisation = '".$this->getVal("dossier_autorisation")."'");
- $sql[3] = array("dossier_autorisation","dossier_autorisation = '".$this->getVal("dossier_autorisation")."'");
+ if(($this-> getParameter("idx_dossier"))){
+ // Mise à jour des données du dossier d'autorisation
+ $da = $this->f->get_inst__om_dbform(array(
+ "obj" => "dossier_autorisation",
+ "idx" => $this->valF["dossier_autorisation"],
+ ));
+ $da->majDossierAutorisation();
+ } else {
+ $sql = array();
+ $sql[0] = array("lien_dossier_autorisation_demandeur","dossier_autorisation ='".$this->getVal("dossier_autorisation")."'");
+ $sql[1] = array("dossier_autorisation_parcelle","dossier_autorisation = '".$this->getVal("dossier_autorisation")."'");
+ $sql[2] = array("donnees_techniques","dossier_autorisation = '".$this->getVal("dossier_autorisation")."'");
+ $sql[3] = array("dossier_autorisation","dossier_autorisation = '".$this->getVal("dossier_autorisation")."'");
- $this->delete_val_dossier($sql);
+ $this->delete_val_dossier($sql);
- // "DELETE FROM ".DB_PREFIXE."lien_dossier_autorisation_demandeur WHERE dossier_autorisation ='".$this->valF["dossier_autorisation"]."';
- // DELETE FROM ".DB_PREFIXE."dossier_autorisation_parcelle WHERE dossier_autorisation = '".$this->valF["dossier_autorisation"]."';
- // DELETE FROM ".DB_PREFIXE."donnees_techniques WHERE dossier_autorisation = '".$this->valF["dossier_autorisation"]."';
- // DELETE FROM ".DB_PREFIXE."dossier_autorisation WHERE dossier_autorisation = '".$this->valF["dossier_autorisation"]."';";
+ $last_value_sql = "SELECT last_value FROM ".$this->get_nom_sequence().";";
+ $num_seq = $this->f->db->getOne($last_value_sql);
+ $this->f->addToLog("triggerSupprimerApres() : db->query(\"".$last_value_sql."\")");
+ if ($this->f->isDatabaseError($num_seq, true)) {
+ return false;
+ }
- $last_value_sql = "SELECT last_value FROM ".$this->get_nom_sequence().";";
- $num_seq = $this->f->db->getOne($last_value_sql);
- $this->f->addToLog("triggerSupprimerApres() : db->query(\"".$last_value_sql."\")");
- if ($this->f->isDatabaseError($num_seq, true)) {
- return false;
- }
+ $maj_seq = "ALTER SEQUENCE ".$this->get_nom_sequence()." RESTART WITH ".$num_seq.";";
- $maj_seq = "ALTER SEQUENCE ".$this->get_nom_sequence()." RESTART WITH ".$num_seq.";";
+ $res = $this->f->db->query($maj_seq);
+ $this->f->addToLog("triggerSupprimerApres() : db->query(\"".$maj_seq."\")");
- $res = $this->f->db->query($maj_seq);
- $this->f->addToLog("triggerSupprimerApres() : db->query(\"".$maj_seq."\")");
- if ($this->f->isDatabaseError($res, true)) {
- $this->correct = false;
- $this->addToMessage("Une erreur est survenue lors de la mise à jour de la séquence");
- return false;
+ if ($this->f->isDatabaseError($res, true)) {
+ $this->correct = false;
+ $this->addToMessage("Une erreur est survenue lors de la mise à jour de la séquence");
+ return false;
+ }
}
- // Mise à jour des données du dossier d'autorisation
- $da = $this->f->get_inst__om_dbform(array(
- "obj" => "dossier_autorisation",
- "idx" => $this->valF["dossier_autorisation"],
- ));
- $da->majDossierAutorisation();
-
// On supprime toutes les lignes de la table dossier_parcelle qui
// font référence le dossier en cours de suppression
$this->supprimer_dossier_parcelle($this->valF['dossier']);
@@ -4070,7 +4068,7 @@
$sql[16] = array("dossier_geolocalisation","dossier = '".$this->getVal($this->clePrimaire)."'");
$this->delete_val_dossier($sql);
- $verif_autorisation_contestee_sql = "SELECT autorisation_contestee FROM ".DB_PREFIXE."dossier WHERE dossier = '".$this->getVal($this->clePrimaire)."'";
+ $verif_autorisation_contestee_sql = "SELECT autorisation_contestee FROM ".DB_PREFIXE."dossier WHERE autorisation_contestee = '".$this->getVal($this->clePrimaire)."'";
$res = $this->f->db->query($verif_autorisation_contestee_sql);
$this->f->addToLog("triggerSupprimer() : db->query(\"".$verif_autorisation_contestee_sql."\")");
if ($this->f->isDatabaseError($res, true)) {
@@ -4078,7 +4076,7 @@
$this->addToMessage("Une erreur est survenue lors de la suppression");
return false;
}
- if($res != NULL)
+ if($res->numRows() > 0)
{
$this->correct = false;
$this->addToMessage("Le dossier ne peut pas être supprimé car un dossier contentieux est lié.");
@@ -4085,25 +4083,6 @@
return false;
}
- // "DELETE FROM ".DB_PREFIXE."lien_demande_demandeur WHERE demande = (SELECT demande FROM ".DB_PREFIXE."demande WHERE dossier_instruction = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."demande WHERE dossier_instruction = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."lien_dossier_demandeur WHERE dossier = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."instruction WHERE dossier = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."dossier_parcelle WHERE dossier = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."dossier_contrainte WHERE dossier = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."lien_donnees_techniques_moyen_retenu_juge
- // WHERE donnees_techniques = (SELECT donnees_techniques FROM ".DB_PREFIXE."donnees_techniques WHERE dossier_instruction = '".$this->getVal($this->clePrimaire)."');
- // DELETE FROM ".DB_PREFIXE."lien_donnees_techniques_moyen_souleve
- // WHERE donnees_techniques = (SELECT donnees_techniques FROM ".DB_PREFIXE."donnees_techniques WHERE dossier_instruction = '".$this->getVal($this->clePrimaire)."');
- // DELETE FROM ".DB_PREFIXE."donnees_techniques WHERE dossier_instruction = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."blocnote WHERE dossier = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."consultation WHERE dossier = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."document_numerise WHERE dossier = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."rapport_instruction WHERE dossier_instruction = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."dossier_commission WHERE dossier = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."dossier_message WHERE dossier = '".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."lien_dossier_dossier WHERE dossier_src = '".$this->getVal($this->clePrimaire)."' OR dossier_cible = ".$this->getVal($this->clePrimaire)."';
- // DELETE FROM ".DB_PREFIXE."dossier_geolocalisation WHERE dossier = '".$this->getVal($this->clePrimaire)."';";
return true;
}