[IMP] merged methods get_finished_survey_input ids with filter_input_ids in survey.py and to retain correct filters improved exception handling in controller

bzr revid: dizzy.zala@gmail.com-20140403115423-171x3cbxie82qv8w
This commit is contained in:
Dharmraj Jhala (OpenERP) 2014-04-03 17:24:23 +05:30
parent 4e2942d418
commit 37c390beb6
2 changed files with 13 additions and 16 deletions

View File

@ -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):

View File

@ -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)