From 75608ac219a6e29c0593677e6e27eac85f005433 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com>
Date: Thu, 19 Apr 2012 14:28:06 +0200
Subject: [PATCH] CRM forms improvement

- move "keep in draft state" field
- fix list of nodes displayed on event creation dialog
- display warning for mail message only
---
 .../erp5_crm/Base_viewAddEventDialog.xml        |  2 +-
 .../your_destination.xml                        |  2 +-
 .../Base_viewAddEventDialog/your_source.xml     |  2 +-
 .../erp5_crm/Event_createFollowUpTicket.xml     |  2 +-
 .../your_warning_message.xml                    | 17 ++++++++++++++++-
 .../erp5_crm/Ticket_getArrowItemList.xml        | 15 +++++++++------
 .../erp5_crm/Ticket_viewNewEventDialog.xml      |  2 +-
 7 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Base_viewAddEventDialog.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Base_viewAddEventDialog.xml
index 1e154fdb12..516f988005 100644
--- a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Base_viewAddEventDialog.xml
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Base_viewAddEventDialog.xml
@@ -82,6 +82,7 @@
                     <value>
                       <list>
                         <string>your_text_content</string>
+                        <string>your_keep_draft</string>
                       </list>
                     </value>
                 </item>
@@ -101,7 +102,6 @@
                         <string>your_direction</string>
                         <string>your_source</string>
                         <string>your_destination</string>
-                        <string>your_keep_draft</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Base_viewAddEventDialog/your_destination.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Base_viewAddEventDialog/your_destination.xml
index d484c5cd7a..55efd0ce35 100644
--- a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Base_viewAddEventDialog/your_destination.xml
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Base_viewAddEventDialog/your_destination.xml
@@ -126,7 +126,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Ticket_getArrowItemList()</string> </value>
+            <value> <string>python: here.Ticket_getArrowItemList()+ [(here.getTitle(), here.getRelativeUrl())]</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Base_viewAddEventDialog/your_source.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Base_viewAddEventDialog/your_source.xml
index a903c12345..a2ef32e657 100644
--- a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Base_viewAddEventDialog/your_source.xml
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Base_viewAddEventDialog/your_source.xml
@@ -126,7 +126,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Ticket_getArrowItemList()</string> </value>
+            <value> <string>python: here.Ticket_getArrowItemList() + [(here.getTitle(), here.getRelativeUrl())]</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_createFollowUpTicket.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_createFollowUpTicket.xml
index ea560c40e2..fda75b7c3a 100644
--- a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_createFollowUpTicket.xml
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_createFollowUpTicket.xml
@@ -82,7 +82,7 @@ ticket = module.newContent(\n
             title=follow_up_ticket_title,\n
             start_date=event.getStartDate(),\n
             destination_decision_list=event.getSourceList(),\n
-            destination_section=event.getSourceSection() or event.getSource(),\n
+            # destination_section=event.getSourceSection() or event.getSource(),\n
             source_trade_set=operator_list,\n
             source_value=source_value,\n
             source_section=source_section,\n
diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewStartWorkflowActionDialog/your_warning_message.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewStartWorkflowActionDialog/your_warning_message.xml
index 7d5c10b087..c86525fdf3 100644
--- a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewStartWorkflowActionDialog/your_warning_message.xml
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewStartWorkflowActionDialog/your_warning_message.xml
@@ -148,7 +148,9 @@
                 </item>
                 <item>
                     <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
                 </item>
                 <item>
                     <key> <string>external_validator</string> </key>
@@ -304,4 +306,17 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: here.getPortalType() == "Mail Message"</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Ticket_getArrowItemList.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Ticket_getArrowItemList.xml
index 0f967279c3..7a78c83a1c 100644
--- a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Ticket_getArrowItemList.xml
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Ticket_getArrowItemList.xml
@@ -54,18 +54,21 @@
 arrow = portal.portal_property_sheets.get("Arrow")\n
 \n
 value_list = [(\'\', \'\'),]\n
+value_list_append = value_list.append\n
 \n
 # add current user\n
 user = portal.ERP5Site_getAuthenticatedMemberPersonValue()\n
 if user is not None:\n
-  value_list.append((user.getTitle(), user.getRelativeUrl()))\n
-\n
-for property in arrow.contentValues():\n
-  value = context.getProperty("%s_value" %property.getReference(), None)\n
-  if value is not None and value.getPortalType() in portal.getPortalNodeTypeList():\n
-    value_list.append((value.getTitle(), value.getRelativeUrl()))\n
+  value_list_append((user.getTitle(), user.getRelativeUrl()))\n
 \n
+for property_value in arrow.contentValues():\n
+  value = context.getProperty("%s_value" %property_value.getReference(), None)\n
+  if value and value.getPortalType() in portal.getPortalNodeTypeList():\n
+    value = (value.getTitle(), value.getRelativeUrl())\n
+    if value not in value_list:\n
+      value_list_append(value)\n
 \n
+value_list.sort(key=lambda x: x[0])\n
 \n
 return value_list\n
 </string> </value>
diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Ticket_viewNewEventDialog.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Ticket_viewNewEventDialog.xml
index f2a681f5d5..81b074eaf4 100644
--- a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Ticket_viewNewEventDialog.xml
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Ticket_viewNewEventDialog.xml
@@ -76,6 +76,7 @@
                     <value>
                       <list>
                         <string>your_text_content</string>
+                        <string>your_keep_draft</string>
                       </list>
                     </value>
                 </item>
@@ -95,7 +96,6 @@
                         <string>your_direction</string>
                         <string>your_source</string>
                         <string>your_destination</string>
-                        <string>your_keep_draft</string>
                       </list>
                     </value>
                 </item>
-- 
2.30.9