details:   https://code.openbravo.com/erp/devel/pi/rev/33c6f5b78fd8
changeset: 32088:33c6f5b78fd8
user:      Inigo Sanchez <inigo.sanchez <at> openbravo.com>
date:      Sat May 13 07:54:26 2017 +0200
summary:   Fixed issue 35835: Avoid invalid configurations for the process 
request.

The problem was the scheduler fails to load some scheduled processes when an 
incorrect
configuration should be done.

There is already a trigger preventing some invalid configurations to be saved. 
This
trigger has be extended to cover this case and others.

diffstat:

 src-db/database/model/triggers/AD_PROCESS_REQUEST_TRG.xml |  38 ++++++++++++++-
 src-db/database/sourcedata/AD_MESSAGE.xml                 |  36 ++++++++++++++
 2 files changed, 72 insertions(+), 2 deletions(-)

diffs (116 lines):

diff -r 7db0e715083b -r 33c6f5b78fd8 
src-db/database/model/triggers/AD_PROCESS_REQUEST_TRG.xml
--- a/src-db/database/model/triggers/AD_PROCESS_REQUEST_TRG.xml Fri May 12 
13:11:06 2017 +0200
+++ b/src-db/database/model/triggers/AD_PROCESS_REQUEST_TRG.xml Sat May 13 
07:54:26 2017 +0200
@@ -15,7 +15,7 @@
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
-* All portions are Copyright (C) 2001-2010 Openbravo SLU
+* All portions are Copyright (C) 2001-2017 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************/
@@ -46,8 +46,42 @@
       RAISE_APPLICATION_ERROR(-20000,'@InvalidProcessRequest@');
     END IF;
 
+    IF (:NEW.FREQUENCY = '6') THEN -- MONTHLY
+
+      IF (:NEW.MONTHLY_OPTION IS NULL) THEN
+        RAISE_APPLICATION_ERROR(-20000,'@InvalidProcessRequestMonthly@');
+      ELSE
+
+       IF (:NEW.MONTHLY_OPTION = '1' AND :NEW.MONTHLY_DAY_OF_WEEK IS NULL) THEN
+         RAISE_APPLICATION_ERROR(-20000,'@InvalidProcessRequestMonthly@');
+       END IF;
+
+       IF (:NEW.MONTHLY_OPTION = '2' AND :NEW.MONTHLY_DAY_OF_WEEK IS NULL) THEN
+         RAISE_APPLICATION_ERROR(-20000,'@InvalidProcessRequestMonthly@');
+       END IF;
+
+       IF (:NEW.MONTHLY_OPTION = '3' AND :NEW.MONTHLY_DAY_OF_WEEK IS NULL) THEN
+         RAISE_APPLICATION_ERROR(-20000,'@InvalidProcessRequestMonthly@');
+       END IF;
+
+       IF (:NEW.MONTHLY_OPTION = '4' AND :NEW.MONTHLY_DAY_OF_WEEK IS NULL) THEN
+         RAISE_APPLICATION_ERROR(-20000,'@InvalidProcessRequestMonthly@');
+       END IF;
+
+       IF (:NEW.MONTHLY_OPTION = 'S' AND :NEW.MONTHLY_SPECIFIC_DAY IS NULL) 
THEN  -- SPECIFIC DAY OF THE MONTH
+         RAISE_APPLICATION_ERROR(-20000,'@InvalidProcessRequestMonthly@');
+       END IF;
+
+      END IF;
+
+    END IF;
+
+    IF (:NEW.FREQUENCY = '7' AND :NEW.CRON IS NULL) THEN -- CRON EXPRESSION
+      RAISE_APPLICATION_ERROR(-20000,'@InvalidProcessRequestCron@');
+    END IF;
+
     IF(:NEW.FINISHES = 'Y' AND (:NEW.FINISHES_DATE IS NULL OR 
:NEW.FINISHES_TIME IS NULL)) THEN
-      RAISE_APPLICATION_ERROR(-20000,'@InvalidProcessRequest@');
+      RAISE_APPLICATION_ERROR(-20000,'@InvalidProcessRequestFinish@');
     END IF;
 
   END IF;
diff -r 7db0e715083b -r 33c6f5b78fd8 src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Fri May 12 13:11:06 2017 +0200
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Sat May 13 07:54:26 2017 +0200
@@ -16018,6 +16018,18 @@
 <!--064ADCDC0E794F6C9608ECFDC511A1F9-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--064ADCDC0E794F6C9608ECFDC511A1F9--></AD_MESSAGE>
 
