139 lines
4.3 KiB
PHP
139 lines
4.3 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace App\Http\Controllers;
|
||
|
|
||
|
use App\DataTables\SubDirectoratDataTable;
|
||
|
use App\Http\Requests\StoreSubDirectoratRequest;
|
||
|
use App\Http\Requests\UpdateSubDirectoratRequest;
|
||
|
use App\Models\Directorat;
|
||
|
use App\Models\SubDirectorat;
|
||
|
use Illuminate\Http\Request;
|
||
|
|
||
|
class SubDirectoratController extends Controller
|
||
|
{
|
||
|
public $user;
|
||
|
|
||
|
public function __construct()
|
||
|
{
|
||
|
$this->middleware(function ($request, $next) {
|
||
|
//$this->user = Auth::guard('web')->user();
|
||
|
return $next($request);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Display a listing of the resource.
|
||
|
*/
|
||
|
public function index(SubDirectoratDataTable $dataTable, Request $request)
|
||
|
{
|
||
|
/*if (is_null($this->user) || !$this->user->can('masters.read')) {
|
||
|
abort(403, 'Sorry !! You are Unauthorized to view any master data !');
|
||
|
}*/
|
||
|
|
||
|
if(isset($request->directorat_id) && !empty($request->directorat_id)) {
|
||
|
$this->show($request);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
|
||
|
$directorat = Directorat::all();
|
||
|
return $dataTable->render('pages.masters.sub-directorat.index', compact('directorat'));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Show the form for creating a new resource.
|
||
|
*/
|
||
|
public function create(){}
|
||
|
|
||
|
/**
|
||
|
* Store a newly created resource in storage.
|
||
|
*/
|
||
|
public function store(StoreSubDirectoratRequest $request)
|
||
|
{
|
||
|
/*if (is_null($this->user) || !$this->user->can('masters.create')) {
|
||
|
abort(403, 'Sorry !! You are Unauthorized to create any master data !');
|
||
|
}*/
|
||
|
|
||
|
|
||
|
// Validate the request...
|
||
|
$validated = $request->validated();
|
||
|
|
||
|
// Store the SubDirectorat...
|
||
|
if($validated){
|
||
|
try{
|
||
|
SubDirectorat::create($validated);
|
||
|
//return redirect()->route('directorat.index')->with('success', 'SubDirectorat created successfully.');
|
||
|
echo json_encode(['status' => 'success', 'message' => 'Sub Directorat created successfully.']);
|
||
|
}catch(\Exception $e){
|
||
|
//return redirect()->route('directorat.index')->with('error', 'SubDirectorat created failed.');
|
||
|
echo json_encode(['status' => 'error', 'message' => 'Sub Directorat created failed.']);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Display the specified resource.
|
||
|
*/
|
||
|
public function show(Request $request)
|
||
|
{
|
||
|
$subdirectorats = SubDirectorat::where('directorat_id', $request->directorat_id)->get();
|
||
|
|
||
|
$data = [];
|
||
|
foreach ($subdirectorats as $row) {
|
||
|
$result = [
|
||
|
$row->id => $row->name,
|
||
|
];
|
||
|
|
||
|
$data[] = $result;
|
||
|
}
|
||
|
|
||
|
echo json_encode($data);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Show the form for editing the specified resource.
|
||
|
*/
|
||
|
public function edit($id){
|
||
|
$subDirectorat = SubDirectorat::find($id);
|
||
|
echo json_encode($subDirectorat);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Update the specified resource in storage.
|
||
|
*/
|
||
|
public function update(UpdateSubDirectoratRequest $request, SubDirectorat $subDirectorat)
|
||
|
{
|
||
|
/*if (is_null($this->user) || !$this->user->can('masters.update')) {
|
||
|
abort(403, 'Sorry !! You are Unauthorized to update any master data !');
|
||
|
}*/
|
||
|
|
||
|
// Validate the request...
|
||
|
$validated = $request->validated();
|
||
|
|
||
|
// Update the SubDirectorat...
|
||
|
if($validated){
|
||
|
try{
|
||
|
$subDirectorat->update($validated);
|
||
|
//return redirect()->route('directorat.index')->with('success', 'SubDirectorat updated successfully.');
|
||
|
echo json_encode(['status' => 'success', 'message' => 'Sub Directorat updated successfully.']);
|
||
|
}catch(\Exception $e){
|
||
|
//return redirect()->route('directorat.index')->with('error', 'SubDirectorat updated failed.');
|
||
|
echo json_encode(['status' => 'error', 'message' => 'Sub Directorat updated failed.']);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Remove the specified resource from storage.
|
||
|
*/
|
||
|
public function destroy(SubDirectorat $subDirectorat){
|
||
|
$subDirectorat->delete();
|
||
|
echo json_encode(['status' => 'success', 'message' => 'Sub Directorat deleted successfully.']);
|
||
|
//return redirect()->route('sub-directorat.index')->with('success', 'Sub Directorat deleted successfully.');
|
||
|
}
|
||
|
}
|