]> git.cameronkatri.com Git - cgit.git/commitdiff
stats: move layout into page function
authorJohn Keeping <john@keeping.me.uk>
Fri, 14 Aug 2015 11:47:17 +0000 (12:47 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Fri, 14 Aug 2015 13:46:51 +0000 (15:46 +0200)
This also allows us to return proper HTTP error codes for invalid
requests.

Signed-off-by: John Keeping <john@keeping.me.uk>
cmd.c
ui-stats.c

diff --git a/cmd.c b/cmd.c
index ce66af917a3f55d1bdd6c215d62ec9259d98ace3..4f8e71d5d652526848a360543a6ff429804e39ac 100644 (file)
--- a/cmd.c
+++ b/cmd.c
@@ -169,7 +169,7 @@ struct cgit_cmd *cgit_get_cmd(void)
                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),
index 9cd8247e0c1cc5f117052fa0ba47bc4945d8cd8a..74ce0f7197a6597667995be3d7096848c9a68174 100644 (file)
@@ -372,11 +372,13 @@ void cgit_show_stats(void)
 
        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 @@ void cgit_show_stats(void)
        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 @@ void cgit_show_stats(void)
        }
        html("</h2>");
        print_authors(&authors, top, period);
+       cgit_print_layout_end();
 }