IDEMPIERE-893 Use AD_InfoWindow_Access instead of DPViews for access to info windows / Based on patch from Juliana Corredor
This commit is contained in:
parent
470202287c
commit
09a39bab52
|
@ -0,0 +1,100 @@
|
||||||
|
-- Jun 14, 2013 6:22:47 PM COT
|
||||||
|
-- IDEMPIERE-893 Use AD_InfoWindow_Access instead of DPViews for access to info windows
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_DATE('2013-06-14 18:22:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50176
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:22:57 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_DATE('2013-06-14 18:22:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50170
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:23:06 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_DATE('2013-06-14 18:23:06','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50169
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:23:17 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_DATE('2013-06-14 18:23:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50172
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:23:27 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_DATE('2013-06-14 18:23:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50173
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:23:37 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_DATE('2013-06-14 18:23:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50174
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:23:50 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_DATE('2013-06-14 18:23:50','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50175
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:24:04 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_DATE('2013-06-14 18:24:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50177
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 17, 2013 6:34:24 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=300, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2013-06-17 18:34:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50178
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 17, 2013 6:34:24 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=310, AD_FieldGroup_ID=50000, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2013-06-17 18:34:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50176
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 17, 2013 6:34:24 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=320, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2013-06-17 18:34:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50170
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 17, 2013 6:34:24 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=330, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2013-06-17 18:34:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50174
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 17, 2013 6:34:25 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=350, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2013-06-17 18:34:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50172
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 17, 2013 6:34:25 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=370, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2013-06-17 18:34:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50169
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_asset='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='A_Asset'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_bpartner='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='C_BPartner'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_inout='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='M_InOut'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_invoice='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='C_Invoice'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_order='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='C_Order'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_payment='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='C_Payment'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_product='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='M_Product'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_resource='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='S_ResourceAssignment'))
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('20130617121500_IDEMPIERE-893.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,100 @@
|
||||||
|
-- Jun 14, 2013 6:22:47 PM COT
|
||||||
|
-- IDEMPIERE-893 Use AD_InfoWindow_Access instead of DPViews for access to info windows
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_TIMESTAMP('2013-06-14 18:22:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50176
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:22:57 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_TIMESTAMP('2013-06-14 18:22:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50170
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:23:06 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_TIMESTAMP('2013-06-14 18:23:06','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50169
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:23:17 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_TIMESTAMP('2013-06-14 18:23:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50172
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:23:27 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_TIMESTAMP('2013-06-14 18:23:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50173
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:23:37 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_TIMESTAMP('2013-06-14 18:23:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50174
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:23:50 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_TIMESTAMP('2013-06-14 18:23:50','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50175
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 14, 2013 6:24:04 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N & @#UIClient@=''swing''',Updated=TO_TIMESTAMP('2013-06-14 18:24:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50177
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 17, 2013 6:34:24 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=300, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2013-06-17 18:34:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50178
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 17, 2013 6:34:24 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=310, AD_FieldGroup_ID=50000, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2013-06-17 18:34:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50176
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 17, 2013 6:34:24 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=320, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2013-06-17 18:34:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50170
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 17, 2013 6:34:24 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=330, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2013-06-17 18:34:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50174
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 17, 2013 6:34:25 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=350, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2013-06-17 18:34:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50172
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 17, 2013 6:34:25 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=370, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2013-06-17 18:34:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50169
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_asset='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='A_Asset'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_bpartner='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='C_BPartner'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_inout='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='M_InOut'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_invoice='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='C_Invoice'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_order='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='C_Order'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_payment='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='C_Payment'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_product='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='M_Product'))
|
||||||
|
;
|
||||||
|
|
||||||
|
update ad_infowindow_access set isactive='N'
|
||||||
|
where ad_role_id in (select ad_role_id from ad_role where allow_info_resource='N')
|
||||||
|
and ad_infowindow_id in (select ad_infowindow_id from ad_infowindow where ad_table_id=(select ad_table_id from ad_table where tablename='S_ResourceAssignment'))
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('20130617121500_IDEMPIERE-893.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -59,14 +59,20 @@ public class MInfoWindow extends X_AD_InfoWindow
|
||||||
} // MInfoWindow
|
} // MInfoWindow
|
||||||
|
|
||||||
public static MInfoWindow get(String tableName, String trxName) {
|
public static MInfoWindow get(String tableName, String trxName) {
|
||||||
Query query = new Query(Env.getCtx(), MTable.get(Env.getCtx(), I_AD_InfoWindow.Table_ID), I_AD_InfoWindow.COLUMNNAME_AD_Table_ID+"=? AND IsValid='Y' ", null);
|
Query query = new Query(Env.getCtx(), MTable.get(Env.getCtx(), MInfoWindow.Table_ID), MInfoWindow.COLUMNNAME_AD_Table_ID+"=? AND IsValid='Y' ", null);
|
||||||
MTable table = MTable.get(Env.getCtx(), tableName);
|
MTable table = MTable.get(Env.getCtx(), tableName);
|
||||||
if (table != null) {
|
if (table != null) {
|
||||||
return query.setParameters(table.getAD_Table_ID())
|
List<MInfoWindow> iws = query.setParameters(table.getAD_Table_ID())
|
||||||
.setOrderBy("AD_Client_ID Desc, AD_Org_ID Desc, IsDefault Desc, AD_InfoWindow_ID Desc")
|
.setOrderBy("AD_Client_ID Desc, AD_Org_ID Desc, IsDefault Desc, AD_InfoWindow_ID Desc")
|
||||||
.setOnlyActiveRecords(true)
|
.setOnlyActiveRecords(true)
|
||||||
.setApplyAccessFilter(true)
|
.setApplyAccessFilter(true)
|
||||||
.first();
|
.list();
|
||||||
|
// verify role has access and return the first with access / IDEMPIERE-893
|
||||||
|
for (MInfoWindow iw : iws) {
|
||||||
|
Boolean access = MRole.getDefault().getInfoAccess(iw.getAD_InfoWindow_ID());
|
||||||
|
if (access != null && access.booleanValue())
|
||||||
|
return iw;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<stringAttribute key="pde.version" value="3.3"/>
|
<stringAttribute key="pde.version" value="3.3"/>
|
||||||
<stringAttribute key="product" value="org.adempiere.ui.swing.client_product"/>
|
<stringAttribute key="product" value="org.adempiere.ui.swing.client_product"/>
|
||||||
<stringAttribute key="productFile" value="/org.adempiere.ui.swing-feature/swingclient.product"/>
|
<stringAttribute key="productFile" value="/org.adempiere.ui.swing-feature/swingclient.product"/>
|
||||||
<stringAttribute key="selected_target_plugins" value="com.springsource.javax.ejb@default:default,com.springsource.javax.jms@default:default,com.springsource.javax.mail@default:default,com.springsource.javax.management.j2ee@default:default,com.springsource.javax.persistence@default:default,com.springsource.javax.transaction@default:default,com.springsource.javax.xml.rpc@default:default,com.springsource.javax.xml.soap@default:default,com.springsource.net.sf.cglib@default:default,com.springsource.org.aopalliance@default:default,com.springsource.org.apache.activemq@default:default,com.springsource.org.apache.commons.logging@default:default,com.springsource.org.apache.kahadb@default:default,com.springsource.org.apache.xmlcommons@default:default,com.springsource.slf4j.api@default:default,com.springsource.slf4j.jcl@default:false,com.springsource.slf4j.nop@default:false,javax.el@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.ant@default:default,org.apache.batik.bridge@default:default,org.apache.batik.css@default:default,org.apache.batik.dom.svg@default:default,org.apache.batik.dom@default:default,org.apache.batik.ext.awt@default:default,org.apache.batik.extension@default:default,org.apache.batik.parser@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.batik.xml@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.poi@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.xml.serializer@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@3:true,org.eclipse.equinox.event@3:true,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.launcher.gtk.linux.x86_64@default:false,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.ql@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@3:true,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default,org.restlet*2.1.0.v20130114-0123@default:true,org.restlet.ext.net*2.1.0.v20130114-0123@default:true,org.restlet.ext.servlet*2.1.0.v20130114-0123@default:default,org.restlet.ext.ssl@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.springframework.aop@default:default,org.springframework.beans@default:default,org.springframework.context@default:default,org.springframework.core@default:default,org.w3c.css.sac@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
|
<stringAttribute key="selected_target_plugins" value="com.springsource.javax.ejb@default:default,com.springsource.javax.jms@default:default,com.springsource.javax.mail@default:default,com.springsource.javax.management.j2ee@default:default,com.springsource.javax.persistence@default:default,com.springsource.javax.transaction@default:default,com.springsource.javax.xml.rpc@default:default,com.springsource.javax.xml.soap@default:default,com.springsource.net.sf.cglib@default:default,com.springsource.org.aopalliance@default:default,com.springsource.org.apache.activemq@default:default,com.springsource.org.apache.commons.logging@default:default,com.springsource.org.apache.kahadb@default:default,com.springsource.slf4j.api@default:default,com.springsource.slf4j.jcl@default:false,com.springsource.slf4j.nop@default:false,javax.el@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.ant@default:default,org.apache.batik.bridge@default:default,org.apache.batik.css@default:default,org.apache.batik.dom.svg@default:default,org.apache.batik.dom@default:default,org.apache.batik.ext.awt@default:default,org.apache.batik.extension@default:default,org.apache.batik.parser@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.batik.xml@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.poi@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.xml.serializer@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@3:true,org.eclipse.equinox.event@3:true,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.launcher.gtk.linux.x86_64@default:false,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.ql@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@3:true,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default,org.restlet.ext.net@default:true,org.restlet.ext.servlet@default:default,org.restlet.ext.ssl@default:default,org.restlet@default:true,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.springframework.aop@default:default,org.springframework.beans@default:default,org.springframework.context@default:default,org.springframework.core@default:default,org.w3c.css.sac@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
|
||||||
<stringAttribute key="selected_workspace_plugins" value="org.adempiere.base.callout@default:default,org.adempiere.base.process@default:default,org.adempiere.base@4:true,org.adempiere.extend@default:false,org.adempiere.install@default:default,org.adempiere.payment.processor@default:default,org.adempiere.pipo.handlers@default:default,org.adempiere.pipo@default:default,org.adempiere.plugin.utils@default:default,org.adempiere.replication@default:default,org.adempiere.report.jasper.library@default:default,org.adempiere.report.jasper.swing@default:default,org.adempiere.report.jasper@default:default,org.adempiere.ui.swing@default:default,org.adempiere.ui@default:default,org.apache.ecs@default:default,org.compiere.db.oracle.provider@default:default,org.compiere.db.postgresql.provider@default:default,org.idempiere.hazelcast.service.config@default:false,org.idempiere.hazelcast.service@default:true,org.idempiere.webservices@default:default,org.w3c.dom.fragment@default:false"/>
|
<stringAttribute key="selected_workspace_plugins" value="org.adempiere.base.callout@default:default,org.adempiere.base.process@default:default,org.adempiere.base@4:true,org.adempiere.extend@default:false,org.adempiere.install@default:default,org.adempiere.payment.processor@default:default,org.adempiere.pipo.handlers@default:default,org.adempiere.pipo@default:default,org.adempiere.plugin.utils@default:default,org.adempiere.replication@default:default,org.adempiere.report.jasper.library@default:default,org.adempiere.report.jasper.swing@default:default,org.adempiere.report.jasper@default:default,org.adempiere.ui.swing@default:default,org.adempiere.ui@default:default,org.apache.ecs@default:default,org.compiere.db.oracle.provider@default:default,org.compiere.db.postgresql.provider@default:default,org.idempiere.hazelcast.service.config@default:false,org.idempiere.hazelcast.service@default:true,org.idempiere.webservices@default:default,org.w3c.dom.fragment@default:false"/>
|
||||||
<booleanAttribute key="show_selected_only" value="false"/>
|
<booleanAttribute key="show_selected_only" value="false"/>
|
||||||
<booleanAttribute key="tracing" value="false"/>
|
<booleanAttribute key="tracing" value="false"/>
|
||||||
|
|
|
@ -369,52 +369,6 @@ public final class AEnv
|
||||||
CacheMgt.get().reset(tableName, Record_ID);
|
CacheMgt.get().reset(tableName, Record_ID);
|
||||||
} // cacheReset
|
} // cacheReset
|
||||||
|
|
||||||
/**
|
|
||||||
* Validate permissions to access Info queries on the view menu
|
|
||||||
* @author kstan_79
|
|
||||||
* @return true if access is allowed
|
|
||||||
*/
|
|
||||||
|
|
||||||
public static boolean canAccessInfo(String infoWindowName)
|
|
||||||
{
|
|
||||||
boolean result=false;
|
|
||||||
int roleid= Env.getAD_Role_ID(Env.getCtx());
|
|
||||||
String sqlRolePermission="Select COUNT(AD_ROLE_ID) AS ROWCOUNT FROM AD_ROLE WHERE AD_ROLE_ID=" + roleid
|
|
||||||
+ " AND ALLOW_INFO_" + infoWindowName + "='Y'";
|
|
||||||
|
|
||||||
log.config(sqlRolePermission);
|
|
||||||
PreparedStatement prolestmt = null;
|
|
||||||
ResultSet rs = null;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
prolestmt = DB.prepareStatement (sqlRolePermission, null);
|
|
||||||
|
|
||||||
rs = prolestmt.executeQuery ();
|
|
||||||
|
|
||||||
rs.next();
|
|
||||||
|
|
||||||
if (rs.getInt("ROWCOUNT")>0)
|
|
||||||
{
|
|
||||||
result=true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
log.log(Level.SEVERE, "(1)", e);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
DB.close(rs, prolestmt);
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
|
|
||||||
} // canAccessInfo
|
|
||||||
|
|
||||||
public static void actionRefresh(Lookup lookup, Object value, boolean mandatory, boolean shortList) // IDEMPIERE 90
|
public static void actionRefresh(Lookup lookup, Object value, boolean mandatory, boolean shortList) // IDEMPIERE 90
|
||||||
{
|
{
|
||||||
if (lookup == null)
|
if (lookup == null)
|
||||||
|
|
|
@ -19,6 +19,15 @@ import org.adempiere.webui.component.Window;
|
||||||
import org.adempiere.webui.panel.InfoPanel;
|
import org.adempiere.webui.panel.InfoPanel;
|
||||||
import org.adempiere.webui.theme.ThemeManager;
|
import org.adempiere.webui.theme.ThemeManager;
|
||||||
import org.adempiere.webui.window.InfoSchedule;
|
import org.adempiere.webui.window.InfoSchedule;
|
||||||
|
import org.compiere.model.I_A_Asset;
|
||||||
|
import org.compiere.model.I_C_BPartner;
|
||||||
|
import org.compiere.model.I_C_Invoice;
|
||||||
|
import org.compiere.model.I_C_Order;
|
||||||
|
import org.compiere.model.I_C_Payment;
|
||||||
|
import org.compiere.model.I_M_InOut;
|
||||||
|
import org.compiere.model.I_M_Product;
|
||||||
|
import org.compiere.model.I_S_ResourceAssignment;
|
||||||
|
import org.compiere.model.MInfoWindow;
|
||||||
import org.compiere.model.MRole;
|
import org.compiere.model.MRole;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
import org.compiere.util.Msg;
|
import org.compiere.util.Msg;
|
||||||
|
@ -54,7 +63,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
|
||||||
{
|
{
|
||||||
Vbox vbox = new Vbox();
|
Vbox vbox = new Vbox();
|
||||||
|
|
||||||
if (MRole.getDefault().isAllow_Info_Product())
|
if (MInfoWindow.get(I_M_Product.Table_Name, null) != null)
|
||||||
{
|
{
|
||||||
ToolBarButton btnViewItem = new ToolBarButton("InfoProduct");
|
ToolBarButton btnViewItem = new ToolBarButton("InfoProduct");
|
||||||
btnViewItem.setSclass("link");
|
btnViewItem.setSclass("link");
|
||||||
|
@ -63,7 +72,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
|
||||||
btnViewItem.addEventListener(Events.ON_CLICK, this);
|
btnViewItem.addEventListener(Events.ON_CLICK, this);
|
||||||
vbox.appendChild(btnViewItem);
|
vbox.appendChild(btnViewItem);
|
||||||
}
|
}
|
||||||
if (MRole.getDefault().isAllow_Info_BPartner())
|
if (MInfoWindow.get(I_C_BPartner.Table_Name, null) != null)
|
||||||
{
|
{
|
||||||
ToolBarButton btnViewItem = new ToolBarButton("InfoBPartner");
|
ToolBarButton btnViewItem = new ToolBarButton("InfoBPartner");
|
||||||
btnViewItem.setSclass("link");
|
btnViewItem.setSclass("link");
|
||||||
|
@ -91,7 +100,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
|
||||||
vbox.appendChild(btnViewItem);
|
vbox.appendChild(btnViewItem);
|
||||||
}
|
}
|
||||||
vbox.appendChild(new Separator("horizontal"));
|
vbox.appendChild(new Separator("horizontal"));
|
||||||
if (MRole.getDefault().isAllow_Info_Order())
|
if (MInfoWindow.get(I_C_Order.Table_Name, null) != null)
|
||||||
{
|
{
|
||||||
ToolBarButton btnViewItem = new ToolBarButton("InfoOrder");
|
ToolBarButton btnViewItem = new ToolBarButton("InfoOrder");
|
||||||
btnViewItem.setSclass("link");
|
btnViewItem.setSclass("link");
|
||||||
|
@ -100,7 +109,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
|
||||||
btnViewItem.addEventListener(Events.ON_CLICK, this);
|
btnViewItem.addEventListener(Events.ON_CLICK, this);
|
||||||
vbox.appendChild(btnViewItem);
|
vbox.appendChild(btnViewItem);
|
||||||
}
|
}
|
||||||
if (MRole.getDefault().isAllow_Info_Invoice())
|
if (MInfoWindow.get(I_C_Invoice.Table_Name, null) != null)
|
||||||
{
|
{
|
||||||
ToolBarButton btnViewItem = new ToolBarButton("InfoInvoice");
|
ToolBarButton btnViewItem = new ToolBarButton("InfoInvoice");
|
||||||
btnViewItem.setSclass("link");
|
btnViewItem.setSclass("link");
|
||||||
|
@ -109,7 +118,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
|
||||||
btnViewItem.addEventListener(Events.ON_CLICK, this);
|
btnViewItem.addEventListener(Events.ON_CLICK, this);
|
||||||
vbox.appendChild(btnViewItem);
|
vbox.appendChild(btnViewItem);
|
||||||
}
|
}
|
||||||
if (MRole.getDefault().isAllow_Info_InOut())
|
if (MInfoWindow.get(I_M_InOut.Table_Name, null) != null)
|
||||||
{
|
{
|
||||||
ToolBarButton btnViewItem = new ToolBarButton("InfoInOut");
|
ToolBarButton btnViewItem = new ToolBarButton("InfoInOut");
|
||||||
btnViewItem.setSclass("link");
|
btnViewItem.setSclass("link");
|
||||||
|
@ -118,7 +127,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
|
||||||
btnViewItem.addEventListener(Events.ON_CLICK, this);
|
btnViewItem.addEventListener(Events.ON_CLICK, this);
|
||||||
vbox.appendChild(btnViewItem);
|
vbox.appendChild(btnViewItem);
|
||||||
}
|
}
|
||||||
if (MRole.getDefault().isAllow_Info_Payment())
|
if (MInfoWindow.get(I_C_Payment.Table_Name, null) != null)
|
||||||
{
|
{
|
||||||
ToolBarButton btnViewItem = new ToolBarButton("InfoPayment");
|
ToolBarButton btnViewItem = new ToolBarButton("InfoPayment");
|
||||||
btnViewItem.setSclass("link");
|
btnViewItem.setSclass("link");
|
||||||
|
@ -135,7 +144,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
|
||||||
// btnViewItem.addEventListener(Events.ON_CLICK, this);
|
// btnViewItem.addEventListener(Events.ON_CLICK, this);
|
||||||
// vbox.appendChild(btnViewItem);
|
// vbox.appendChild(btnViewItem);
|
||||||
// }
|
// }
|
||||||
if (MRole.getDefault().isAllow_Info_Resource())
|
if (MInfoWindow.get(I_S_ResourceAssignment.Table_Name, null) != null)
|
||||||
{
|
{
|
||||||
ToolBarButton btnViewItem = new ToolBarButton("InfoAssignment");
|
ToolBarButton btnViewItem = new ToolBarButton("InfoAssignment");
|
||||||
btnViewItem.setSclass("link");
|
btnViewItem.setSclass("link");
|
||||||
|
@ -144,7 +153,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
|
||||||
btnViewItem.addEventListener(Events.ON_CLICK, this);
|
btnViewItem.addEventListener(Events.ON_CLICK, this);
|
||||||
vbox.appendChild(btnViewItem);
|
vbox.appendChild(btnViewItem);
|
||||||
}
|
}
|
||||||
if (MRole.getDefault().isAllow_Info_Asset())
|
if (MInfoWindow.get(I_A_Asset.Table_Name, null) != null)
|
||||||
{
|
{
|
||||||
ToolBarButton btnViewItem = new ToolBarButton("InfoAsset");
|
ToolBarButton btnViewItem = new ToolBarButton("InfoAsset");
|
||||||
btnViewItem.setSclass("link");
|
btnViewItem.setSclass("link");
|
||||||
|
@ -170,51 +179,49 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
|
||||||
String actionCommand = btn.getName();
|
String actionCommand = btn.getName();
|
||||||
int WindowNo = 0;
|
int WindowNo = 0;
|
||||||
|
|
||||||
if (actionCommand.equals("InfoProduct") && AEnv.canAccessInfo("PRODUCT"))
|
if (actionCommand.equals("InfoProduct"))
|
||||||
{
|
{
|
||||||
InfoPanel.showProduct(WindowNo);
|
InfoPanel.showProduct(WindowNo);
|
||||||
}
|
}
|
||||||
else if (actionCommand.equals("InfoBPartner") && AEnv.canAccessInfo("BPARTNER"))
|
else if (actionCommand.equals("InfoBPartner"))
|
||||||
{
|
{
|
||||||
InfoPanel.showBPartner(WindowNo);
|
InfoPanel.showBPartner(WindowNo);
|
||||||
}
|
}
|
||||||
else if (actionCommand.equals("InfoAsset") && AEnv.canAccessInfo("ASSET"))
|
else if (actionCommand.equals("InfoAsset"))
|
||||||
{
|
{
|
||||||
InfoPanel.showAsset(WindowNo);
|
InfoPanel.showAsset(WindowNo);
|
||||||
}
|
}
|
||||||
else if (actionCommand.equals("InfoAccount") &&
|
else if (actionCommand.equals("InfoAccount"))
|
||||||
MRole.getDefault().isShowAcct() &&
|
|
||||||
AEnv.canAccessInfo("ACCOUNT"))
|
|
||||||
{
|
{
|
||||||
new org.adempiere.webui.acct.WAcctViewer();
|
new org.adempiere.webui.acct.WAcctViewer();
|
||||||
}
|
}
|
||||||
else if (actionCommand.equals("InfoSchedule") && AEnv.canAccessInfo("SCHEDULE"))
|
else if (actionCommand.equals("InfoSchedule"))
|
||||||
{
|
{
|
||||||
InfoSchedule is = new InfoSchedule(null, false);
|
InfoSchedule is = new InfoSchedule(null, false);
|
||||||
is.setAttribute(Window.MODE_KEY, Mode.EMBEDDED);
|
is.setAttribute(Window.MODE_KEY, Mode.EMBEDDED);
|
||||||
AEnv.showWindow(is);
|
AEnv.showWindow(is);
|
||||||
}
|
}
|
||||||
else if (actionCommand.equals("InfoOrder") && AEnv.canAccessInfo("ORDER"))
|
else if (actionCommand.equals("InfoOrder"))
|
||||||
{
|
{
|
||||||
InfoPanel.showOrder(WindowNo, "");
|
InfoPanel.showOrder(WindowNo, "");
|
||||||
}
|
}
|
||||||
else if (actionCommand.equals("InfoInvoice") && AEnv.canAccessInfo("INVOICE"))
|
else if (actionCommand.equals("InfoInvoice"))
|
||||||
{
|
{
|
||||||
InfoPanel.showInvoice(WindowNo, "");
|
InfoPanel.showInvoice(WindowNo, "");
|
||||||
}
|
}
|
||||||
else if (actionCommand.equals("InfoInOut") && AEnv.canAccessInfo("INOUT"))
|
else if (actionCommand.equals("InfoInOut"))
|
||||||
{
|
{
|
||||||
InfoPanel.showInOut(WindowNo, "");
|
InfoPanel.showInOut(WindowNo, "");
|
||||||
}
|
}
|
||||||
else if (actionCommand.equals("InfoPayment") && AEnv.canAccessInfo("PAYMENT"))
|
else if (actionCommand.equals("InfoPayment"))
|
||||||
{
|
{
|
||||||
InfoPanel.showPayment(WindowNo, "");
|
InfoPanel.showPayment(WindowNo, "");
|
||||||
}
|
}
|
||||||
else if (actionCommand.equals("InfoCashLine") && AEnv.canAccessInfo("CASHJOURNAL"))
|
// else if (actionCommand.equals("InfoCashLine"))
|
||||||
{
|
// {
|
||||||
InfoPanel.showCashLine(WindowNo, "");
|
// InfoPanel.showCashLine(WindowNo, "");
|
||||||
}
|
// }
|
||||||
else if (actionCommand.equals("InfoAssignment") && AEnv.canAccessInfo("RESOURCE"))
|
else if (actionCommand.equals("InfoAssignment"))
|
||||||
{
|
{
|
||||||
InfoPanel.showAssignment(WindowNo, "");
|
InfoPanel.showAssignment(WindowNo, "");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue