diff --git a/fitnesse/FitNesseRoot/IdempiereSuite/TestCashPosOrder/content.txt b/fitnesse/FitNesseRoot/IdempiereSuite/TestCashPosOrder/content.txt index a46f1c1336..9402f28b2a 100644 --- a/fitnesse/FitNesseRoot/IdempiereSuite/TestCashPosOrder/content.txt +++ b/fitnesse/FitNesseRoot/IdempiereSuite/TestCashPosOrder/content.txt @@ -131,6 +131,5 @@ Check existance of cash payment (now on payment table) |*Read* | | |documentno | | |description | | -|amount | | |processed | | diff --git a/fitnesse/FitNesseRoot/RecentChanges/content.txt b/fitnesse/FitNesseRoot/RecentChanges/content.txt index 60b5d36182..6a71f1d334 100644 --- a/fitnesse/FitNesseRoot/RecentChanges/content.txt +++ b/fitnesse/FitNesseRoot/RecentChanges/content.txt @@ -1,7 +1,7 @@ +|IdempiereSuite.TestCashPosOrder||22:32:07 miƩ, jul 10, 2013| |IdempiereSuite.TestInitialClientSetup||17:03:35 vie, jun 28, 2013| |IdempiereSuite.TestPostInternalInventory||15:31:05 vie, jun 28, 2013| |IdempiereSuite.TestCreateReference||14:44:52 vie, jun 28, 2013| -|IdempiereSuite.TestCashPosOrder||14:42:20 vie, jun 28, 2013| |ZkSuite.ZkGardenAdminLogin||13:02:13 vie, jun 28, 2013| |ZkSuite.ZkSystemAdminLogin||13:00:38 vie, jun 28, 2013| |||12:04:00 jue, dic 20, 2012| diff --git a/migration/i1.0c-release/oracle/201306261433_IDEMPIERE-1164.sql b/migration/i1.0c-release/oracle/201306261433_IDEMPIERE-1164.sql new file mode 100644 index 0000000000..5c44175ba1 --- /dev/null +++ b/migration/i1.0c-release/oracle/201306261433_IDEMPIERE-1164.sql @@ -0,0 +1,53 @@ +-- Jun 25, 2013 6:30:15 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET DisplayLogic=NULL,Updated=TO_DATE('2013-06-25 18:30:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201369 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=50,IsDisplayed='Y' WHERE AD_Field_ID=201366 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=201369 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=201895 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=56664 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=201367 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=201365 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=110,IsDisplayed='Y' WHERE AD_Field_ID=201368 +; + +-- Jun 25, 2013 6:48:01 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET DisplayLogic='@IsIdentifier@=''Y" & @AD_Column_ID@!0',Updated=TO_DATE('2013-06-25 18:48:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201365 +; + +-- Jun 25, 2013 6:48:57 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET DisplayLogic='@IsIdentifier@=''Y" & @AD_Column_ID@!0',Updated=TO_DATE('2013-06-25 18:48:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201368 +; + +SELECT register_migration_script('201306261433_IDEMPIERE-1164.sql') FROM dual +; + diff --git a/migration/i1.0c-release/oracle/201307031130_IDEMPIERE-1164.sql b/migration/i1.0c-release/oracle/201307031130_IDEMPIERE-1164.sql new file mode 100644 index 0000000000..306e2643cc --- /dev/null +++ b/migration/i1.0c-release/oracle/201307031130_IDEMPIERE-1164.sql @@ -0,0 +1,192 @@ +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=56666 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=201366 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=201367 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=201369 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=201368 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=56665 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=56664 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=201365 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=201895 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=56669 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=56667 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56663 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56659 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56657 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=56660 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=56661 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=56658 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=56662 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=56656 +; + +-- Jul 3, 2013 10:50:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56669 +; + +-- Jul 3, 2013 10:50:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56665 +; + +-- Jul 3, 2013 10:50:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56667 +; + +-- Jul 3, 2013 10:50:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=201895 +; + +-- Jul 3, 2013 10:50:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=201365 +; + +-- Jul 3, 2013 10:50:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=56664 +; + +-- Jul 3, 2013 10:57:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56675 +; + +-- Jul 3, 2013 10:57:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56673 +; + +-- Jul 3, 2013 10:57:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56671 +; + +-- Jul 3, 2013 10:57:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=56672 +; + +-- Jul 3, 2013 10:57:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=56674 +; + +-- Jul 3, 2013 10:57:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=56670 +; + +-- Jul 3, 2013 10:58:28 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56681 +; + +-- Jul 3, 2013 10:58:28 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56677 +; + +-- Jul 3, 2013 10:58:28 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56678 +; + +-- Jul 3, 2013 10:58:28 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=56680 +; + +-- Jul 3, 2013 10:58:28 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=56679 +; + +-- Jul 3, 2013 10:58:28 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=56676 +; + +-- Jul 10, 2013 11:33:41 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET DisplayLogic='@WS_WebService_ID@ !200001',Updated=TO_DATE('2013-07-10 11:33:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56652 +; + +SELECT register_migration_script('201307031130_IDEMPIERE-1164.sql') FROM dual +; diff --git a/migration/i1.0c-release/oracle/201307110629_IDEMPIERE-1163.sql b/migration/i1.0c-release/oracle/201307110629_IDEMPIERE-1163.sql new file mode 100644 index 0000000000..6f09a58ea6 --- /dev/null +++ b/migration/i1.0c-release/oracle/201307110629_IDEMPIERE-1163.sql @@ -0,0 +1,8 @@ +-- Jul 11, 2013 2:11:52 PM MYT +-- IDEMPIERE-1163 Web service role access control not working +UPDATE AD_Field SET IsDisplayed='N', IsDisplayedGrid='N',Updated=TO_DATE('2013-07-11 14:11:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56679 +; + +SELECT register_migration_script('201307110629_IDEMPIERE-1163.sql') FROM dual +; + diff --git a/migration/i1.0c-release/oracle/201307111604_IDEMPIERE-1164.sql b/migration/i1.0c-release/oracle/201307111604_IDEMPIERE-1164.sql new file mode 100644 index 0000000000..b722757bc3 --- /dev/null +++ b/migration/i1.0c-release/oracle/201307111604_IDEMPIERE-1164.sql @@ -0,0 +1,138 @@ +-- Jul 11, 2013 3:47:37 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET DisplayLogic='@AD_Reference_ID@=18 | @AD_Reference_ID@=30',Updated=TO_DATE('2013-07-11 15:47:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201895 +; + +-- Jul 11, 2013 3:53:23 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2013-07-11 15:53:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56629 +; + +-- Jul 11, 2013 3:53:28 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2013-07-11 15:53:28','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56629 +; + +-- Jul 11, 2013 3:53:49 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET XPosition=1,Updated=TO_DATE('2013-07-11 15:53:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56629 +; + +-- Jul 11, 2013 3:53:57 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2, XPosition=4,Updated=TO_DATE('2013-07-11 15:53:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56633 +; + +-- Jul 11, 2013 3:54:09 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2013-07-11 15:54:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56634 +; + +-- Jul 11, 2013 3:54:15 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=5,Updated=TO_DATE('2013-07-11 15:54:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56632 +; + +-- Jul 11, 2013 3:54:22 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=5,Updated=TO_DATE('2013-07-11 15:54:22','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56631 +; + +-- Jul 11, 2013 3:54:31 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=5, NumLines=3,Updated=TO_DATE('2013-07-11 15:54:31','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56630 +; + +-- Jul 11, 2013 3:54:37 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET XPosition=2,Updated=TO_DATE('2013-07-11 15:54:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56628 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56643 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56644 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56641 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56637 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=56640 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=56642 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=56639 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=56638 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=56636 +; + +-- Jul 11, 2013 4:01:05 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2013-07-11 16:01:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56637 +; + +-- Jul 11, 2013 4:01:14 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2, XPosition=4,Updated=TO_DATE('2013-07-11 16:01:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56641 +; + +-- Jul 11, 2013 4:01:21 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2013-07-11 16:01:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56643 +; + +-- Jul 11, 2013 4:01:28 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2013-07-11 16:01:28','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56642 +; + +-- Jul 11, 2013 4:01:35 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=5,Updated=TO_DATE('2013-07-11 16:01:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56640 +; + +-- Jul 11, 2013 4:01:45 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=5,Updated=TO_DATE('2013-07-11 16:01:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56639 +; + +-- Jul 11, 2013 4:01:52 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=5, NumLines=3,Updated=TO_DATE('2013-07-11 16:01:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56638 +; + +-- Jul 11, 2013 4:02:09 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET XPosition=2,Updated=TO_DATE('2013-07-11 16:02:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56636 +; + +SELECT register_migration_script('201307111604_IDEMPIERE-1164.sql') FROM dual +; + diff --git a/migration/i1.0c-release/postgresql/201306261433_IDEMPIERE-1164.sql b/migration/i1.0c-release/postgresql/201306261433_IDEMPIERE-1164.sql new file mode 100644 index 0000000000..8d36934f83 --- /dev/null +++ b/migration/i1.0c-release/postgresql/201306261433_IDEMPIERE-1164.sql @@ -0,0 +1,53 @@ +-- Jun 25, 2013 6:30:15 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET DisplayLogic=NULL,Updated=TO_TIMESTAMP('2013-06-25 18:30:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201369 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=50,IsDisplayed='Y' WHERE AD_Field_ID=201366 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=201369 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=201895 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=56664 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=201367 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=201365 +; + +-- Jun 25, 2013 6:30:56 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNo=110,IsDisplayed='Y' WHERE AD_Field_ID=201368 +; + +-- Jun 25, 2013 6:48:01 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET DisplayLogic='@IsIdentifier@=''Y" & @AD_Column_ID@!0',Updated=TO_TIMESTAMP('2013-06-25 18:48:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201365 +; + +-- Jun 25, 2013 6:48:57 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET DisplayLogic='@IsIdentifier@=''Y" & @AD_Column_ID@!0',Updated=TO_TIMESTAMP('2013-06-25 18:48:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201368 +; + +SELECT register_migration_script('201306261433_IDEMPIERE-1164.sql') FROM dual +; + diff --git a/migration/i1.0c-release/postgresql/201307031130_IDEMPIERE-1164.sql b/migration/i1.0c-release/postgresql/201307031130_IDEMPIERE-1164.sql new file mode 100644 index 0000000000..69f1e89559 --- /dev/null +++ b/migration/i1.0c-release/postgresql/201307031130_IDEMPIERE-1164.sql @@ -0,0 +1,192 @@ +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=56666 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=201366 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=201367 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=201369 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=201368 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=56665 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=56664 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=201365 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=201895 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=56669 +; + +-- Jul 2, 2013 7:02:39 PM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=56667 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56663 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56659 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56657 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=56660 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=56661 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=56658 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=56662 +; + +-- Jul 3, 2013 10:40:30 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=56656 +; + +-- Jul 3, 2013 10:50:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56669 +; + +-- Jul 3, 2013 10:50:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56665 +; + +-- Jul 3, 2013 10:50:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56667 +; + +-- Jul 3, 2013 10:50:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=201895 +; + +-- Jul 3, 2013 10:50:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=201365 +; + +-- Jul 3, 2013 10:50:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=56664 +; + +-- Jul 3, 2013 10:57:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56675 +; + +-- Jul 3, 2013 10:57:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56673 +; + +-- Jul 3, 2013 10:57:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56671 +; + +-- Jul 3, 2013 10:57:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=56672 +; + +-- Jul 3, 2013 10:57:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=56674 +; + +-- Jul 3, 2013 10:57:40 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=56670 +; + +-- Jul 3, 2013 10:58:28 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56681 +; + +-- Jul 3, 2013 10:58:28 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56677 +; + +-- Jul 3, 2013 10:58:28 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56678 +; + +-- Jul 3, 2013 10:58:28 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=56680 +; + +-- Jul 3, 2013 10:58:28 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=56679 +; + +-- Jul 3, 2013 10:58:28 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=56676 +; + +-- Jul 10, 2013 11:33:41 AM IST +-- Changes in the layout of Web Service Security window +UPDATE AD_Field SET DisplayLogic='@WS_WebService_ID@ !200001',Updated=TO_TIMESTAMP('2013-07-10 11:33:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56652 +; + +SELECT register_migration_script('201307031130_IDEMPIERE-1164.sql') FROM dual +; diff --git a/migration/i1.0c-release/postgresql/201307110629_IDEMPIERE-1163.sql b/migration/i1.0c-release/postgresql/201307110629_IDEMPIERE-1163.sql new file mode 100644 index 0000000000..6bd3fec1c5 --- /dev/null +++ b/migration/i1.0c-release/postgresql/201307110629_IDEMPIERE-1163.sql @@ -0,0 +1,8 @@ +-- Jul 11, 2013 2:11:52 PM MYT +-- IDEMPIERE-1163 Web service role access control not working +UPDATE AD_Field SET IsDisplayed='N', IsDisplayedGrid='N',Updated=TO_TIMESTAMP('2013-07-11 14:11:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56679 +; + +SELECT register_migration_script('201307110629_IDEMPIERE-1163.sql') FROM dual +; + diff --git a/migration/i1.0c-release/postgresql/201307111604_IDEMPIERE-1164.sql b/migration/i1.0c-release/postgresql/201307111604_IDEMPIERE-1164.sql new file mode 100644 index 0000000000..844e6d7939 --- /dev/null +++ b/migration/i1.0c-release/postgresql/201307111604_IDEMPIERE-1164.sql @@ -0,0 +1,137 @@ +-- Jul 11, 2013 3:47:37 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET DisplayLogic='@AD_Reference_ID@=18 | @AD_Reference_ID@=30',Updated=TO_TIMESTAMP('2013-07-11 15:47:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201895 +; + +-- Jul 11, 2013 3:53:23 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2013-07-11 15:53:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56629 +; + +-- Jul 11, 2013 3:53:28 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2013-07-11 15:53:28','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56629 +; + +-- Jul 11, 2013 3:53:49 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET XPosition=1,Updated=TO_TIMESTAMP('2013-07-11 15:53:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56629 +; + +-- Jul 11, 2013 3:53:57 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2, XPosition=4,Updated=TO_TIMESTAMP('2013-07-11 15:53:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56633 +; + +-- Jul 11, 2013 3:54:09 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2013-07-11 15:54:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56634 +; + +-- Jul 11, 2013 3:54:15 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=5,Updated=TO_TIMESTAMP('2013-07-11 15:54:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56632 +; + +-- Jul 11, 2013 3:54:22 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=5,Updated=TO_TIMESTAMP('2013-07-11 15:54:22','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56631 +; + +-- Jul 11, 2013 3:54:31 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=5, NumLines=3,Updated=TO_TIMESTAMP('2013-07-11 15:54:31','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56630 +; + +-- Jul 11, 2013 3:54:37 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET XPosition=2,Updated=TO_TIMESTAMP('2013-07-11 15:54:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56628 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56643 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56644 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56641 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=56637 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=56640 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=56642 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=56639 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=56638 +; + +-- Jul 11, 2013 4:00:47 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=56636 +; + +-- Jul 11, 2013 4:01:05 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2013-07-11 16:01:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56637 +; + +-- Jul 11, 2013 4:01:14 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2, XPosition=4,Updated=TO_TIMESTAMP('2013-07-11 16:01:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56641 +; + +-- Jul 11, 2013 4:01:21 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2013-07-11 16:01:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56643 +; + +-- Jul 11, 2013 4:01:28 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2013-07-11 16:01:28','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56642 +; + +-- Jul 11, 2013 4:01:35 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=5,Updated=TO_TIMESTAMP('2013-07-11 16:01:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56640 +; + +-- Jul 11, 2013 4:01:45 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=5,Updated=TO_TIMESTAMP('2013-07-11 16:01:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56639 +; + +-- Jul 11, 2013 4:01:52 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET ColumnSpan=5, NumLines=3,Updated=TO_TIMESTAMP('2013-07-11 16:01:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56638 +; + +-- Jul 11, 2013 4:02:09 PM IST +-- Improve window layout of webservices +UPDATE AD_Field SET XPosition=2,Updated=TO_TIMESTAMP('2013-07-11 16:02:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56636 +; + +SELECT register_migration_script('201307111604_IDEMPIERE-1164.sql') FROM dual +; diff --git a/org.adempiere.base/src/org/compiere/model/MColumn.java b/org.adempiere.base/src/org/compiere/model/MColumn.java index 7fe700c099..9efc475638 100644 --- a/org.adempiere.base/src/org/compiere/model/MColumn.java +++ b/org.adempiere.base/src/org/compiere/model/MColumn.java @@ -681,18 +681,32 @@ public class MColumn extends X_AD_Column public String getReferenceTableName() { String foreignTable = null; - if (DisplayType.TableDir == getAD_Reference_ID() - || (DisplayType.Search == getAD_Reference_ID() && getAD_Reference_Value_ID() == 0)) { + int refid = getAD_Reference_ID(); + if (DisplayType.TableDir == refid || (DisplayType.Search == refid && getAD_Reference_Value_ID() == 0)) { foreignTable = getColumnName().substring(0, getColumnName().length()-3); - } else if (DisplayType.Table == getAD_Reference_ID() || DisplayType.Search == getAD_Reference_ID()) { + } else if (DisplayType.Table == refid || DisplayType.Search == refid) { X_AD_Reference ref = new X_AD_Reference(getCtx(), getAD_Reference_Value_ID(), get_TrxName()); if (X_AD_Reference.VALIDATIONTYPE_TableValidation.equals(ref.getValidationType())) { MRefTable rt = new MRefTable(getCtx(), getAD_Reference_Value_ID(), get_TrxName()); if (rt != null) foreignTable = rt.getAD_Table().getTableName(); } - } else if (DisplayType.List == getAD_Reference_ID()) { + } else if (DisplayType.List == refid || DisplayType.Payment == refid) { foreignTable = "AD_Ref_List"; + } else if (DisplayType.Location == refid) { + foreignTable = "C_Location"; + } else if (DisplayType.Account == refid) { + foreignTable = "C_ValidCombination"; + } else if (DisplayType.Locator == refid) { + foreignTable = "M_Locator"; + } else if (DisplayType.PAttribute == refid) { + foreignTable = "M_AttributeSetInstance"; + } else if (DisplayType.Assignment == refid) { + foreignTable = "S_ResourceAssignment"; + } else if (DisplayType.Image == refid) { + foreignTable = "AD_Image"; + } else if (DisplayType.Color == refid) { + foreignTable = "AD_Color"; } return foreignTable; diff --git a/org.adempiere.base/src/org/compiere/model/MProcess.java b/org.adempiere.base/src/org/compiere/model/MProcess.java index a3f87f95ee..cad10b3dad 100644 --- a/org.adempiere.base/src/org/compiere/model/MProcess.java +++ b/org.adempiere.base/src/org/compiere/model/MProcess.java @@ -323,8 +323,12 @@ public class MProcess extends X_AD_Process private boolean startClass (ProcessInfo pi, Trx trx, boolean managedTrx) { if (log.isLoggable(Level.INFO)) log.info(pi.getClassName()); - - return ProcessUtil.startJavaProcess(getCtx(), pi, trx, managedTrx); + + if (pi.getClassName().toLowerCase().startsWith(MRule.SCRIPT_PREFIX)) { + return ProcessUtil.startScriptProcess(getCtx(), pi, trx); + } else { + return ProcessUtil.startJavaProcess(getCtx(), pi, trx, managedTrx); + } } // startClass diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java b/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java index 30c7bab2ca..d652b6d0bc 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java @@ -578,7 +578,10 @@ public abstract class AbstractElementHandler implements ElementHandler { protected boolean hasUUIDKey(PIPOContext ctx, Element element) { String tableName = element.getElementValue(); String uuidColumn = PO.getUUIDColumnName(tableName); - String uuid = element.properties.get(uuidColumn).contents.toString(); + String uuid = null; + if (element.properties.containsKey(uuidColumn)) { + uuid = element.properties.get(uuidColumn).contents.toString(); + } return (uuid != null && uuid.trim().length() == 36); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereIdGenerator.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereIdGenerator.java index 282a55aa4b..7f8b91f0a7 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereIdGenerator.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereIdGenerator.java @@ -88,13 +88,14 @@ public class AdempiereIdGenerator implements IdGenerator { } String number; - if ((number = (String)desktop.getAttribute("Id_Num")) == null) { + IdSpace idspace = comp.getSpaceOwner(); + if ((number = (String)idspace.getAttribute("uid.sequence")) == null) { number = "0"; - desktop.setAttribute("Id_Num", number); + idspace.setAttribute("uid.sequence", number); } int i = Integer.parseInt(number); i++;// Start from 1 - desktop.setAttribute("Id_Num", String.valueOf(i)); + idspace.setAttribute("uid.sequence", String.valueOf(i)); return uuid + "_" + i; } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WAccountDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WAccountDialog.java index 0ed5651d06..4e809eaa00 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WAccountDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WAccountDialog.java @@ -276,6 +276,9 @@ public final class WAccountDialog extends Window GridWindowVO wVO = AEnv.getMWindowVO (m_WindowNo, AD_Window_ID, 0); if (wVO == null) return false; + // Force window/tab to be read-only + wVO.WindowType = GridWindowVO.WINDOWTYPE_QUERY; + wVO.Tabs.get(0).IsReadOnly = true; m_mWindow = new GridWindow (wVO); m_mTab = m_mWindow.getTab(0); // Make sure is the tab is loaded - teo_sarca [ 1659124 ] diff --git a/org.adempiere.ui.zk/theme/default/preference.zul b/org.adempiere.ui.zk/theme/default/preference.zul index ddc9f3af03..a6c6dd062e 100644 --- a/org.adempiere.ui.zk/theme/default/preference.zul +++ b/org.adempiere.ui.zk/theme/default/preference.zul @@ -10,7 +10,8 @@ import org.compiere.util.Env; Env.setContext(Env.getCtx(), "#ZK_Toolbar_Button_Size", "24"); - Env.setContext(Env.getCtx(), "#ZK_BROWSER_TITLE", "iDempiere"); + /* Set the next variable if you want to control browser title in theme */ + /* Env.setContext(Env.getCtx(), "#ZK_BROWSER_TITLE", "iDempiere"); */ ]]> diff --git a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/AssertRecord.java b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/AssertRecord.java index 56c7ed33b2..99349e0c8f 100644 --- a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/AssertRecord.java +++ b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/AssertRecord.java @@ -66,7 +66,7 @@ public class AssertRecord extends TableFixture { MTable table = null; POInfo poinfo = null; boolean alreadyread = false; - StringBuilder whereclause = new StringBuilder(""); + StringBuilder whereclause = new StringBuilder(); boolean isErrorExpected = false; for (int i = 0; i < rows; i++) { String cell_title = getText(i, 0); @@ -104,6 +104,8 @@ public class AssertRecord extends TableFixture { wrong(i, 1); return; } + whereclause.insert(0, "("); + whereclause.append(") AND AD_Client_ID IN (0,").append(Env.getAD_Client_ID(ctx)).append(")"); String sql = "SELECT * FROM " + tableName + " WHERE " + whereclause; PreparedStatement pstmt = null; ResultSet rs = null; @@ -166,28 +168,34 @@ public class AssertRecord extends TableFixture { if (! alreadyread) { // not read yet - add value to where clause String value_evaluated = Util.evaluate(ctx, windowNo, cell_value, getCell(i, 1)); - if (whereclause.length() > 0) - whereclause.append(" AND "); + if (whereclause.length() > 0) { + whereclause.insert(0, "("); + whereclause.append(") AND "); + } whereclause.append(cell_title).append("=").append(value_evaluated); } else { // already read, compare the value of db with the context variable or formula String title_evaluated = ""; if (gpo != null) { - Object result = gpo.get_Value(cell_title); - if (result != null) { - getCell(i, 0).addToBody("
" + result.toString()); - title_evaluated = result.toString(); - } - - String value_evaluated = cell_value; - if (cell_value.startsWith("@")) { - value_evaluated = Util.evaluate(ctx, windowNo,cell_value, getCell(i, 1)); - } - - if (title_evaluated.equals(value_evaluated)) { - right(i, 1); + if (poinfo.getColumnIndex(cell_title) < 0) { + wrong(i, 0); } else { - wrong(i, 1); + Object result = gpo.get_Value(cell_title); + if (result != null) { + getCell(i, 0).addToBody("
" + result.toString()); + title_evaluated = result.toString(); + } + + String value_evaluated = cell_value; + if (cell_value.startsWith("@")) { + value_evaluated = Util.evaluate(ctx, windowNo,cell_value, getCell(i, 1)); + } + + if (title_evaluated.equals(value_evaluated)) { + right(i, 1); + } else { + wrong(i, 1); + } } } } diff --git a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/CreateRecord.java b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/CreateRecord.java index f1a34b5201..ebed4bd806 100644 --- a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/CreateRecord.java +++ b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/CreateRecord.java @@ -30,9 +30,12 @@ import java.math.BigDecimal; import java.sql.Timestamp; import java.util.Properties; +import org.compiere.model.MColumn; import org.compiere.model.MTable; import org.compiere.model.PO; import org.compiere.model.POInfo; +import org.compiere.util.DB; +import org.compiere.util.DisplayType; import org.compiere.util.Env; import org.compiere.util.ValueNamePair; @@ -65,6 +68,7 @@ public class CreateRecord extends TableFixture { boolean tableOK = false; boolean columnsOK = true; boolean isErrorExpected = "*Save*Error*".equalsIgnoreCase(getText(rows-1, 0)); + String msgerror1 = getText(rows-1, 1); MTable table = null; POInfo poinfo = null; @@ -145,7 +149,7 @@ public class CreateRecord extends TableFixture { columnName = cell_title; int idxcol = gpo.get_ColumnIndex(columnName); if (idxcol < 0) { - wrong(i,1); + wrong(i,0); // column does not exist in dictionary - anyways try custom column in case it exists in table gpo.set_CustomColumnReturningBoolean(columnName, cell_value); } else { @@ -153,8 +157,16 @@ public class CreateRecord extends TableFixture { String value_evaluated = Util.evaluate(ctx, windowNo, cell_value, getCell(i, 1)); // set value according to class Object value = null; - if (value_evaluated == null || value_evaluated.length() == 0) { + if (org.compiere.util.Util.isEmpty(cell_value)) { value = null; + } else if (org.compiere.util.Util.isEmpty(value_evaluated)) { + boolean ok = Util.evaluateError("Data not found",msgerror1,isErrorExpected); + if (ok) + right(i,1); + else + wrong(i,1); + columnsOK = false; + continue; } else if (columnClass == Boolean.class) { if ("Y".equalsIgnoreCase(value_evaluated) || "true".equalsIgnoreCase(value_evaluated)) value = new Boolean(true); @@ -166,7 +178,27 @@ public class CreateRecord extends TableFixture { } } else if (columnClass == Integer.class) { try { - value = Integer.parseInt(value_evaluated); + Integer intid = Integer.parseInt(value_evaluated); + MColumn column = table.getColumn(cell_title); + if (intid > 0 && (DisplayType.isID(column.getAD_Reference_ID()) || column.getAD_Reference_ID() != DisplayType.ID)) { + // Evaluate the ID is from the actual client or system + String foreignTable = column.getReferenceTableName(); + if (foreignTable != null) { + int foreignClient = DB.getSQLValueEx(null, + "SELECT AD_Client_ID FROM " + foreignTable + " WHERE " + foreignTable + "_ID=?", + intid); + if (foreignClient != 0 && foreignClient != Env.getAD_Client_ID(ctx)) { + boolean ok = Util.evaluateError("Data not found", msgerror1, isErrorExpected); + if (ok) + right(i, 1); + else + wrong(i, 1); + columnsOK = false; + continue; + } + } + } + value = intid; } catch (NumberFormatException e) { exception(getCell(i, 1), e); continue; diff --git a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/DeleteRecord.java b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/DeleteRecord.java index 5b279938ce..ed0b4e7761 100644 --- a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/DeleteRecord.java +++ b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/DeleteRecord.java @@ -30,6 +30,7 @@ import java.util.Properties; import org.compiere.model.MTable; import org.compiere.model.PO; import org.compiere.util.DB; +import org.compiere.util.Env; import fitnesse.fixtures.TableFixture; @@ -65,7 +66,7 @@ public class DeleteRecord extends TableFixture { MTable table = null; boolean alreadyread = false; - StringBuilder whereclause = new StringBuilder(""); + StringBuilder whereclause = new StringBuilder(); boolean isErrorExpected = false; String msgerror = null; @@ -105,6 +106,8 @@ public class DeleteRecord extends TableFixture { wrong(i, 1); return; } + whereclause.insert(0, "("); + whereclause = whereclause.append(") AND AD_Client_ID=").append(Env.getAD_Client_ID(ctx)); String sql = "SELECT * FROM " + tableName + " WHERE "+ whereclause; PreparedStatement pstmt = null; ResultSet rs = null; @@ -159,8 +162,10 @@ public class DeleteRecord extends TableFixture { String value_evaluated = Util.evaluate(ctx, windowNo,cell_value, getCell(i, 1)); if (!alreadyread) { // not read yet - add value to where clause - if (whereclause.length() > 0) - whereclause.append(" AND "); + if (whereclause.length() > 0) { + whereclause.insert(0, "("); + whereclause.append(") AND "); + } whereclause.append(cell_title).append("=").append(value_evaluated); } } diff --git a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/ReadRecord.java b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/ReadRecord.java index e6f281d0ed..4abe3e0719 100644 --- a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/ReadRecord.java +++ b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/ReadRecord.java @@ -66,7 +66,7 @@ public class ReadRecord extends TableFixture { MTable table = null; POInfo poinfo = null; boolean alreadyread = false; - String whereclause = new String(""); + StringBuilder whereclause = new StringBuilder(); boolean isErrorExpected = false; for (int i = 0; i < rows; i++) { String cell_title = getText(i, 0); @@ -90,7 +90,7 @@ public class ReadRecord extends TableFixture { exception(getCell(i, 1), new Exception("*Where* must be defined in second row")); return; } - whereclause = cell_value; + whereclause.append(cell_value); } else if (cell_title.equalsIgnoreCase("*Read*") || cell_title.equalsIgnoreCase("*Read*Error*")) { if (! tableOK) { getCell(i, 1).addToBody("Table " + tableName + " does not exist"); @@ -103,6 +103,8 @@ public class ReadRecord extends TableFixture { wrong(i, 1); return; } + whereclause.insert(0, "("); + whereclause.append(") AND AD_Client_ID IN (0,").append(Env.getAD_Client_ID(ctx)).append(")"); String sql = "SELECT * FROM " + tableName + " WHERE " + whereclause; PreparedStatement pstmt = null; ResultSet rs = null; @@ -170,15 +172,21 @@ public class ReadRecord extends TableFixture { if (! alreadyread) { // not read yet - add value to where clause String value_evaluated = Util.evaluate(ctx, windowNo, cell_value, getCell(i, 1)); - if (whereclause.length() > 0) - whereclause = whereclause + " AND "; - whereclause = whereclause + cell_title + "=" + value_evaluated; + if (whereclause.length() > 0) { + whereclause.insert(0, "("); + whereclause.append(") AND "); + } + whereclause.append(cell_title).append("=").append(value_evaluated); } else { // already read, show the value of context variable if (gpo != null) { - Object result = gpo.get_Value(cell_title); - if (result != null) - getCell(i, 1).addToBody(result.toString()); + if (poinfo.getColumnIndex(cell_title) < 0) { + wrong(i, 0); + } else { + Object result = gpo.get_Value(cell_title); + if (result != null) + getCell(i, 1).addToBody(result.toString()); + } } } } diff --git a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/RunProcess.java b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/RunProcess.java index dc2f9b6e9f..4c1fa28c42 100644 --- a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/RunProcess.java +++ b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/RunProcess.java @@ -44,6 +44,7 @@ import org.compiere.model.MTable; import org.compiere.model.PO; import org.compiere.process.ProcessInfo; import org.compiere.util.CLogger; +import org.compiere.util.DB; import org.compiere.util.DisplayType; import org.compiere.util.Env; import org.compiere.util.Msg; @@ -293,11 +294,27 @@ public class RunProcess extends TableFixture { exception(getCell(i, 1), e); continue; } - } - else if (parameterName.equalsIgnoreCase("*DocAction*")) - docAction = value_evaluated; - else - fmap.put(parameterName, value_evaluated); + } else { + if (parameterName.equalsIgnoreCase("*DocAction*")) { + docAction = value_evaluated; + } else { + String param = DB.getSQLValueStringEx(null, + "SELECT ColumnName " + + "FROM AD_Process_Para " + + "WHERE IsActive='Y' AND AD_Process_ID=? AND LOWER(ColumnName)=?", + process.getAD_Process_ID(), parameterName.toLowerCase()); + if (param == null) { + boolean ok = Util.evaluateError(msgerror1,"Parameter Not Found", isErrorExpected); + if (ok) { + right(getCell(i, 1)); + } else { + exception(getCell(i, 1), new Exception("Parameter Not Found")); + } + } else { + fmap.put(param, value_evaluated); + } + } + } } } diff --git a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/UpdateRecord.java b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/UpdateRecord.java index 4a11961e6a..0f318fd28c 100644 --- a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/UpdateRecord.java +++ b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/UpdateRecord.java @@ -23,14 +23,21 @@ package org.idempiere.fitnesse.fixture; +import java.math.BigDecimal; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Timestamp; import java.util.Properties; +import org.compiere.model.MColumn; import org.compiere.model.MTable; import org.compiere.model.PO; +import org.compiere.model.POInfo; import org.compiere.util.DB; +import org.compiere.util.DisplayType; +import org.compiere.util.Env; +import org.compiere.util.ValueNamePair; import fitnesse.fixtures.TableFixture; @@ -66,10 +73,12 @@ public class UpdateRecord extends TableFixture { PO gpo = null; String tableName = new String(""); boolean tableOK = false; + boolean columnsOK = true; MTable table = null; + POInfo poinfo = null; boolean alreadyread = false; - StringBuilder whereclause = new StringBuilder(""); + StringBuilder whereclause = new StringBuilder(); boolean isErrorExpected = false; String msgerror = null; for (int i = 0; i < rows; i++) { @@ -88,6 +97,7 @@ public class UpdateRecord extends TableFixture { } else { tableOK = true; } + poinfo = POInfo.getPOInfo(ctx, table!=null ? table.getAD_Table_ID() : 0); } else if (cell_title.equalsIgnoreCase("*Where*")) { if (i != 1) { @@ -108,6 +118,7 @@ public class UpdateRecord extends TableFixture { wrong(i, 1); return; } + whereclause = whereclause.append(" AND AD_Client_ID=").append(Env.getAD_Client_ID(ctx)); String sql = "SELECT * FROM " + tableName + " WHERE "+ whereclause; PreparedStatement pstmt = null; ResultSet rs = null; @@ -160,34 +171,145 @@ public class UpdateRecord extends TableFixture { String value_evaluated = Util.evaluate(ctx, windowNo,cell_value, getCell(i, 1)); if (!alreadyread) { // not read yet - add value to where clause - if (whereclause.length() > 0) - whereclause.append(" AND "); + if (whereclause.length() > 0) { + whereclause.insert(0, "("); + whereclause.append(") AND "); + } whereclause.append(cell_title).append("=").append(value_evaluated); } else { if (gpo != null) { - if (gpo.set_ValueOfColumnReturningBoolean(cell_title, cell_value)) { - if (isErrorExpected) { - wrong(getCell(i, 1)); - } else { - right(getCell(i, 1)); + String columnName = cell_title; + int idxcol = gpo.get_ColumnIndex(columnName); + if (idxcol < 0) { + wrong(i,0); + // column does not exist in dictionary - anyways try custom column in case it exists in table + gpo.set_CustomColumnReturningBoolean(columnName, cell_value); + } else { + Class columnClass = poinfo.getColumnClass(idxcol); + // set value according to class + Object value = null; + if (org.compiere.util.Util.isEmpty(cell_value)) { + value = null; + } else if (org.compiere.util.Util.isEmpty(value_evaluated)) { + boolean ok = Util.evaluateError("Data not found",msgerror,isErrorExpected); + if (ok) + right(i,1); + else + wrong(i,1); + columnsOK = false; + continue; + } else if (columnClass == Boolean.class) { + if ("Y".equalsIgnoreCase(value_evaluated) || "true".equalsIgnoreCase(value_evaluated)) + value = new Boolean(true); + else if ("N".equalsIgnoreCase(value_evaluated) || "false".equalsIgnoreCase(value_evaluated)) + value = new Boolean(false); + else { + exception(getCell(i, 1), new Exception("Wrong value for boolean, allowed Y/N/true/false")); + continue; + } + } else if (columnClass == Integer.class) { + try { + Integer intid = Integer.parseInt(value_evaluated); + MColumn column = table.getColumn(cell_title); + if (intid > 0 && (DisplayType.isID(column.getAD_Reference_ID()) || column.getAD_Reference_ID() != DisplayType.ID)) { + // Evaluate the ID is from the actual client or system + String foreignTable = column.getReferenceTableName(); + if (foreignTable != null) { + int foreignClient = DB.getSQLValueEx(null, + "SELECT AD_Client_ID FROM " + foreignTable + " WHERE " + foreignTable + "_ID=?", + intid); + if (foreignClient != 0 && foreignClient != Env.getAD_Client_ID(ctx)) { + boolean ok = Util.evaluateError("Data not found", msgerror, isErrorExpected); + if (ok) + right(i, 1); + else + wrong(i, 1); + columnsOK = false; + continue; + } + } + } + value = intid; + } catch (NumberFormatException e) { + exception(getCell(i, 1), e); + continue; + } + } else if (columnClass == BigDecimal.class) { + try { + value = new BigDecimal(value_evaluated); + } catch (Exception e) { + exception(getCell(i, 1), e); + continue; + } + } else if (columnClass == Timestamp.class) { + try { + value = Timestamp.valueOf(value_evaluated); + } catch (Exception e) { + exception(getCell(i, 1), e); + continue; + } + } else if (columnClass == byte[].class) { + exception(getCell(i, 1), new Exception("LOB not supported")); + continue; + } else { + value = value_evaluated; + } + try { + if (!gpo.set_ValueOfColumnReturningBoolean(columnName, value)) { + columnsOK = false; + boolean ok = Util.evaluateError("Cannot set value of column", cell_value, isErrorExpected); + if (ok) + right(getCell(i, 1)); + else + exception(getCell(i, 1), new Exception("Cannot set value of column")); + } + } catch (Exception e) { + columnsOK = false; + boolean ok = Util.evaluateError(e.getMessage(), cell_value, isErrorExpected); + if (ok) + right(getCell(i, 1)); + else + exception(getCell(i, 1), e); } } - - try { - gpo.saveEx(); - } catch (Exception e) { - boolean ok = Util.evaluateError(e.getMessage(),msgerror, isErrorExpected); - if (ok) - right(getCell(i, 1)); - else - exception(getCell(i, 1),e); - } - } } } } - }//end while + } //end for + if (tableOK && columnsOK && gpo != null) { + int i = rows-1; + if (!gpo.save()) { + StringBuilder msg = new StringBuilder(); + Exception e = (Exception) ctx.get("org.compiere.util.CLogger.lastException"); + if (e != null) + msg.append("Exception: "+ e.getMessage()); + else { + ValueNamePair vnp = (ValueNamePair) ctx.get("org.compiere.util.CLogger.lastError"); + if (vnp != null) + msg.append("Error: " + vnp.getName()); + } + getCell(i, 1).addToBody(msg.toString()); + boolean ok = Util.evaluateError(msg.toString(),msgerror,isErrorExpected); + if (ok) + right(i,1); + else + wrong(i,1); + } else { + if (isErrorExpected) { + wrong(i,1); + } else { + right(i, 1); + } + getCell(i, 1).addToBody(gpo.toString()); + for (int idx = 0; idx < poinfo.getColumnCount(); idx++) { + String colname = poinfo.getColumnName(idx); + Object result = gpo.get_Value(colname); + if (result != null) + Env.setContext(ctx, windowNo, poinfo.getTableName().toLowerCase() + "." + colname.toLowerCase(), result.toString()); + } + } + } } diff --git a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/Util.java b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/Util.java index eb6b46f419..e222e02372 100644 --- a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/Util.java +++ b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/Util.java @@ -119,6 +119,8 @@ public class Util { String tablename = cell_value.substring(5, pos_opsqb); String where = cell_value.substring(pos_opsqb+1, pos_clsqb); String whereParsed = Env.parseContext(ctx, windowNo, where, false); + if (ctx != null) + whereParsed = "(" + whereParsed + ") AND AD_Client_ID IN (0,"+Env.getAD_Client_ID(ctx)+")"; String columnname = cell_value.substring(pos_clsqb+2); String newval = DB.getSQLValueStringEx(null, "SELECT " + columnname + " FROM " + tablename + " WHERE " + whereParsed); if (parse != null) diff --git a/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/AbstractService.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/AbstractService.java index 5ded0a3177..8e9a3e98fc 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/AbstractService.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/AbstractService.java @@ -64,6 +64,8 @@ import org.idempiere.webservices.fault.IdempiereServiceFault; */ public class AbstractService { + private static final String ROLE_ACCESS_SQL = "SELECT IsActive FROM WS_WebServiceTypeAccess WHERE AD_Role_ID=? " + + "AND WS_WebServiceType_ID=?"; private static final String COMPIERE_SERVICE = "CompiereService"; @Resource protected WebServiceContext ctx; @@ -225,7 +227,17 @@ public class AbstractService { return "Service type " + serviceTypeValue + " not configured"; req.setAttribute("MWebServiceType", m_webservicetype); + + // Check if role has access on web-service + String hasAccess = DB.getSQLValueStringEx(null, ROLE_ACCESS_SQL, + Env.getAD_Role_ID( m_cs.getCtx()), + m_webservicetype.get_ID()); + if (!"Y".equals(hasAccess)) + { + return "Web Service Error: Login role does not have access to the service type"; + } + String ret=invokeLoginValidator(null, m_cs.getCtx(), m_webservicetype, IWSValidator.TIMING_ON_AUTHORIZATION); if(ret!=null && ret.length()>0) return ret;