Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions options/locale/locale_en-US.ini
Original file line number Diff line number Diff line change
Expand Up @@ -923,12 +923,16 @@ repo_and_org_access = Repository and Organization Access
permissions_public_only = Public only
permissions_access_all = All (public, private, and limited)
permission_not_set = Not set
permission_not_set_helper = No public access to this unit
permission_no_access = No Access
permission_read = Read
permission_write = Read and Write
permission_anonymous_read = Anonymous Read
permission_anonymous_read_helper = Non-signed-in users can read
permission_everyone_read = Everyone Read
permission_everyone_read_helper = Signed-in users can read
permission_everyone_write = Everyone Write
permission_everyone_write_helper = Signed-in users can write (wiki-only)
access_token_desc = Selected token permissions limit authorization only to the corresponding <a %s>API</a> routes. Read the <a %s>documentation</a> for more information.
at_least_one_permission = You must select at least one permission to create a token
permissions_list = Permissions:
Expand Down Expand Up @@ -2138,6 +2142,7 @@ settings = Settings
settings.desc = Settings is where you can manage the settings for the repository
settings.options = Repository
settings.public_access = Public Access
settings.public_access_desc = Configure public access permissions for each units.
settings.collaboration = Collaborators
settings.collaboration.admin = Administrator
settings.collaboration.write = Write
Expand Down
72 changes: 42 additions & 30 deletions templates/repo/settings/public_access.tmpl
Original file line number Diff line number Diff line change
@@ -1,36 +1,48 @@
{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings")}}
<div class="repo-setting-content">
{{$paNotSet := "not-set"}}
{{$paAnonymousRead := "anonymous-read"}}
{{$paEveryoneRead := "everyone-read"}}
{{$paEveryoneWrite := "everyone-write"}}
<form class="ui form" method="post">
{{.CsrfTokenHtml}}
<table class="ui table unstackable tw-my-2">
<tr>
<th></th>
<th>{{ctx.Locale.Tr "settings.permission_not_set"}}</th>
<th>{{ctx.Locale.Tr "settings.permission_anonymous_read"}}</th>
<th>{{ctx.Locale.Tr "settings.permission_everyone_read"}}</th>
<th>{{ctx.Locale.Tr "settings.permission_everyone_write"}}</th>
</tr>
{{range $ua := .RepoUnitPublicAccesses}}
<h4 class="ui top attached header">
{{ctx.Locale.Tr "repo.settings.public_access"}}
</h4>
<div class="ui attached segment">
<p>
{{ctx.Locale.Tr "repo.settings.public_access_desc"}}
</p>
{{$paNotSet := "not-set"}}
{{$paAnonymousRead := "anonymous-read"}}
{{$paEveryoneRead := "everyone-read"}}
{{$paEveryoneWrite := "everyone-write"}}
<form class="ui form" method="post">
{{.CsrfTokenHtml}}
<table class="ui table unstackable tw-my-2">
<tr>
<td>{{$ua.DisplayName}}</td>
<td class="tw-text-center"><label><input type="radio" name="{{$ua.FormKey}}" value="{{$paNotSet}}" {{Iif (eq $paNotSet $ua.UnitPublicAccess) "checked"}}></label></td>
<td class="tw-text-center"><label><input type="radio" name="{{$ua.FormKey}}" value="{{$paAnonymousRead}}" {{Iif (eq $paAnonymousRead $ua.UnitPublicAccess) "checked"}}></label></td>
<td class="tw-text-center"><label><input type="radio" name="{{$ua.FormKey}}" value="{{$paEveryoneRead}}" {{Iif (eq $paEveryoneRead $ua.UnitPublicAccess) "checked"}}></label></td>
<td class="tw-text-center">
{{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>
<th></th>
<th>{{ctx.Locale.Tr "settings.permission_not_set"}}
<span class="tw-align-middle" data-tooltip-content="{{ctx.Locale.Tr "settings.permission_not_set_helper"}}">{{svg "octicon-question" 16 "tw-ml-1"}}</span></th>
<th>{{ctx.Locale.Tr "settings.permission_anonymous_read"}}
<span class="tw-align-middle" data-tooltip-content="{{ctx.Locale.Tr "settings.permission_anonymous_read_helper"}}">{{svg "octicon-question" 16 "tw-ml-1"}}</span></th>
<th>{{ctx.Locale.Tr "settings.permission_everyone_read"}}
<span class="tw-align-middle" data-tooltip-content="{{ctx.Locale.Tr "settings.permission_everyone_read_helper"}}">{{svg "octicon-question" 16 "tw-ml-1"}}</span></th>
<th>{{ctx.Locale.Tr "settings.permission_everyone_write"}}
<span class="tw-align-middle" data-tooltip-content="{{ctx.Locale.Tr "settings.permission_everyone_write_helper"}}">{{svg "octicon-question" 16 "tw-ml-1"}}</span></th>
</tr>
{{end}}
</table>
<button class="ui primary button {{if .GlobalForcePrivate}}disabled{{end}}">{{ctx.Locale.Tr "repo.settings.update_settings"}}</button>
</form>
{{range $ua := .RepoUnitPublicAccesses}}
<tr>
<td>{{$ua.DisplayName}}</td>
<td class="tw-text-center"><label><input type="radio" name="{{$ua.FormKey}}" value="{{$paNotSet}}" {{Iif (eq $paNotSet $ua.UnitPublicAccess) "checked"}}></label></td>
<td class="tw-text-center"><label><input type="radio" name="{{$ua.FormKey}}" value="{{$paAnonymousRead}}" {{Iif (eq $paAnonymousRead $ua.UnitPublicAccess) "checked"}}></label></td>
<td class="tw-text-center"><label><input type="radio" name="{{$ua.FormKey}}" value="{{$paEveryoneRead}}" {{Iif (eq $paEveryoneRead $ua.UnitPublicAccess) "checked"}}></label></td>
<td class="tw-text-center">
{{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}}
</table>
<button class="ui primary button {{if .GlobalForcePrivate}}disabled{{end}}">{{ctx.Locale.Tr "repo.settings.update_settings"}}</button>
</form>
</div>
</div>
{{template "repo/settings/layout_footer" .}}