diff --git a/addons/survey/controllers/main.py b/addons/survey/controllers/main.py index 06659b6df9e..9eb0747840a 100644 --- a/addons/survey/controllers/main.py +++ b/addons/survey/controllers/main.py @@ -46,18 +46,12 @@ class WebsiteSurvey(http.Controller): # In case of auth required, block public user if survey.auth_required and uid == request.registry['website'].get_public_user(cr, uid, context): - return request.website.render("website.401") + return request.website.render("website.403") # In case of non open surveys - if survey.state != 'open': + if survey.stage_id.closed: return request.website.render("survey.notopen") - # If enough surveys completed - if survey.user_input_limit > 0: - completed = user_input_obj.search(cr, uid, [('state', '=', 'done')], count=True) - if completed >= survey.user_input_limit: - return request.website.render("survey.notopen") - # Everything seems to be ok return None @@ -100,11 +94,8 @@ class WebsiteSurvey(http.Controller): # Manual surveying if not token: - if survey.visible_to_user: - user_input_id = user_input_obj.create(cr, uid, {'survey_id': survey.id}, context=context) - user_input = user_input_obj.browse(cr, uid, [user_input_id], context=context)[0] - else: # An user cannot open hidden surveys without token - return request.website.render("website.403") + user_input_id = user_input_obj.create(cr, uid, {'survey_id': survey.id}, context=context) + user_input = user_input_obj.browse(cr, uid, [user_input_id], context=context)[0] else: try: user_input_id = user_input_obj.search(cr, uid, [('token', '=', token)], context=context)[0] diff --git a/addons/survey/security/ir.model.access.csv b/addons/survey/security/ir.model.access.csv index 942b6db1960..89c001ce44e 100644 --- a/addons/survey/security/ir.model.access.csv +++ b/addons/survey/security/ir.model.access.csv @@ -5,6 +5,7 @@ access_survey_question_public,survey.question public,model_survey_question,base. access_survey_label_public,survey.label public,model_survey_label,base.group_public,1,0,0,0 access_survey_user_input_public,survey.user_input public,model_survey_user_input,base.group_public,1,1,1,0 access_survey_user_input_line_public,survey.user_input_line public,model_survey_user_input_line,base.group_public,1,1,1,0 +access_survey_stage_public,survey.stage public,model_survey_stage,base.group_public,1,0,0,0 access_survey_user,survey.survey user,model_survey_survey,base.group_survey_user,1,0,0,0 access_survey_page_user,survey.page user,model_survey_page,base.group_survey_user,1,0,0,0 access_survey_question_user,survey.question user,model_survey_question,base.group_survey_user,1,0,0,0 diff --git a/addons/survey/security/survey_security.xml b/addons/survey/security/survey_security.xml index ac4bb470fd5..872e1049bcd 100644 --- a/addons/survey/security/survey_security.xml +++ b/addons/survey/security/survey_security.xml @@ -28,7 +28,7 @@ Access to survey for regular users - [('state', '=', 'open'), ('visible_to_user', '=', True)] + [('stage_id.closed', '=', False)] diff --git a/addons/survey/survey.py b/addons/survey/survey.py index 825582aa282..d729b2c9b18 100644 --- a/addons/survey/survey.py +++ b/addons/survey/survey.py @@ -176,8 +176,6 @@ class survey_survey(osv.Model): } _defaults = { - 'auth_required': True, - 'users_can_go_back': False, 'color': 0 } diff --git a/addons/survey/views/survey_templates.xml b/addons/survey/views/survey_templates.xml index 312d3b4ac3d..c2beb3a5844 100644 --- a/addons/survey/views/survey_templates.xml +++ b/addons/survey/views/survey_templates.xml @@ -105,7 +105,7 @@ * -

+
@@ -165,16 +165,16 @@ - +
- +
- - + +
@@ -187,13 +187,13 @@
- +
- - + +
@@ -209,13 +209,13 @@
- +
- - + +
@@ -239,8 +239,8 @@
- - + +
@@ -255,13 +255,13 @@

-
+