Skip to content
Snippets Groups Projects
Commit 652846e6 authored by Maximilian Schröger's avatar Maximilian Schröger Committed by Johannes Goderbauer
Browse files

moved ProcessHandlingUtil into own library (from Util_lib)

parent 4bd6acc5
No related branches found
No related tags found
No related merge requests found
Showing
with 71 additions and 19 deletions
...@@ -7,6 +7,7 @@ import("system.mail"); ...@@ -7,6 +7,7 @@ import("system.mail");
import("Keyword_lib"); import("Keyword_lib");
import("Comm_lib"); import("Comm_lib");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var kwdUtil = new KeywordUtils(); var kwdUtil = new KeywordUtils();
var kwd = kwdUtil.createKeyword("COMM.MEDIUM"); var kwd = kwdUtil.createKeyword("COMM.MEDIUM");
...@@ -15,7 +16,7 @@ var commCategory = kwd.getPropForKey(commMedium, "contentType", true);//TODO: ma ...@@ -15,7 +16,7 @@ var commCategory = kwd.getPropForKey(commMedium, "contentType", true);//TODO: ma
var fn = CommValidationUtil.makeValidationFn(commCategory); var fn = CommValidationUtil.makeValidationFn(commCategory);
if (fn != null){ if (fn != null){
var commAddr = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.ADDR")); var commAddr = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.ADDR"));
var additional = CommValidationUtil.getExtensionsBlueprint(); var additional = CommValidationUtil.getExtensionsBlueprint();
additional.countryCode = vars.get("$param.RelationsMainCountry_param");//TODO: try to use users language first and then the companies additional.countryCode = vars.get("$param.RelationsMainCountry_param");//TODO: try to use users language first and then the companies
var res = fn.call(null, commAddr, additional); var res = fn.call(null, commAddr, additional);
......
...@@ -3,8 +3,12 @@ import("system.result"); ...@@ -3,8 +3,12 @@ import("system.result");
import("system.vars"); import("system.vars");
import("system.db"); import("system.db");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var codeCount = db.cell("select count(CONTRACTCODE) from CONTRACT where CONTRACTCODE = '" + ProcessHandlingUtil.getOnValidationValue(vars.get("$field.CONTRACTCODE")) + "'" var contractCode, codeCount;
contractCode = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTCODE"));
codeCount = db.cell("select count(CONTRACTCODE) from CONTRACT where CONTRACTCODE = '" + contractCode + "'"
+ " and CONTRACTID <> '" + vars.get("$field.CONTRACTID") + "'"); + " and CONTRACTID <> '" + vars.get("$field.CONTRACTID") + "'");
if(codeCount > 0) if(codeCount > 0)
{ {
......
...@@ -3,9 +3,10 @@ import("system.translate"); ...@@ -3,9 +3,10 @@ import("system.translate");
import("system.vars"); import("system.vars");
import("Date_lib"); import("Date_lib");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var dateUtils = new DateUtils(); var dateUtils = new DateUtils();
var cDue = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.CONTRACTDUE")); var cDue = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTDUE"));
if (dateUtils.validateBeginnBeforeEnd(vars.get("$field.CONTRACTSTART"), cDue) === false || dateUtils.validateBeginnBeforeEnd(cDue, vars.get("$field.CONTRACTEND")) === false) { if (dateUtils.validateBeginnBeforeEnd(vars.get("$field.CONTRACTSTART"), cDue) === false || dateUtils.validateBeginnBeforeEnd(cDue, vars.get("$field.CONTRACTEND")) === false) {
result.string(translate.text("The next due date must be after the start of the contract and before the expiry of the contract!")); result.string(translate.text("The next due date must be after the start of the contract and before the expiry of the contract!"));
......
...@@ -2,9 +2,10 @@ import("system.result"); ...@@ -2,9 +2,10 @@ import("system.result");
import("system.vars"); import("system.vars");
import("Date_lib"); import("Date_lib");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var dateUtils = new DateUtils(); var dateUtils = new DateUtils();
var cEnd = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.CONTRACTEND")); var cEnd = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTEND"));
var cDue = vars.get("$field.CONTRACTDUE"); var cDue = vars.get("$field.CONTRACTDUE");
if (dateUtils.validateBeginnBeforeEnd(vars.get("$field.CONTRACTSTART"), cEnd) === false) if (dateUtils.validateBeginnBeforeEnd(vars.get("$field.CONTRACTSTART"), cEnd) === false)
......
import("system.vars"); import("system.vars");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var cEnd = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.CONTRACTEND")); var cEnd = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTEND"));
var cDue = vars.get("$field.CONTRACTDUE"); var cDue = vars.get("$field.CONTRACTDUE");
if (cDue > cEnd && cDue != "") if (cDue > cEnd && cDue != "")
......
...@@ -3,9 +3,10 @@ import("system.result"); ...@@ -3,9 +3,10 @@ import("system.result");
import("system.vars"); import("system.vars");
import("Date_lib"); import("Date_lib");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var dateUtils = new DateUtils(); var dateUtils = new DateUtils();
var cStart = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.CONTRACTSTART")); var cStart = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTSTART"));
var cDue = vars.get("$field.CONTRACTDUE"); var cDue = vars.get("$field.CONTRACTDUE");
if (dateUtils.validateBeginnBeforeEnd(cStart, vars.get("$field.CONTRACTEND")) === false) if (dateUtils.validateBeginnBeforeEnd(cStart, vars.get("$field.CONTRACTEND")) === false)
......
import("system.vars"); import("system.vars");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var cStart = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.CONTRACTSTART")); var cStart = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTSTART"));
var cDue = vars.get("$field.CONTRACTDUE"); var cDue = vars.get("$field.CONTRACTDUE");
if (cDue < cStart && cDue != "") if (cDue < cStart && cDue != "")
......
...@@ -3,11 +3,12 @@ import("system.result"); ...@@ -3,11 +3,12 @@ import("system.result");
import("system.neon"); import("system.neon");
import("OfferOrder_lib"); import("OfferOrder_lib");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var OfferUtils = new OfferUtils(); var OfferUtils = new OfferUtils();
if( vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW if( vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW
&& !OfferUtils.validateOfferNumber(ProcessHandlingUtil.getOnValidationValue(vars.get("$field.OFFERCODE"))) ) && !OfferUtils.validateOfferNumber(ProcessHandlingUtils.getOnValidationValue(vars.get("$field.OFFERCODE"))) )
{ {
vars.set( "$field.OFFERCODE", SalesprojectUtils.getNextOfferNumber().toString() ); vars.set( "$field.OFFERCODE", SalesprojectUtils.getNextOfferNumber().toString() );
} }
\ No newline at end of file
import("system.vars"); import("system.vars");
import("system.db"); import("system.db");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var relid = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.RELATION_ID")); var relid = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.RELATION_ID"));
if(relid != "") if(relid != "")
{ {
var relData = db.array(db.ROW, "select LANGUAGE from RELATION where RELATIONID = '" + relid + "'"); var relData = db.array(db.ROW, "select LANGUAGE from RELATION where RELATIONID = '" + relid + "'");
......
...@@ -3,8 +3,9 @@ import("system.vars"); ...@@ -3,8 +3,9 @@ import("system.vars");
import("system.neon"); import("system.neon");
import("Product_lib"); import("Product_lib");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var pid = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.PRODUCT_ID")); var pid = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.PRODUCT_ID"));
if(pid != "") if(pid != "")
{ {
var curr = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : ""; var curr = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : "";
......
...@@ -3,9 +3,10 @@ import("system.vars"); ...@@ -3,9 +3,10 @@ import("system.vars");
import("system.neon"); import("system.neon");
import("Product_lib"); import("Product_lib");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var pid = vars.get("$field.PRODUCT_ID"); var pid = vars.get("$field.PRODUCT_ID");
var newQuantity = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.QUANTITY")); var newQuantity = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.QUANTITY"));
if(pid != "" && newQuantity != "") if(pid != "" && newQuantity != "")
{ {
var curr = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : ""; var curr = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : "";
......
...@@ -3,8 +3,12 @@ import("system.result"); ...@@ -3,8 +3,12 @@ import("system.result");
import("system.vars"); import("system.vars");
import("system.db"); import("system.db");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var codeCount = db.cell("select count(PRODUCTCODE) from PRODUCT where PRODUCTCODE = '" + ProcessHandlingUtil.getOnValidationValue(vars.get("$field.PRODUCTCODE")) + "'" var codeCount, productCode;
productCode = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.PRODUCTCODE"));
codeCount = db.cell("select count(PRODUCTCODE) from PRODUCT where PRODUCTCODE = '" + productCode + "'"
+ " and PRODUCTID <> '" + vars.get("$field.PRODUCTID") + "'"); + " and PRODUCTID <> '" + vars.get("$field.PRODUCTID") + "'");
if(codeCount > 0) if(codeCount > 0)
{ {
......
...@@ -3,10 +3,11 @@ import("system.result"); ...@@ -3,10 +3,11 @@ import("system.result");
import("system.vars"); import("system.vars");
import("Product_lib"); import("Product_lib");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var pUtils = new ProductUtils(); var pUtils = new ProductUtils();
var priceList = { var priceList = {
priceList: ProcessHandlingUtil.getOnValidationValue(vars.get("$field.PRICELIST")) priceList: ProcessHandlingUtils.getOnValidationValue(vars.get("$field.PRICELIST"))
, fromQuantity: vars.get("$field.FROMQUANTITY") , fromQuantity: vars.get("$field.FROMQUANTITY")
, buySell: vars.get("$field.BUYSELL") , buySell: vars.get("$field.BUYSELL")
, currency: vars.get("$field.CURRENCY") , currency: vars.get("$field.CURRENCY")
......
...@@ -2,9 +2,10 @@ import("system.result"); ...@@ -2,9 +2,10 @@ import("system.result");
import("system.vars"); import("system.vars");
import("Date_lib"); import("Date_lib");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var dateUtils = new DateUtils(); var dateUtils = new DateUtils();
var cStart = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.VALID_FROM")); var cStart = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.VALID_FROM"));
if (dateUtils.validateBeginnBeforeEnd(cStart, vars.get("$field.VALID_TO")) === false) if (dateUtils.validateBeginnBeforeEnd(cStart, vars.get("$field.VALID_TO")) === false)
result.string(dateUtils.getValidationFailString()); result.string(dateUtils.getValidationFailString());
\ No newline at end of file
...@@ -2,9 +2,10 @@ import("system.result"); ...@@ -2,9 +2,10 @@ import("system.result");
import("system.vars"); import("system.vars");
import("Date_lib"); import("Date_lib");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var dateUtils = new DateUtils(); var dateUtils = new DateUtils();
var cEnd = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.VALID_TO")); var cEnd = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.VALID_TO"));
if (dateUtils.validateBeginnBeforeEnd(vars.get("$field.VALID_FROM"), cEnd) === false) if (dateUtils.validateBeginnBeforeEnd(vars.get("$field.VALID_FROM"), cEnd) === false)
result.string(dateUtils.getValidationFailString()); result.string(dateUtils.getValidationFailString());
\ No newline at end of file
...@@ -2,8 +2,9 @@ import("system.result"); ...@@ -2,8 +2,9 @@ import("system.result");
import("system.vars"); import("system.vars");
import("system.translate"); import("system.translate");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
var reason = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.REASON")); var reason = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.REASON"));
if (!vars.getString("$field.DATE_CANCELLED") && reason) { if (!vars.getString("$field.DATE_CANCELLED") && reason) {
result.string(translate.text("A reason is only possible if a date is given.")) result.string(translate.text("A reason is only possible if a date is given."))
......
...@@ -3,9 +3,10 @@ import("system.result"); ...@@ -3,9 +3,10 @@ import("system.result");
import("system.neon"); import("system.neon");
import("Salesproject_lib"); import("Salesproject_lib");
import("Util_lib"); import("Util_lib");
import("Entity_lib");
if( vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW if( vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW
&& !Salesproject.validateProjectNumber(ProcessHandlingUtil.getOnValidationValue(vars.get("$field.PROJECTCODE"))) ) && !Salesproject.validateProjectNumber(ProcessHandlingUtils.getOnValidationValue(vars.get("$field.PROJECTCODE"))) )
{ {
vars.set( "$field.PROJECTCODE", Salesproject.getNextProjectNumber().toString("1 = 1") ); vars.set( "$field.PROJECTCODE", Salesproject.getNextProjectNumber().toString("1 = 1") );
} }
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.1.7">
<name>Entity_lib</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<process>%aditoprj%/process/Entity_lib/process.js</process>
</process>
/**
* provides static methods for special handling of entities in JDito-Processes
* do not create an instance of this
* @class
* @static
*/
function ProcessHandlingUtils(){
}
/**
* In onValidation-Process a local variable called "$local.value" is made available from kernel.
* It contains the entered value - the field contains the value only after successfull validation (vars.get("$field.Fieldname")).
* The onValidation-Process is running again before saving the entity, at this point there's "$local.value" varialbe no longer available,
* but the entered value now is the present one because the field has already been validated before.
* Otherwise a "variable not found" error would occur.
*
* @param {String} fieldValue value of the field onValidation-Process is executed ( e.g. vars.get("$field.Fieldname") )
*
* @return {String} Field value for onValidation-Process
*/
ProcessHandlingUtils.getOnValidationValue = function(fieldValue) {
return vars.exists("$local.value") ? vars.get("$local.value") : fieldValue;
}
...@@ -82,7 +82,7 @@ function ProductUtils() ...@@ -82,7 +82,7 @@ function ProductUtils()
* @param pPriceListFilter {Object} opt { currency: "currencyValue", quantity: "quantityValue", relationId: "relationIdValue (for custom price lists)" } * @param pPriceListFilter {Object} opt { currency: "currencyValue", quantity: "quantityValue", relationId: "relationIdValue (for custom price lists)" }
* *
* @example //Product_entity, Field: PRODUCT_ID, Process: onValueChange * @example //Product_entity, Field: PRODUCT_ID, Process: onValueChange
* var pid = ProcessHandlingUtil.getOnValidationValue(vars.get("$field.PRODUCT_ID")); * var pid = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.PRODUCT_ID"));
* var curr = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : ""; * var curr = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : "";
* var relid = vars.exists("$param.RelationId_param") ? vars.get("$param.RelationId_param") : ""; * var relid = vars.exists("$param.RelationId_param") ? vars.get("$param.RelationId_param") : "";
* var pUtils = new ProductUtils(); * var pUtils = new ProductUtils();
...@@ -280,7 +280,7 @@ function ProductUtils() ...@@ -280,7 +280,7 @@ function ProductUtils()
* @example //Productprice_entity, Field: PRICELIST, Process: onValidation * @example //Productprice_entity, Field: PRICELIST, Process: onValidation
* var pUtils = new ProductUtils(); * var pUtils = new ProductUtils();
* var priceList = { * var priceList = {
* priceList: ProcessHandlingUtil.getOnValidationValue(vars.get("$field.PRICELIST")) * priceList: ProcessHandlingUtils.getOnValidationValue(vars.get("$field.PRICELIST"))
* , fromQuantity: vars.get("$field.FROMQUANTITY") * , fromQuantity: vars.get("$field.FROMQUANTITY")
* , buySell: vars.get("$field.BUYSELL") * , buySell: vars.get("$field.BUYSELL")
* , currency: vars.get("$field.CURRENCY") * , currency: vars.get("$field.CURRENCY")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment