def my_apps_report(request, report): """ A report for a developer, showing multiple apps. """ view = get_report_view(request) template_name = "devstats/reports/%s.html" % report return jingo.render(request, template_name, {"view": view, "report": "my_apps"})
def stats_report(request, addon, report): check_stats_permission(request, addon) stats_base_url = reverse("mkt.stats.overview", args=[addon.app_slug]) view = get_report_view(request) return jingo.render( request, "appstats/reports/%s.html" % report, {"addon": addon, "report": report, "view": view, "stats_base_url": stats_base_url}, )
def stats_report(request, addon, report): check_stats_permission(request, addon) stats_base_url = reverse('mkt.stats.overview', args=[addon.app_slug]) view = get_report_view(request) return jingo.render(request, 'appstats/reports/%s.html' % report, {'addon': addon, 'report': report, 'view': view, 'stats_base_url': stats_base_url})
def my_apps_report(request, report): """ A report for a developer, showing multiple apps. """ view = get_report_view(request) template_name = 'devstats/reports/%s.html' % report return jingo.render(request, template_name, { 'view': view, 'report': 'my_apps', })
def stats_report(request, addon, report, inapp=None, category_field=None): """ Stats page. Passes in context variables into template which is read by the JS to build a URL. The URL calls a *_series view which determines necessary arguments for get_series_*. get_series_* queries ES for the data, which is later formatted into .json or .csv and made available to the JS. """ if addon.status is not amo.STATUS_PUBLIC and not check_stats_permission( request, addon, for_contributions=True, no_raise=True ): return redirect(addon.get_detail_url()) check_stats_permission(request, addon) # For inapp, point template to same as non-inapp, but still use # different report names. template_name = "appstats/reports/%s.html" % report.replace("_inapp", "") if inapp: stats_base_url = addon.get_stats_inapp_url(action="revenue", inapp=inapp) else: stats_base_url = reverse("mkt.stats.overview", args=[addon.app_slug]) view = get_report_view(request) # Get list of in-apps for drop-down in-app selector. inapps = [] # Until we figure out why ES stores strings in lowercase despite # the field being set to not analyze, we grab the lowercase version # from ES and do a case-insensitive query to the ORM to un-lowercase. inapps_lower = list( set(payment["inapp"] for payment in list(InappPayment.search().filter(addon=addon.id).values_dict("inapp"))) ) for inapp_name in inapps_lower: inapps.append(InappPayment.objects.filter(name__iexact=inapp_name)[0].name) return jingo.render( request, template_name, { "addon": addon, "report": report, "view": view, "stats_base_url": stats_base_url, "inapp": inapp, "inapps": inapps, }, )
def stats_report(request, addon, report, category_field=None): """ Stats page. Passes in context variables into template which is read by the JS to build a URL. The URL calls a *_series view which determines necessary arguments for get_series_*. get_series_* queries ES for the data, which is later formatted into .json or .csv and made available to the JS. """ if addon.status is not amo.STATUS_PUBLIC and not check_stats_permission( request, addon, for_contributions=True, no_raise=True ): return redirect(addon.get_detail_url()) check_stats_permission(request, addon) template_name = "appstats/reports/%s.html" % report stats_base_url = reverse("mkt.stats.overview", args=[addon.app_slug]) view = get_report_view(request) return jingo.render( request, template_name, {"addon": addon, "report": report, "view": view, "stats_base_url": stats_base_url} )
def overall(request, report): view = get_report_view(request) return jingo.render(request, 'sitestats/stats.html', {'report': report, 'view': view})
def test_report_view_xss(self): req = RequestFactory().get('/', start='<alert>', end='20010101') assert views.get_report_view(req) == {} req = RequestFactory().get('/', last='<alert>') assert views.get_report_view(req) == {}
def overall(request, report): view = get_report_view(request) return jingo.render(request, "sitestats/stats.html", {"report": report, "view": view})