refac: access controls
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
|
||||
export let onChange: Function = () => {};
|
||||
|
||||
export let accessRoles = ['read'];
|
||||
export let accessControl = null;
|
||||
|
||||
let selectedGroupId = '';
|
||||
@@ -192,24 +193,25 @@
|
||||
class=""
|
||||
type="button"
|
||||
on:click={() => {
|
||||
if (accessControl.write.group_ids.includes(group.id)) {
|
||||
accessControl.write.group_ids = accessControl.write.group_ids.filter(
|
||||
(group_id) => group_id !== group.id
|
||||
);
|
||||
} else {
|
||||
accessControl.write.group_ids = [
|
||||
...accessControl.write.group_ids,
|
||||
group.id
|
||||
];
|
||||
if (accessRoles.includes('write')) {
|
||||
if (accessControl.write.group_ids.includes(group.id)) {
|
||||
accessControl.write.group_ids = accessControl.write.group_ids.filter(
|
||||
(group_id) => group_id !== group.id
|
||||
);
|
||||
} else {
|
||||
accessControl.write.group_ids = [
|
||||
...accessControl.write.group_ids,
|
||||
group.id
|
||||
];
|
||||
}
|
||||
}
|
||||
}}
|
||||
>
|
||||
<Badge
|
||||
type={accessControl.write.group_ids.includes(group.id) ? 'info' : 'success'}
|
||||
content={$i18n.t(
|
||||
accessControl.write.group_ids.includes(group.id) ? 'Write' : 'Read'
|
||||
)}
|
||||
/>
|
||||
{#if accessControl.write.group_ids.includes(group.id)}
|
||||
<Badge type={'success'} content={$i18n.t('Write')} />
|
||||
{:else}
|
||||
<Badge type={'info'} content={$i18n.t('Read')} />
|
||||
{/if}
|
||||
</button>
|
||||
|
||||
<button
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
export let show = false;
|
||||
export let accessControl = null;
|
||||
export let accessRoles = ['read'];
|
||||
|
||||
export let onChange = () => {};
|
||||
</script>
|
||||
@@ -37,7 +38,7 @@
|
||||
</div>
|
||||
|
||||
<div class="w-full px-5 pb-4 dark:text-white">
|
||||
<AccessControl bind:accessControl {onChange} />
|
||||
<AccessControl bind:accessControl {onChange} {accessRoles} />
|
||||
</div>
|
||||
</div>
|
||||
</Modal>
|
||||
|
||||
Reference in New Issue
Block a user