[IMP] Add a test mode for draft/open surveys
bzr revid: rim@openerp.com-20140128145138-50av6dixkwctdk13
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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="""<p>Survey closed</p>""", 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="""<p>Survey cancelled</p>""", 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)
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
<field name="name">survey_user_input_tree</field>
|
||||
<field name="model">survey.user_input</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Survey User inputs" version="7.0" create="false">
|
||||
<tree string="Survey User inputs" version="7.0" colors="lightgrey:test_entry == True" create="false">
|
||||
<field name="survey_id"/>
|
||||
<field name="date_create"/>
|
||||
<field name="deadline"/>
|
||||
@@ -76,6 +76,7 @@
|
||||
<field name="email"/>
|
||||
<field name="type"/>
|
||||
<field name="state"/>
|
||||
<field name="test_entry" invisible="True"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
Reference in New Issue
Block a user