details:   https://code.openbravo.com/erp/devel/pi/rev/34d65cbdfce2
changeset: 20066:34d65cbdfce2
user:      Augusto Mauch <augusto.mauch <at> openbravo.com>
date:      Fri Apr 05 11:09:03 2013 +0200
summary:   Fixes bug 22997: Manual processes are not always disabled using 
SecuredProcess

When the SecuredProcess preference was set to 'Y', all manual processes were 
being disabled, and only the defined processes (new ones) that the user has 
explicit access to were enabled. This has been fixed, so the manual processes 
that the user has been given access to will also be enabled.

details:   https://code.openbravo.com/erp/devel/pi/rev/2954f1342025
changeset: 20067:2954f1342025
user:      Augusto Mauch <augusto.mauch <at> openbravo.com>
date:      Tue Apr 09 15:57:15 2013 +0200
summary:   Fixes issue 23492: Fixed definition of the 
OBUIAPP_Process_Access.Role column

The Role column of the OBUIAPP_Process_Access table was not defined as 
IsParent. That meant that when the context info is sent to the datasource, the 
value of the AD_ROLE_ID property is the ID of the role the user has logged in, 
instead of the id of the role selected in the Role tab.

diffstat:

 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml
                              |  2 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/WindowSettingsActionHandler.java
 |  5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diffs (33 lines):

diff -r c0e933f438dc -r 2954f1342025 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml
--- 
a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml
 Mon Apr 08 14:01:36 2013 +0200
+++ 
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml
 Tue Apr 09 15:57:15 2013 +0200
@@ -622,7 +622,7 @@
 <!--178D324AD10947149B7F79F140AA6832-->  
<AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID>
 <!--178D324AD10947149B7F79F140AA6832-->  
<FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
 <!--178D324AD10947149B7F79F140AA6832-->  <ISKEY><![CDATA[N]]></ISKEY>
-<!--178D324AD10947149B7F79F140AA6832-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--178D324AD10947149B7F79F140AA6832-->  <ISPARENT><![CDATA[Y]]></ISPARENT>
 <!--178D324AD10947149B7F79F140AA6832-->  
<ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
 <!--178D324AD10947149B7F79F140AA6832-->  
<ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
 <!--178D324AD10947149B7F79F140AA6832-->  
<ISIDENTIFIER><![CDATA[Y]]></ISIDENTIFIER>
diff -r c0e933f438dc -r 2954f1342025 
modules/org.openbravo.client.application/src/org/openbravo/client/application/WindowSettingsActionHandler.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/WindowSettingsActionHandler.java
    Mon Apr 08 14:01:36 2013 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/WindowSettingsActionHandler.java
    Tue Apr 09 15:57:15 2013 +0200
@@ -137,14 +137,15 @@
       } catch (PropertyException e) {
         // do nothing, property is not set so securedProcess is false
       }
-
       if (securedProcess) {
         OBQuery<Field> q = OBDal.getInstance().createQuery(
             Field.class,
             " as f where  tab.window = :window " + "and ( 
(column.oBUIAPPProcess is not null"
                 + " and not exists (select 1 from " + " OBUIAPP_Process_Access 
a"
                 + " where a.obuiappProcess = f.column.oBUIAPPProcess"
-                + " and a.role.id = :role and a.active=true))" + "or 
(column.process is not null))"
+                + " and a.role.id = :role and a.active=true))" + "or 
(column.process is not null and "
+                + " not exists (select 1 from ADProcessAccess a where 
a.process = f.column.process and "
+                + " a.role.id = 'B5E17C3278704E169F5B11FC2F84850B' and 
a.active=true)))"
                 + " order by f.tab");
 
         q.setNamedParameter("window", window);

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to