fixed moodle logic
This commit is contained in:
@@ -158,7 +158,7 @@ export const ProfileForm: React.FC<ProfileFormProps> = ({ user }: ProfileFormPro
|
||||
form={form}
|
||||
name="permissions"
|
||||
label="Permissions"
|
||||
isDisabled={user.permissions.length > (session.data?.user?.permissions?.length ?? 0)}
|
||||
isDisabled={!session.data?.user.permissions.includes("ADMIN_USER_ADVANCED")}
|
||||
options={Object.entries(PERMISSION).map(([key, value]) => ({
|
||||
label: value,
|
||||
value: key,
|
||||
@@ -325,6 +325,7 @@ export const ConnectionHistory: React.FC<{ user: User }> = ({ user }: { user: Us
|
||||
export const UserPenalties = ({ user }: { user: User }) => {
|
||||
const createdUser = useSession().data?.user;
|
||||
const penaltyTable = useRef<PaginatedTableRef>(null);
|
||||
const session = useSession();
|
||||
return (
|
||||
<div className="card-body">
|
||||
<h2 className="card-title flex justify-between">
|
||||
@@ -353,25 +354,27 @@ export const UserPenalties = ({ user }: { user: User }) => {
|
||||
btnTip="Timeban hinzufügen"
|
||||
showDatePicker={true}
|
||||
/>
|
||||
<PenaltyDropdown
|
||||
Icon={<LockKeyhole size={15} />}
|
||||
onClick={async ({ reason }) => {
|
||||
if (!reason) return toast.error("Bitte gib einen Grund für die Strafe an.");
|
||||
if (!createdUser)
|
||||
return toast.error("Du musst eingeloggt sein, um eine Strafe zu erstellen.");
|
||||
await addPenalty({
|
||||
reason,
|
||||
type: "BAN",
|
||||
userId: user.id,
|
||||
createdUserId: createdUser.id,
|
||||
});
|
||||
await editUser(user.id, { isBanned: true });
|
||||
penaltyTable.current?.refresh();
|
||||
toast.success("Ban wurde hinzugefügt!");
|
||||
}}
|
||||
btnClassName="btn btn-outline btn-error tooltip-error"
|
||||
btnTip="Rechte-entzug hinzufügen"
|
||||
/>
|
||||
{session.data?.user.permissions.includes("ADMIN_USER_ADVANCED") && (
|
||||
<PenaltyDropdown
|
||||
Icon={<LockKeyhole size={15} />}
|
||||
onClick={async ({ reason }) => {
|
||||
if (!reason) return toast.error("Bitte gib einen Grund für die Strafe an.");
|
||||
if (!createdUser)
|
||||
return toast.error("Du musst eingeloggt sein, um eine Strafe zu erstellen.");
|
||||
await addPenalty({
|
||||
reason,
|
||||
type: "BAN",
|
||||
userId: user.id,
|
||||
createdUserId: createdUser.id,
|
||||
});
|
||||
await editUser(user.id, { isBanned: true });
|
||||
penaltyTable.current?.refresh();
|
||||
toast.success("Ban wurde hinzugefügt!");
|
||||
}}
|
||||
btnClassName="btn btn-outline btn-error tooltip-error"
|
||||
btnTip="Nutzerkonto sperren"
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</h2>
|
||||
<PaginatedTable
|
||||
@@ -484,7 +487,7 @@ export const AdminForm = ({
|
||||
</Button>
|
||||
</div>
|
||||
)}
|
||||
{user.isBanned && (
|
||||
{user.isBanned && session?.user.permissions.includes("ADMIN_USER_ADVANCED") && (
|
||||
<Button
|
||||
onClick={async () => {
|
||||
await editUser(user.id, { isBanned: false });
|
||||
|
||||
Reference in New Issue
Block a user