Allow users to edit others
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import useFilterRecordsByUser from "@/hooks/useFilterRecordsByUser";
|
||||
import {CorporateInformation, CorporateUser, EMPLOYMENT_STATUS, User, Type, Stat} from "@/interfaces/user";
|
||||
import {CorporateInformation, CorporateUser, EMPLOYMENT_STATUS, User, Type, Stat, Gender} from "@/interfaces/user";
|
||||
import {groupBySession, averageScore} from "@/utils/stats";
|
||||
import {RadioGroup} from "@headlessui/react";
|
||||
import axios from "axios";
|
||||
@@ -92,6 +92,9 @@ const UserCard = ({
|
||||
user.type === "corporate" || user.type === "mastercorporate" ? user.demographicInformation?.position : undefined,
|
||||
);
|
||||
const [studentID, setStudentID] = useState<string | undefined>(user.type === "student" ? user.studentID : undefined);
|
||||
const [name, setName] = useState<string>(user.name);
|
||||
const [phone, setPhone] = useState<string | undefined>(user.demographicInformation?.phone);
|
||||
const [gender, setGender] = useState<Gender | undefined>(user.demographicInformation?.gender);
|
||||
|
||||
const [referralAgent, setReferralAgent] = useState(
|
||||
user.type === "corporate" || user.type === "mastercorporate" ? user.corporateInformation?.referralAgent : undefined,
|
||||
@@ -152,6 +155,11 @@ const UserCard = ({
|
||||
studentID,
|
||||
type,
|
||||
status,
|
||||
name,
|
||||
demographicInformation: {
|
||||
...(!!user.demographicInformation ? user.demographicInformation : {}),
|
||||
phone,
|
||||
},
|
||||
agentInformation:
|
||||
type === "agent"
|
||||
? {
|
||||
@@ -429,10 +437,10 @@ const UserCard = ({
|
||||
label="Name"
|
||||
type="text"
|
||||
name="name"
|
||||
onChange={() => null}
|
||||
onChange={setName}
|
||||
placeholder="Enter your name"
|
||||
defaultValue={user.name}
|
||||
disabled
|
||||
defaultValue={name}
|
||||
disabled={disabled}
|
||||
/>
|
||||
<Input
|
||||
label="E-mail Address"
|
||||
@@ -454,10 +462,10 @@ const UserCard = ({
|
||||
type="tel"
|
||||
name="phone"
|
||||
label="Phone number"
|
||||
onChange={() => null}
|
||||
onChange={setPhone}
|
||||
placeholder="Enter phone number"
|
||||
defaultValue={user.demographicInformation?.phone}
|
||||
disabled
|
||||
defaultValue={phone}
|
||||
disabled={disabled}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -528,7 +536,8 @@ const UserCard = ({
|
||||
<div className="relative flex flex-col gap-3 w-full">
|
||||
<label className="font-normal text-base text-mti-gray-dim">Gender</label>
|
||||
<RadioGroup
|
||||
value={user.demographicInformation?.gender}
|
||||
value={gender}
|
||||
onChange={(e) => setGender(e)}
|
||||
className="flex flex-row gap-4 justify-between"
|
||||
disabled={disabled}>
|
||||
<RadioGroup.Option value="male">
|
||||
@@ -582,7 +591,9 @@ const UserCard = ({
|
||||
isChecked={!!expiryDate}
|
||||
onChange={(checked) => setExpiryDate(checked ? user.subscriptionExpirationDate || new Date() : null)}
|
||||
disabled={
|
||||
disabled || (!["admin", "developer"].includes(loggedInUser.type) && !!loggedInUser.subscriptionExpirationDate)
|
||||
disabled ||
|
||||
(!["admin", "developer", "mastercorporate", "corporate"].includes(loggedInUser.type) &&
|
||||
!!loggedInUser.subscriptionExpirationDate)
|
||||
}>
|
||||
Enabled
|
||||
</Checkbox>
|
||||
|
||||
Reference in New Issue
Block a user