Switch to unified view

a/Allura/allura/controllers/site_admin.py b/Allura/allura/controllers/site_admin.py
...
...
59
        stats = sorted(stats.iteritems(), key=lambda x:-x[1]['total'])
59
        stats = sorted(stats.iteritems(), key=lambda x:-x[1]['total'])
60
        return dict(
60
        return dict(
61
            agg_timings=agg_timings,
61
            agg_timings=agg_timings,
62
            stats=stats[:int(limit)])
62
            stats=stats[:int(limit)])
63
63
64
    @expose('jinja:allura:templates/site_admin_cpa_stats.html')
65
    @without_trailing_slash
66
    @validate(dict(since=fev.DateConverter(if_empty=datetime(2011,1,1))))
67
    def cpa_stats(self, since=None, **kw):
68
        stats = M.CPA.stats(since)
69
        if getattr(c, 'validation_exception', None):
70
            flash(str(c.validation_exception), 'error')
71
        return dict(stats=stats, since=since)
72
73
    @expose('jinja:allura:templates/site_admin_api_tickets.html')
64
    @expose('jinja:allura:templates/site_admin_api_tickets.html')
74
    def api_tickets(self, **data):
65
    def api_tickets(self, **data):
75
        import json
66
        import json
76
        import dateutil.parser
67
        import dateutil.parser
77
        if request.method == 'POST':
68
        if request.method == 'POST':