Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

A free and open-source forge that lives in your Git repo.

Fold admin work into repository settings and a Users page

9579c1f976254fdeb2ec73d4016db5b25c7921c1 · Keenan Nemetz · 14d ago · parent 381d6aac

Fold admin work into repository settings and a Users page

Remove the combined /admin tabs. Per-repository access rules now live on the repository's Settings page, visible to instance admins while repository details and the danger zone stay with repository admins. User management moves to /users, linked from the top navigation only for instance admins, and repository creation moves to /repos/new. Align the invite, danger-zone, and settings forms with the shared card-and-actions layout, and make settings section headings consistent.

server/web/home_test.go +11−13

@@ -65,19 +65,17 @@ func TestPaginateClampsToTheFeed(t *testing.T) {
65 65
66 66 func TestPageSection(t *testing.T) {
67 67 cases := map[string]string{
68 "/": "repos",
69 "/r/demo": "repos",
70 "/r/demo/issues": "repos",
71 "/runners": "runners",
72 "/activity": "activity",
73 "/admin": "admin-repos",
74 "/admin/repos/new": "admin-repos",
75 "/admin/repos/demo/access": "admin-repos",
76 "/admin/users": "admin-users",
77 "/admin/users/keenan": "admin-users",
78 "/account": "account",
79 "/login": "",
80 "/status": "",
68 "/": "repos",
69 "/r/demo": "repos",
70 "/r/demo/issues": "repos",
71 "/runners": "runners",
72 "/activity": "activity",
73 "/repos/new": "repos",
74 "/users": "users",
75 "/users/keenan": "users",
76 "/account": "account",
77 "/login": "",
78 "/status": "",
81 79 }
82 80 for path, want := range cases {
83 81 if got := pageSection(path); got != want {