diff --git a/entity/Task_entity/afterSave.js b/entity/Task_entity/afterSave.js index 267d8e8163e6eee4e99e0d1ff18500f3e369c928..a7a8810fcc961c36102ddf7722037671c4e29fc8 100644 --- a/entity/Task_entity/afterSave.js +++ b/entity/Task_entity/afterSave.js @@ -13,9 +13,10 @@ var data = vars.get("$local.entitydata") var contactIds = newSelect("CONTACT_ID") .from("TASKATTENDEES") .where("TASKATTENDEES.TASK_ID", data["TASKID"]) +.and("TASKATTENDEES.DEPARTMENT_ID is null") .arrayColumn(); -var avaiableAttendees = contactIds; +var avaiableAttendees = contactIds; // all Attendees without department user if(contactIds.length > 0) var contactIdsAvaiable = contactIds[0].length > 0; @@ -67,7 +68,7 @@ if(data["createSingleTasks"] == 1 && vars.get("$local.recordstate") == "NEW" && //remove duplicates in contactIds contactIds = Array.from(new Set(contactIds)); - + var colsTask = [ "TASKID", "KIND", @@ -133,7 +134,7 @@ if(data["createSingleTasks"] == 1 && vars.get("$local.recordstate") == "NEW" && var condAttendees = "TASK_ID = '" + data["TASKID"] + "' and CONTACT_ID = '" + contactIds[i] + "'" db.insertData("TASK", colsTask, null, valsTask); - + if(avaiableAttendees.includes(contactIds[i])) db.updateData("TASKATTENDEES", ["TASK_ID"], null, [uuidTask], condAttendees); else db.insertData("TASKATTENDEES", colsAttendees, null, valsAttendees) @@ -149,7 +150,7 @@ if(data["createSingleTasks"] == 1 && vars.get("$local.recordstate") == "NEW" && newWhere("TASKATTENDEES.TASK_ID", data["TASKID"]).and("TASKATTENDEES.DEPARTMENT_ID is not null") .and("TASKATTENDEES.TASKATTENDEESID", departmentsAttendees, SqlBuilder.NOT_EQUAL()).deleteData() - + db.updateData("TASKATTENDEES", ["DEPARTMENT_ID", "CONTACT_ID"], null, ["", contactIds[0]], "TASK_ID = '" + data["TASKID"] + "' and DEPARTMENT_ID is not null") @@ -187,6 +188,6 @@ else if(vars.get("$local.recordstate") == "NEW" && contactIds.length == 0) { data["TASKID"], EmployeeUtils.getCurrentContactId() ] - + db.insertData("TASKATTENDEES", colsAttendees, null, valsAttendees) } \ No newline at end of file