@@ -1,9 +1,9 @@
 | 
			
		||||
<script>
 | 
			
		||||
  import { _ } from "svelte-i18n";
 | 
			
		||||
  import {
 | 
			
		||||
    UserService,
 | 
			
		||||
    PermissionService,
 | 
			
		||||
    CreatePermission,
 | 
			
		||||
UserGroupService,
 | 
			
		||||
  } from "@odit/lfk-client-js";
 | 
			
		||||
  import Toastify from "toastify-js";
 | 
			
		||||
  import PromiseError from "../base/PromiseError.svelte";
 | 
			
		||||
@@ -11,18 +11,17 @@
 | 
			
		||||
  let [
 | 
			
		||||
    grantedPermissions_initial,
 | 
			
		||||
    grantedPermissions,
 | 
			
		||||
    inheritedPermissions,
 | 
			
		||||
    to_add,
 | 
			
		||||
    to_delete,
 | 
			
		||||
    allpermissions,
 | 
			
		||||
    promises,
 | 
			
		||||
  ] = [[], [], [], [], [], [], []];
 | 
			
		||||
  ] = [[], [], [], [], [], []];
 | 
			
		||||
  $: original_data = {};
 | 
			
		||||
  $: save_enabled =
 | 
			
		||||
    JSON.stringify(grantedPermissions) ===
 | 
			
		||||
    JSON.stringify(grantedPermissions_initial);
 | 
			
		||||
  const user_promise = UserService.userControllerGetOne(params.userid);
 | 
			
		||||
  user_promise.then((data) => {
 | 
			
		||||
  const group_promise = UserGroupService.userGroupControllerGetOne(params.groupid);
 | 
			
		||||
  group_promise.then((data) => {
 | 
			
		||||
    original_data = Object.assign(original_data, data);
 | 
			
		||||
  });
 | 
			
		||||
  function submit() {
 | 
			
		||||
@@ -62,18 +61,17 @@
 | 
			
		||||
      allpermissions = allpermissions.concat([{ target: t, action: a }]);
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
  UserService.userControllerGetPermissions(params.userid).then((val) => {
 | 
			
		||||
    val.inherited.forEach((p) => {
 | 
			
		||||
      inheritedPermissions = inheritedPermissions.concat([p]);
 | 
			
		||||
    });
 | 
			
		||||
  UserGroupService.userGroupControllerGetPermissions(params.groupid).then((val) => {
 | 
			
		||||
    val.directlyGranted.forEach((p) => {
 | 
			
		||||
      delete p.responseType;
 | 
			
		||||
      grantedPermissions = grantedPermissions.concat([p]);
 | 
			
		||||
    });
 | 
			
		||||
    console.log(grantedPermissions)
 | 
			
		||||
    grantedPermissions_initial = grantedPermissions;
 | 
			
		||||
  });
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
{#await user_promise}
 | 
			
		||||
{#await group_promise}
 | 
			
		||||
  <!--  -->
 | 
			
		||||
{:then user}
 | 
			
		||||
  <section class="container p-5 select-none">
 | 
			
		||||
@@ -111,9 +109,7 @@
 | 
			
		||||
                <polyline points="12 5 19 12 12 19" /></svg>
 | 
			
		||||
            </li>
 | 
			
		||||
            <li class="flex items-center">
 | 
			
		||||
              <span class="mr-2"><a href="../">{original_data.firstname}
 | 
			
		||||
                  {original_data.middlename || ''}
 | 
			
		||||
                  {original_data.lastname}</a></span>
 | 
			
		||||
              <span class="mr-2"><a href="../">{original_data.name}</a></span>
 | 
			
		||||
            </li>
 | 
			
		||||
            <li class="flex items-center">
 | 
			
		||||
              <svg
 | 
			
		||||
@@ -142,9 +138,7 @@
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="mb-8 text-3xl font-extrabold">
 | 
			
		||||
      {$_('permissions')}:
 | 
			
		||||
      {original_data.firstname}
 | 
			
		||||
      {original_data.middlename || ''}
 | 
			
		||||
      {original_data.lastname}
 | 
			
		||||
      {original_data.name}
 | 
			
		||||
      <span>
 | 
			
		||||
        {#if promises.length === 0}
 | 
			
		||||
          <button
 | 
			
		||||
@@ -162,24 +156,21 @@
 | 
			
		||||
    </div>
 | 
			
		||||
    <!--  -->
 | 
			
		||||
    <div class="flex flex-wrap -mx-1 overflow-hidden">
 | 
			
		||||
      <div class="my-1 px-1 w-full overflow-hidden sm:w-1/3">
 | 
			
		||||
      <div class="my-1 px-1 w-full overflow-hidden sm:w-1/2">
 | 
			
		||||
        {$_('verfuegbare')}
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="my-1 px-1 w-full overflow-hidden sm:w-1/3">
 | 
			
		||||
        {$_('erteilte')}
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="my-1 px-1 w-full overflow-hidden sm:w-1/3">
 | 
			
		||||
        {$_('geerbte')}
 | 
			
		||||
      <div class="my-1 px-1 w-full overflow-hidden sm:w-1/2">
 | 
			
		||||
        granted
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <!--  -->
 | 
			
		||||
    <div class="flex flex-wrap -mx-1 overflow-hidden">
 | 
			
		||||
      {#if allpermissions.length > 0}
 | 
			
		||||
        <div class="my-1 px-1 w-full overflow-hidden sm:w-1/3">
 | 
			
		||||
        <div class="my-1 px-1 w-full overflow-hidden sm:w-1/2">
 | 
			
		||||
          <div
 | 
			
		||||
            class="border-4 border-dashed rounded mb-4 p-5 text-lg text-center">
 | 
			
		||||
            {#each allpermissions as p}
 | 
			
		||||
              {#if !grantedPermissions.includes(p)}
 | 
			
		||||
              {#if !(grantedPermissions.filter((o)=>p.target == o.target && p.action == o.action).length > 0)}
 | 
			
		||||
                <p
 | 
			
		||||
                  class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 bg-gray-200 p-2 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input">
 | 
			
		||||
                  {p.target + ':' + p.action}
 | 
			
		||||
@@ -205,7 +196,7 @@
 | 
			
		||||
            {/each}
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="my-1 px-1 w-full overflow-hidden sm:w-1/3">
 | 
			
		||||
        <div class="my-1 px-1 w-full overflow-hidden sm:w-1/2">
 | 
			
		||||
          <div
 | 
			
		||||
            class="border-4 border-dashed rounded mb-4 p-5 text-lg text-center">
 | 
			
		||||
            {#each grantedPermissions as p}
 | 
			
		||||
@@ -227,17 +218,6 @@
 | 
			
		||||
            {/each}
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="my-1 px-1 w-full overflow-hidden sm:w-1/3">
 | 
			
		||||
          <div
 | 
			
		||||
            class="border-4 border-dashed rounded mb-4 p-5 text-lg text-center">
 | 
			
		||||
            {#each inheritedPermissions as p}
 | 
			
		||||
              <p
 | 
			
		||||
                class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 bg-gray-200 p-2 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input">
 | 
			
		||||
                {p.target + ':' + p.action}
 | 
			
		||||
              </p>
 | 
			
		||||
            {/each}
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      {/if}
 | 
			
		||||
    </div>
 | 
			
		||||
  </section>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user