[IMP] removed ajax calls and loaded data while rendering the template

bzr revid: dizzy.zala@gmail.com-20140404051913-ecy6jm62fxacs6me
This commit is contained in:
Dharmraj Jhala (OpenERP)
2014-04-04 10:49:13 +05:30
parent 37c390beb6
commit 364eb7546a
3 changed files with 26 additions and 38 deletions
+2 -6
View File
@@ -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/<int:question>'],
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),
+20 -29
View File
@@ -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');
}
});
+4 -3
View File
@@ -50,6 +50,7 @@
<div t-foreach="page_ids['question_ids']" t-as='question_ids' class="mt16">
<t t-set="input_summary" t-value="question_ids['input_summary']"/>
<t t-set="question" t-value="question_ids['question']"/>
<t t-set="graph_data" t-value="question_ids['graph_data']"/>
<t t-set="prepare_result" t-value="question_ids['prepare_result']"/>
<h4>
<b>Question </b>
@@ -145,11 +146,11 @@
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active survey_graph" t-if="question.type != 'simple_choice'" t-att-id="'graph_question_%d' % question.id" t-att-data-question_id="question.id" data-graph_type="bar" t-att-data-current_filters="current_filters">
<div class="tab-pane active survey_graph" t-if="question.type != 'simple_choice'" t-att-id="'graph_question_%d' % question.id" t-att-data-question_id="question.id" data-graph_type="bar" t-att-graph-data="graph_data">
<!-- svg element for drawing bar chart -->
<svg style="height:20em"></svg>
</div>
<div class="tab-pane active survey_graph" t-if="question.type == 'simple_choice'" t-att-id="'graph_question_%d' % question.id" t-att-data-question_id="question.id" data-graph_type="pie" t-att-data-current_filters="current_filters">
<div class="tab-pane active survey_graph" t-if="question.type == 'simple_choice'" t-att-id="'graph_question_%d' % question.id" t-att-data-question_id="question.id" data-graph_type="pie" t-att-graph-data="graph_data">
<!-- svg element for drawing pie chart -->
<svg style="height:20em"></svg>
</div>
@@ -198,7 +199,7 @@
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active with-3d-shadow with-transitions survey_graph" t-att-id="'graph_question_%d' % question.id" t-att-data-question_id= "question.id" data-graph_type= "multi_bar" t-att-data-current_filters="current_filters">
<div class="tab-pane active with-3d-shadow with-transitions survey_graph" t-att-id="'graph_question_%d' % question.id" t-att-data-question_id= "question.id" data-graph_type= "multi_bar" t-att-graph-data="graph_data">
<!-- svg element for drawing Multibar chart -->
<svg style="height:20em"></svg>
</div>