aboutsummaryrefslogtreecommitdiffstats
path: root/shared.c
diff options
context:
space:
mode:
authorAndy Doan <andy.doan@linaro.org>2016-09-12 22:54:08 -0500
committerJohn Keeping <john@keeping.me.uk>2016-10-01 11:51:07 +0100
commit1a66e7f3c15bf8d0d5d1b198c6674911a213779e (patch)
tree23f5d14af44ad63e1a9ad8c615fe622a0d4b52fe /shared.c
parent84b158abe04ca37eb6e3038d3b63a9518714b66d (diff)
ui-repolist: Allow sections to be collapsiblejk/collapsible-sections
The index page can be difficult to navigate for really large git servers. This change allows a configuration like: section-collapse=people section-collapse=tests And an index page would only display the "people" and "tests" section headers entries (not their repos) with a hyperlink that can be used to drill down into each section. Additionally the boolean logic around displaying sections in ui-repolist.c was simplified to eliminate an impossible condition. Signed-off-by: Andy Doan <andy.doan@linaro.org> Reviewed-by: John Keeping <john@keeping.me.uk> Signed-off-by: John Keeping <john@keeping.me.uk>
Diffstat (limited to 'shared.c')
-rw-r--r--shared.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/shared.c b/shared.c
index 571fbba..e4627e1 100644
--- a/shared.c
+++ b/shared.c
@@ -443,13 +443,16 @@ typedef struct {
void cgit_prepare_repo_env(struct cgit_repo * repo)
{
+ char *section = NULL;
+ if (repo->section)
+ section = repo->section->name;
cgit_env_var env_vars[] = {
{ .name = "CGIT_REPO_URL", .value = repo->url },
{ .name = "CGIT_REPO_NAME", .value = repo->name },
{ .name = "CGIT_REPO_PATH", .value = repo->path },
{ .name = "CGIT_REPO_OWNER", .value = repo->owner },
{ .name = "CGIT_REPO_DEFBRANCH", .value = repo->defbranch },
- { .name = "CGIT_REPO_SECTION", .value = repo->section },
+ { .name = "CGIT_REPO_SECTION", .value = section },
{ .name = "CGIT_REPO_CLONE_URL", .value = repo->clone_url }
};
int env_var_count = ARRAY_SIZE(env_vars);