From 5513e826244988ffc4708dce4058964b8c011e89 Mon Sep 17 00:00:00 2001
From: Markus Escher <m.escher@adito.de>
Date: Wed, 24 Apr 2019 10:36:43 +0200
Subject: [PATCH] add Task Status Icons and Priority Colors

---
 entity/Task_entity/Task_entity.aod            |  7 +++++++
 .../priority_icon/colorProcess.js             | 20 +++++++++++++++++++
 .../priority_icon/valueProcess.js             | 20 +++++++++++++++++++
 .../ActivityEdit_view/ActivityEdit_view.aod   |  2 +-
 neonView/TaskFilter_view/TaskFilter_view.aod  | 17 +---------------
 .../TaskMainPreview_view.aod                  |  2 +-
 .../TaskPreview_view/TaskPreview_view.aod     |  7 +++----
 process/KeywordRegistry_basic/process.js      |  7 +++++++
 8 files changed, 60 insertions(+), 22 deletions(-)
 create mode 100644 entity/Task_entity/entityfields/priority_icon/colorProcess.js
 create mode 100644 entity/Task_entity/entityfields/priority_icon/valueProcess.js

diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod
index 17737fba9c8..32400b4e84b 100644
--- a/entity/Task_entity/Task_entity.aod
+++ b/entity/Task_entity/Task_entity.aod
@@ -30,6 +30,7 @@
     <entityField>
       <name>STATUS</name>
       <title>{$TASK_STATUS}</title>
+      <colorProcess>%aditoprj%/entity/Task_entity/entityfields/status/colorProcess.js</colorProcess>
       <consumer>KeywordStates</consumer>
       <mandatory v="true" />
       <groupable v="true" />
@@ -401,6 +402,12 @@
       <expose v="true" />
       <description>PARAMETER</description>
     </entityParameter>
+    <entityField>
+      <name>PRIORITY_ICON</name>
+      <colorProcess>%aditoprj%/entity/Task_entity/entityfields/priority_icon/colorProcess.js</colorProcess>
+      <contentType>IMAGE</contentType>
+      <valueProcess>%aditoprj%/entity/Task_entity/entityfields/priority_icon/valueProcess.js</valueProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Task_entity/entityfields/priority_icon/colorProcess.js b/entity/Task_entity/entityfields/priority_icon/colorProcess.js
new file mode 100644
index 00000000000..a570d5f4207
--- /dev/null
+++ b/entity/Task_entity/entityfields/priority_icon/colorProcess.js
@@ -0,0 +1,20 @@
+import("system.vars");
+import("KeywordRegistry_basic");
+import("system.result");
+
+switch(vars.getString("$field.PRIORITY"))
+{
+    case $KeywordRegistry.taskPriority$none():
+        result.string("$status-none");
+        break;
+    case $KeywordRegistry.taskPriority$low():
+        result.string("$status-low");
+        break;
+    case $KeywordRegistry.taskPriority$medium():
+        result.string("$status-medium");
+        break;
+    case $KeywordRegistry.taskPriority$high():
+        result.string("$status-high");
+        break;
+}
+
diff --git a/entity/Task_entity/entityfields/priority_icon/valueProcess.js b/entity/Task_entity/entityfields/priority_icon/valueProcess.js
new file mode 100644
index 00000000000..5b0877f5326
--- /dev/null
+++ b/entity/Task_entity/entityfields/priority_icon/valueProcess.js
@@ -0,0 +1,20 @@
+import("system.vars");
+import("KeywordRegistry_basic");
+import("system.result");
+
+switch(vars.getString("$field.STATUS"))
+{
+    case $KeywordRegistry.taskStatus$new():
+        result.string("NEON:STATUS_NOT_STARTED");
+        break;
+    case $KeywordRegistry.taskStatus$inProcess():
+        result.string("NEON:STATUS_IN_PROGRESS");
+        break;
+    case $KeywordRegistry.taskStatus$waiting():
+        result.string("NEON:STATUS_WAITING");
+        break;
+    case $KeywordRegistry.taskStatus$ended():
+        result.string("NEON:STATUS_DONE");
+        break;
+}
+
diff --git a/neonView/ActivityEdit_view/ActivityEdit_view.aod b/neonView/ActivityEdit_view/ActivityEdit_view.aod
index 4a16fe2dd5f..1a13f58ed90 100644
--- a/neonView/ActivityEdit_view/ActivityEdit_view.aod
+++ b/neonView/ActivityEdit_view/ActivityEdit_view.aod
@@ -21,7 +21,7 @@
           <entityField>SUBJECT</entityField>
         </entityFieldLink>
         <entityFieldLink>
-          <name>1d34b348-3f43-4998-bdf9-538fb25d716f</name>
+          <name>b90a5d96-9d1f-4eeb-b42c-0debeb7cf260</name>
           <entityField>INFO</entityField>
         </entityFieldLink>
         <entityFieldLink>
diff --git a/neonView/TaskFilter_view/TaskFilter_view.aod b/neonView/TaskFilter_view/TaskFilter_view.aod
index 71b68935414..0854a30aab1 100644
--- a/neonView/TaskFilter_view/TaskFilter_view.aod
+++ b/neonView/TaskFilter_view/TaskFilter_view.aod
@@ -32,14 +32,6 @@
     </groupLayout>
   </layout>
   <children>
