all repos — cgit @ 892c5441f4af2f53a3b1906c4d7e458829e0cf0a

a hyperfast web frontend for git written in c

stats: move layout into page function

This also allows us to return proper HTTP error codes for invalid
requests.

Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping john@keeping.me.uk
Fri, 14 Aug 2015 12:47:17 +0100
commit

892c5441f4af2f53a3b1906c4d7e458829e0cf0a

parent

6d39dd1914dd0a904c606b079e8ef0f1643f2266

2 files changed, 7 insertions(+), 3 deletions(-)

jump to
M cmd.ccmd.c

@@ -169,7 +169,7 @@ def_cmd(rawdiff, 1, 0, 1, 0),

def_cmd(refs, 1, 0, 0, 0), def_cmd(repolist, 0, 0, 0, 0), def_cmd(snapshot, 1, 0, 0, 0), - def_cmd(stats, 1, 1, 1, 0), + def_cmd(stats, 1, 0, 1, 0), def_cmd(summary, 1, 1, 0, 0), def_cmd(tag, 1, 1, 0, 0), def_cmd(tree, 1, 1, 1, 0),
M ui-stats.cui-stats.c

@@ -372,11 +372,13 @@ code = ctx.qry.period;

i = cgit_find_stats_period(code, &period); if (!i) { - cgit_print_error("Unknown statistics type: %c", code[0]); + cgit_print_error_page(404, "Not found", + "Unknown statistics type: %c", code[0]); return; } if (i > ctx.repo->max_stats) { - cgit_print_error("Statistics type disabled: %s", period->name); + cgit_print_error_page(400, "Bad request", + "Statistics type disabled: %s", period->name); return; } authors = collect_stats(period);

@@ -387,6 +389,7 @@ top = ctx.qry.ofs;

if (!top) top = 10; + cgit_print_layout_start(); html("<div class='cgit-panel'>"); html("<b>stat options</b>"); html("<form method='get' action=''>");

@@ -421,5 +424,6 @@ html("')");

} html("</h2>"); print_authors(&authors, top, period); + cgit_print_layout_end(); }