From 1f53f77845d8017b6e1de234a9ed25d884287e7e Mon Sep 17 00:00:00 2001 From: Fabien Morin <fabien@nexedi.com> Date: Fri, 5 Sep 2008 09:55:22 +0000 Subject: [PATCH] if there is an error during Base_edit the document, return what Base_edit return, else, go to the next step. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@23444 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../erp5_egov/EGov_Base_editAndNextStep.xml | 25 +++++++++---------- bt5/erp5_egov/bt/revision | 2 +- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov/EGov_Base_editAndNextStep.xml b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov/EGov_Base_editAndNextStep.xml index 5db5e9ed90..4ae424e6ac 100644 --- a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov/EGov_Base_editAndNextStep.xml +++ b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov/EGov_Base_editAndNextStep.xml @@ -75,7 +75,7 @@ from Products.DCWorkflow.DCWorkflow import ValidationFailed\n request=context.REQUEST\n \n -portal_status_message = \'\'\n +message = \'\'\n \n # add the attachments :\n request = context.REQUEST\n @@ -87,7 +87,7 @@ if mode == \'edit\':\n (kw, encapsulated_editor_list) = result\n if kw.has_key(\'attachment\') and kw.has_key(\'attachment_title\'):\n attachment_list = zip(kw[\'attachment\'], kw[\'attachment_title\'])\n - portal_status_message = translateString("No attachment was added. Please select a file to add an attachment.")\n + message = translateString("No attachment was added. Please select a file to add an attachment.")\n # XXX make sure it is a list\n for attachment, title in attachment_list:\n if attachment:\n @@ -95,7 +95,7 @@ if mode == \'edit\':\n file = context.newContent(portal_type=\'File\', file=attachment, title=title)\n \n if attachment_count:\n - portal_status_message = translateString("Added ${attachment_count} attachment(s) to the current form.",\n + message = translateString("Added ${attachment_count} attachment(s) to the current form.",\n mapping = dict(attachment_count=attachment_count))\n \n next_url_dict = {\n @@ -104,7 +104,7 @@ next_url_dict = {\n }\n \n # edit the document with the entered data before to change of state\n -context.Base_edit(form_id=form_id, \n +base_edit_result = context.Base_edit(form_id=form_id, \n selection_index=selection_index, \n selection_name=selection_name, \n dialog_id=dialog_id, \n @@ -113,6 +113,11 @@ context.Base_edit(form_id=form_id, \n silent_mode=silent_mode, \n field_prefix=field_prefix)\n \n +# if there is somme errors (like required field not filled),\n +# return to the same page, and display Base_edit error message\n +if request.get(\'field_errors\', \'\'):\n + return base_edit_result\n +\n if not next_url_dict.has_key(form_id):\n next_url = \'PDFDocument_viewLoginInformation\'\n # if the next url is PDFDocument_viewLoginInformation, submit the application\n @@ -127,12 +132,7 @@ if not next_url_dict.has_key(form_id):\n else:\n next_url = next_url_dict[form_id]\n \n -successful_edit_redirect_url = \'%s/%s\' % (context.absolute_url(), next_url)\n -\n -result = request[\'RESPONSE\'].redirect(successful_edit_redirect_url) \n -#return result\n -\n -return context.Base_redirect(successful_edit_redirect_url, keep_items = dict(portal_status_message = portal_status_message), **kw)\n +return context.Base_redirect(next_url, keep_items = dict(portal_status_message=message), **kw)\n </string> </value> </item> <item> @@ -195,7 +195,7 @@ return context.Base_redirect(successful_edit_redirect_url, keep_items = dict(por <string>_getattr_</string> <string>context</string> <string>request</string> - <string>portal_status_message</string> + <string>message</string> <string>translateString</string> <string>_getiter_</string> <string>result</string> @@ -211,9 +211,8 @@ return context.Base_redirect(successful_edit_redirect_url, keep_items = dict(por <string>file</string> <string>dict</string> <string>next_url_dict</string> + <string>base_edit_result</string> <string>next_url</string> - <string>message</string> - <string>successful_edit_redirect_url</string> <string>_apply_</string> </tuple> </value> diff --git a/bt5/erp5_egov/bt/revision b/bt5/erp5_egov/bt/revision index ae4d10b425..9754915269 100644 --- a/bt5/erp5_egov/bt/revision +++ b/bt5/erp5_egov/bt/revision @@ -1 +1 @@ -256 \ No newline at end of file +259 \ No newline at end of file -- 2.30.9