-    <timelineViewTemplate>
-      <name>TasksTimeline</name>
-      <dateField>MATURITY_DATE</dateField>
-      <titleField>SUBJECT_DETAILS</titleField>
-      <descriptionField>DESCRIPTION</descriptionField>
-      <iconIdField>#ICON</iconIdField>
-      <entityField>#ENTITY</entityField>
-    </timelineViewTemplate>
     <tableViewTemplate>
       <name>TasksTable</name>
       <entityField>#ENTITY</entityField>
@@ -47,7 +39,7 @@
       <columns>
         <neonTableColumn>
           <name>3cd319ea-5a06-409c-a7ce-1c87beff62d2</name>
-          <entityField>#ICON</entityField>
+          <entityField>PRIORITY_ICON</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>591cd079-a8e9-49aa-8a2d-afb643aef079</name>
@@ -68,12 +60,5 @@
         </neonTableColumn>
       </columns>
     </tableViewTemplate>
-    <treeViewTemplate>
-      <name>TasksTreetable</name>
-      <titleField>SUBJECT_DETAILS</titleField>
-      <descriptionField>DESCRIPTION</descriptionField>
-      <iconField>#ICON</iconField>
-      <entityField>#ENTITY</entityField>
-    </treeViewTemplate>
   </children>
 </neonView>
diff --git a/neonView/TaskMainPreview_view/TaskMainPreview_view.aod b/neonView/TaskMainPreview_view/TaskMainPreview_view.aod
index 2bf917aa3e1..eabc0658f24 100644
--- a/neonView/TaskMainPreview_view/TaskMainPreview_view.aod
+++ b/neonView/TaskMainPreview_view/TaskMainPreview_view.aod
@@ -10,7 +10,7 @@
   <children>
     <cardViewTemplate>
       <name>Header</name>
-      <iconField>#ICON</iconField>
+      <iconField>PRIORITY_ICON</iconField>
       <titleField>SUBJECT</titleField>
       <descriptionField>STATUS</descriptionField>
       <favoriteAction1>newActivity</favoriteAction1>
diff --git a/neonView/TaskPreview_view/TaskPreview_view.aod b/neonView/TaskPreview_view/TaskPreview_view.aod
index 8ebad251dee..3e7754748bd 100644
--- a/neonView/TaskPreview_view/TaskPreview_view.aod
+++ b/neonView/TaskPreview_view/TaskPreview_view.aod
@@ -3,15 +3,14 @@
   <name>TaskPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
-    <headerFooterLayout>
+    <boxLayout>
       <name>layout</name>
-      <header>Header</header>
-    </headerFooterLayout>
+    </boxLayout>
   </layout>
   <children>
     <cardViewTemplate>
       <name>Header</name>
-      <iconField>#ICON</iconField>
+      <iconField>PRIORITY_ICON</iconField>
       <titleField>SUBJECT</titleField>
       <descriptionField>STATUS</descriptionField>
       <favoriteAction1>newActivity</favoriteAction1>
diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js
index dda81268ff3..a810b588164 100644
--- a/process/KeywordRegistry_basic/process.js
+++ b/process/KeywordRegistry_basic/process.js
@@ -37,6 +37,10 @@ $KeywordRegistry.organisationType = function(){return "OrganisationType";};
 $KeywordRegistry.personGender = function(){return "PersonGender";};
 $KeywordRegistry.taskStatus = function(){return "TaskStatus";};
 $KeywordRegistry.taskStatus$new = function(){return "21bc4d20-1a87-4247-8f7c-8d3a09631850";};
+$KeywordRegistry.taskStatus$inProcess = function(){return "b1fd456f-f5d2-459e-b467-76e2914c8169";};
+$KeywordRegistry.taskStatus$waiting = function(){return "00595a73-22e2-4c3b-a21c-06bdec262d20";};
+$KeywordRegistry.taskStatus$ended = function(){return "7c9d6681-6cf5-4395-b276-3941b6fd0d57";};
+
 $KeywordRegistry.taskType = function(){return "TaskType";};
 $KeywordRegistry.taskType$Task = function(){return "4dee8727-8299-422e-ae41-6cdf9de2dfd7";};
 
@@ -60,7 +64,10 @@ $KeywordRegistry.salesprojectStrenght = function(){return "SalesprojectStrenght"
 $KeywordRegistry.salesprojectState = function(){return "SalesprojectState";};
 $KeywordRegistry.salesprojectPhase = function(){return "SalesprojectPhase";};
 $KeywordRegistry.taskPriority = function(){return "TaskPriority";};
+$KeywordRegistry.taskPriority$none = function(){return "f587f53a-72cc-4b76-9e39-276a26cab2e0";};
 $KeywordRegistry.taskPriority$low = function(){return "09072b59-d12f-469b-acbd-18a28232ff70";};
+$KeywordRegistry.taskPriority$medium = function(){return "4467b33c-3a68-4c8b-ba4a-1eb666a6c774";};
+$KeywordRegistry.taskPriority$high = function(){return "1e42f183-fb97-415f-9917-b43ca159fde4";};
 $KeywordRegistry.taskProgress = function(){return "TaskProgress";};
 $KeywordRegistry.taskProgress$0 = function(){return "ec92271b-eac2-4ec2-be24-ab4abde7e939";};
 $KeywordRegistry.salesprojectCompetitionState = function(){return "SalesprojectCompetitionState";};
-- 
GitLab