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/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0: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/templates/layout.html +1−1

@@ -18,6 +18,7 @@
18 18 <nav class="topnav" aria-label="Global">
19 19 <a class="{{if eq .Section "runners"}}active{{end}}" href="/runners"{{if eq .Section "runners"}} aria-current="page"{{end}}>{{icon "server"}}Runners</a>
20 20 <a class="{{if eq .Section "activity"}}active{{end}}" href="/activity"{{if eq .Section "activity"}} aria-current="page"{{end}}>{{icon "activity"}}Activity</a>
21 {{if .InstanceAdmin}}<a class="{{if eq .Section "users"}}active{{end}}" href="/users"{{if eq .Section "users"}} aria-current="page"{{end}}>{{icon "users"}}Users</a>{{end}}
21 22 </nav>
22 23 <form class="topsearch" method="get" action="/" role="search">
23 24 <input type="search" name="q" value="{{.Query}}" placeholder="Search repositories" aria-label="Search repositories">
@@ -32,7 +33,6 @@
32 33 </summary>
33 34 <div class="account-pop">
34 35 <a href="/account">{{icon "user"}}Account</a>
35 {{if .InstanceAdmin}}<a href="/admin">{{icon "sliders-horizontal"}}Admin</a>{{end}}
36 36 <a href="/status">{{icon "info"}}Status</a>
37 37 <div class="account-sep"></div>
38 38 <form method="post" action="/logout"><input type="hidden" name="csrf" value="{{.CSRF}}"><button type="submit">{{icon "log-out"}}Log out</button></form>