From 9441d24a7d91b3f723efddfa5c28c20ea6b46b5a Mon Sep 17 00:00:00 2001 From: "Richard Mathot (OpenERP)" Date: Tue, 28 Jan 2014 15:51:38 +0100 Subject: [PATCH] [IMP] Add a test mode for draft/open surveys bzr revid: rim@openerp.com-20140128145138-50av6dixkwctdk13 --- addons/survey/controllers/main.py | 9 +++++++++ addons/survey/survey.py | 7 +++++++ addons/survey/views/survey_views.xml | 3 ++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/addons/survey/controllers/main.py b/addons/survey/controllers/main.py index a9836335f1e..cf224bcf7ff 100644 --- a/addons/survey/controllers/main.py +++ b/addons/survey/controllers/main.py @@ -83,6 +83,15 @@ class WebsiteSurvey(http.Controller): survey_obj = request.registry['survey.survey'] user_input_obj = request.registry['survey.user_input'] + # Test mode + if token and token == "phantom": + _logger.error("[survey] Phantom mode") + user_input_id = user_input_obj.create(cr, uid, {'survey_id': survey.id, 'test_entry': True}, context=context) + user_input = user_input_obj.browse(cr, uid, [user_input_id], context=context)[0] + data = {'survey': survey, 'page': None, 'token': user_input.token} + return request.website.render('survey.survey_init', data) + # END Test mode + # Controls if the survey can be displayed errpage = self._check_bad_cases(cr, uid, request, survey_obj, survey, user_input_obj, context=context) if errpage: diff --git a/addons/survey/survey.py b/addons/survey/survey.py index b02cac0d72e..ed623a357f0 100644 --- a/addons/survey/survey.py +++ b/addons/survey/survey.py @@ -180,6 +180,8 @@ class survey_survey(osv.Model): elif new_state == 'close': vals.update({'date_close': fields.datetime.now()}) self.message_post(cr, uid, ids, body="""

Survey closed

""", context=context) + # Purge the tests records + self.pool.get('survey.user_input').purge_tests(cr, uid, context=context) elif new_state == 'cancel': self.message_post(cr, uid, ids, body="""

Survey cancelled

""", context=context) return super(survey_survey, self).write(cr, uid, ids, vals, context=context) @@ -753,6 +755,11 @@ class survey_user_input(osv.Model): if empty_user_input_ids: self.unlink(cr, uid, empty_user_input_ids, context=context) + def purge_tests(self, cr, uid, context=None): + ''' Remove the test entries ''' + old_tests = self.search(cr, uid, [('test_entry', '=', True)], context=context) + return self.unlink(cr, uid, old_tests, context=context) + def action_survey_resent(self, cr, uid, ids, context=None): ''' Sent again the invitation ''' record = self.browse(cr, uid, ids[0], context=context) diff --git a/addons/survey/views/survey_views.xml b/addons/survey/views/survey_views.xml index 4d4cdefb008..c6608d7334a 100644 --- a/addons/survey/views/survey_views.xml +++ b/addons/survey/views/survey_views.xml @@ -68,7 +68,7 @@ survey_user_input_tree survey.user_input - + @@ -76,6 +76,7 @@ +