def statistics(request, campaign_id): """ GET Request must contain a valid chartname in '?chart_name=' Returns: Json Object {Verisons:[], Values:[]} """ # What chart do i want? chart_name = request.GET['chart_name'] # Get recipient stats from campaign id campaign_details = Campaign.objects.get(id=campaign_id) recipient_list = campaign_details.recipient_set.all() stats_contents = statsfunctions.calc_stats(recipient_list) # Highcharts BAR Chart Type if chart_name in [ 'pdf_dict', 'flash_dict', 'shock_dict', 'silver_dict', 'java_dict', 'browsers', 'os_sys' ]: chart_data = {'versions': [], 'values': []} for k, v in stats_contents[chart_name].iteritems(): if k not in ['', '0', 0, 'null', None]: chart_data['versions'].append(k) chart_data['values'].append(v) return HttpResponse(json.dumps(chart_data), content_type='application/json') # HighCharts Pie Chart Type if chart_name in ['a', 'b']: chart_data = {'values': []} for k, v in stats_contents[chart_name].iteritems(): chart_data['values'].append([k, v]) return HttpResponse(json.dumps(chart_data), content_type='application/json')
def statistics(request, campaign_id): """ GET Request must contain a valid chartname in '?chart_name=' Returns: Json Object {Verisons:[], Values:[]} """ # What chart do i want? chart_name = request.GET['chart_name'] # Get recipient stats from campaign id campaign_details = Campaign.objects.get(id=campaign_id) recipient_list = campaign_details.recipient_set.all() stats_contents = statsfunctions.calc_stats(recipient_list) # Highcharts BAR Chart Type if chart_name in ['pdf_dict', 'flash_dict', 'shock_dict', 'silver_dict', 'java_dict', 'browsers', 'os_sys']: chart_data = {'versions': [], 'values': []} for k, v in stats_contents[chart_name].iteritems(): if k not in ['', '0', 0, 'null', None]: chart_data['versions'].append(k) chart_data['values'].append(v) return HttpResponse(json.dumps(chart_data), content_type='application/json') # HighCharts Pie Chart Type if chart_name in ['a', 'b']: chart_data = {'values': []} for k, v in stats_contents[chart_name].iteritems(): chart_data['values'].append([k, v]) return HttpResponse(json.dumps(chart_data), content_type='application/json')
def campaign(request, campaign_id): try: template_list = Template.objects.all() smtpserver_list = SMTPServer.objects.all() campaign_details = Campaign.objects.get(id=campaign_id) recipient_list = campaign_details.recipient_set.all() template_id = campaign_details.template_id template_details = Template.objects.get(id=template_id) stats_contents = statsfunctions.calc_stats(recipient_list) counters = stats_contents['counters'] return render(request, 'campaign.html', {'template_list': template_list, 'campaign_details': campaign_details, 'recipient_list': recipient_list, 'smtpserver_list': smtpserver_list, 'template_details': template_details, 'counters': counters }) except: raise Http404
def campaign(request, campaign_id): try: template_list = Template.objects.all() smtpserver_list = SMTPServer.objects.all() campaign_details = Campaign.objects.get(id=campaign_id) recipient_list = campaign_details.recipient_set.all() template_id = campaign_details.template_id template_details = Template.objects.get(id=template_id) stats_contents = statsfunctions.calc_stats(recipient_list) counters = stats_contents['counters'] return render( request, 'campaign.html', { 'template_list': template_list, 'campaign_details': campaign_details, 'recipient_list': recipient_list, 'smtpserver_list': smtpserver_list, 'template_details': template_details, 'counters': counters }) except: raise Http404