def conversions_daily(request, project_id): drange = util.get_reporting_dates(request) start = drange["start"] end = drange["end"] settings = helper.get_settings_by_project_id(project_id) data = {"conversions": ga_man.get_daily_conversions_for_goal(settings.ga_view, settings.goal_to_track, start, end)} return HttpResponse(json.dumps(data), content_type="application/json")
def device_category(request, project_id): project = models.Project.objects.get(id=project_id) drange = util.get_reporting_dates(request) start = drange["start"] end = drange["end"] result = ga_stats.get_device_category_for_sessions(project, start, end) return HttpResponse(json.dumps(result), content_type="application/json")
def conversion_list(request, project_id): project = models.Project.objects.get(id=project_id) drange = util.get_reporting_dates(request) start = drange["start"] end = drange["end"] data = ga_stats.get_named_conversion_count(project, start, end) return HttpResponse(json.dumps(data), content_type="application/json")
def traffic(request, project_id): drange = util.get_reporting_dates(request) start = drange["start"] end = drange["end"] settings = helper.get_settings_by_project_id(project_id) count = ga_man.get_session_count(settings.ga_view, ga_man.google_date(start), ga_man.google_date(end)) data = {"traffic": count} return HttpResponse(json.dumps(data), content_type="application/json")
def top_pages(request, project_id): drange = util.get_reporting_dates(request) start = drange["start"] end = drange["end"] settings = helper.get_settings_by_project_id(project_id) response = ga_man.get_top_pages(settings.ga_view, start, end) data = {"pages": response} return HttpResponse(json.dumps(data), content_type="application/json")
def bounce_rate_stats(request): """ Return min and max traffic over multiple projects between given dates """ drange = util.get_reporting_dates(request) start = drange["start"] end = drange["end"] data = ga_stats.get_overall_bounce_rate_stats_segmented(start, end) return HttpResponse(json.dumps(data), content_type="application/json")
def bounce_rate(request, project_id): """ Get bounce rate for analytics view in project """ drange = util.get_reporting_dates(request) start = drange["start"] end = drange["end"] project = models.Project.objects.get(id=project_id) data = ga_stats.get_bounce_rate(project, start, end) return HttpResponse(json.dumps(data), content_type="application/json")
def summary(request, project_id): """ Summarize Analytics stats to render in a table for example """ project = models.Project.objects.get(id=project_id) drange = util.get_reporting_dates(request) start = drange["start"] end = drange["end"] data = ga_stats.get_summary(project, start, end) return HttpResponse(json.dumps(data), content_type="application/json")
def conversions_total(request, project_id): """ For AJAX-ing purpose """ settings = helper.get_settings_by_project_id(project_id) if not request.GET.get("goalId"): data = {"conversions": ga_man.get_total_conversion_count(settings)} else: goalid = request.GET.get("goalId") drange = util.get_reporting_dates(request) start = drange["start"] end = drange["end"] data = {"conversions": ga_man.get_conversion_count_for_goal(settings.ga_view, goalid, start, end)} return HttpResponse(json.dumps(data), content_type="application/json")
def subscriptions_per_type(request, project_id): """ List housetypes and according subscriptions in a dictionary """ project = monitor_models.Project.objects.get(id = project_id) date_range = util.get_reporting_dates(request) start = date_range['start'] end = date_range['end'] interestManager = InterestManager() count = interestManager.get_count_by_housetype(project, start, end) data = [] for key, value in count: data.append({'woningtype': key, 'interesse': value}) return HttpResponse(json.dumps(data), content_type='application/json')
def global_summary(request): drange = util.get_reporting_dates(request) start = drange["start"] end = drange["end"] data = ga_stats.get_global_summary(start, end) return HttpResponse(json.dumps(data), content_type="application/json")
def dateranges(request): date_range = util.get_reporting_dates(request) s = datetime.strftime(date_range.get('start'), "%Y-%m-%d") e = datetime.strftime(date_range.get('end'), "%Y-%m-%d") return {'start': s, 'end': e}