Add descriptions for private repo public access settings and improve the UI (#34057)

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
yp05327
2025-03-29 22:24:27 +09:00
committed by GitHub
parent cddd19efc8
commit 5023238088
2 changed files with 55 additions and 32 deletions

View File

@ -2138,6 +2138,11 @@ settings = Settings
settings.desc = Settings is where you can manage the settings for the repository settings.desc = Settings is where you can manage the settings for the repository
settings.options = Repository settings.options = Repository
settings.public_access = Public Access settings.public_access = Public Access
settings.public_access_desc = Configure public visitor's access permissions to override the defaults of this repository.
settings.public_access.docs.not_set = Not Set: no extra public access permission. The visitor's permission follows the repository's visibility and member permissions.
settings.public_access.docs.anonymous_read = Anonymous Read: users who are not logged in can access the unit with read permission.
settings.public_access.docs.everyone_read = Everyone Read: all logged-in users can access the unit with read permission. Read permission of issues/pull-requests units also means users can create new issues/pull-requests.
settings.public_access.docs.everyone_write = Everyone Write: all logged-in users have write permission to the unit. Only Wiki unit supports this permission.
settings.collaboration = Collaborators settings.collaboration = Collaborators
settings.collaboration.admin = Administrator settings.collaboration.admin = Administrator
settings.collaboration.write = Write settings.collaboration.write = Write

View File

@ -1,36 +1,54 @@
{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings")}} {{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings")}}
<div class="repo-setting-content"> <div class="repo-setting-content">
{{$paNotSet := "not-set"}} <h4 class="ui top attached header">
{{$paAnonymousRead := "anonymous-read"}} {{ctx.Locale.Tr "repo.settings.public_access"}}
{{$paEveryoneRead := "everyone-read"}} </h4>
{{$paEveryoneWrite := "everyone-write"}} <div class="ui attached segment">
<form class="ui form" method="post"> <p>
{{.CsrfTokenHtml}} {{ctx.Locale.Tr "repo.settings.public_access_desc"}}
<table class="ui table unstackable tw-my-2"> </p>
<tr> {{$paNotSet := "not-set"}}
<th></th> {{$paAnonymousRead := "anonymous-read"}}
<th>{{ctx.Locale.Tr "settings.permission_not_set"}}</th> {{$paEveryoneRead := "everyone-read"}}
<th>{{ctx.Locale.Tr "settings.permission_anonymous_read"}}</th> {{$paEveryoneWrite := "everyone-write"}}
<th>{{ctx.Locale.Tr "settings.permission_everyone_read"}}</th> <form class="ui form" method="post">
<th>{{ctx.Locale.Tr "settings.permission_everyone_write"}}</th> {{.CsrfTokenHtml}}
</tr> <table class="ui table unstackable tw-my-2">
{{range $ua := .RepoUnitPublicAccesses}} <thead>
<tr> <tr>
<td>{{$ua.DisplayName}}</td> <th>{{ctx.Locale.Tr "units.unit"}}</th>
<td class="tw-text-center"><label><input type="radio" name="{{$ua.FormKey}}" value="{{$paNotSet}}" {{Iif (eq $paNotSet $ua.UnitPublicAccess) "checked"}}></label></td> <th class="tw-text-center">{{ctx.Locale.Tr "settings.permission_not_set"}}</th>
<td class="tw-text-center"><label><input type="radio" name="{{$ua.FormKey}}" value="{{$paAnonymousRead}}" {{Iif (eq $paAnonymousRead $ua.UnitPublicAccess) "checked"}}></label></td> <th class="tw-text-center">{{ctx.Locale.Tr "settings.permission_anonymous_read"}}</th>
<td class="tw-text-center"><label><input type="radio" name="{{$ua.FormKey}}" value="{{$paEveryoneRead}}" {{Iif (eq $paEveryoneRead $ua.UnitPublicAccess) "checked"}}></label></td> <th class="tw-text-center">{{ctx.Locale.Tr "settings.permission_everyone_read"}}</th>
<td class="tw-text-center"> <th class="tw-text-center">{{ctx.Locale.Tr "settings.permission_everyone_write"}}</th>
{{if SliceUtils.Contains $ua.PublicAccessTypes $paEveryoneWrite}} </tr>
<label><input type="radio" name="{{$ua.FormKey}}" value="{{$paEveryoneWrite}}" {{Iif (eq $paEveryoneWrite $ua.UnitPublicAccess) "checked"}}></label> </thead>
{{else}} <tbody>
- {{range $ua := .RepoUnitPublicAccesses}}
{{end}} <tr>
</td> <td>{{$ua.DisplayName}}</td>
</tr> <td class="tw-text-center"><label><input type="radio" name="{{$ua.FormKey}}" value="{{$paNotSet}}" {{Iif (eq $paNotSet $ua.UnitPublicAccess) "checked"}}></label></td>
{{end}} <td class="tw-text-center"><label><input type="radio" name="{{$ua.FormKey}}" value="{{$paAnonymousRead}}" {{Iif (eq $paAnonymousRead $ua.UnitPublicAccess) "checked"}}></label></td>
</table> <td class="tw-text-center"><label><input type="radio" name="{{$ua.FormKey}}" value="{{$paEveryoneRead}}" {{Iif (eq $paEveryoneRead $ua.UnitPublicAccess) "checked"}}></label></td>
<button class="ui primary button {{if .GlobalForcePrivate}}disabled{{end}}">{{ctx.Locale.Tr "repo.settings.update_settings"}}</button> <td class="tw-text-center">
</form> {{if SliceUtils.Contains $ua.PublicAccessTypes $paEveryoneWrite}}
<label><input type="radio" name="{{$ua.FormKey}}" value="{{$paEveryoneWrite}}" {{Iif (eq $paEveryoneWrite $ua.UnitPublicAccess) "checked"}}></label>
{{else}}
-
{{end}}
</td>
</tr>
{{end}}
</tbody>
</table>
<ul class="tw-my-3 tw-pl-5 tw-flex tw-flex-col tw-gap-3">
<li>{{ctx.Locale.Tr "repo.settings.public_access.docs.not_set"}}</li>
<li>{{ctx.Locale.Tr "repo.settings.public_access.docs.anonymous_read"}}</li>
<li>{{ctx.Locale.Tr "repo.settings.public_access.docs.everyone_read"}}</li>
<li>{{ctx.Locale.Tr "repo.settings.public_access.docs.everyone_write"}}</li>
</ul>
<button class="ui primary button {{if .GlobalForcePrivate}}disabled{{end}}">{{ctx.Locale.Tr "repo.settings.update_settings"}}</button>
</form>
</div>
</div> </div>
{{template "repo/settings/layout_footer" .}} {{template "repo/settings/layout_footer" .}}