Merge branch 'staging' of https://dev.sismedika.online/febio/aso into staging
This commit is contained in:
@@ -28,7 +28,17 @@ class UserManagementController extends Controller
|
|||||||
|
|
||||||
public function permission_list(Request $request)
|
public function permission_list(Request $request)
|
||||||
{
|
{
|
||||||
$permissions = Permission::all();
|
// Ambil nilai guard_name dari query string
|
||||||
|
$guardName = $request->query('guard_name');
|
||||||
|
|
||||||
|
// Jika guard_name ada dalam query, filter berdasarkan guard_name
|
||||||
|
if ($guardName) {
|
||||||
|
$permissions = Permission::where('guard_name', $guardName)->orderBy('name','asc')->get();
|
||||||
|
} else {
|
||||||
|
// Jika guard_name tidak ada, ambil semua permissions
|
||||||
|
$permissions = Permission::all();
|
||||||
|
}
|
||||||
|
|
||||||
return response()->json($permissions);
|
return response()->json($permissions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -73,7 +83,7 @@ class UserManagementController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
if (isset($validated['permission_check'])) {
|
if (isset($validated['permission_check'])) {
|
||||||
|
|
||||||
$permissions = Permission::whereIn('id', $validated['permission_check'])
|
$permissions = Permission::whereIn('id', $validated['permission_check'])
|
||||||
->where('guard_name', $validated['guard_name'])
|
->where('guard_name', $validated['guard_name'])
|
||||||
->get();
|
->get();
|
||||||
@@ -145,7 +155,7 @@ class UserManagementController extends Controller
|
|||||||
|
|
||||||
if ($request->password){
|
if ($request->password){
|
||||||
$userAccess->password = Hash::make($request->password);
|
$userAccess->password = Hash::make($request->password);
|
||||||
}
|
}
|
||||||
|
|
||||||
$person = Person::updateOrCreate(
|
$person = Person::updateOrCreate(
|
||||||
[
|
[
|
||||||
|
|||||||
@@ -37,6 +37,17 @@ export default function PlanCreate() {
|
|||||||
axios.get('/user/role/'+id)
|
axios.get('/user/role/'+id)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
setCurrentUserRole(res.data);
|
setCurrentUserRole(res.data);
|
||||||
|
axios.get('/permission_list?guard_name='+res.data.guard_name)
|
||||||
|
.then((res) => {
|
||||||
|
setPermissions(res.data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
if (err.response && err.response.status === 404) {
|
||||||
|
navigate('/404');
|
||||||
|
} else {
|
||||||
|
console.error('Error fetching permissions:', err);
|
||||||
|
}
|
||||||
|
});
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
if (err.response.status === 404) {
|
if (err.response.status === 404) {
|
||||||
@@ -44,17 +55,7 @@ export default function PlanCreate() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
axios.get('/permission_list')
|
|
||||||
.then((res) => {
|
|
||||||
setPermissions(res.data);
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
if (err.response && err.response.status === 404) {
|
|
||||||
navigate('/404');
|
|
||||||
} else {
|
|
||||||
console.error('Error fetching permissions:', err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}, [corporate_id, id]);
|
}, [corporate_id, id]);
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ export default function UserRoleForm({ isEdit, currentUserRole, permissions }: P
|
|||||||
const { enqueueSnackbar } = useSnackbar();
|
const { enqueueSnackbar } = useSnackbar();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const { corporate_id } = useParams();
|
const { corporate_id } = useParams();
|
||||||
|
const [guardName, setGuardName] = useState(currentUserRole?.guard_name || '');
|
||||||
|
const [filteredPermissions, setFilteredPermissions] = useState(permissions);
|
||||||
|
|
||||||
const NewUserRoleSchema = Yup.object().shape({
|
const NewUserRoleSchema = Yup.object().shape({
|
||||||
name: Yup.string().required('Name is required'),
|
name: Yup.string().required('Name is required'),
|
||||||
@@ -37,7 +39,7 @@ export default function UserRoleForm({ isEdit, currentUserRole, permissions }: P
|
|||||||
name: currentUserRole?.name || '',
|
name: currentUserRole?.name || '',
|
||||||
guard_name: currentUserRole?.guard_name || '',
|
guard_name: currentUserRole?.guard_name || '',
|
||||||
permission_check: currentUserRole?.permissions?.map(permission => permission.id) || []
|
permission_check: currentUserRole?.permissions?.map(permission => permission.id) || []
|
||||||
|
|
||||||
}),
|
}),
|
||||||
[currentUserRole, permissions]
|
[currentUserRole, permissions]
|
||||||
);
|
);
|
||||||
@@ -55,7 +57,7 @@ export default function UserRoleForm({ isEdit, currentUserRole, permissions }: P
|
|||||||
resolver: yupResolver(NewUserRoleSchema),
|
resolver: yupResolver(NewUserRoleSchema),
|
||||||
defaultValues,
|
defaultValues,
|
||||||
});
|
});
|
||||||
|
|
||||||
const {
|
const {
|
||||||
reset,
|
reset,
|
||||||
watch,
|
watch,
|
||||||
@@ -122,6 +124,27 @@ export default function UserRoleForm({ isEdit, currentUserRole, permissions }: P
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
// Fetch permissions based on guard_name
|
||||||
|
if (guardName) {
|
||||||
|
axios.get(`/permission_list?guard_name=${guardName}`)
|
||||||
|
.then((res) => {
|
||||||
|
setFilteredPermissions(res.data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error('Error fetching permissions:', err);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
setFilteredPermissions(permissions);
|
||||||
|
}
|
||||||
|
}, [guardName,permissions]);
|
||||||
|
|
||||||
|
const handleGuardNameChange = (event) => {
|
||||||
|
console.log("ivan")
|
||||||
|
setGuardName(event.target.value);
|
||||||
|
setValue('guard_name', event.target.value);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<FormProvider methods={methods} onSubmit={handleSubmit(onSubmit)}>
|
<FormProvider methods={methods} onSubmit={handleSubmit(onSubmit)}>
|
||||||
<Box sx={{ px: 2 }}>
|
<Box sx={{ px: 2 }}>
|
||||||
@@ -131,7 +154,7 @@ export default function UserRoleForm({ isEdit, currentUserRole, permissions }: P
|
|||||||
<Stack spacing={2}>
|
<Stack spacing={2}>
|
||||||
<Typography variant="h6" color={palette.light.primary.main}>User Role</Typography>
|
<Typography variant="h6" color={palette.light.primary.main}>User Role</Typography>
|
||||||
<RHFTextField name="name" label="Name" />
|
<RHFTextField name="name" label="Name" />
|
||||||
<RHFSelect name="guard_name" label="Guard Name">
|
<RHFSelect name="guard_name" label="Guard Name" onChange={handleGuardNameChange}>
|
||||||
{guard_name_options.map((option, index) => (
|
{guard_name_options.map((option, index) => (
|
||||||
<option key={index} value={option.value}>
|
<option key={index} value={option.value}>
|
||||||
{option.label}
|
{option.label}
|
||||||
@@ -140,7 +163,7 @@ export default function UserRoleForm({ isEdit, currentUserRole, permissions }: P
|
|||||||
</RHFSelect>
|
</RHFSelect>
|
||||||
<Typography variant="h6" color={palette.light.primary.main}>Permission</Typography>
|
<Typography variant="h6" color={palette.light.primary.main}>Permission</Typography>
|
||||||
<Grid container spacing={2}>
|
<Grid container spacing={2}>
|
||||||
{permissions?.map((permission, index) => (
|
{filteredPermissions?.map((permission, index) => (
|
||||||
<Grid item xs={4} key={permission.id}>
|
<Grid item xs={4} key={permission.id}>
|
||||||
<FormControlLabel
|
<FormControlLabel
|
||||||
control={
|
control={
|
||||||
|
|||||||
Reference in New Issue
Block a user