From b89c6b2f985ac3897c2b24ffd0b203383dea9a2b Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Tue, 2 Jul 2019 15:54:11 +0200
Subject: [PATCH] 360 degree: use context icons & little fixes

---
 .../entityfields/icon/valueProcess.js         | 31 +++-----
 neonContext/Campaign/Campaign.aod             |  2 +-
 neonContext/Contract/Contract.aod             | 62 +++++++--------
 neonContext/Offer/Offer.aod                   | 77 ++++++++++---------
 neonContext/Salesproject/Salesproject.aod     |  1 +
 neonContext/SupportTicket/SupportTicket.aod   |  1 +
 process/Context_lib/process.js                |  5 ++
 7 files changed, 91 insertions(+), 88 deletions(-)

diff --git a/entity/360Degree_entity/entityfields/icon/valueProcess.js b/entity/360Degree_entity/entityfields/icon/valueProcess.js
index fd816d6a026..2f66eb7c800 100644
--- a/entity/360Degree_entity/entityfields/icon/valueProcess.js
+++ b/entity/360Degree_entity/entityfields/icon/valueProcess.js
@@ -1,20 +1,13 @@
-import("system.vars");
-import("system.result");
-import("system.neon");
-
-var context = vars.getString("$field.TARGET_CONTEXT");
-switch (context)
-{
-    case "Salesproject":
-        result.string("VAADIN:BOOK_DOLLAR");
-        break; 
-    case "Offer":
-        result.string("VAADIN:CART");
-        break;    
-    case "Contract":
-        result.string("VAADIN:FILE_TEXT");
-        break;           
-    case "Campaign":
-        result.string("NEON:GROUP_APPOINTMENT");
-        break;       
+import("system.vars");
+import("system.result");
+import("system.neon");
+import("Context_lib");
+
+var context = vars.getString("$field.TARGET_CONTEXT");
+
+if (context)
+{
+    var contextIcon = ContextUtils.getIcon(context);
+    if (contextIcon)
+        result.string(contextIcon);
 }
\ No newline at end of file
diff --git a/neonContext/Campaign/Campaign.aod b/neonContext/Campaign/Campaign.aod
index 1cbe949d47f..cb3c4d5cb7e 100644
--- a/neonContext/Campaign/Campaign.aod
+++ b/neonContext/Campaign/Campaign.aod
@@ -3,7 +3,7 @@
   <name>Campaign</name>
   <title>Campaign</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <icon>VAADIN:GROUP</icon>
+  <icon>NEON:GROUP_APPOINTMENT</icon>
   <mainview>CampaignMain_view</mainview>
   <filterview>CampaignFilter_view</filterview>
   <editview>CampaignEdit_view</editview>
diff --git a/neonContext/Contract/Contract.aod b/neonContext/Contract/Contract.aod
index c4fb8084f50..edd38006d7b 100644
--- a/neonContext/Contract/Contract.aod
+++ b/neonContext/Contract/Contract.aod
@@ -1,30 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
-  <name>Contract</name>
-  <title>Contract</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <mainview>ContractMain_view</mainview>
-  <filterview>ContractFilter_view</filterview>
-  <editview>ContractEdit_view</editview>
-  <preview>ContractPreview_view</preview>
-  <lookupview>ContractFilter_view</lookupview>
-  <entity>Contract_entity</entity>
-  <references>
-    <neonViewReference>
-      <name>b3049f73-3918-407f-905f-61307497a3d8</name>
-      <view>ContractFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>dbca973c-b41f-4a85-961c-025ebe073e62</name>
-      <view>ContractPreview_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>ff6d8aec-1ad3-4cfe-a7a8-3346f4fa8ff0</name>
-      <view>ContractMain_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>e096f918-5312-46eb-8289-d9eddbeaa1f6</name>
-      <view>ContractEdit_view</view>
-    </neonViewReference>
-  </references>
-</neonContext>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
+  <name>Contract</name>
+  <title>Contract</title>
+  <comment>&lt;null value&gt;</comment>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:FILE_TEXT</icon>
+  <mainview>ContractMain_view</mainview>
+  <filterview>ContractFilter_view</filterview>
+  <editview>ContractEdit_view</editview>
+  <preview>ContractPreview_view</preview>
+  <lookupview>ContractFilter_view</lookupview>
+  <entity>Contract_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>b3049f73-3918-407f-905f-61307497a3d8</name>
+      <view>ContractFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>dbca973c-b41f-4a85-961c-025ebe073e62</name>
+      <view>ContractPreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>ff6d8aec-1ad3-4cfe-a7a8-3346f4fa8ff0</name>
+      <view>ContractMain_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>e096f918-5312-46eb-8289-d9eddbeaa1f6</name>
+      <view>ContractEdit_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonContext/Offer/Offer.aod b/neonContext/Offer/Offer.aod
index 40418dc2dbd..67ff22e4d12 100644
--- a/neonContext/Offer/Offer.aod
+++ b/neonContext/Offer/Offer.aod
@@ -1,38 +1,39 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
-  <name>Offer</name>
-  <title>Offer</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <mainview>OfferMain_view</mainview>
-  <filterview>OfferFilter_view</filterview>
-  <editview>OfferEdit_view</editview>
-  <preview>OfferPreview_view</preview>
-  <lookupview>OfferFilter_view</lookupview>
-  <entity>Offer_entity</entity>
-  <references>
-    <neonViewReference>
-      <name>1dd0290d-b820-4a3b-ada7-1850025ca914</name>
-      <view>OfferFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>08b180ed-7983-4675-9be4-2b55467c713c</name>
-      <view>OfferMain_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>4ed03135-fe7e-4413-8272-c64ad5f3287d</name>
-      <view>OfferEdit_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>c7f456ce-a141-436b-ad4b-7007a95eae04</name>
-      <view>OfferPreview_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>a68c9d63-aff4-4e82-af23-72d20c2b6b76</name>
-      <view>OfferCoverLetter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>d72d1eb1-461c-442c-881d-48fb71b89316</name>
-      <view>OfferDrawer_view</view>
-    </neonViewReference>
-  </references>
-</neonContext>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
+  <name>Offer</name>
+  <title>Offer</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CART</icon>
+  <mainview>OfferMain_view</mainview>
+  <filterview>OfferFilter_view</filterview>
+  <editview>OfferEdit_view</editview>
+  <preview>OfferPreview_view</preview>
+  <lookupview>OfferFilter_view</lookupview>
+  <entity>Offer_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>1dd0290d-b820-4a3b-ada7-1850025ca914</name>
+      <view>OfferFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>08b180ed-7983-4675-9be4-2b55467c713c</name>
+      <view>OfferMain_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>4ed03135-fe7e-4413-8272-c64ad5f3287d</name>
+      <view>OfferEdit_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>c7f456ce-a141-436b-ad4b-7007a95eae04</name>
+      <view>OfferPreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>a68c9d63-aff4-4e82-af23-72d20c2b6b76</name>
+      <view>OfferCoverLetter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>d72d1eb1-461c-442c-881d-48fb71b89316</name>
+      <view>OfferDrawer_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonContext/Salesproject/Salesproject.aod b/neonContext/Salesproject/Salesproject.aod
index c76aeadba0d..b076885b2b5 100644
--- a/neonContext/Salesproject/Salesproject.aod
+++ b/neonContext/Salesproject/Salesproject.aod
@@ -3,6 +3,7 @@
   <name>Salesproject</name>
   <title>Salesproject</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:BOOK_DOLLAR</icon>
   <mainview>SalesprojectMain_view</mainview>
   <filterview>SalesprojectFilter_view</filterview>
   <editview>SalesprojectEdit_view</editview>
diff --git a/neonContext/SupportTicket/SupportTicket.aod b/neonContext/SupportTicket/SupportTicket.aod
index feb7436edc5..fb9473deb5c 100644
--- a/neonContext/SupportTicket/SupportTicket.aod
+++ b/neonContext/SupportTicket/SupportTicket.aod
@@ -3,6 +3,7 @@
   <name>SupportTicket</name>
   <title>Support Ticket</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:QUESTION</icon>
   <mainview>SupportTicketMain_view</mainview>
   <filterview>SupportTicketFilter_view</filterview>
   <editview>SupportTicketEdit_view</editview>
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index 05517109be5..eb26eb95de9 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -34,6 +34,11 @@ ContextUtils.getTitle = function(pContextId)
     return project.getDataModel(project.DATAMODEL_KIND_CONTEXT, pContextId)[1];
 }
 
+ContextUtils.getIcon = function(pContextId)
+{
+    return project.getDataModel(project.DATAMODEL_KIND_CONTEXT, pContextId)[5];
+}
+
 /**
  * TODO: use System function. Currently the Name is also the id.
  * Returns the Name of a context by the Id
-- 
GitLab