details:   /erp/devel/pi/rev/a0f3f203536e
changeset: 8453:a0f3f203536e
user:      Harikrishnan Raja <harikrishnan.raja <at> openbravo.com>
date:      Wed Sep 29 14:42:51 2010 +0530
summary:   Fixes issue 14575: Table AD_ROLE: Trigger ad_role_trg is not correct

diffstat:

 src-db/database/model/functions/AD_UPDATE_ACCESS.xml |   4 ++
 src-db/database/model/triggers/AD_ROLE_TRG.xml       |  36 +++++++++++++------
 2 files changed, 28 insertions(+), 12 deletions(-)

diffs (158 lines):

diff -r f6316be65fe7 -r a0f3f203536e 
src-db/database/model/functions/AD_UPDATE_ACCESS.xml
--- a/src-db/database/model/functions/AD_UPDATE_ACCESS.xml      Tue Sep 28 
11:09:22 2010 +0200
+++ b/src-db/database/model/functions/AD_UPDATE_ACCESS.xml      Wed Sep 29 
14:42:51 2010 +0530
@@ -30,6 +30,7 @@
     '0', now(), '0', 'Y'
   FROM AD_FORM, AD_ROLE
   WHERE AD_ROLE.ISMANUAL = 'N'
+  AND AD_FORM.IsActive='Y'
     AND (
       (AD_ROLE.USERLEVEL = 'S' AND AD_FORM.ACCESSLEVEL IN ('4','7','6'))
       OR
@@ -52,6 +53,7 @@
     '0', now(), '0', 'Y'
   FROM AD_PROCESS, AD_ROLE
   WHERE AD_ROLE.ISMANUAL = 'N'
+  AND AD_PROCESS.IsActive='Y'
     AND (
       (AD_ROLE.USERLEVEL = 'S' AND AD_PROCESS.ACCESSLEVEL IN ('4','7','6'))
       OR
@@ -116,6 +118,7 @@
     '0', now(), '0', 'Y'
   FROM AD_WINDOW, AD_ROLE, AD_TAB, AD_TABLE
   WHERE AD_ROLE.ISMANUAL = 'N'
+  AND AD_WINDOW.IsActive='Y'
     AND AD_WINDOW.AD_WINDOW_ID = AD_TAB.AD_WINDOW_ID
     AND AD_TAB.AD_TABLE_ID = AD_TABLE.AD_TABLE_ID
     AND (
@@ -144,6 +147,7 @@
     '0', now(), '0', 'Y'
   FROM AD_WORKFLOW, AD_ROLE
   WHERE AD_ROLE.ISMANUAL = 'N'
+  AND AD_WORKFLOW.IsActive='Y'
     AND (
       (AD_ROLE.USERLEVEL = 'S' AND AD_WORKFLOW.ACCESSLEVEL IN ('4','7','6'))
       OR
diff -r f6316be65fe7 -r a0f3f203536e 
src-db/database/model/triggers/AD_ROLE_TRG.xml
--- a/src-db/database/model/triggers/AD_ROLE_TRG.xml    Tue Sep 28 11:09:22 
2010 +0200
+++ b/src-db/database/model/triggers/AD_ROLE_TRG.xml    Wed Sep 29 14:42:51 
2010 +0530
@@ -87,7 +87,8 @@
   from AD_Window w, AD_Tab t, AD_Table tt
   WHERE w.AD_Window_ID=t.AD_Window_ID
     AND t.AD_Table_ID=tt.AD_Table_ID
-    AND tt.AccessLevel IN ('4','7','6')) w;
+    AND tt.AccessLevel IN ('4','7','6')
+    AND w.IsActive = 'Y') w;
   -- Process
   INSERT INTO AD_Process_Access
    ( AD_Process_Access_ID, AD_Process_ID, AD_Role_ID,
@@ -95,7 +96,8 @@
   SELECT get_uuid(), p.AD_Process_ID, :new.AD_Role_ID,
    :new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(), 
:new.UpdatedBy, 'Y'
   FROM AD_Process p
-  WHERE AccessLevel IN ('4','7','6');
+  WHERE AccessLevel IN ('4','7','6')
+  AND p.IsActive='Y';
   -- Form
   INSERT INTO AD_Form_Access
    (AD_Form_Access_ID, AD_Form_ID, AD_Role_ID,
@@ -103,7 +105,8 @@
   SELECT get_uuid(), f.AD_Form_ID, :new.AD_Role_ID,
    :new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(), 
:new.UpdatedBy, 'Y'
   FROM AD_Form f
-  WHERE AccessLevel IN ('4','7','6');
+  WHERE AccessLevel IN ('4','7','6')
+  AND f.IsActive='Y';
   -- Workflow
   INSERT INTO AD_WorkFlow_Access
    (AD_WorkFlow_Access_ID, AD_WorkFlow_ID, AD_Role_ID,
@@ -111,7 +114,8 @@
   SELECT get_uuid(), w.AD_WorkFlow_ID, :new.AD_Role_ID,
    :new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(), 
:new.UpdatedBy, 'Y'
   FROM AD_WorkFlow w
-  WHERE AccessLevel IN ('4','7','6');
+  WHERE AccessLevel IN ('4','7','6')
+  AND w.IsActive='Y';
 
  -- Client/Org
  ELSIF (:new.UserLevel=' CO' OR :new.UserLevel=' C') AND (:new.IsManual <> 
'Y') THEN
@@ -126,7 +130,8 @@
   WHERE w.AD_Window_ID=t.AD_Window_ID
     AND t.AD_Table_ID=tt.AD_Table_ID
     AND tt.AccessLevel IN ('7','6','3','1')
-    AND w.AD_Window_ID NOT IN ('100','102','165','187')) w;
+    AND w.AD_Window_ID NOT IN ('100','102','165','187')
+    AND w.IsActive='Y') w;
   -- Process
   INSERT INTO AD_Process_Access
    (AD_Process_Access_ID, AD_Process_ID, AD_Role_ID,
@@ -134,7 +139,8 @@
   SELECT DISTINCT get_uuid(), p.AD_Process_ID, :new.AD_Role_ID,
    :new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(), 
:new.UpdatedBy, 'Y'
   FROM AD_Process p
-  WHERE AccessLevel IN ('7','6','3','1');
+  WHERE AccessLevel IN ('7','6','3','1')
+  AND p.IsActive='Y';
   -- Form
   INSERT INTO AD_Form_Access
    (AD_Form_Access_ID, AD_Form_ID, AD_Role_ID,
@@ -142,7 +148,8 @@
   SELECT get_uuid(), f.AD_Form_ID, :new.AD_Role_ID,
    :new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(), 
:new.UpdatedBy, 'Y'
   FROM AD_Form f
-  WHERE AccessLevel IN ('7','6','3','1');
+  WHERE AccessLevel IN ('7','6','3','1')
+  AND f.IsActive='Y';
   -- Workflow
   INSERT INTO AD_WorkFlow_Access
    (AD_WorkFlow_Access_ID, AD_WorkFlow_ID, AD_Role_ID,
@@ -150,7 +157,8 @@
   SELECT get_uuid(), w.AD_WorkFlow_ID, :new.AD_Role_ID,
    :new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(), 
:new.UpdatedBy, 'Y'
   FROM AD_WorkFlow w
-  WHERE AccessLevel IN ('7','6','3','1');
+  WHERE AccessLevel IN ('7','6','3','1')
+  AND w.IsActive='Y';
 
  -- Organization
  ELSIF (:new.UserLevel='  O') AND (:new.IsManual <> 'Y') THEN
@@ -164,7 +172,8 @@
   from AD_Window w, AD_Tab t, AD_Table tt
   WHERE w.AD_Window_ID=t.AD_Window_ID
     AND t.AD_Table_ID=tt.AD_Table_ID
-    AND tt.AccessLevel IN ('3','1','7')) w;
+    AND tt.AccessLevel IN ('3','1','7')
+    AND w.IsActive='Y') w;
   -- Process
   INSERT INTO AD_Process_Access
    (AD_Process_Access_ID, AD_Process_ID, AD_Role_ID,
@@ -172,7 +181,8 @@
   SELECT  get_uuid(), p.AD_Process_ID, :new.AD_Role_ID,
    :new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(), 
:new.UpdatedBy, 'Y'
   FROM AD_Process p
-  WHERE AccessLevel IN ('3','1','7');
+  WHERE AccessLevel IN ('3','1','7')
+  AND p.IsActive='Y';
   -- Form
   INSERT INTO AD_Form_Access
    (AD_Form_Access_ID, AD_Form_ID, AD_Role_ID,
@@ -180,7 +190,8 @@
   SELECT get_uuid(), f.AD_Form_ID, :new.AD_Role_ID,
    :new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(), 
:new.UpdatedBy, 'Y'
   FROM AD_Form f
-  WHERE AccessLevel IN ('3','1','7');
+  WHERE AccessLevel IN ('3','1','7')
+  AND f.IsActive='Y';
   -- Workflow
   INSERT INTO AD_WorkFlow_Access
    (AD_WorkFlow_Access_ID, AD_WorkFlow_ID, AD_Role_ID,
@@ -188,7 +199,8 @@
   SELECT get_uuid(), w.AD_WorkFlow_ID, :new.AD_Role_ID,
    :new.AD_CLIENT_ID, :new.AD_ORG_ID, 'Y', now(), :new.UpdatedBy, now(), 
:new.UpdatedBy, 'Y'
   FROM AD_WorkFlow w
-  WHERE AccessLevel IN ('3','1','7');
+  WHERE AccessLevel IN ('3','1','7')
+  AND w.IsActive='Y';
 
  END IF;
 

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to