fix admin role

This commit is contained in:
unknown
2025-05-27 14:48:07 +07:00
parent 11e6c5fa60
commit a151b15030
2 changed files with 18 additions and 16 deletions

View File

@ -21,7 +21,7 @@ import ConfirmDialog from '@/components/confirm';
const BASE_URL_CUSTOMER = apiConfig.service_customer; const BASE_URL_CUSTOMER = apiConfig.service_customer;
// ACCESS ADM // ACCESS ADM
export default function AdmAccess({page,groups,formData,handleClose,fetchCustomers,viewOnly,setViewOnly}: any) { export default function AdmAccess({page,groups,formData,handleClose,fetchCustomers,viewOnly,setViewOnly,isAdmin}: any) {
const [dialogOpen, setDialogOpen] = useState(false); const [dialogOpen, setDialogOpen] = useState(false);
const [dialogType, setDialogType] = useState(''); const [dialogType, setDialogType] = useState('');
const [changeGroup, setChangeGroup] = useState(''); const [changeGroup, setChangeGroup] = useState('');
@ -112,15 +112,11 @@ export default function AdmAccess({page,groups,formData,handleClose,fetchCustome
<div className="space-y-4"> <div className="space-y-4">
<div className="space-y-2"> <div className="space-y-2">
<p className="text-sm">Pin Status: {getPinStatus(formData.status).msg}</p> <p className="text-sm">Pin Status: {getPinStatus(formData.status).msg}</p>
<Button variant="default" onClick={(e) => buttonStatus(e)}> <Button variant="default" onClick={(e) => buttonStatus(e)}>{getPinStatus(formData.status).btn}</Button>
{getPinStatus(formData.status).btn}
</Button>
</div> </div>
<div className="space-y-2"> <div className="space-y-2">
<p className="text-sm">Reset PIN</p> <p className="text-sm">Reset PIN</p>
<Button variant="default" onClick={(e) => buttonResetPin(e)}> <Button variant="default" disabled={isAdmin} onClick={(e) => buttonResetPin(e)}>Reset PIN</Button>
Reset PIN
</Button>
</div> </div>
</div> </div>
@ -128,15 +124,11 @@ export default function AdmAccess({page,groups,formData,handleClose,fetchCustome
<div className="space-y-4"> <div className="space-y-4">
<div className="space-y-2"> <div className="space-y-2">
<p className="text-sm">Change Group</p> <p className="text-sm">Change Group</p>
<Button variant="default" onClick={(e) => openChangeGroupDialog(e)}> <Button variant="default" disabled={isAdmin} onClick={(e) => openChangeGroupDialog(e)}>Change Group</Button>
Change Group
</Button>
</div> </div>
<div className="space-y-2"> <div className="space-y-2">
<p className="text-sm">Edit Member</p> <p className="text-sm">Edit Member</p>
<Button variant="default" onClick={() => setViewOnly(!viewOnly)}> <Button variant="default" disabled={isAdmin} onClick={() => setViewOnly(!viewOnly)}>{viewOnly ? 'Open Edit' : 'Close Edit'}</Button>
{viewOnly ? 'Open Edit' : 'Close Edit'}
</Button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,6 +1,7 @@
import { apiConfig } from '@/config/api.config'; import { apiConfig } from '@/config/api.config';
import { Alert, useDataGrid } from '@/components'; import { Alert, useDataGrid } from '@/components';
import axios from 'axios'; import axios from 'axios';
import { useAuthContext } from '@/auth';
import React, { useCallback, useEffect, useRef, useState } from 'react'; import React, { useCallback, useEffect, useRef, useState } from 'react';
import { toast } from 'sonner'; import { toast } from 'sonner';
import { import {
@ -38,6 +39,7 @@ const DetailMember = ({ showAddDialog, setShowAddDialog, handleSubmit, initialDa
const [postoAdm, setPostoAdm] = useState([]); const [postoAdm, setPostoAdm] = useState([]);
const [sucos, setSucos] = useState<any>([]); const [sucos, setSucos] = useState<any>([]);
const [groups, setGroups] = useState([]); const [groups, setGroups] = useState([]);
const [isAdmin, setisAdmin] = useState(false);
const [identity_type] = useState([ const [identity_type] = useState([
{ id: 'Eleitoral ID', name: 'Eleitoral ID' }, { id: 'Eleitoral ID', name: 'Eleitoral ID' },
{ id: 'Bihete de Identidade', name: 'Bihete de Identidade' }, { id: 'Bihete de Identidade', name: 'Bihete de Identidade' },
@ -56,6 +58,7 @@ const DetailMember = ({ showAddDialog, setShowAddDialog, handleSubmit, initialDa
show: false, show: false,
message: '' message: ''
}); });
const { getUser } = useAuthContext();
useEffect(() => { useEffect(() => {
setFormData(initialData || {}); setFormData(initialData || {});
@ -128,6 +131,13 @@ const DetailMember = ({ showAddDialog, setShowAddDialog, handleSubmit, initialDa
async function fetchMasterData() { async function fetchMasterData() {
try { try {
let userlogin:any = await getUser();
let userloginrole = userlogin?.data?.role?.name;
if (userloginrole === 'Admin') {
setisAdmin(true);
setViewOnly(true)
}
let getGroups = await axios.get(`${BASE_URL_CUSTOMER}/groups/list`, { let getGroups = await axios.get(`${BASE_URL_CUSTOMER}/groups/list`, {
params: { params: {
limit: 50, limit: 50,
@ -269,14 +279,14 @@ const DetailMember = ({ showAddDialog, setShowAddDialog, handleSubmit, initialDa
{(formData.id&&(page==='kyc'&&formData.destinationGroup === "Agent")) ? generateInput(formData, handleChange, 'Approval Agent Description', 'approval_description_agent', 'text', false, viewOnly): ''} {(formData.id&&(page==='kyc'&&formData.destinationGroup === "Agent")) ? generateInput(formData, handleChange, 'Approval Agent Description', 'approval_description_agent', 'text', false, viewOnly): ''}
{(formData.id && page!=='kyc') ? ( {(formData.id && page!=='kyc') ? (
<AdmAccess page={page}groups={groups}formData={formData}fetchCustomers={fetchCustomers}handleClose={handleClose}viewOnly={viewOnly}setViewOnly={setViewOnly}/> <AdmAccess isAdmin={isAdmin} page={page}groups={groups}formData={formData}fetchCustomers={fetchCustomers}handleClose={handleClose}viewOnly={viewOnly}setViewOnly={setViewOnly}/>
): ""} ): ""}
{(formData.id && page!=='kyc') ? ( {(formData.id && page!=='kyc') ? (
<CustomerWallet customerid={formData.id}/> <CustomerWallet customerid={formData.id}/>
) : ""} ) : ""}
<div className="col-span-1 md:col-span-2 flex justify-end gap-5"> <div className="col-span-1 md:col-span-2 flex justify-end gap-5">
<Button onClick={(e:any) => btnPrevDef(e)} color="secondary">{ viewOnly ? (`Open Edit`) : (`Close Edit`) }</Button> <Button disabled={isAdmin} onClick={(e:any) => btnPrevDef(e)} color="secondary">{ viewOnly ? (`Open Edit`) : (`Close Edit`) }</Button>
<Button type="button" variant="outline" onClick={() => handleAddDialog(false)}>Cancel</Button> <Button type="button" variant="outline" onClick={() => handleAddDialog(false)}>Cancel</Button>
{/* <Button onClick={(e) => buttonOnSubmit(e, formData)} variant="default">Save Changes</Button> */} {/* <Button onClick={(e) => buttonOnSubmit(e, formData)} variant="default">Save Changes</Button> */}
{ {
@ -284,7 +294,7 @@ const DetailMember = ({ showAddDialog, setShowAddDialog, handleSubmit, initialDa
<Button onClick={onReject} variant="destructive" color="warning">Reject</Button> <Button onClick={onReject} variant="destructive" color="warning">Reject</Button>
) : ('') ) : ('')
} }
<Button onClick={(e) => buttonOnSubmit(e)} color="primary" variant="default"> <Button onClick={(e) => buttonOnSubmit(e)} color="primary" variant="default" disabled={isAdmin}>
{ formData.id ? (formData.isneedapproval == 1 && page === 'kyc' ? (`Edit & Approve`) : (`Edit`)) : ("Create") } { formData.id ? (formData.isneedapproval == 1 && page === 'kyc' ? (`Edit & Approve`) : (`Edit`)) : ("Create") }
</Button> </Button>
</div> </div>