diff --git a/addons/survey/controllers/main.py b/addons/survey/controllers/main.py index d5a66629c55..7cceb0273fe 100644 --- a/addons/survey/controllers/main.py +++ b/addons/survey/controllers/main.py @@ -317,14 +317,14 @@ class WebsiteSurvey(http.Controller): def get_filter_data(self, post): """Returns data used for filtering the result""" filters = [] - #if user add some random data in query URI - try: - for ids in post: + for ids in post: + #if user add some random data in query URI + try: row_id, answer_id = ids.split(',') filters.append({'row_id': int(row_id), 'answer_id': int(answer_id)}) - except: - #if user add some random data in query URI - return [] + except: + #if user add some random data in query URI + return filters return filters def page_range(self, total_record, limit): diff --git a/addons/survey/survey.py b/addons/survey/survey.py index 57895e0c004..8573cc6ad7b 100644 --- a/addons/survey/survey.py +++ b/addons/survey/survey.py @@ -155,18 +155,15 @@ class survey_survey(osv.Model): else: filtered_input_ids,filter_display_data = [],[] if finished: - final_ids = self.get_finished_survey_input_ids(cr, uid, filtered_input_ids, context=context) - return final_ids + user_input = self.pool.get('survey.user_input') + if not filtered_input_ids: + current_filters = user_input.search(cr, uid, [], context=context) + user_input_objs = user_input.browse(cr, uid, current_filters, context=context) + else: + user_input_objs = user_input.browse(cr, uid, filtered_input_ids, context=context) + return [input.id for input in user_input_objs if input.state == 'done'] return filtered_input_ids - def get_finished_survey_input_ids(self, cr, uid, current_filters, context): - user_input,filtered_list = self.pool.get('survey.user_input'),[] - if not current_filters: - current_filters = user_input.search(cr, uid, [], context=context) - user_input_objs = user_input.browse(cr, uid, current_filters, context=context) - filtered_list = [input.id for input in user_input_objs if input.state == 'done'] - return filtered_list - def get_filter_display_data(self, cr, uid, filters, context): '''Returns data to display current filters :param filters: list of dictionary(having: row_id, ansewr_id)