commit 0ff179008dbe00cd19e3fdebe8fcba52cfc59761
parent a01886e0c49c8b2e17ec2cb4e965bf0fac3ca036
Author: dankert <devnull@localhost>
Date: Thu, 4 Feb 2010 00:29:47 +0100
Fix: Beim Löschen von Modellen auch vorher die Vorlagen dazu löschen.
Diffstat:
2 files changed, 34 insertions(+), 10 deletions(-)
diff --git a/actionClasses/ModelAction.class.php b/actionClasses/ModelAction.class.php
@@ -112,11 +112,19 @@ class ModelAction extends Action
}
+ /**
+ * Löschen des Models.
+ */
function delete()
{
- if ( $this->getRequestVar('confirm') == '1' )
+ if ( $this->hasRequestVar('confirm') )
{
$this->model->delete();
+ $this->addNotice('model',$this->model->name,'DONE',OR_NOTICE_OK);
+ }
+ else
+ {
+ $this->addNotice('model',$this->model->name,'NOTHING_DONE',OR_NOTICE_WARN);
}
}
diff --git a/objectClasses/Model.class.php b/objectClasses/Model.class.php
@@ -221,19 +221,35 @@ class Model
{
$db = db_connection();
- // Modell l?schen
- $sql = new Sql( 'DELETE FROM {t_projectmodel} WHERE id={modelid}' );
+ // Vorlagen zu dieseem Modell loeschen
+ $sql = new Sql( <<<SQL
+ DELETE FROM {t_templatemodel}
+ WHERE projectmodelid = {modelid}
+SQL
+);
+ $sql->setInt( 'modelid',$this->modelid );
+ $db->query( $sql );
+
+ // Dieses Modell löschen
+ $sql = new Sql( <<<SQL
+ DELETE FROM {t_projectmodel}
+ WHERE id={modelid}
+SQL
+);
$sql->setInt( 'modelid',$this->modelid );
$db->query( $sql );
// Anderes Modell auf "Default" setzen (sofern vorhanden)
- $sql = new Sql( 'SELECT id FROM {t_projectmodel} WHERE projectid={projectid}' );
- $sql->setInt( 'projectid',$this->projectid );
- $new_default_modelid = $db->getOne( $sql );
-
- $sql = new Sql( 'UPDATE {t_projectmodel} SET is_default=1 WHERE id={modelid}' );
- $sql->setInt( 'modelid',$new_default_modelid );
- $db->query( $sql );
+ if ( $this->isDefault )
+ {
+ $sql = new Sql( 'SELECT id FROM {t_projectmodel} WHERE projectid={projectid}' );
+ $sql->setInt( 'projectid',$this->projectid );
+ $new_default_modelid = $db->getOne( $sql );
+
+ $sql = new Sql( 'UPDATE {t_projectmodel} SET is_default=1 WHERE id={modelid}' );
+ $sql->setInt( 'modelid',$new_default_modelid );
+ $db->query( $sql );
+ }
}
}