From 0b7cbb50ac451b1cf9dea793128ac43cafc9bb2f Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Wed, 15 Feb 2012 13:11:54 +0100
Subject: [PATCH] Update template fo class. delete actions must be done in
 opposite order of create actions.

---
 dev/skeletons/skeleton_class.class.php | 49 +++++++++++++-------------
 1 file changed, 25 insertions(+), 24 deletions(-)

diff --git a/dev/skeletons/skeleton_class.class.php b/dev/skeletons/skeleton_class.class.php
index e93cea119ff..bb50fcb083e 100644
--- a/dev/skeletons/skeleton_class.class.php
+++ b/dev/skeletons/skeleton_class.class.php
@@ -1,5 +1,5 @@
 <?php
-/* Copyright (C) 2007-2011 Laurent Destailleur  <eldy@users.sourceforge.net>
+/* Copyright (C) 2007-2012 Laurent Destailleur  <eldy@users.sourceforge.net>
  * Copyright (C) ---Put here your own copyright and developer email---
  *
  * This program is free software; you can redistribute it and/or modify
@@ -30,8 +30,7 @@
 
 
 /**
- *      \class      Skeleton_Class
- *      \brief      Put here description of your class
+ *	Put here description of your class
  */
 class Skeleton_Class // extends CommonObject
 {
@@ -50,7 +49,7 @@ class Skeleton_Class // extends CommonObject
     /**
      *  Constructor
      *
-     *  @param      DoliDb		$db      Database handler
+     *  @param	DoliDb		$db      Database handler
      */
     function Skeleton_Class($db)
     {
@@ -62,9 +61,9 @@ class Skeleton_Class // extends CommonObject
     /**
      *  Create object into database
      *
-     *  @param      User	$user        User that create
-     *  @param      int		$notrigger   0=launch triggers after, 1=disable triggers
-     *  @return     int      		   	 <0 if KO, Id of created object if OK
+     *  @param	User	$user        User that create
+     *  @param  int		$notrigger   0=launch triggers after, 1=disable triggers
+     *  @return int      		   	 <0 if KO, Id of created object if OK
      */
     function create($user, $notrigger=0)
     {
@@ -136,8 +135,8 @@ class Skeleton_Class // extends CommonObject
     /**
      *  Load object in memory from database
      *
-     *  @param      int	$id    Id object
-     *  @return     int          <0 if KO, >0 if OK
+     *  @param	int		$id    Id object
+     *  @return int          	<0 if KO, >0 if OK
      */
     function fetch($id)
     {
@@ -179,9 +178,9 @@ class Skeleton_Class // extends CommonObject
     /**
      *  Update object into database
      *
-     *  @param      User	$user        User that modify
-     *  @param      int		$notrigger	 0=launch triggers after, 1=disable triggers
-     *  @return     int     		   	 <0 if KO, >0 if OK
+     *  @param	User	$user        User that modify
+     *  @param  int		$notrigger	 0=launch triggers after, 1=disable triggers
+     *  @return int     		   	 <0 if KO, >0 if OK
      */
     function update($user=0, $notrigger=0)
     {
@@ -247,8 +246,8 @@ class Skeleton_Class // extends CommonObject
  	/**
 	 *  Delete object in database
 	 *
-     *	@param     User	$user        User that delete
-     *  @param     int		$notrigger	 0=launch triggers after, 1=disable triggers
+     *	@param  User	$user        User that delete
+     *  @param  int		$notrigger	 0=launch triggers after, 1=disable triggers
 	 *  @return	int					 <0 if KO, >0 if OK
 	 */
 	function delete($user, $notrigger=0)
@@ -256,15 +255,8 @@ class Skeleton_Class // extends CommonObject
 		global $conf, $langs;
 		$error=0;
 
-		$sql = "DELETE FROM ".MAIN_DB_PREFIX."mytable";
-		$sql.= " WHERE rowid=".$this->id;
-
 		$this->db->begin();
 
-		dol_syslog(get_class($this)."::delete sql=".$sql);
-		$resql = $this->db->query($sql);
-    	if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
-
 		if (! $error)
 		{
 			if (! $notrigger)
@@ -281,6 +273,16 @@ class Skeleton_Class // extends CommonObject
 			}
 		}
 
+		if (! $error)
+		{
+    		$sql = "DELETE FROM ".MAIN_DB_PREFIX."mytable";
+    		$sql.= " WHERE rowid=".$this->id;
+
+    		dol_syslog(get_class($this)."::delete sql=".$sql);
+    		$resql = $this->db->query($sql);
+        	if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
+		}
+
         // Commit or rollback
 		if ($error)
 		{
@@ -304,8 +306,8 @@ class Skeleton_Class // extends CommonObject
 	/**
 	 *	Load an object from its id and create a new one in database
 	 *
-	 *	@param      int		$fromid     Id of object to clone
-	 * 	@return		int					New id of clone
+	 *	@param	int		$fromid     Id of object to clone
+	 * 	@return	int					New id of clone
 	 */
 	function createFromClone($fromid)
 	{
@@ -339,7 +341,6 @@ class Skeleton_Class // extends CommonObject
 		{
 
 
-
 		}
 
 		// End
-- 
GitLab