+<!--075FFFF3F76B4DCF9EE84235F8A4255E--><AD_MESSAGE>
+<!--075FFFF3F76B4DCF9EE84235F8A4255E-->  
<AD_MESSAGE_ID><![CDATA[075FFFF3F76B4DCF9EE84235F8A4255E]]></AD_MESSAGE_ID>
+<!--075FFFF3F76B4DCF9EE84235F8A4255E-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--075FFFF3F76B4DCF9EE84235F8A4255E-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--075FFFF3F76B4DCF9EE84235F8A4255E-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--075FFFF3F76B4DCF9EE84235F8A4255E-->  
<VALUE><![CDATA[InvalidProcessRequestCron]]></VALUE>
+<!--075FFFF3F76B4DCF9EE84235F8A4255E-->  <MSGTEXT><![CDATA[The Process Request 
details you have entered are invalid. Please make sure the cron expression is 
not empty.]]></MSGTEXT>
+<!--075FFFF3F76B4DCF9EE84235F8A4255E-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--075FFFF3F76B4DCF9EE84235F8A4255E-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--075FFFF3F76B4DCF9EE84235F8A4255E-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--075FFFF3F76B4DCF9EE84235F8A4255E--></AD_MESSAGE>
+
 <!--078F6ABDBDBA48F2887C3108397A2262--><AD_MESSAGE>
 <!--078F6ABDBDBA48F2887C3108397A2262-->  
<AD_MESSAGE_ID><![CDATA[078F6ABDBDBA48F2887C3108397A2262]]></AD_MESSAGE_ID>
 <!--078F6ABDBDBA48F2887C3108397A2262-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -24503,6 +24515,18 @@
 <!--B2E2BD179E374B09A39DCB5A3A301F0B-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--B2E2BD179E374B09A39DCB5A3A301F0B--></AD_MESSAGE>
 
+<!--B371D4C2C37E4FC4BCC2DB7B8FFA20DD--><AD_MESSAGE>
+<!--B371D4C2C37E4FC4BCC2DB7B8FFA20DD-->  
<AD_MESSAGE_ID><![CDATA[B371D4C2C37E4FC4BCC2DB7B8FFA20DD]]></AD_MESSAGE_ID>
+<!--B371D4C2C37E4FC4BCC2DB7B8FFA20DD-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--B371D4C2C37E4FC4BCC2DB7B8FFA20DD-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--B371D4C2C37E4FC4BCC2DB7B8FFA20DD-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--B371D4C2C37E4FC4BCC2DB7B8FFA20DD-->  
<VALUE><![CDATA[InvalidProcessRequestFinish]]></VALUE>
+<!--B371D4C2C37E4FC4BCC2DB7B8FFA20DD-->  <MSGTEXT><![CDATA[The Process Request 
details you have entered are invalid. Please make sure the finish date and 
finish time are correct.]]></MSGTEXT>
+<!--B371D4C2C37E4FC4BCC2DB7B8FFA20DD-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--B371D4C2C37E4FC4BCC2DB7B8FFA20DD-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--B371D4C2C37E4FC4BCC2DB7B8FFA20DD-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--B371D4C2C37E4FC4BCC2DB7B8FFA20DD--></AD_MESSAGE>
+
 <!--B38D1A1470E54E3884E708996856C58E--><AD_MESSAGE>
 <!--B38D1A1470E54E3884E708996856C58E-->  
<AD_MESSAGE_ID><![CDATA[B38D1A1470E54E3884E708996856C58E]]></AD_MESSAGE_ID>
 <!--B38D1A1470E54E3884E708996856C58E-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -26984,6 +27008,18 @@
 <!--E5A5FBC8EDDC41E187E047A130BEF85A-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--E5A5FBC8EDDC41E187E047A130BEF85A--></AD_MESSAGE>
 
+<!--E5AA7EC4805848F5A56E9E0ECBDD2D86--><AD_MESSAGE>
+<!--E5AA7EC4805848F5A56E9E0ECBDD2D86-->  
<AD_MESSAGE_ID><![CDATA[E5AA7EC4805848F5A56E9E0ECBDD2D86]]></AD_MESSAGE_ID>
+<!--E5AA7EC4805848F5A56E9E0ECBDD2D86-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--E5AA7EC4805848F5A56E9E0ECBDD2D86-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--E5AA7EC4805848F5A56E9E0ECBDD2D86-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--E5AA7EC4805848F5A56E9E0ECBDD2D86-->  
<VALUE><![CDATA[InvalidProcessRequestMonthly]]></VALUE>
+<!--E5AA7EC4805848F5A56E9E0ECBDD2D86-->  <MSGTEXT><![CDATA[The Process Request 
details you have entered are invalid. Please make sure the Monthly Option and 
the related fields are properly defined.]]></MSGTEXT>
+<!--E5AA7EC4805848F5A56E9E0ECBDD2D86-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--E5AA7EC4805848F5A56E9E0ECBDD2D86-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--E5AA7EC4805848F5A56E9E0ECBDD2D86-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--E5AA7EC4805848F5A56E9E0ECBDD2D86--></AD_MESSAGE>
+
 <!--E5B1FC3A84BA4ABD80C3F2F9635B65CB--><AD_MESSAGE>
 <!--E5B1FC3A84BA4ABD80C3F2F9635B65CB-->  
<AD_MESSAGE_ID><![CDATA[E5B1FC3A84BA4ABD80C3F2F9635B65CB]]></AD_MESSAGE_ID>
 <!--E5B1FC3A84BA4ABD80C3F2F9635B65CB-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to