[Erp5-report] r45304 gabriel - in /erp5/trunk/bt5/erp5_web_ung_theme: SkinTemplateItem/port...
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Apr 12 04:19:35 CEST 2011
Author: gabriel
Date: Tue Apr 12 04:19:35 2011
New Revision: 45304
URL: http://svn.erp5.org?rev=45304&view=rev
Log:
refactor code to fix issue when the user changes the event type in the edition dialog of UNG Calendar
Modified:
erp5/trunk/bt5/erp5_web_ung_theme/SkinTemplateItem/portal_skins/erp5_web_ung_theme/Base_updateCalendarEventList.xml
erp5/trunk/bt5/erp5_web_ung_theme/SkinTemplateItem/portal_skins/erp5_web_ung_theme/ung_js/ung_calendar.js.xml
erp5/trunk/bt5/erp5_web_ung_theme/TestTemplateItem/testUNG.py
erp5/trunk/bt5/erp5_web_ung_theme/bt/revision
Modified: erp5/trunk/bt5/erp5_web_ung_theme/SkinTemplateItem/portal_skins/erp5_web_ung_theme/Base_updateCalendarEventList.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_web_ung_theme/SkinTemplateItem/portal_skins/erp5_web_ung_theme/Base_updateCalendarEventList.xml?rev=45304&r1=45303&r2=45304&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_web_ung_theme/SkinTemplateItem/portal_skins/erp5_web_ung_theme/Base_updateCalendarEventList.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_web_ung_theme/SkinTemplateItem/portal_skins/erp5_web_ung_theme/Base_updateCalendarEventList.xml [utf8] Tue Apr 12 04:19:35 2011
@@ -60,6 +60,8 @@ from DateTime import DateTime\n
import random\n
\n
def convertToERP5DateTime(date):\n
+ if not date:\n
+ return None\n
date, hour = date.split()\n
month, day, year = date.split("/")\n
return DateTime("%s/%s/%s %s" % (month, day, year, hour))\n
@@ -116,7 +118,8 @@ if request_type == "list":\n
\n
elif request_type == "remove":\n
title = form.get("title")\n
- catalog_object = portal.portal_catalog.getResultValue(portal_type=portal_type_list, title=title)\n
+ catalog_object = portal.portal_catalog.getResultValue(portal_type=portal_type_list,\n
+ title=title)\n
event = context.restrictedTraverse(catalog_object.getPath())\n
portal.event_module.deleteContent(event.getId())\n
return dumps({"IsSuccess": True})\n
@@ -132,12 +135,25 @@ elif request_type == "update":\n
catalog_object = portal.portal_catalog.getResultValue(portal_type=portal_type_list,\n
id=event_id)\n
event = context.restrictedTraverse(catalog_object.getPath())\n
- if title and event.getTitle() != title:\n
- event.setTitle(title)\n
- if text_content and event.getDescription() != text_content:\n
- event.setDescription(text_content)\n
- event.setStartDate(start_date)\n
- event.setStopDate(end_date)\n
+ event_portal_type = form.get(\'event_portal_type\')\n
+ if event.getPortalType() != event_portal_type and event_portal_type in portal_type_list:\n
+ new_event = portal.event_module.newContent(portal_type=event_portal_type)\n
+ new_event.edit(start_date=start_date,\n
+ end_date=end_date,\n
+ title=title,\n
+ description=text_content)\n
+ portal.event_module.deleteContent(event.getId())\n
+ else:\n
+ kw = {}\n
+ if title and event.getTitle() != title:\n
+ kw["title"] = title\n
+ if text_content and event.getDescription() != text_content:\n
+ kw["description"] = text_content\n
+ if start_date is not None:\n
+ kw["start_date"] = start_date\n
+ if end_date is not None:\n
+ kw["stop_date"] = end_date\n
+ event.edit(**kw)\n
return dumps({"IsSuccess": True})\n
\n
elif request_type == "add":\n
Modified: erp5/trunk/bt5/erp5_web_ung_theme/SkinTemplateItem/portal_skins/erp5_web_ung_theme/ung_js/ung_calendar.js.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_web_ung_theme/SkinTemplateItem/portal_skins/erp5_web_ung_theme/ung_js/ung_calendar.js.xml?rev=45304&r1=45303&r2=45304&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_web_ung_theme/SkinTemplateItem/portal_skins/erp5_web_ung_theme/ung_js/ung_calendar.js.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_web_ung_theme/SkinTemplateItem/portal_skins/erp5_web_ung_theme/ung_js/ung_calendar.js.xml [utf8] Tue Apr 12 04:19:35 2011
@@ -67,7 +67,7 @@ function Edit(data){\n
title: "Update Event",\n
buttons: {\n
"Save": function(){\n
- data = $("form#create_new_event").serializeArray();\n
+ var data = $("form#create_new_event").serializeArray();\n
var dataHash = {};\n
for (var i=0; i<data.length; i++)\n
dataHash[data[i].name] = data[i].value;\n
@@ -84,6 +84,7 @@ function Edit(data){\n
dataHash.stop_date_minute;\n
\n
var paramList = [{name : \'CalendarEndTime\', \'value\': stop_date},\n
+ {name : \'event_portal_type\', \'value\': dataHash.portal_type},\n
{name : \'CalendarStartTime\', \'value\': start_date},\n
{name : \'title\', \'value\': dataHash.title},\n
{name : \'request_type\', \'value\': \'update\'},\n
Modified: erp5/trunk/bt5/erp5_web_ung_theme/TestTemplateItem/testUNG.py
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_web_ung_theme/TestTemplateItem/testUNG.py?rev=45304&r1=45303&r2=45304&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_web_ung_theme/TestTemplateItem/testUNG.py [utf8] (original)
+++ erp5/trunk/bt5/erp5_web_ung_theme/TestTemplateItem/testUNG.py [utf8] Tue Apr 12 04:19:35 2011
@@ -41,12 +41,12 @@ class TestUNG(ERP5TypeTestCase):
return "UNG Tests"
def getBusinessTemplateList(self):
- return ('erp5_base',
+ return ('erp5_ingestion_mysql_innodb_catalog',
+ 'erp5_base',
+ 'erp5_jquery',
'erp5_web',
- 'erp5_ingestion_mysql_innodb_catalog',
'erp5_core_proxy_field_legacy',
'erp5_ingestion',
- 'erp5_jquery',
'erp5_jquery_ui',
'erp5_dms',
'erp5_crm',
@@ -268,14 +268,56 @@ class TestUNG(ERP5TypeTestCase):
self.portal.Base_updateCalendarEventList("update")
self.stepTic()
self.assertEquals(web_message.getTitle(), "Buy Coffee")
- self.portal.REQUEST.form.clear()
- form_dict = dict(title=web_message.getTitle(),
- id=web_message.getId())
+ form_dict["event_portal_type"] = "Note"
self.portal.REQUEST.form.update(form_dict)
- self.portal.Base_updateCalendarEventList("remove")
+ self.portal.Base_updateCalendarEventList("update")
self.stepTic()
web_message = self.portal.portal_catalog.getResultValue(portal_type="Web Message")
self.assertEquals(web_message, None)
+ note = self.portal.portal_catalog.getResultValue(portal_type="Note")
+ self.assertEquals(note.getTitle(), "Buy Coffee")
+ self.portal.REQUEST.form.clear()
+ form_dict = dict(title=note.getTitle(),
+ id=note.getId())
+ self.portal.REQUEST.form.update(form_dict)
+ self.portal.Base_updateCalendarEventList("remove")
+ self.stepTic()
+ note = self.portal.portal_catalog.getResultValue(portal_type="Note",
+ title="Buy Coffee")
+ self.assertEquals(note, None)
+ self.portal.REQUEST.form.clear()
+ start_date = DateTime()
+ end_date = DateTime() + 1
+ form_dict = dict(CalendarStartTime=start_date.strftime("%m/%d/%Y %H:%M"),
+ CalendarEndTime=end_date.strftime("%m/%d/%Y %H:%M"),
+ CalendarTitle="Another Sample",
+ portal_type="Letter")
+ self.portal.REQUEST.form.update(form_dict)
+ self.portal.Base_updateCalendarEventList("add")
+ self.stepTic()
+ letter = self.portal.portal_catalog.getResultValue(portal_type="Letter",
+ title="Another Sample")
+ self.assertEquals(letter.getPortalType(), "Letter")
+ self.assertEquals(letter.getTitle(), "Another Sample")
+ self.assertEquals(letter.getStartDate().hour(), start_date.hour())
+ self.assertEquals(letter.getStartDate().day(), start_date.day())
+ self.assertEquals(letter.getStopDate().hour(), end_date.hour())
+ self.assertEquals(letter.getStopDate().day(), end_date.day())
+ self.portal.REQUEST.form.clear()
+ form_dict = dict(title="Change only the Title of Sample",
+ event_id=letter.getId())
+ self.portal.REQUEST.form.update(form_dict)
+ self.portal.Base_updateCalendarEventList("update")
+ self.stepTic()
+ letter = self.portal.portal_catalog.getResultValue(portal_type="Letter",
+ title="Another Sample")
+ self.assertEquals(letter, None)
+ letter = self.portal.portal_catalog.getResultValue(portal_type="Letter",
+ title="Change only the Title of Sample")
+ self.assertEquals(letter.getStartDate().hour(), start_date.hour())
+ self.assertEquals(letter.getStartDate().day(), start_date.day())
+ self.assertEquals(letter.getStopDate().hour(), end_date.hour())
+ self.assertEquals(letter.getStopDate().day(), end_date.day())
def testERPSite_createUNGUser(self):
"""Test if script creates an user correctly"""
Modified: erp5/trunk/bt5/erp5_web_ung_theme/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_web_ung_theme/bt/revision?rev=45304&r1=45303&r2=45304&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_web_ung_theme/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_web_ung_theme/bt/revision [utf8] Tue Apr 12 04:19:35 2011
@@ -1 +1 @@
-349
\ No newline at end of file
+350
\ No newline at end of file
More information about the Erp5-report
mailing list