Пример #1
0
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')
Пример #2
0
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')
Пример #3
0
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
Пример #4
0
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