parent
1a799dc30a
commit
6e5a4bcb39
|
@ -18,7 +18,6 @@
|
||||||
$: allpermissions = [];
|
$: allpermissions = [];
|
||||||
$: allgroups = [];
|
$: allgroups = [];
|
||||||
$: allgroups_ids = [];
|
$: allgroups_ids = [];
|
||||||
$: usergroups_array_objects = [];
|
|
||||||
$: usergroups_array = [];
|
$: usergroups_array = [];
|
||||||
let usergroups_array_original = [];
|
let usergroups_array_original = [];
|
||||||
user_promise.then((data) => {
|
user_promise.then((data) => {
|
||||||
|
@ -26,7 +25,7 @@
|
||||||
original_data = Object.assign(original_data, data);
|
original_data = Object.assign(original_data, data);
|
||||||
editable_userdata = data;
|
editable_userdata = data;
|
||||||
data.groups.forEach((g) => {
|
data.groups.forEach((g) => {
|
||||||
usergroups_array=usergroups_array.concat([g.id]);
|
usergroups_array = usergroups_array.concat([g.id]);
|
||||||
});
|
});
|
||||||
usergroups_array_original = usergroups_array;
|
usergroups_array_original = usergroups_array;
|
||||||
allgroups.forEach((g) => {
|
allgroups.forEach((g) => {
|
||||||
|
@ -39,26 +38,27 @@
|
||||||
const permissions_promise = PermissionService.permissionControllerGetAll();
|
const permissions_promise = PermissionService.permissionControllerGetAll();
|
||||||
permissions_promise.then((data) => {
|
permissions_promise.then((data) => {
|
||||||
data.forEach((p) => {
|
data.forEach((p) => {
|
||||||
allpermissions=allpermissions.concat([p.target + ":" + p.action])
|
allpermissions = allpermissions.concat([p.target + ":" + p.action]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// editable_userdata.permissions=[];
|
UserService.userControllerGetPermissions(params.userid).then((val) => {
|
||||||
const user_permissions = UserService.userControllerGetPermissions(params.userid).then((val) => {
|
editable_userdata.permissions = [];
|
||||||
// console.log(val);
|
val.directlyGranted.forEach((p) => {
|
||||||
editable_userdata.permissions=[]
|
editable_userdata.permissions = editable_userdata.permissions.concat([
|
||||||
val.directlyGranted.forEach(p => {
|
p.target + ":" + p.action,
|
||||||
editable_userdata.permissions=editable_userdata.permissions.concat([p.target + ":" + p.action])
|
]);
|
||||||
|
});
|
||||||
|
val.inherited.forEach((p) => {
|
||||||
|
editable_userdata.permissions = editable_userdata.permissions.concat([
|
||||||
|
p.target + ":" + p.action,
|
||||||
|
]);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
val.inherited.forEach(p => {
|
|
||||||
editable_userdata.permissions=editable_userdata.permissions.concat([p.target + ":" + p.action])
|
|
||||||
});
|
|
||||||
// editable_userdata.permissions.push()
|
|
||||||
// console.log(val.directlyGranted);
|
|
||||||
// console.log(val.inherited);
|
|
||||||
})
|
|
||||||
$: changes_performed = !lodashIsEqual(original_data, editable_userdata);
|
$: changes_performed = !lodashIsEqual(original_data, editable_userdata);
|
||||||
$: groups_changed = JSON.stringify(usergroups_array)===JSON.stringify(usergroups_array_original);
|
$: groups_changed =
|
||||||
$: save_enabled = changes_performed||!groups_changed;
|
JSON.stringify(usergroups_array) ===
|
||||||
|
JSON.stringify(usergroups_array_original);
|
||||||
|
$: save_enabled = changes_performed || !groups_changed;
|
||||||
function submit() {
|
function submit() {
|
||||||
if (
|
if (
|
||||||
!lodashIsEqual(original_data.permissions, editable_userdata.permissions)
|
!lodashIsEqual(original_data.permissions, editable_userdata.permissions)
|
||||||
|
@ -66,7 +66,7 @@
|
||||||
// TODO: add+delete permissions
|
// TODO: add+delete permissions
|
||||||
}
|
}
|
||||||
if (data_loaded === true && save_enabled) {
|
if (data_loaded === true && save_enabled) {
|
||||||
editable_userdata.groups=usergroups_array;
|
editable_userdata.groups = usergroups_array;
|
||||||
Toastify({
|
Toastify({
|
||||||
text: $_("updating-user"),
|
text: $_("updating-user"),
|
||||||
duration: 2500,
|
duration: 2500,
|
||||||
|
@ -83,8 +83,7 @@
|
||||||
backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)",
|
backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)",
|
||||||
}).showToast();
|
}).showToast();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {});
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -93,8 +92,7 @@
|
||||||
.then((resp) => {
|
.then((resp) => {
|
||||||
location.replace("./");
|
location.replace("./");
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -180,8 +178,7 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-sm w-full">
|
<div class="mt-3 text-sm w-full">
|
||||||
<p
|
<p class="ml-1 font-medium text-gray-700">Profile Picture</p>
|
||||||
class="ml-1 font-medium text-gray-700">Profile Picture</p>
|
|
||||||
<img
|
<img
|
||||||
alt={$_('profile-picture')}
|
alt={$_('profile-picture')}
|
||||||
class="h-20 w-20 rounded-full overflow-hidden bg-gray-100"
|
class="h-20 w-20 rounded-full overflow-hidden bg-gray-100"
|
||||||
|
@ -195,17 +192,20 @@
|
||||||
<label
|
<label
|
||||||
for="enabled"
|
for="enabled"
|
||||||
class="ml-1 font-medium text-gray-700">Active?</label>
|
class="ml-1 font-medium text-gray-700">Active?</label>
|
||||||
<br>
|
<br />
|
||||||
<p class="text-gray-500"> <input
|
<p class="text-gray-500">
|
||||||
id="enabled"
|
<input
|
||||||
on:change={() => {
|
id="enabled"
|
||||||
editable_userdata.enabled = !editable_userdata.enabled;
|
on:change={() => {
|
||||||
// TODO: this reactive set does not work?
|
editable_userdata.enabled = !editable_userdata.enabled;
|
||||||
}}
|
// TODO: this reactive set does not work?
|
||||||
name="enabled"
|
}}
|
||||||
type="checkbox"
|
name="enabled"
|
||||||
checked={editable_userdata.enabled}
|
type="checkbox"
|
||||||
class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded" /> set the user active/ inactive</p>
|
checked={editable_userdata.enabled}
|
||||||
|
class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded" />
|
||||||
|
set the user active/ inactive
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-sm w-full">
|
<div class="text-sm w-full">
|
||||||
<label
|
<label
|
||||||
|
@ -323,7 +323,7 @@
|
||||||
{#if editable_userdata.permissions.includes(p)}
|
{#if editable_userdata.permissions.includes(p)}
|
||||||
<div
|
<div
|
||||||
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 text-left">
|
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 text-left">
|
||||||
<button
|
<button
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
editable_userdata.permissions = editable_userdata.permissions.filter((obj) => obj !== p);
|
editable_userdata.permissions = editable_userdata.permissions.filter((obj) => obj !== p);
|
||||||
}}
|
}}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user