Update Corporate Activation

This commit is contained in:
2022-08-31 10:48:51 +07:00
parent f0acb340b7
commit 2eb955467d
4 changed files with 55 additions and 6 deletions

View File

@@ -27,7 +27,8 @@ class CorporateController extends Controller
{
$corporates = Corporate::query()
->when($request->search, function ($query, $search) {
return $query->where('name', 'LIKE', '%'.$search.'%');
return $query->where('name', 'LIKE', '%'.$search.'%')
->orWhere('code', 'LIKE', '%'.$search.'%');
})
->with('currentPolicy')
->withCount([
@@ -35,7 +36,7 @@ class CorporateController extends Controller
'corporatePlans',
'corporateBenefits'
])
->paginate(2);
->paginate(10);
return $corporates;
}
@@ -183,6 +184,24 @@ class CorporateController extends Controller
//
}
public function activation(Request $request, $corporate_id) {
$request->validate([
'active' => 'required'
]);
// abort(404);
$corporate = Corporate::findOrFail($corporate_id);
$corporate->active = $request->active == '1';
if ($corporate->save()) {
return response()->json([
'corporate' => $corporate,
'message' => 'Status Updated Successfully'
]);
}
}
public function importPlanBenefit(Request $request, $corporate_id)
{
$request->validate([

View File

@@ -43,6 +43,7 @@ Route::prefix('internal')->group(function () {
});
Route::resource('corporates', CorporateController::class);
Route::put('corporates/{corporate_id}/activation', [CorporateController::class, 'activation']);
Route::post('corporates/{corporate_id}/import-plan-benefit', [CorporateController::class, 'importPlanBenefit']);
Route::get('corporates/{corporate_id}/corporate-plans', [CorporatePlanController::class, 'index']);

View File

@@ -116,6 +116,7 @@ export default function PlanList() {
}
const handleInactiveAction = (formularium : any) => {
enqueueSnackbar('Fuck yuo'), { variant: 'error' });
axios
.put('/corporates/'+corporate_id+'/formulariums/'+formularium.id+'/activate')
.then(() => {
@@ -135,7 +136,8 @@ export default function PlanList() {
})
})
.catch((error) => {
enqueueSnackbar(error.message ?? 'Failed Processing Request', { variant: 'error' });
console.log(error)
enqueueSnackbar(error.data?.message ?? (error.message ?? 'Failed Processing Request'), { variant: 'error' });
})
}

View File

@@ -18,6 +18,7 @@ import { LaravelPaginatedData } from '../../@types/paginated-data';
import HeaderBreadcrumbs from '../../components/HeaderBreadcrumbs';
import BasePagination from '../../components/BasePagination';
import { fCurrency } from '../../utils/formatNumber';
import { enqueueSnackbar } from 'notistack';
export default function Corporates() {
const { themeStretch } = useSettings();
@@ -223,7 +224,7 @@ export default function Corporates() {
{/* </Grid> */}
</Stack>
<Button type='hidden' sx={{ display: 'none' }}>Search</Button>
<Button type='submit' sx={{ display: 'none' }}>Search</Button>
</form>
);
}
@@ -234,6 +235,29 @@ export default function Corporates() {
const { row } = props;
const [open, setOpen] = React.useState(false);
const handleActivate = (model: any, status: string) => {
axios.put(`/corporates/${row.id}/activation`, {
// service_code: service.service_code,
active: status == 'active'
})
.then((res) => {
setDataTableData({
...dataTableData,
data: dataTableData.data.map((model) => {
let updatedModel = model
if (row.id == model.id) {
updatedModel.active = res.data.corporate.active
}
return updatedModel
})
})
})
.catch((error) => {
// console.log('asdasd', error.response.data.message)
enqueueSnackbar(error.response.data.message ?? error.message ?? 'Failed Processing Request', { variant: 'error' });
})
}
return (
<React.Fragment>
<TableRow sx={{ '& > *': { borderBottom: 'unset' } }}>
@@ -248,7 +272,10 @@ export default function Corporates() {
</TableCell>
<TableCell align="left">{row.code}</TableCell>
<TableCell align="left">{row.name}</TableCell>
<TableCell align="left"><Button variant="outlined" color="success" size="small">Active</Button></TableCell>
<TableCell align="left">
{( row.active == 1 && <Button variant="outlined" color="success" size="small" onClick={() => { handleActivate(row, 'inactive') }}>Active</Button> )}
{( row.active != 1 && <Button variant="outlined" color="error" size="small" onClick={() => { handleActivate(row, 'active') }}>Inactive</Button> )}
</TableCell>
<TableCell align="right">
<Stack direction="row" justifyContent="flex-end" spacing={1}>
<Link to={"/corporates/" + row.id + "/edit"}><Button variant="outlined" color="primary" size="small">Edit</Button></ Link>
@@ -368,7 +395,7 @@ export default function Corporates() {
<Table aria-label="collapsible table">
<TableBody>
<TableRow>
<TableCell style={headStyle} align="left">#</TableCell>
<TableCell style={headStyle} align="left" width={50} />
<TableCell style={headStyle} align="left">Code</TableCell>
<TableCell style={headStyle} align="left">Name</TableCell>
<TableCell style={headStyle} align="left" width={100}>Status</TableCell>