{#await user_promise} {:then user} {$_("users")} {original_data.firstname} {original_data.middlename || ""} {original_data.lastname} {$_("permissions")} {$_("permissions")}: {original_data.firstname} {original_data.middlename || ""} {original_data.lastname} {#if promises.length === 0} {$_("save-changes")} {:else} {$_("applying-changes")} {/if} {$_("available-permissions")} {$_("directly-granted")} {$_("inherited-permissions")} {#if allpermissions.length > 0} {#each allpermissions as p} {#if !(grantedPermissions.filter((o) => p.target == o.target && p.action == o.action).length > 0)} {p.target + ":" + p.action} { grantedPermissions = grantedPermissions.concat([p]); if (to_delete.some((o) => o === p.id)) { to_delete = to_delete.filter((o) => o !== p.id); } else { to_add = to_add.concat([ { action: p.action, target: p.target, principal: original_data.id, }, ]); } }} type="button" class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-green-200 text-base font-medium text-black hover:bg-green-700 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500 sm:w-auto sm:text-sm" >+ {/if} {/each} {#each grantedPermissions as p} {p.target + ":" + p.action} { grantedPermissions = grantedPermissions.filter( (o) => o.target + ":" + o.action !== p.target + ":" + p.action ); if ( to_add.some( (o) => o.target + ":" + o.action === p.target + ":" + p.action ) ) { to_add = to_add.filter( (o) => o.target + ":" + o.action !== p.target + ":" + p.action ); } else { to_delete = to_delete.concat([p.id]); } }} type="button" class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-300 text-base font-medium text-black hover:bg-red-700 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-500 sm:w-auto sm:text-sm" >- {/each} {#each inheritedPermissions as p} {p.target + ":" + p.action} {/each} {/if} {:catch error} {/await}
{p.target + ":" + p.action} { grantedPermissions = grantedPermissions.concat([p]); if (to_delete.some((o) => o === p.id)) { to_delete = to_delete.filter((o) => o !== p.id); } else { to_add = to_add.concat([ { action: p.action, target: p.target, principal: original_data.id, }, ]); } }} type="button" class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-green-200 text-base font-medium text-black hover:bg-green-700 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500 sm:w-auto sm:text-sm" >+
{p.target + ":" + p.action} { grantedPermissions = grantedPermissions.filter( (o) => o.target + ":" + o.action !== p.target + ":" + p.action ); if ( to_add.some( (o) => o.target + ":" + o.action === p.target + ":" + p.action ) ) { to_add = to_add.filter( (o) => o.target + ":" + o.action !== p.target + ":" + p.action ); } else { to_delete = to_delete.concat([p.id]); } }} type="button" class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-300 text-base font-medium text-black hover:bg-red-700 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-500 sm:w-auto sm:text-sm" >-
{p.target + ":" + p.action}