diff --git a/addons/survey/controllers/main.py b/addons/survey/controllers/main.py index 7cceb0273fe..782eb502cfc 100644 --- a/addons/survey/controllers/main.py +++ b/addons/survey/controllers/main.py @@ -309,7 +309,7 @@ class WebsiteSurvey(http.Controller): for page in survey.page_ids: page_dict = {'page': page, 'question_ids': []} for question in page.question_ids: - question_dict = { 'question':question, 'input_summary':survey_obj.get_input_summary(request.cr, request.uid, question, current_filters, context=request.context),'prepare_result':survey_obj.prepare_result(request.cr, request.uid, question, current_filters, context=request.context)} + question_dict = {'question':question, 'input_summary':survey_obj.get_input_summary(request.cr, request.uid, question, current_filters, context=request.context), 'prepare_result':survey_obj.prepare_result(request.cr, request.uid, question, current_filters, context=request.context), 'graph_data': self.get_graph_data(question, current_filters)} page_dict['question_ids'].append(question_dict) result['page_ids'].append(page_dict) return result @@ -332,13 +332,9 @@ class WebsiteSurvey(http.Controller): total = ceil(total_record / float(limit)) return range(1, int(total + 1)) - @http.route(['/survey/results/graph/'], - type='http', auth='user', multilang=True, website=True) - def get_graph_data(self, question, **post): + def get_graph_data(self, question, current_filters=[]): '''Returns appropriate formated data required by graph library on basis of filter''' - question = request.registry['survey.question'].browse(request.cr, request.uid, question) survey_obj = request.registry['survey.survey'] - current_filters = safe_eval(post.get('current_filters', '[]')) result = [] if question.type == 'multiple_choice': result.append({'key': str(question.question), diff --git a/addons/survey/static/src/js/survey_result.js b/addons/survey/static/src/js/survey_result.js index 850c829698d..838e4318b26 100644 --- a/addons/survey/static/src/js/survey_result.js +++ b/addons/survey/static/src/js/survey_result.js @@ -105,34 +105,25 @@ $(document).ready(function () { $.each(survey_graphs, function(index, graph){ var question_id = $(graph).attr("data-question_id"); var graph_type = $(graph).attr("data-graph_type"); - var current_filters = $(graph).attr("data-current_filters"); - console.log(current_filters); - $.ajax({ - url: '/survey/results/graph/'+question_id, - type: 'POST', - dataType: 'json', - data:{'current_filters': current_filters}, - success: function(response, status, xhr, wfe){ - if(graph_type == 'multi_bar'){ - nv.addGraph(function(){ - var chart = init_multibar_chart(); - return load_chart(chart,response,question_id,25); - }); - } - else if(graph_type == 'bar'){ - nv.addGraph(function() { - var chart = init_bar_chart(); - return load_chart(chart,response,question_id,35); - }); - } - else if(graph_type == 'pie'){ - nv.addGraph(function() { - var chart = init_pie_chart(); - return load_chart(chart,response,question_id,25,'pie'); - }); - } - } - }); + var graph_data = JSON.parse($(graph).attr("graph-data")); + if(graph_type == 'multi_bar'){ + nv.addGraph(function(){ + var chart = init_multibar_chart(); + return load_chart(chart, graph_data, question_id,25); + }); + } + else if(graph_type == 'bar'){ + nv.addGraph(function() { + var chart = init_bar_chart(); + return load_chart(chart, graph_data, question_id,35); + }); + } + else if(graph_type == 'pie'){ + nv.addGraph(function() { + var chart = init_pie_chart(); + return load_chart(chart, graph_data, question_id,25,'pie'); + }); + } }); // Script for filter @@ -165,7 +156,7 @@ $(document).ready(function () { window.location.href = document.URL+'?'+encodeURI('finished'); } else if (document.URL.indexOf("finished") == -1){ - window.location.href = document.URL+'&'+encodeURI('finished'); + window.location.href = document.URL+'&'+encodeURI('finished'); } }); diff --git a/addons/survey/views/survey_result.xml b/addons/survey/views/survey_result.xml index e262b1dc859..c3362b7bafa 100644 --- a/addons/survey/views/survey_result.xml +++ b/addons/survey/views/survey_result.xml @@ -50,6 +50,7 @@
+

Question @@ -145,11 +146,11 @@
-
+
-
+
@@ -198,7 +199,7 @@
-
+