details:   https://code.openbravo.com/erp/devel/pi/rev/ba95c4bd8198
changeset: 16669:ba95c4bd8198
user:      Jon Alegría <jon.alegria <at> openbravo.com>
date:      Mon May 28 12:01:07 2012 +0200
summary:   Fixes issue 0020609: Project tree: nodes can be deleted even if they 
have
child structure assigned

diffstat:

 src-db/database/model/triggers/C_PROJECT_TRG3.xml |  13 ++++++++++---
 src-db/database/sourcedata/AD_MESSAGE.xml         |  11 +++++++++++
 2 files changed, 21 insertions(+), 3 deletions(-)

diffs (63 lines):

diff -r c49d26d67c20 -r ba95c4bd8198 
src-db/database/model/triggers/C_PROJECT_TRG3.xml
--- a/src-db/database/model/triggers/C_PROJECT_TRG3.xml Fri May 25 14:47:07 
2012 +0200
+++ b/src-db/database/model/triggers/C_PROJECT_TRG3.xml Mon May 28 12:01:07 
2012 +0200
@@ -22,15 +22,17 @@
     * All Rights Reserved.
     * Contributor(s):  ______________________________________.
     ************************************************************************/
-  v_Count NUMBER;
+  
   v_Tree_ID   varchar2(32);
   v_Parent_ID VARCHAR2(32);
+  v_count NUMBER;
     
 BEGIN
     
     IF AD_isTriggerEnabled()='N' THEN RETURN;
     END IF;
 
+ IF(DELETING) THEN
 
   SELECT c.AD_Tree_Project_ID,
     n.Node_ID
@@ -41,12 +43,17 @@
   WHERE c.AD_Tree_Project_ID=n.AD_Tree_ID
     AND n.Parent_ID IS NULL
     AND c.AD_Client_ID=:old.AD_Client_ID;
-  IF(v_Count=0) THEN
+
+  select COUNT(*) INTO v_count from AD_TREENODE where 
parent_id=:OLD.C_PROJECT_ID
+    and AD_TREE_ID=v_Tree_ID;    
+  IF(v_count>0) THEN
+    RAISE_APPLICATION_ERROR(-20000, '@ChildProjectCheck@') ;
+  END IF;
     DELETE
     FROM AD_TREENODE
     WHERE AD_TREE_ID=v_Tree_ID
       AND NODE_ID=:OLD.C_Project_ID;
-  END IF;
+ END IF;
 END C_PROJECT_TRG3
 ]]></body>
     </trigger>
diff -r c49d26d67c20 -r ba95c4bd8198 src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Fri May 25 14:47:07 2012 +0200
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Mon May 28 12:01:07 2012 +0200
@@ -19391,6 +19391,17 @@
 <!--C75F4E1BA95A409AB73ECF5A54A6614E-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--C75F4E1BA95A409AB73ECF5A54A6614E--></AD_MESSAGE>
 
+<!--C75FD147AFBF44E78764060BF3D316A2--><AD_MESSAGE>
+<!--C75FD147AFBF44E78764060BF3D316A2-->  
<AD_MESSAGE_ID><![CDATA[C75FD147AFBF44E78764060BF3D316A2]]></AD_MESSAGE_ID>
+<!--C75FD147AFBF44E78764060BF3D316A2-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--C75FD147AFBF44E78764060BF3D316A2-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--C75FD147AFBF44E78764060BF3D316A2-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--C75FD147AFBF44E78764060BF3D316A2-->  
<VALUE><![CDATA[ChildProjectCheck]]></VALUE>
+<!--C75FD147AFBF44E78764060BF3D316A2-->  <MSGTEXT><![CDATA[This project cannot 
be deleted because it has child projects. Please, delete the child projects 
first]]></MSGTEXT>
+<!--C75FD147AFBF44E78764060BF3D316A2-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--C75FD147AFBF44E78764060BF3D316A2-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--C75FD147AFBF44E78764060BF3D316A2--></AD_MESSAGE>
+
 <!--C7A6F9C0C48846FEA717E53B20770779--><AD_MESSAGE>
 <!--C7A6F9C0C48846FEA717E53B20770779-->  
<AD_MESSAGE_ID><![CDATA[C7A6F9C0C48846FEA717E53B20770779]]></AD_MESSAGE_ID>
 <!--C7A6F9C0C48846FEA717E53B20770779-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to