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/auth.go +4−2

@@ -330,8 +330,10 @@ func (w *Web) page(r *http.Request, title string) Page {
330 330 if p.LoggedIn && w.Repos != nil {
331 331 if name := r.PathValue("name"); name != "" {
332 332 if m, err := w.Repos.Open(name); err == nil {
333 if acl, err := m.ACL(); err == nil && acl.Can(p.AccountName, access.Admin) {
334 p.CanAdmin = true
333 if acl, err := m.ACL(); err == nil {
334 // Instance admins get the Settings tab for its access section,
335 // even when the repository has no role for them.
336 p.CanAdmin = p.InstanceAdmin || acl.Can(p.AccountName, access.Admin)
335 337 }
336 338 }
337 339 }