diff --git a/entity/Analyses_entity/entityfields/new_tasks/valueProcess.js b/entity/Analyses_entity/entityfields/new_tasks/valueProcess.js index 3e2e63befe862a254f918262148b84b87d920816..367c63ee6d21328baaa09ada35a9f39bcf03c96b 100644 --- a/entity/Analyses_entity/entityfields/new_tasks/valueProcess.js +++ b/entity/Analyses_entity/entityfields/new_tasks/valueProcess.js @@ -1,14 +1,19 @@ import("Employee_lib"); -import("system.db"); import("system.result"); import("Sql_lib"); import("KeywordRegistry_basic"); - + +var contactId = EmployeeUtils.getCurrentContactId(); +var departmentId = EmployeeUtils.getUsersDepartment(contactId, false); + var opentask = newSelect("count(TASKID)") .from("TASK") - .where("TASK.STATUS", $KeywordRegistry.taskStatus$new()) - .and ("TASK.KIND", "TASK") - .and("TASK.EDITOR_CONTACT_ID", EmployeeUtils.getCurrentContactId()) - .cell(); + .join("TASKATTENDEES","TASKATTENDEES.TASK_ID = TASK.TASKID") + .where( + newWhere("TASKATTENDEES.CONTACT_ID", contactId) + .or("TASKATTENDEES.DEPARTMENT_ID",departmentId) + ) + .and("TASK.STATUS", $KeywordRegistry.taskStatus$new()) + .cell(); result.string(opentask || 0); \ No newline at end of file diff --git a/entity/Analyses_entity/entityfields/opennewtasks/onActionProcess.js b/entity/Analyses_entity/entityfields/opennewtasks/onActionProcess.js index 2f701771cd41a63b1ee8d0d542e23e141308d1d2..a63838ac8189374da23058dc4d75e427d9feea10 100644 --- a/entity/Analyses_entity/entityfields/opennewtasks/onActionProcess.js +++ b/entity/Analyses_entity/entityfields/opennewtasks/onActionProcess.js @@ -4,10 +4,17 @@ import("Sql_lib"); import("Employee_lib"); import("system.neon"); +var contactId = EmployeeUtils.getCurrentContactId(); +var departmentId = EmployeeUtils.getUsersDepartment(contactId, false); + var taskIds = newSelect("TASKID") .from("TASK") - .where("TASK.STATUS", $KeywordRegistry.taskStatus$new()) - .and("TASK.EDITOR_CONTACT_ID", EmployeeUtils.getCurrentContactId()) + .join("TASKATTENDEES","TASKATTENDEES.TASK_ID = TASK.TASKID") + .where( + newWhere("TASKATTENDEES.CONTACT_ID", contactId) + .or("TASKATTENDEES.DEPARTMENT_ID", departmentId) + ) + .and("TASK.STATUS", $KeywordRegistry.taskStatus$new()) .arrayColumn(); var recipe = neonFilter.createEntityRecordsRecipeBuilder().uidsIncludelist(taskIds).toString(); diff --git a/entity/Analyses_entity/entityfields/openoverduetasks/onActionProcess.js b/entity/Analyses_entity/entityfields/openoverduetasks/onActionProcess.js index dfbf3354e41132c7c7cb91e35582ac466f36c00e..43974a54a65d19bfa2ec7026a5564852123b94c8 100644 --- a/entity/Analyses_entity/entityfields/openoverduetasks/onActionProcess.js +++ b/entity/Analyses_entity/entityfields/openoverduetasks/onActionProcess.js @@ -1,17 +1,23 @@ import("system.neonFilter"); import("system.neon"); -import("system.db"); import("ActivityTask_lib"); import("Employee_lib"); import("system.vars"); import("Sql_lib"); +var contactId = EmployeeUtils.getCurrentContactId(); +var departmentId = EmployeeUtils.getUsersDepartment(contactId, false); + var overdueTask = newSelect("TASKID") .from("TASK") - .where("TASK.MATURITY_DATE", "$sys.date", SqlBuilder.LESS()) - .and("TASK.EDITOR_CONTACT_ID", EmployeeUtils.getCurrentContactId()) + .join("TASKATTENDEES","TASKATTENDEES.TASK_ID = TASK.TASKID") + .where( + newWhere("TASKATTENDEES.CONTACT_ID", contactId) + .or("TASKATTENDEES.DEPARTMENT_ID",departmentId) + ) + .and("TASK.MATURITY_DATE", "$sys.date", SqlBuilder.LESS()) .and("TASK.STATUS", TaskUtils.getEndedStatuses(), SqlBuilder.NOT_IN()) - .array(db.COLUMN) + .arrayColumn(); var recipe = neonFilter.createEntityRecordsRecipeBuilder().uidsIncludelist(overdueTask).toString(); neon.openContextWithRecipe("Task", "TaskFilter_view", recipe, neon.OPERATINGSTATE_SEARCH); diff --git a/entity/Analyses_entity/entityfields/overdue_tasks/valueProcess.js b/entity/Analyses_entity/entityfields/overdue_tasks/valueProcess.js index 98e88dd15849effecdb68f06183c6aedd6498ac2..6d23914c84fced7678383701398a14573540f32f 100644 --- a/entity/Analyses_entity/entityfields/overdue_tasks/valueProcess.js +++ b/entity/Analyses_entity/entityfields/overdue_tasks/valueProcess.js @@ -1,15 +1,22 @@ -import("system.vars"); +import("system.result"); +import("system.neon"); +import("ActivityTask_lib"); import("Employee_lib"); +import("system.vars"); import("Sql_lib"); -import("ActivityTask_lib"); -import("system.result"); + +var contactId = EmployeeUtils.getCurrentContactId(); +var departmentId = EmployeeUtils.getUsersDepartment(contactId, false); var overdueTaskCount = newSelect("count(TASKID)") .from("TASK") - .where("TASK.MATURITY_DATE", "$sys.date", SqlBuilder.LESS()) - .and ("TASK.KIND", "TASK") - .and("TASK.EDITOR_CONTACT_ID", EmployeeUtils.getCurrentContactId()) + .join("TASKATTENDEES","TASKATTENDEES.TASK_ID = TASK.TASKID") + .where( + newWhere("TASKATTENDEES.CONTACT_ID", contactId) + .or("TASKATTENDEES.DEPARTMENT_ID",departmentId) + ) + .and("TASK.MATURITY_DATE", vars.get("$sys.date"), SqlBuilder.LESS()) .and("TASK.STATUS", TaskUtils.getEndedStatuses(), SqlBuilder.NOT_IN()) - .cell() + .cell(); result.string(overdueTaskCount); \ No newline at end of file diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod index 4f4483a8e00a44648c2945852dc758e7bbc4ae72..fb2bcfa6a1a92340cc0d555dc703e8ae6c196b10 100644 --- a/entity/Task_entity/Task_entity.aod +++ b/entity/Task_entity/Task_entity.aod @@ -490,7 +490,7 @@ </entityField> <entityField> <name>connections</name> - <title>Verknuepfungen</title> + <title>Connections</title> </entityField> <entityField> <name>DATE_EDIT</name> diff --git a/process/migrateTask/process.js b/process/migrateTask/process.js index d4b0cc4cac116f044ea8c3d033030d988e60304c..8ecf69cdba13774d423d9d7e9bab36aaecb7848a 100644 --- a/process/migrateTask/process.js +++ b/process/migrateTask/process.js @@ -24,7 +24,7 @@ oldTasks.forEach(function (pTask) { logging.log(text.text2html(pTask[0], true)); statements.push(newWhereIfSet("TASK.TASKID", pTask[1]) .buildUpdateStatement({ - "TASK.DESCRIPTION" : text.text2html(pTask[0], true) + "DESCRIPTION" : text.text2html(pTask[0], true) }, "TASK")); statements.push(new SqlBuilder().buildInsertStatement({