Commit 5b8532f2 authored by Yusei Tahara's avatar Yusei Tahara

erp5_crm: Unify ticket reports and remove past future grouping that did not make sense.

parent 050c8d29
......@@ -30,7 +30,9 @@
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
......@@ -71,7 +73,7 @@
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/CampaignModule_viewCampaignDetailedReportDialog</string> </value>
<value> <string>string:${object_url}/Folder_viewTicketDetailedReportDialog</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -30,7 +30,9 @@
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
......@@ -71,7 +73,7 @@
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/CampaignModule_viewCampaignStatusReportDialog</string> </value>
<value> <string>string:${object_url}/Folder_viewTicketStatusReportDialog</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -30,7 +30,9 @@
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
......@@ -71,7 +73,7 @@
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/MeetingModule_viewMeetingDetailedReportDialog</string> </value>
<value> <string>string:${object_url}/Folder_viewTicketDetailedReportDialog</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -30,7 +30,9 @@
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
......@@ -71,7 +73,7 @@
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/MeetingModule_viewMeetingStatusReportDialog</string> </value>
<value> <string>string:${object_url}/Folder_viewTicketStatusReportDialog</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -30,7 +30,9 @@
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
......@@ -71,7 +73,7 @@
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/SaleOpportunityModule_viewSaleOpportunityDetailedReportDialog</string> </value>
<value> <string>string:${object_url}/Folder_viewTicketDetailedReportDialog</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -30,7 +30,9 @@
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
......@@ -71,7 +73,7 @@
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/SaleOpportunityModule_viewSaleOpportunityStatusReportDialog</string> </value>
<value> <string>string:${object_url}/Folder_viewTicketStatusReportDialog</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -30,7 +30,9 @@
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
......@@ -71,7 +73,7 @@
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/SupportRequestModule_viewSupportRequestDetailedReportDialog</string> </value>
<value> <string>string:${object_url}/Folder_viewTicketDetailedReportDialog</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -30,7 +30,9 @@
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
......@@ -71,7 +73,7 @@
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/SupportRequestModule_viewSupportRequestStatusReportDialog</string> </value>
<value> <string>string:${object_url}/Folder_viewTicketStatusReportDialog</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -152,6 +152,10 @@
<string>your_dialog_mode_follow_up</string>
<string>my_dialog_mode_direction</string>
<string>my_causality_translated_portal_type</string>
<string>your_report_ticket_simulation_state</string>
<string>your_dialog_ticket_type</string>
<string>your_report_ticket_type</string>
<string>your_dialog_ticket_simulation_state</string>
</list>
</value>
</item>
......
......@@ -10,14 +10,15 @@
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>editable</string>
<string>items</string>
<string>size</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_destination_decision_language</string> </value>
<value> <string>your_dialog_ticket_simulation_state</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -54,21 +55,31 @@
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<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>field_id</string> </key>
<value> <string></string> </value>
<key> <string>size</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>form_id</string> </key>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
......@@ -79,25 +90,31 @@
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
<key> <string>field_id</string> </key>
<value> <string>your_category_list</string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
<key> <string>form_id</string> </key>
<value> <string>Base_viewDialogFieldLibrary</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_string_field</string> </value>
<key> <string>items</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
<key> <string>size</string> </key>
<value> <int>5</int> </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>State</string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -112,7 +129,20 @@
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python:cell.hasDestinationDecision() and cell.getDestinationDecisionValue().getLanguage()</string> </value>
<value> <string>python: context.ERP5Site_getWorkflowStateItemList(portal_type=context.getPortalTicketTypeList(), state_var=\'simulation_state\', display_none_category=False)</string> </value>
</item>
</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: len(field.get_value(\'items\'))</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -11,13 +11,14 @@
<value>
<list>
<string>default</string>
<string>editable</string>
<string>items</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_causality_translated_portal_type</string> </value>
<value> <string>your_dialog_ticket_type</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -55,12 +56,6 @@
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
......@@ -71,10 +66,20 @@
<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>
......@@ -84,24 +89,32 @@
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
<value>
<list/>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_string_field</string> </value>
<value> <string>your_category_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
<value> <string>Base_viewDialogFieldLibrary</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>Ticket Types</string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -116,7 +129,7 @@
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python:getattr(cell.getCausalityValue(), \'getTranslatedPortalType\', lambda:None)()</string> </value>
<value> <string>python:here.Folder_getResourceItemListForTicketModule(empty_item=False)</string> </value>
</item>
</dictionary>
</pickle>
......
<?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>default</string>
<string>enabled</string>
<string>items</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_report_ticket_simulation_state</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>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<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">AAAAAAAAAAQ=</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>default</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_category_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewDialogFieldLibrary</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>Simulation State</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>request/simulation_state</string> </value>
</item>
</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>request/simulation_state | nothing</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: context.ERP5Site_getWorkflowStateItemList(portal_type=context.getPortalTicketTypeList(), state_var=\'simulation_state\', display_none_category=False)</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -10,13 +10,16 @@
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>report_method</string>
<string>default</string>
<string>enabled</string>
<string>items</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_reportbox</string> </value>
<value> <string>your_report_ticket_type</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -52,6 +55,18 @@
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
......@@ -60,10 +75,20 @@
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</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>
......@@ -71,26 +96,81 @@
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_reportbox</string> </value>
<value> <string>your_category_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewCRMFieldLibrary</string> </value>
<value> <string>Base_viewDialogFieldLibrary</string> </value>
</item>
<item>
<key> <string>report_method</string> </key>
<value> <string>MeetingModule_getMeetingDetailedReportSectionList</string> </value>
<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>Ticket Types</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>request/ticket_type</string> </value>
</item>
</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>request/ticket_type | nothing</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python:here.Folder_getResourceItemListForTicketModule(empty_item=False)</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
from Products.PythonScripts.standard import Object
request = container.REQUEST
portal = context.getPortalObject()
request_start_date = request.get('from_date', None)
request_stop_date = request.get('at_date', None)
request_ticket_type = request.get('campaign_type', None)
request_validation_state = request.get('validation_state', None)
future_state_list = portal.Event_getFutureStateList()
past_state_list = portal.Event_getPastStateList()
past_title=portal.Base_translateString("past")
line_list = []
# Prepare the parameters to filter
query_dict = {}
if request_start_date:
query_dict['delivery.start_date'] = dict(range='min', query=request_start_date)
if request_stop_date:
query_dict['delivery.stop_date'] = dict(range='ngt',
query=request_stop_date.latestTime())
if request_validation_state:
query_dict['simulation_state'] = request_validation_state
if request_ticket_type:
query_dict['default_resource_uid'] = [portal.restrictedTraverse(x).getUid()
for x in request_ticket_type]
section_uid = portal.Base_getSectionUidListForSectionCategory(request.get('section_category',None))
# Make the searsh using parameters
ticketlist=portal.portal_catalog.searchResults(portal_type="Campaign",
source_section_uid=section_uid,
sort_on='title',
**query_dict)
# Get every result object
for r_ticket in ticketlist:
ticket=r_ticket.getObject()
#show future follow-up events
eventlist=portal.portal_catalog.searchResults(portal_type=portal.getPortalEventTypeList(),
follow_up_uid=ticket.getUid(),
simulation_state=future_state_list)
#sort the list by destination (recipient)
eventlist_sorted=[]
for event in eventlist:
eventlist_sorted.append(event.getObject())
eventlist_sorted.sort(key=lambda x: x.getDestinationTitle())
for event in eventlist_sorted:
line_list.append( Object(uid='new_',
campaign = ticket.getTitle(),
type = event.getTranslatedPortalType(),
destination_title_list = event.getDestinationTitleList(),
title = event.getTitle(),
stop_date = event.getStopDate(),
start_date = event.getStartDate(),
source = event.getSourceTitle(),
validation_state = event.getTranslatedSimulationStateTitle()))
#show past or future causality events of every future event
event_causality_list=portal.portal_catalog.searchResults(portal_type=
portal.getPortalEventTypeList(),
simulation_state=future_state_list+past_state_list,
causality_uid=event.getUid())
for r_event_causality in event_causality_list:
event_causality=r_event_causality.getObject()
#check that one event it isn't related by causality and follow-up with the same ticket
if ticket.getUid()<>event_causality.getFollowUpUid():
line_list.append( Object(uid='new_',
campaign = "",
type = event_causality.getTranslatedPortalType(),
destination_title_list = event_causality.getDestinationTitleList(),
title = event_causality.getTitle(),
stop_date = event_causality.getStopDate(),
start_date = event_causality.getStartDate(),
source = event_causality.getSourceTitle(),
validation_state = event_causality.getTranslatedSimulationStateTitle()))
#show past follow-up events
eventlist=portal.portal_catalog.searchResults(portal_type=portal.getPortalEventTypeList(),
follow_up_uid=ticket.getUid(),
simulation_state=past_state_list)
#sort the list by source
eventlist_sorted=[]
for event in eventlist:
eventlist_sorted.append(event.getObject())
eventlist_sorted.sort(key=lambda x: x.getSourceTitle())
for event in eventlist_sorted:
line_list.append( Object(uid='new_',
campaign = ticket.getTitle(),
type = event.getTranslatedPortalType(),
destination_title_list = event.getDestinationTitleList(),
title = event.getTitle(),
stop_date = event.getStopDate(),
start_date = event.getStartDate(),
source = event.getSourceTitle(),
validation_state = event.getTranslatedSimulationStateTitle()))
#show past or future causality events of every past event
event_causality_list=portal.portal_catalog.searchResults(portal_type=
portal.getPortalEventTypeList(),
simulation_state=future_state_list+past_state_list,
causality_uid=event.getUid())
for r_event_causality in event_causality_list:
event_causality=r_event_causality.getObject()
#check that one event it isn't related by causality and follow-up with the same ticket
if ticket.getUid()<>event_causality.getFollowUpUid():
line_list.append( Object(uid='new_',
campaign = "",
type = event_causality.getTranslatedPortalType(),
destination_title_list = event_causality.getDestinationTitleList(),
title = event_causality.getTitle(),
stop_date = event_causality.getStopDate(),
start_date = event_causality.getStartDate(),
source = event_causality.getSourceTitle(),
validation_state = event_causality.getTranslatedSimulationStateTitle()))
if line_list==[]:
line_list.append(Object(uid='new_'))
return line_list
from Products.ERP5Form.Report import ReportSection
result=[]
result.append(ReportSection(
path=context.getPhysicalPath(),
title=context.Base_translateString('Campaigns'),
form_id='CampaignModule_viewCampaignStatusList'))
result.append(ReportSection(
path=context.getPhysicalPath(),
title=context.Base_translateString('Events'),
form_id='CampaignModule_viewCampaignDetailedEventsList'))
return result
<?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>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CampaignModule_getCampaignDetailedReportSectionList</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
from Products.PythonScripts.standard import Object
request = container.REQUEST
portal = context.getPortalObject()
request_start_date = request.get('from_date', None)
request_stop_date = request.get('at_date', None)
request_ticket_type = request.get('campaign_type', None)
request_validation_state = request.get('validation_state', None)
request_section_category = request.get('section_category', None)
future_state_list = portal.Event_getFutureStateList()
past_state_list = portal.Event_getPastStateList()
line_list = []
# Prepare the parameters to filter
query_dict = {}
if request_start_date:
query_dict['delivery.start_date'] = dict(range='min', query=request_start_date)
if request_stop_date:
query_dict['delivery.stop_date'] = dict(range='ngt',
query=request_stop_date.latestTime())
if request_validation_state:
query_dict['simulation_state'] = request_validation_state
if request_ticket_type:
query_dict['default_resource_uid'] = [portal.restrictedTraverse(x).getUid()
for x in request_ticket_type]
section_uid = context.Base_getSectionUidListForSectionCategory(request_section_category)
# Make the searsh using parameters
ticketlist=portal.portal_catalog.searchResults(portal_type="Campaign",
source_section_uid=section_uid,
sort_on='title',
**query_dict)
# Get every result object
for r_ticket in ticketlist:
ticket=r_ticket.getObject()
future = 0
past = 0.0
progression=0.0
#count future follow-up events
future=int(portal.portal_catalog.countResults(portal_type=portal.getPortalEventTypeList(),
follow_up_uid=ticket.getUid(),
simulation_state=future_state_list)[0][0])
#count past follow-up events
past=int(portal.portal_catalog.countResults(portal_type=portal.getPortalEventTypeList(),
follow_up_uid=ticket.getUid(),
simulation_state=past_state_list)[0][0])
#count past causality events
past+=int(portal.portal_catalog.countResults(event_causality_ticket_uid=ticket.getUid(),
portal_type=portal.getPortalEventTypeList(),
simulation_state=past_state_list)[0][0])
#count future causality events
future+=int(portal.portal_catalog.countResults(event_causality_ticket_uid=ticket.getUid(),
portal_type=portal.getPortalEventTypeList(),
simulation_state=future_state_list)[0][0])
if future>0:
progression=float(100*past/(past+future))
line_list.append(Object(uid='new_',
title = ticket.getTitle(),
ticket_type = ticket.getResourceTranslatedTitle(),
stop_date = ticket.getStopDate(),
start_date = ticket.getStartDate(),
destination_section = ticket.getDestinationSectionTitle(),
destination_decision = ticket.getDestinationDecisionTitle(),
source = ticket.getSourceTitle(),
validation_state = ticket.getTranslatedSimulationStateTitle(),
future = future,
past = past,
progression = progression / 100,
))
if line_list == []:
line_list.append(Object(uid='new_'))
return line_list
from Products.ERP5Form.Report import ReportSection
result=[]
result.append(ReportSection(
path=context.getPhysicalPath(),
title=context.Base_translateString('Campaigns'),
form_id='CampaignModule_viewCampaignStatusList'))
return result
<?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>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CampaignModule_getCampaignStatusReportSectionList</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list>
<string>your_reportbox</string>
</list>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>your_at_date</string>
<string>your_campaign_type</string>
<string>your_from_date</string>
<string>your_section_category</string>
<string>your_validation_state</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CampaignModule_viewCampaignDetailedReport</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>CampaignModule_viewCampaignDetailedReport</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>report_view</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Campaign Detailed Report</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_campaign_type</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>target</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>your_report_campaign_type</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewCRMFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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>report_method</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_reportbox</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>target</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>your_reportbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewCRMFieldLibrary</string> </value>
</item>
<item>
<key> <string>report_method</string> </key>
<value> <string>CampaignModule_getCampaignDetailedReportSectionList</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>CampaignModule_viewCampaignDetailedReport</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>your_section_category</string>
<string>your_from_date</string>
<string>your_at_date</string>
<string>your_portal_skin</string>
<string>your_format</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>your_validation_state</string>
<string>your_campaign_type</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CampaignModule_viewCampaignDetailedReportDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>CampaignModule_viewCampaignDetailedReportDialog</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Campaign Detailed Report</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_campaign_type</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>target</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>your_dialog_campaign_type</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewCRMFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>listbox</string>
</list>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list>
<string>listbox_start_date</string>
<string>listbox_stop_date</string>
<string>listbox_progression</string>
</list>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CampaignModule_viewCampaignStatusList</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>CampaignModule_viewCampaignStatusList</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_view</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Campaign Status</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list>
<string>your_reportbox</string>
</list>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>your_at_date</string>
<string>your_campaign_type</string>
<string>your_from_date</string>
<string>your_section_category</string>
<string>your_validation_state</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CampaignModule_viewCampaignStatusReport</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>CampaignModule_viewCampaignStatusReport</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>report_view</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Campaign Status</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_campaign_type</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>target</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>your_report_campaign_type</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewCRMFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_validation_state</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>target</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>your_report_validation_state</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewCRMFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_validation_state</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>target</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>your_dialog_validation_state</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewCRMFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -9,14 +9,12 @@ request_stop_date = request.get('at_date', None)
ticket_type_list = portal.getPortalTicketTypeList()
#define the list of incoming or outgoing simulation states
direction_state_list=kw['direction']
line_list = []
column_totals={}
column_totals['unassigned']=0
column_totals = {}
column_totals['unassigned'] = 0
for ticket_type in ticket_type_list:
# XXX why replace ?
column_totals[ticket_type.replace(' ','')]=0
total_count=0
column_totals[ticket_type] = 0
total_count = 0
# Prepare the parameters to filter
query_dict = {}
......@@ -26,66 +24,57 @@ if request_stop_date:
query_dict['delivery.stop_date'] = dict(range='ngt',
query=request_stop_date.latestTime())
#Get direction workfolow state list (simulation states)
for state in portal.ERP5Site_getWorkflowStateItemList(
portal_type=portal.getPortalEventTypeList(), state_var='simulation_state'):
if state[1] in direction_state_list:
#count number of objects in state with request parameters
obj = Object(uid="new_")
obj['validation_state']=state[0]
obj['unassigned']=0
total_count_line=0
#add all ticket types columns
for ticket_type in ticket_type_list:
obj[ticket_type.replace(' ','')]=0
#search all events in actual state
event_list=portal.portal_catalog.searchResults(
portal_type=portal.getPortalEventTypeList(),
simulation_state=state[1],
**query_dict)
for revent in event_list:
event=revent.getObject()
#count number of objects in state-ticket type with request parameters
total_count_line+=1
#Follow-up has priority
if not event.getFollowUpUid() == None:
ticket_type=portal.restrictedTraverse(
event.getFollowUp()).getPortalType()
else:
if not event.getCausalityUid() == None:
event_rel=portal.restrictedTraverse(event.getCausality())
#check relationship of the event with ticket by causality
if not event_rel.getFollowUpUid() == None:
ticket_type=portal.restrictedTraverse(
event_rel.getFollowUp()).getPortalType()
else:
#Unassigned
ticket_type='unassigned'
display_none_category=False,
portal_type=portal.getPortalEventTypeList(),
state_var='simulation_state'):
#count number of objects in state with request parameters
obj = Object(uid="new_")
obj['simulation_state'] = state[0]
obj['unassigned'] = 0
total_count_line = 0
#add all ticket types columns
for ticket_type in ticket_type_list:
obj[ticket_type] = 0
#search all events in actual state
event_list = portal.portal_catalog.searchResults(
portal_type=portal.getPortalEventTypeList(),
simulation_state=state[1],
**query_dict)
for revent in event_list:
event = revent.getObject()
#count number of objects in state-ticket type with request parameters
total_count_line += 1
#Follow-up has priority
if not event.getFollowUpUid() == None:
ticket_type = portal.restrictedTraverse(event.getFollowUp()).getPortalType()
else:
if not event.getCausalityUid() == None:
event_rel=portal.restrictedTraverse(event.getCausality())
#check relationship of the event with ticket by causality
if not event_rel.getFollowUpUid() == None:
ticket_type = portal.restrictedTraverse(event_rel.getFollowUp()).getPortalType()
else:
#Unassigned
ticket_type='unassigned'
obj[ticket_type.replace(' ','')]=obj[ticket_type.replace(' ','')]+1
column_totals[ticket_type.replace(' ','')]=column_totals[
ticket_type.replace(' ','')]+1
obj['total']=total_count_line
total_count+=total_count_line
line_list.append(obj)
ticket_type = 'unassigned'
else:
#Unassigned
ticket_type = 'unassigned'
obj[ticket_type] = obj[ticket_type] + 1
column_totals[ticket_type] = column_totals[ticket_type] + 1
obj['total'] = total_count_line
total_count += total_count_line
line_list.append(obj)
# Store the stat line in request
obj = Object(uid="new_")
obj['validation_state']=portal.Base_translateString('Total')
obj['total']=total_count
obj['simulation_state'] = portal.Base_translateString('Total')
obj['total'] = total_count
for ticket_type in context.getPortalTicketTypeList():
# XXX why replace ?
obj[ticket_type.replace(' ','')]=column_totals[ticket_type.replace(' ','')]
obj['unassigned']=column_totals['unassigned']
line_stats_list=[]
obj[ticket_type] = column_totals[ticket_type]
obj['unassigned'] = column_totals['unassigned']
line_stats_list = []
line_stats_list.append(obj)
request.set('stat_line',line_stats_list)
#Sort the result by validation_state
def comparator(x, y):
return cmp(x['validation_state'], y['validation_state'])
line_list.sort(comparator)
return line_list
......@@ -3,7 +3,7 @@ result=[]
request = context.REQUEST
params = {}
selection_columns = [('validation_state', 'State')]
selection_columns = [('simulation_state', 'State')]
#Add dynamicaly ticket type columns to the form
#The name of column must be without spaces
for ticket_type in context.getPortalTicketTypeList():
......@@ -11,24 +11,10 @@ for ticket_type in context.getPortalTicketTypeList():
selection_columns.append(('unassigned', 'Unassigned'))
selection_columns.append(('total', 'Total'))
#Future states
params=dict(direction=context.Event_getFutureStateList())
result.append(ReportSection(
path=context.getPhysicalPath(),
selection_columns=selection_columns,
listbox_display_mode='FlatListMode',
title=context.Base_translateString('Future Events'),
selection_params=params,
title=context.Base_translateString('Events'),
form_id='EventModule_viewEventActivityList'))
#Past states
params=dict(direction=context.Event_getPastStateList())
result.append(ReportSection(
path=context.getPhysicalPath(),
selection_columns=selection_columns,
listbox_display_mode='FlatListMode',
title=context.Base_translateString('Past Events'),
selection_params=params,
form_id='EventModule_viewEventActivityList'))
return result
......@@ -8,7 +8,7 @@ selection_columns.append(('resource','Type'))
#Add dynamicaly event states columns to the form
#The name of column must be without spaces
for event_state in context.ERP5Site_getWorkflowStateItemList(
portal_type=context.getPortalEventTypeList(), state_var='simulation_state', translate=False):
portal_type=context.getPortalEventTypeList(), state_var='simulation_state', translate=False, display_none_category=False):
if event_state[1]!='deleted':
selection_columns.append((event_state[1],event_state[0]))
selection_columns.append(('total', 'Total'))
......
......@@ -360,7 +360,7 @@
<value>
<list>
<tuple>
<string>validation_state</string>
<string>simulation_state</string>
<string>State</string>
</tuple>
</list>
......@@ -515,7 +515,12 @@
<item>
<key> <string>sort_columns</string> </key>
<value>
<list/>
<list>
<tuple>
<string>dummy</string>
<string>dummy</string>
</tuple>
</list>
</value>
</item>
<item>
......
......@@ -313,6 +313,10 @@
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>anchor</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value>
......@@ -332,6 +336,10 @@
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_display_style</string> </key>
<value> <string>table</string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value>
......@@ -342,6 +350,12 @@
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_style_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value>
......@@ -376,10 +390,18 @@
<list/>
</value>
</item>
<item>
<key> <string>global_search_column</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>hide_rows_on_no_search_criterion</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <int>20</int> </value>
......@@ -400,6 +422,10 @@
<list/>
</value>
</item>
<item>
<key> <string>page_navigation_template</string> </key>
<value> <string>ListBox_viewSliderPageNavigationRenderer</string> </value>
</item>
<item>
<key> <string>page_template</string> </key>
<value> <string></string> </value>
......@@ -420,6 +446,10 @@
<key> <string>report_tree</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>row_css_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <int>0</int> </value>
......@@ -447,7 +477,12 @@
<item>
<key> <string>sort_columns</string> </key>
<value>
<list/>
<list>
<tuple>
<string>dummy</string>
<string>dummy</string>
</tuple>
</list>
</value>
</item>
<item>
......@@ -519,10 +554,22 @@
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>style_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Events</string> </value>
</item>
<item>
<key> <string>untranslatable_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>url_columns</string> </key>
<value>
......@@ -537,13 +584,7 @@
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.MethodField</string>
<string>Method</string>
</tuple>
<none/>
</tuple>
<global name="Method" module="Products.Formulator.MethodField"/>
</pickle>
<pickle>
<dictionary>
......@@ -556,13 +597,7 @@
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.MethodField</string>
<string>Method</string>
</tuple>
<none/>
</tuple>
<global name="Method" module="Products.Formulator.MethodField"/>
</pickle>
<pickle>
<dictionary>
......
allowed_content_type_list = context.portal_types[context.getPortalType()].getTypeAllowedContentTypeList()
if allowed_content_type_list:
return context.newContent(portal_type=allowed_content_type_list[0], temp_object=True).Ticket_getResourceItemList(
include_context=include_context,
empty_item=empty_item,
indent_category=indent_category,
indent_resource=indent_resource,
compact=compact,
empty_category=empty_category,
use_relative_url=use_relative_url)
return []
......@@ -50,11 +50,11 @@
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>**kw</string> </value>
<value> <string>include_context=True, empty_item=True, indent_category=None, indent_resource=None, compact=None, empty_category=False, use_relative_url=None</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CampaignModule_getCampaignDetailedEventsLineList</string> </value>
<value> <string>Folder_getResourceItemListForTicketModule</string> </value>
</item>
</dictionary>
</pickle>
......
from Products.PythonScripts.standard import Object
request = container.REQUEST
portal = context.getPortalObject()
request_start_date = request.get('from_date', None)
request_stop_date = request.get('at_date', None)
request_ticket_type = request.get('ticket_type', None)
request_simulation_state = request.get('simulation_state', None)
line_list = []
# Prepare the parameters to filter
query_dict = {}
if request_start_date:
query_dict['delivery.start_date'] = dict(range='min', query=request_start_date)
if request_stop_date:
query_dict['delivery.stop_date'] = dict(range='ngt', query=request_stop_date.latestTime())
if request_simulation_state:
query_dict['simulation_state'] = request_simulation_state
if request_ticket_type:
query_dict['default_resource_uid'] = [portal.restrictedTraverse(x).getUid() for x in request_ticket_type]
section_uid = portal.Base_getSectionUidListForSectionCategory(request.get('section_category',None))
allowed_content_type_list = portal.portal_types[context.getPortalType()].getTypeAllowedContentTypeList()
# Make the searsh using parameters
ticket_list = portal.portal_catalog.searchResults(portal_type=allowed_content_type_list,
source_section_uid=section_uid,
**query_dict)
# Get every result object
for r_ticket in ticket_list:
ticket=r_ticket.getObject()
#show follow-up events
event_list=portal.portal_catalog.searchResults(portal_type=portal.getPortalEventTypeList(),
follow_up_uid=ticket.getUid())
for event in event_list:
line_list.append(Object(uid='new_',
ticket=ticket.getTitle(),
type=event.getTranslatedPortalType(),
destination_title=', '.join(event.getDestinationTitleList()),
title=event.getTitle(),
stop_date=event.getStopDate(),
start_date=event.getStartDate(),
source=event.getSourceTitle(),
simulation_state=event.getTranslatedSimulationStateTitle()))
#show causality events of every event
event_causality_list = portal.portal_catalog.searchResults(portal_type=portal.getPortalEventTypeList(),
causality_uid=event.getUid())
for r_event_causality in event_causality_list:
event_causality = r_event_causality.getObject()
#check that one event it isn't related by causality and follow-up with the same ticket
if ticket.getUid() <> event_causality.getFollowUpUid():
line_list.append(Object(uid='new_',
ticket='',
type=event_causality.getTranslatedPortalType(),
destination_title=', '.join(event_causality.getDestinationTitleList()),
title=event_causality.getTitle(),
stop_date=event_causality.getStopDate(),
start_date=event_causality.getStartDate(),
source=event_causality.getSourceTitle(),
simulation_state=event_causality.getTranslatedSimulationStateTitle()))
return line_list
......@@ -54,7 +54,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>MeetingModule_getMeetingStatusLineList</string> </value>
<value> <string>Folder_getTicketDetailedEventsLineList</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -2,11 +2,11 @@ from Products.ERP5Form.Report import ReportSection
result=[]
result.append(ReportSection(
path=context.getPhysicalPath(),
title=context.Base_translateString('Meetings'),
form_id='MeetingModule_viewMeetingStatusList'))
title=context.Base_translateString('Tickets'),
form_id='Folder_viewTicketStatusList'))
result.append(ReportSection(
path=context.getPhysicalPath(),
title=context.Base_translateString('Events'),
form_id='MeetingModule_viewMeetingDetailedEventsList'))
form_id='Folder_viewTicketDetailedEventsList'))
return result
......@@ -54,7 +54,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Event_getFutureStateList</string> </value>
<value> <string>Folder_getTicketDetailedReportSectionList</string> </value>
</item>
</dictionary>
</pickle>
......
from Products.PythonScripts.standard import Object
request = container.REQUEST
portal = context.getPortalObject()
request_start_date = request.get('from_date', None)
request_stop_date = request.get('at_date', None)
request_ticket_type = request.get('ticket_type', None)
request_simulation_state = request.get('simulation_state', None)
request_section_category = request.get('section_category', None)
line_list = []
# Prepare the parameters to filter
query_dict = {}
if request_start_date:
query_dict['delivery.start_date'] = dict(range='min', query=request_start_date)
if request_stop_date:
query_dict['delivery.stop_date'] = dict(range='ngt',
query=request_stop_date.latestTime())
if request_simulation_state:
query_dict['simulation_state'] = request_simulation_state
if request_ticket_type:
query_dict['default_resource_uid'] = [portal.restrictedTraverse(x).getUid() for x in request_ticket_type]
section_uid = context.Base_getSectionUidListForSectionCategory(request_section_category)
allowed_content_type_list = portal.portal_types[context.getPortalType()].getTypeAllowedContentTypeList()
# Make the searsh using parameters
ticket_list = portal.portal_catalog.searchResults(portal_type=allowed_content_type_list,
source_section_uid=section_uid,
**query_dict)
# Get every result object
for r_ticket in ticket_list:
ticket=r_ticket.getObject()
#count follow-up events
event_count = portal.portal_catalog.countResults(portal_type=portal.getPortalEventTypeList(),
follow_up_uid=ticket.getUid())[0][0]
#count causality events
event_count += portal.portal_catalog.countResults(event_causality_ticket_uid=ticket.getUid(),
portal_type=portal.getPortalEventTypeList())[0][0]
line_list.append(Object(uid='new_',
title=ticket.getTitle(),
ticket_type=ticket.getResourceTranslatedTitle(),
stop_date=ticket.getStopDate(),
start_date=ticket.getStartDate(),
destination_section=ticket.getDestinationSectionTitle(),
destination_decision=ticket.getDestinationDecisionTitle(),
source=ticket.getSourceTitle(),
simulation_state=ticket.getTranslatedSimulationStateTitle(),
event_count=event_count
))
return line_list
......@@ -54,7 +54,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CampaignModule_getCampaignStatusLineList</string> </value>
<value> <string>Folder_getTicketStatusLineList</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -2,7 +2,7 @@ from Products.ERP5Form.Report import ReportSection
result=[]
result.append(ReportSection(
path=context.getPhysicalPath(),
title=context.Base_translateString('Meetings'),
form_id='MeetingModule_viewMeetingStatusList'))
title=context.Base_translateString('Tickets'),
form_id='Folder_viewTicketStatusList'))
return result
......@@ -54,7 +54,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Event_getPastStateList</string> </value>
<value> <string>Folder_getTicketStatusReportSectionList</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -41,6 +41,12 @@
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
......@@ -105,7 +111,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>MeetingModule_viewMeetingStatusList</string> </value>
<value> <string>Folder_viewTicketDetailedEventsList</string> </value>
</item>
<item>
<key> <string>method</string> </key>
......@@ -113,7 +119,7 @@
</item>
<item>
<key> <string>name</string> </key>
<value> <string>MeetingModule_viewMeetingStatusList</string> </value>
<value> <string>Folder_viewTicketDetailedEventsList</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
......@@ -129,7 +135,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Meeting Status</string> </value>
<value> <string>Ticket Detailed Report</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
......@@ -139,6 +145,10 @@
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
......
......@@ -15,6 +15,7 @@
<string>editable_columns</string>
<string>list_method</string>
<string>selection_name</string>
<string>sort_columns</string>
<string>title</string>
</list>
</value>
......@@ -57,6 +58,18 @@
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
......@@ -65,10 +78,24 @@
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>selection_name</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>
......@@ -81,8 +108,8 @@
<value>
<list>
<tuple>
<string>campaign</string>
<string>Campaign</string>
<string>ticket</string>
<string>Ticket</string>
</tuple>
<tuple>
<string>title</string>
......@@ -93,7 +120,7 @@
<string>Type</string>
</tuple>
<tuple>
<string>destination_title_list</string>
<string>destination_title</string>
<string>Recipient</string>
</tuple>
<tuple>
......@@ -109,7 +136,7 @@
<string>End Date</string>
</tuple>
<tuple>
<string>validation_state</string>
<string>simulation_state</string>
<string>State</string>
</tuple>
</list>
......@@ -147,12 +174,23 @@
<item>
<key> <string>list_method</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string>campaign_module_detailed_events_list_selection</string> </value>
<value> <string>_detailed_events_list_selection</string> </value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value>
<list>
<tuple>
<string>dummy</string>
<string>dummy</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>target</string> </key>
......@@ -169,6 +207,19 @@
</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:context.getId()+\'_detailed_events_list_selection\'</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="Method" module="Products.Formulator.MethodField"/>
</pickle>
......@@ -176,7 +227,7 @@
<dictionary>
<item>
<key> <string>method_name</string> </key>
<value> <string>CampaignModule_getCampaignDetailedEventsLineList</string> </value>
<value> <string>Folder_getTicketDetailedEventsLineList</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -41,6 +41,12 @@
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
......@@ -90,10 +96,10 @@
<value>
<list>
<string>your_at_date</string>
<string>your_ticket_type</string>
<string>your_from_date</string>
<string>your_section_category</string>
<string>your_support_request_type</string>
<string>your_validation_state</string>
<string>your_simulation_state</string>
</list>
</value>
</item>
......@@ -108,7 +114,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>SupportRequestModule_viewSupportRequestDetailedReport</string> </value>
<value> <string>Folder_viewTicketDetailedReport</string> </value>
</item>
<item>
<key> <string>method</string> </key>
......@@ -116,7 +122,7 @@
</item>
<item>
<key> <string>name</string> </key>
<value> <string>SupportRequestModule_viewSupportRequestDetailedReport</string> </value>
<value> <string>Folder_viewTicketDetailedReport</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
......@@ -132,7 +138,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Support Request Detailed Report</string> </value>
<value> <string>Ticket Detailed Report</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
......@@ -142,6 +148,10 @@
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
......
......@@ -81,7 +81,7 @@
</item>
<item>
<key> <string>report_method</string> </key>
<value> <string>MeetingModule_getMeetingStatusReportSectionList</string> </value>
<value> <string>Folder_getTicketDetailedReportSectionList</string> </value>
</item>
<item>
<key> <string>target</string> </key>
......
......@@ -14,7 +14,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_validation_state</string> </value>
<value> <string>your_simulation_state</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -71,7 +71,7 @@
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_report_validation_state</string> </value>
<value> <string>your_report_ticket_simulation_state</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
......
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_ticket_type</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>target</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>your_report_ticket_type</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewCRMFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -35,12 +35,18 @@
</item>
<item>
<key> <string>action</string> </key>
<value> <string>SupportRequestModule_viewSupportRequestDetailedReport</string> </value>
<value> <string>Folder_viewTicketDetailedReport</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
......@@ -71,7 +77,6 @@
<string>your_at_date</string>
<string>your_portal_skin</string>
<string>your_format</string>
<string>your_deferred_style</string>
</list>
</value>
</item>
......@@ -79,8 +84,8 @@
<key> <string>right</string> </key>
<value>
<list>
<string>your_validation_state</string>
<string>your_support_request_type</string>
<string>your_simulation_state</string>
<string>your_ticket_type</string>
</list>
</value>
</item>
......@@ -89,7 +94,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>SupportRequestModule_viewSupportRequestDetailedReportDialog</string> </value>
<value> <string>Folder_viewTicketDetailedReportDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
......@@ -97,7 +102,7 @@
</item>
<item>
<key> <string>name</string> </key>
<value> <string>SupportRequestModule_viewSupportRequestDetailedReportDialog</string> </value>
<value> <string>Folder_viewTicketDetailedReportDialog</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
......@@ -113,7 +118,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Support Request Detailed Report</string> </value>
<value> <string>Ticket Detailed Report</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
......@@ -123,6 +128,10 @@
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
......
......@@ -14,7 +14,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_validation_state</string> </value>
<value> <string>your_simulation_state</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -71,7 +71,7 @@
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_dialog_validation_state</string> </value>
<value> <string>your_dialog_ticket_simulation_state</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
......
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_ticket_type</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>target</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>your_dialog_ticket_type</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewCRMFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -41,6 +41,12 @@
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
......@@ -105,7 +111,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CampaignModule_viewCampaignDetailedEventsList</string> </value>
<value> <string>Folder_viewTicketStatusList</string> </value>
</item>
<item>
<key> <string>method</string> </key>
......@@ -113,7 +119,7 @@
</item>
<item>
<key> <string>name</string> </key>
<value> <string>CampaignModule_viewCampaignDetailedEventsList</string> </value>
<value> <string>Folder_viewTicketStatusList</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
......@@ -129,7 +135,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Campaign Detailed Report</string> </value>
<value> <string>Ticket Status</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
......@@ -139,6 +145,10 @@
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
......
......@@ -172,6 +172,10 @@
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>anchor</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value> <string></string> </value>
......@@ -184,6 +188,10 @@
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_display_style</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value> <string></string> </value>
......@@ -192,6 +200,10 @@
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_style_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value> <string></string> </value>
......@@ -220,10 +232,18 @@
<key> <string>global_attributes</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_search_column</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hide_rows_on_no_search_criterion</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <string></string> </value>
......@@ -240,6 +260,10 @@
<key> <string>meta_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>page_navigation_template</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>page_template</string> </key>
<value> <string></string> </value>
......@@ -256,6 +280,10 @@
<key> <string>report_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>row_css_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <string></string> </value>
......@@ -270,7 +298,9 @@
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string></string> </value>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>sort</string> </key>
......@@ -288,10 +318,18 @@
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>style_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>untranslatable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<value> <string></string> </value>
......@@ -341,10 +379,6 @@
<string>source</string>
<string>Operations Manager</string>
</tuple>
<tuple>
<string>source_decision</string>
<string>Supervisor</string>
</tuple>
<tuple>
<string>start_date</string>
<string>Begin Date</string>
......@@ -354,16 +388,12 @@
<string>End Date</string>
</tuple>
<tuple>
<string>validation_state</string>
<string>simulation_state</string>
<string>State</string>
</tuple>
<tuple>
<string>future</string>
<string>Future Events</string>
</tuple>
<tuple>
<string>past</string>
<string>Past Events</string>
<string>event_count</string>
<string>Events</string>
</tuple>
</list>
</value>
......@@ -462,7 +492,7 @@
<item>
<key> <string>list_method</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
......@@ -515,7 +545,7 @@
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string>support_request_module_status_list_selection</string> </value>
<value> <string>_status_list_selection</string> </value>
</item>
<item>
<key> <string>sort</string> </key>
......@@ -526,7 +556,12 @@
<item>
<key> <string>sort_columns</string> </key>
<value>
<list/>
<list>
<tuple>
<string>dummy</string>
<string>dummy</string>
</tuple>
</list>
</value>
</item>
<item>
......@@ -547,7 +582,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Support Request</string> </value>
<value> <string>Tickets</string> </value>
</item>
<item>
<key> <string>untranslatable_columns</string> </key>
......@@ -568,6 +603,19 @@
</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:here.getId()+\'_status_list_selection\'</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="Method" module="Products.Formulator.MethodField"/>
</pickle>
......@@ -575,7 +623,7 @@
<dictionary>
<item>
<key> <string>method_name</string> </key>
<value> <string>SupportRequestModule_getSupportRequestStatusLineList</string> </value>
<value> <string>Folder_getTicketStatusLineList</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -41,6 +41,12 @@
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
......@@ -90,10 +96,10 @@
<value>
<list>
<string>your_at_date</string>
<string>your_ticket_type</string>
<string>your_from_date</string>
<string>your_meeting_type</string>
<string>your_section_category</string>
<string>your_validation_state</string>
<string>your_simulation_state</string>
</list>
</value>
</item>
......@@ -108,7 +114,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>MeetingModule_viewMeetingDetailedReport</string> </value>
<value> <string>Folder_viewTicketStatusReport</string> </value>
</item>
<item>
<key> <string>method</string> </key>
......@@ -116,7 +122,7 @@
</item>
<item>
<key> <string>name</string> </key>
<value> <string>MeetingModule_viewMeetingDetailedReport</string> </value>
<value> <string>Folder_viewTicketStatusReport</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
......@@ -132,7 +138,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Meeting Detailed Report</string> </value>
<value> <string>Ticket Status</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
......@@ -142,6 +148,10 @@
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
......
......@@ -81,7 +81,7 @@
</item>
<item>
<key> <string>report_method</string> </key>
<value> <string>CampaignModule_getCampaignStatusReportSectionList</string> </value>
<value> <string>Folder_getTicketStatusReportSectionList</string> </value>
</item>
<item>
<key> <string>target</string> </key>
......
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_simulation_state</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>target</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>your_report_ticket_simulation_state</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewCRMFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_ticket_type</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>target</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>your_report_ticket_type</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewCRMFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -35,12 +35,18 @@
</item>
<item>
<key> <string>action</string> </key>
<value> <string>CampaignModule_viewCampaignStatusReport</string> </value>
<value> <string>Folder_viewTicketStatusReport</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
......@@ -78,8 +84,8 @@
<key> <string>right</string> </key>
<value>
<list>
<string>your_validation_state</string>
<string>your_campaign_type</string>
<string>your_simulation_state</string>
<string>your_ticket_type</string>
</list>
</value>
</item>
......@@ -88,7 +94,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CampaignModule_viewCampaignStatusReportDialog</string> </value>
<value> <string>Folder_viewTicketStatusReportDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
......@@ -96,7 +102,7 @@
</item>
<item>
<key> <string>name</string> </key>
<value> <string>CampaignModule_viewCampaignStatusReportDialog</string> </value>
<value> <string>Folder_viewTicketStatusReportDialog</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
......@@ -112,7 +118,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Campaign Status</string> </value>
<value> <string>Ticket Status</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
......@@ -122,6 +128,10 @@
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
......
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_simulation_state</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>target</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>your_dialog_ticket_simulation_state</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewCRMFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
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