0
0
mirror of https://github.com/go-gitea/gitea.git synced 2026-05-24 06:13:13 +02:00

Adress all reviewer feedback

This commit is contained in:
Excellencedev 2025-12-19 05:39:06 +01:00
parent 92506da0ff
commit 8daef631cf
6 changed files with 85 additions and 107 deletions

View File

@ -1,4 +1,4 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// Copyright 2025 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package actions

View File

@ -196,8 +196,8 @@ type ActionsTokenPermissions struct {
Wiki perm.AccessMode `json:"wiki"`
}
// HasRead checks if the permission has read access for the given scope
func (p ActionsTokenPermissions) HasRead(scope string) bool {
// HasAccess checks if the permission meets the required access level for the given scope
func (p ActionsTokenPermissions) HasAccess(scope string, required perm.AccessMode) bool {
var mode perm.AccessMode
switch scope {
case "actions":
@ -213,27 +213,17 @@ func (p ActionsTokenPermissions) HasRead(scope string) bool {
case "wiki":
mode = p.Wiki
}
return mode >= perm.AccessModeRead
return mode >= required
}
// HasWrite checks if the permission has write access for the given scope
// HasRead checks if the permission has read access for the given scope (convenience wrapper for templates)
func (p ActionsTokenPermissions) HasRead(scope string) bool {
return p.HasAccess(scope, perm.AccessModeRead)
}
// HasWrite checks if the permission has write access for the given scope (convenience wrapper for templates)
func (p ActionsTokenPermissions) HasWrite(scope string) bool {
var mode perm.AccessMode
switch scope {
case "actions":
mode = p.Actions
case "contents":
mode = p.Contents
case "issues":
mode = p.Issues
case "packages":
mode = p.Packages
case "pull_requests":
mode = p.PullRequests
case "wiki":
mode = p.Wiki
}
return mode >= perm.AccessModeWrite
return p.HasAccess(scope, perm.AccessModeWrite)
}
// DefaultActionsTokenPermissions returns the default permissions for permissive mode

View File

@ -43,11 +43,11 @@
<div class="field">
<label>{{.locale.Tr "actions.actions"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="actions_read" {{if call $.DefaultTokenPermissions.HasRead "actions"}}checked{{end}}>
<input type="checkbox" name="actions_read" {{if $.DefaultTokenPermissions.HasRead "actions"}}checked{{end}}>
<label>{{.locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="actions_write" {{if call $.DefaultTokenPermissions.HasWrite "actions"}}checked{{end}}>
<input type="checkbox" name="actions_write" {{if $.DefaultTokenPermissions.HasWrite "actions"}}checked{{end}}>
<label>{{.locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -57,11 +57,11 @@
<div class="field">
<label>{{.locale.Tr "general.token_permissions.contents"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="contents_read" {{if call $.DefaultTokenPermissions.HasRead "contents"}}checked{{end}}>
<input type="checkbox" name="contents_read" {{if $.DefaultTokenPermissions.HasRead "contents"}}checked{{end}}>
<label>{{.locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="contents_write" {{if call $.DefaultTokenPermissions.HasWrite "contents"}}checked{{end}}>
<input type="checkbox" name="contents_write" {{if $.DefaultTokenPermissions.HasWrite "contents"}}checked{{end}}>
<label>{{.locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -71,11 +71,11 @@
<div class="field">
<label>{{.locale.Tr "general.token_permissions.issues"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="issues_read" {{if call $.DefaultTokenPermissions.HasRead "issues"}}checked{{end}}>
<input type="checkbox" name="issues_read" {{if $.DefaultTokenPermissions.HasRead "issues"}}checked{{end}}>
<label>{{.locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="issues_write" {{if call $.DefaultTokenPermissions.HasWrite "issues"}}checked{{end}}>
<input type="checkbox" name="issues_write" {{if $.DefaultTokenPermissions.HasWrite "issues"}}checked{{end}}>
<label>{{.locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -85,11 +85,11 @@
<div class="field">
<label>{{.locale.Tr "general.token_permissions.packages"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="packages_read" {{if call $.DefaultTokenPermissions.HasRead "packages"}}checked{{end}}>
<input type="checkbox" name="packages_read" {{if $.DefaultTokenPermissions.HasRead "packages"}}checked{{end}}>
<label>{{.locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="packages_write" {{if call $.DefaultTokenPermissions.HasWrite "packages"}}checked{{end}}>
<input type="checkbox" name="packages_write" {{if $.DefaultTokenPermissions.HasWrite "packages"}}checked{{end}}>
<label>{{.locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -99,11 +99,11 @@
<div class="field">
<label>{{.locale.Tr "general.token_permissions.pull_requests"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="pull_requests_read" {{if call $.DefaultTokenPermissions.HasRead "pull_requests"}}checked{{end}}>
<input type="checkbox" name="pull_requests_read" {{if $.DefaultTokenPermissions.HasRead "pull_requests"}}checked{{end}}>
<label>{{.locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="pull_requests_write" {{if call $.DefaultTokenPermissions.HasWrite "pull_requests"}}checked{{end}}>
<input type="checkbox" name="pull_requests_write" {{if $.DefaultTokenPermissions.HasWrite "pull_requests"}}checked{{end}}>
<label>{{.locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -113,11 +113,11 @@
<div class="field">
<label>{{.locale.Tr "general.token_permissions.wiki"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="wiki_read" {{if call $.DefaultTokenPermissions.HasRead "wiki"}}checked{{end}}>
<input type="checkbox" name="wiki_read" {{if $.DefaultTokenPermissions.HasRead "wiki"}}checked{{end}}>
<label>{{.locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="wiki_write" {{if call $.DefaultTokenPermissions.HasWrite "wiki"}}checked{{end}}>
<input type="checkbox" name="wiki_write" {{if $.DefaultTokenPermissions.HasWrite "wiki"}}checked{{end}}>
<label>{{.locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -148,11 +148,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "actions.actions"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="max_actions_read" {{if call $.MaxTokenPermissions.HasRead "actions"}}checked{{end}}>
<input type="checkbox" name="max_actions_read" {{if $.MaxTokenPermissions.HasRead "actions"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="max_actions_write" {{if call $.MaxTokenPermissions.HasWrite "actions"}}checked{{end}}>
<input type="checkbox" name="max_actions_write" {{if $.MaxTokenPermissions.HasWrite "actions"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -162,11 +162,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.contents"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="max_contents_read" {{if call $.MaxTokenPermissions.HasRead "contents"}}checked{{end}}>
<input type="checkbox" name="max_contents_read" {{if $.MaxTokenPermissions.HasRead "contents"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="max_contents_write" {{if call $.MaxTokenPermissions.HasWrite "contents"}}checked{{end}}>
<input type="checkbox" name="max_contents_write" {{if $.MaxTokenPermissions.HasWrite "contents"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -176,11 +176,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.issues"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="max_issues_read" {{if call $.MaxTokenPermissions.HasRead "issues"}}checked{{end}}>
<input type="checkbox" name="max_issues_read" {{if $.MaxTokenPermissions.HasRead "issues"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="max_issues_write" {{if call $.MaxTokenPermissions.HasWrite "issues"}}checked{{end}}>
<input type="checkbox" name="max_issues_write" {{if $.MaxTokenPermissions.HasWrite "issues"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -190,11 +190,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.packages"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="max_packages_read" {{if call $.MaxTokenPermissions.HasRead "packages"}}checked{{end}}>
<input type="checkbox" name="max_packages_read" {{if $.MaxTokenPermissions.HasRead "packages"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="max_packages_write" {{if call $.MaxTokenPermissions.HasWrite "packages"}}checked{{end}}>
<input type="checkbox" name="max_packages_write" {{if $.MaxTokenPermissions.HasWrite "packages"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -204,11 +204,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.pull_requests"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="max_pull_requests_read" {{if call $.MaxTokenPermissions.HasRead "pull_requests"}}checked{{end}}>
<input type="checkbox" name="max_pull_requests_read" {{if $.MaxTokenPermissions.HasRead "pull_requests"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="max_pull_requests_write" {{if call $.MaxTokenPermissions.HasWrite "pull_requests"}}checked{{end}}>
<input type="checkbox" name="max_pull_requests_write" {{if $.MaxTokenPermissions.HasWrite "pull_requests"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -218,11 +218,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.wiki"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="max_wiki_read" {{if call $.MaxTokenPermissions.HasRead "wiki"}}checked{{end}}>
<input type="checkbox" name="max_wiki_read" {{if $.MaxTokenPermissions.HasRead "wiki"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="max_wiki_write" {{if call $.MaxTokenPermissions.HasWrite "wiki"}}checked{{end}}>
<input type="checkbox" name="max_wiki_write" {{if $.MaxTokenPermissions.HasWrite "wiki"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -232,22 +232,3 @@
</div>
</div>
{{template "org/settings/layout_footer" .}}
<script>
window.addEventListener('load', function() {
const customPerms = document.getElementById('custom-permissions');
const radios = document.querySelectorAll('input[name="token_permission_mode"]');
function toggleCustom() {
const selected = document.querySelector('input[name="token_permission_mode"]:checked');
if (selected && selected.value === 'custom') {
customPerms.style.display = 'block';
} else {
customPerms.style.display = 'none';
}
}
radios.forEach(r => r.addEventListener('change', toggleCustom));
toggleCustom();
});
</script>

View File

@ -113,11 +113,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "actions.actions"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="actions_read" {{if call $.DefaultTokenPermissions.HasRead "actions"}}checked{{end}}>
<input type="checkbox" name="actions_read" {{if $.DefaultTokenPermissions.HasRead "actions"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="actions_write" {{if call $.DefaultTokenPermissions.HasWrite "actions"}}checked{{end}}>
<input type="checkbox" name="actions_write" {{if $.DefaultTokenPermissions.HasWrite "actions"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -127,11 +127,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.contents"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="contents_read" {{if call $.DefaultTokenPermissions.HasRead "contents"}}checked{{end}}>
<input type="checkbox" name="contents_read" {{if $.DefaultTokenPermissions.HasRead "contents"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="contents_write" {{if call $.DefaultTokenPermissions.HasWrite "contents"}}checked{{end}}>
<input type="checkbox" name="contents_write" {{if $.DefaultTokenPermissions.HasWrite "contents"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -141,11 +141,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.issues"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="issues_read" {{if call $.DefaultTokenPermissions.HasRead "issues"}}checked{{end}}>
<input type="checkbox" name="issues_read" {{if $.DefaultTokenPermissions.HasRead "issues"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="issues_write" {{if call $.DefaultTokenPermissions.HasWrite "issues"}}checked{{end}}>
<input type="checkbox" name="issues_write" {{if $.DefaultTokenPermissions.HasWrite "issues"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -155,11 +155,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.packages"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="packages_read" {{if call $.DefaultTokenPermissions.HasRead "packages"}}checked{{end}}>
<input type="checkbox" name="packages_read" {{if $.DefaultTokenPermissions.HasRead "packages"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="packages_write" {{if call $.DefaultTokenPermissions.HasWrite "packages"}}checked{{end}}>
<input type="checkbox" name="packages_write" {{if $.DefaultTokenPermissions.HasWrite "packages"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -169,11 +169,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.pull_requests"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="pull_requests_read" {{if call $.DefaultTokenPermissions.HasRead "pull_requests"}}checked{{end}}>
<input type="checkbox" name="pull_requests_read" {{if $.DefaultTokenPermissions.HasRead "pull_requests"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="pull_requests_write" {{if call $.DefaultTokenPermissions.HasWrite "pull_requests"}}checked{{end}}>
<input type="checkbox" name="pull_requests_write" {{if $.DefaultTokenPermissions.HasWrite "pull_requests"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -183,11 +183,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.wiki"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="wiki_read" {{if call $.DefaultTokenPermissions.HasRead "wiki"}}checked{{end}}>
<input type="checkbox" name="wiki_read" {{if $.DefaultTokenPermissions.HasRead "wiki"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="wiki_write" {{if call $.DefaultTokenPermissions.HasWrite "wiki"}}checked{{end}}>
<input type="checkbox" name="wiki_write" {{if $.DefaultTokenPermissions.HasWrite "wiki"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -204,11 +204,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "actions.actions"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="max_actions_read" {{if call $.MaxTokenPermissions.HasRead "actions"}}checked{{end}}>
<input type="checkbox" name="max_actions_read" {{if $.MaxTokenPermissions.HasRead "actions"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="max_actions_write" {{if call $.MaxTokenPermissions.HasWrite "actions"}}checked{{end}}>
<input type="checkbox" name="max_actions_write" {{if $.MaxTokenPermissions.HasWrite "actions"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -218,11 +218,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.contents"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="max_contents_read" {{if call $.MaxTokenPermissions.HasRead "contents"}}checked{{end}}>
<input type="checkbox" name="max_contents_read" {{if $.MaxTokenPermissions.HasRead "contents"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="max_contents_write" {{if call $.MaxTokenPermissions.HasWrite "contents"}}checked{{end}}>
<input type="checkbox" name="max_contents_write" {{if $.MaxTokenPermissions.HasWrite "contents"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -232,11 +232,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.issues"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="max_issues_read" {{if call $.MaxTokenPermissions.HasRead "issues"}}checked{{end}}>
<input type="checkbox" name="max_issues_read" {{if $.MaxTokenPermissions.HasRead "issues"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="max_issues_write" {{if call $.MaxTokenPermissions.HasWrite "issues"}}checked{{end}}>
<input type="checkbox" name="max_issues_write" {{if $.MaxTokenPermissions.HasWrite "issues"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -246,11 +246,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.packages"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="max_packages_read" {{if call $.MaxTokenPermissions.HasRead "packages"}}checked{{end}}>
<input type="checkbox" name="max_packages_read" {{if $.MaxTokenPermissions.HasRead "packages"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="max_packages_write" {{if call $.MaxTokenPermissions.HasWrite "packages"}}checked{{end}}>
<input type="checkbox" name="max_packages_write" {{if $.MaxTokenPermissions.HasWrite "packages"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -260,11 +260,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.pull_requests"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="max_pull_requests_read" {{if call $.MaxTokenPermissions.HasRead "pull_requests"}}checked{{end}}>
<input type="checkbox" name="max_pull_requests_read" {{if $.MaxTokenPermissions.HasRead "pull_requests"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="max_pull_requests_write" {{if call $.MaxTokenPermissions.HasWrite "pull_requests"}}checked{{end}}>
<input type="checkbox" name="max_pull_requests_write" {{if $.MaxTokenPermissions.HasWrite "pull_requests"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -274,11 +274,11 @@
<div class="field">
<label>{{ctx.Locale.Tr "general.token_permissions.wiki"}}</label>
<div class="ui checkbox">
<input type="checkbox" name="max_wiki_read" {{if call $.MaxTokenPermissions.HasRead "wiki"}}checked{{end}}>
<input type="checkbox" name="max_wiki_read" {{if $.MaxTokenPermissions.HasRead "wiki"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_read"}}</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="max_wiki_write" {{if call $.MaxTokenPermissions.HasWrite "wiki"}}checked{{end}}>
<input type="checkbox" name="max_wiki_write" {{if $.MaxTokenPermissions.HasWrite "wiki"}}checked{{end}}>
<label>{{ctx.Locale.Tr "general.token_permissions.access_write"}}</label>
</div>
</div>
@ -296,22 +296,3 @@
</div>
{{end}}
</div>
<script>
window.addEventListener('load', function() {
const customPerms = document.getElementById('custom-permissions');
const radios = document.querySelectorAll('input[name="token_permission_mode"]');
function toggleCustom() {
const selected = document.querySelector('input[name="token_permission_mode"]:checked');
if (selected && selected.value === 'custom') {
customPerms.style.display = 'block';
} else {
customPerms.style.display = 'none';
}
}
radios.forEach(r => r.addEventListener('change', toggleCustom));
toggleCustom();
});
</script>

View File

@ -0,0 +1,24 @@
export function initRepoSettingsActionsPermissions(): void {
const radios = document.querySelectorAll<HTMLInputElement>(
'input[name="token_permission_mode"]',
);
if (!radios.length) return;
function toggleCustom(): void {
const customPerms = document.querySelector<HTMLElement>('#custom-permissions');
if (!customPerms) return;
const selected = document.querySelector<HTMLInputElement>(
'input[name="token_permission_mode"]:checked',
);
customPerms.style.display =
selected?.value === 'custom' ? 'block' : 'none';
}
for (const radio of radios) {
radio.addEventListener('change', toggleCustom);
}
toggleCustom();
}

View File

@ -64,6 +64,7 @@ import {initGlobalButtonClickOnEnter, initGlobalButtons, initGlobalDeleteButton}
import {initGlobalComboMarkdownEditor, initGlobalEnterQuickSubmit, initGlobalFormDirtyLeaveConfirm} from './features/common-form.ts';
import {callInitFunctions} from './modules/init.ts';
import {initRepoViewFileTree} from './features/repo-view-file-tree.ts';
import {initRepoSettingsActionsPermissions} from './features/repo-settings-actions.ts';
const initStartTime = performance.now();
const initPerformanceTracer = callInitFunctions([
@ -158,6 +159,7 @@ const initPerformanceTracer = callInitFunctions([
initOAuth2SettingsDisableCheckbox,
initRepoFileView,
initRepoSettingsActionsPermissions,
]);
// it must be the last one, then the "querySelectorAll" only needs to be executed once for global init functions.