Commit 890f7498 authored by Jérome Perrin's avatar Jérome Perrin

CRM: New preference for event response use

This is a new preference for uses of resources that can be used when creating a response to an event. The create response dialog uses it in two places:
- Only resources with this uses are proposed
- Only notification messages that creates events with resource with this use are proposed
parent 9973113d
......@@ -50,14 +50,39 @@
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>return [\'\'] + [(notification_message.getTranslatedTitle(), notification_message.getReference())\n
for notification_message in context.getPortalObject().portal_catalog(\n
validation_state=\'validated\', portal_type=\'Notification Message\')]\n
<value> <string>"""Return the notification messages that can be used as a template to create an event.\n
"""\n
reference_set = set() # If there are two messages with same reference, we only\n
# display one entry, because later code will use getDocumentValue\n
item_list = [(\'\', \'\')]\n
\n
portal = context.getPortalObject()\n
\n
preferred_use_list = portal.portal_preferences.getPreferredEventResponseUseList()\n
\n
for notification_message in portal.portal_catalog(\n
validation_state=\'validated\', portal_type=\'Notification Message\'):\n
notification_message = notification_message.getObject()\n
reference = notification_message.getReference()\n
if reference and reference not in reference_set:\n
reference_set.add(reference)\n
service = notification_message.getSpecialiseValue()\n
if preferred_use_list:\n
if service is not None:\n
for preferred_use in preferred_use_list:\n
if service.isMemberOf(\'use/%s\' % preferred_use):\n
item_list.append(\n
(\'%s - %s\' % (reference, notification_message.getTranslatedTitle()), reference))\n
else:\n
item_list.append(\n
(\'%s - %s\' % (reference, notification_message.getTranslatedTitle()), reference))\n
\n
return sorted(item_list)\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
<value> <string>response_only=False</string> </value>
</item>
<item>
<key> <string>id</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>return context.Ticket_getResourceItemList(\n
portal_type=\'Event\',\n
use=context.getPortalObject().portal_preferences.getPreferredEventResponseUse())\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Event_getResponseResourceItemList</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -10,9 +10,9 @@
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
<string>default</string>
<string>items</string>
<string>title</string>
</list>
</value>
</item>
......@@ -78,6 +78,10 @@
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -85,6 +89,10 @@
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_list_field</string> </value>
......@@ -93,6 +101,12 @@
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
......@@ -128,7 +142,7 @@
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/Event_getResourceItemList</string> </value>
<value> <string>here/Event_getResponseResourceItemList</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -88,6 +88,7 @@
<value>
<list>
<string>my_preferred_event_use_list</string>
<string>my_preferred_event_response_use_list</string>
<string>my_preferred_event_resource</string>
<string>my_preferred_event_assessment_form_id_list</string>
<string>my_preferred_event_sender_email</string>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>items</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_preferred_event_response_use_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_multi_list_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Event Responses Uses</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: getattr(here.portal_categories.use, preferences.getPreference(\'preferred_category_child_item_list_method_id\', \'getCategoryChildCompactLogicalPathItemList\'))(local_sort_id=(\'int_index\', \'translated_title\'), checked_permission=\'View\')</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
699
\ No newline at end of file
701
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/lines</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Use values to filter list of resource when creating a response event</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_event_response_use_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value> <string>python:[]</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
73
\ No newline at end of file
74
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment