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