Commit f62ccafe authored by Rafael Monnerat's avatar Rafael Monnerat

rss_style: include guid in tickets RSS

See merge request nexedi/slapos.core!351
parents 19b3eac1 df57bbe4
...@@ -28,6 +28,8 @@ from DateTime import DateTime ...@@ -28,6 +28,8 @@ from DateTime import DateTime
from Products.ERP5Type.tests.utils import createZODBPythonScript from Products.ERP5Type.tests.utils import createZODBPythonScript
import json import json
import feedparser
def getFakeSlapState(): def getFakeSlapState():
return "destroy_requested" return "destroy_requested"
...@@ -1943,3 +1945,43 @@ return "Visited by SupportRequest_trySendNotificationMessage %s %s" % (message_t ...@@ -1943,3 +1945,43 @@ return "Visited by SupportRequest_trySendNotificationMessage %s %s" % (message_t
support_request.getSimulationState()) support_request.getSimulationState())
class TestSlapOSSupportRequestRSS(TestCRMSkinsMixin):
def test_WebSection_viewTicketListAsRSS(self):
person = self.makePerson()
module = self.portal.support_request_module
support_request = module.newContent(
portal_type="Support Request",
title='Help',
destination_decision_value=person,
)
self.portal.event_module.newContent(
portal_type='Web Message',
follow_up_value=support_request,
text_content='I need help !',
source_value=person,
).start()
support_request.validate()
self.tic()
self.login(person.getUserId())
self.portal.portal_skins.changeSkin('RSS')
parsed = feedparser.parse(self.portal.WebSection_viewTicketListAsRSS())
self.assertFalse(parsed.bozo)
first_entry_id = [item.id for item in parsed.entries]
self.assertEqual([item.summary for item in parsed.entries], ['I need help !'])
self.portal.event_module.newContent(
portal_type='Web Message',
follow_up_value=support_request,
text_content='How can I help you ?',
destination_value=person,
).start()
self.tic()
self.portal.portal_skins.changeSkin('RSS')
parsed = feedparser.parse(self.portal.WebSection_viewTicketListAsRSS())
self.assertFalse(parsed.bozo)
self.assertEqual([item.summary for item in parsed.entries], ['How can I help you ?'])
self.assertNotEqual([item.id for item in parsed.entries][0], first_entry_id)
...@@ -127,6 +127,10 @@ ...@@ -127,6 +127,10 @@
<string>title</string> <string>title</string>
<string>Title</string> <string>Title</string>
</tuple> </tuple>
<tuple>
<string>Ticket_getRSSGuid</string>
<string>guid</string>
</tuple>
<tuple> <tuple>
<string>modification_date</string> <string>modification_date</string>
<string>pubDate</string> <string>pubDate</string>
......
...@@ -127,6 +127,10 @@ ...@@ -127,6 +127,10 @@
<string>title</string> <string>title</string>
<string>Title</string> <string>Title</string>
</tuple> </tuple>
<tuple>
<string>Ticket_getRSSGuid</string>
<string>guid</string>
</tuple>
<tuple> <tuple>
<string>modification_date</string> <string>modification_date</string>
<string>pubDate</string> <string>pubDate</string>
......
latest_event_relative_url = ''
latest_event = context.Ticket_getLatestEvent()
if latest_event:
latest_event_relative_url = latest_event.getRelativeUrl()
return '{}-{}'.format(
context.getRelativeUrl(),
latest_event_relative_url,
)
<?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>Ticket_getRSSGuid</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -127,6 +127,10 @@ ...@@ -127,6 +127,10 @@
<string>title</string> <string>title</string>
<string>Title</string> <string>Title</string>
</tuple> </tuple>
<tuple>
<string>Ticket_getRSSGuid</string>
<string>guid</string>
</tuple>
<tuple> <tuple>
<string>modification_date</string> <string>modification_date</string>
<string>pubDate</string> <string>pubDate</string>
......
...@@ -127,6 +127,10 @@ ...@@ -127,6 +127,10 @@
<string>title</string> <string>title</string>
<string>Title</string> <string>Title</string>
</tuple> </tuple>
<tuple>
<string>Ticket_getRSSGuid</string>
<string>guid</string>
</tuple>
<tuple> <tuple>
<string>modification_date</string> <string>modification_date</string>
<string>pubDate</string> <string>pubDate</string>
......
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