update revisi 1

This commit is contained in:
Jagad R R
2024-12-26 18:37:34 +07:00
parent 19ef6b91bb
commit cc9e2d7214
16 changed files with 216 additions and 61 deletions
@@ -17,6 +17,8 @@ use App\Models\FormEntertaimentPresentation;
use App\Models\FormVehicleRunningCost;
use App\Models\FormOthers;
use App\Models\FormMeetingSeminar;
use App\Models\UserHasCabang;
use App\Models\Cabang;
class AdminsController extends Controller
{
@@ -24,6 +26,7 @@ class AdminsController extends Controller
public function index(): Renderable
{
$this->checkAuthorization(auth()->user(), ['admin.view']);
session()->put('redirect_url', route('admin.admins.index'));
$pageInfo = [
'title' => 'User Access List',
@@ -33,7 +36,7 @@ class AdminsController extends Controller
return view('backend.pages.admins.index', [
'admins' => Admin::all(),
'pageInfo' => $pageInfo
'pageInfo' => $pageInfo,
]);
}
@@ -49,7 +52,8 @@ class AdminsController extends Controller
return view('backend.pages.admins.create', [
'roles' => Role::all(),
'pageInfo' => $pageInfo
'pageInfo' => $pageInfo,
'cabangs' => Cabang::all()
]);
}
@@ -65,6 +69,14 @@ class AdminsController extends Controller
$admin->phone = $request->phone;
$admin->save();
// Assign the user to a cabang
if($request->cabang_id) {
UserHasCabang::create([
'user_id' => $admin->id,
'cabang_id' => $request->cabang_id
]);
}
if ($request->roles) {
$admin->assignRole($request->roles);
}
@@ -81,7 +93,7 @@ class AdminsController extends Controller
// }
session()->flash('success', 'Admin has been created.');
return redirect()->route('admin.admins.index');
return redirect()->back();
}
public function edit(int $id): Renderable
@@ -99,7 +111,8 @@ class AdminsController extends Controller
return view('backend.pages.admins.edit', [
'admin' => $admin,
'roles' => Role::all(),
'pageInfo' => $pageInfo
'pageInfo' => $pageInfo,
'cabangs' => Cabang::all()
]);
}
@@ -122,8 +135,14 @@ class AdminsController extends Controller
$admin->assignRole($request->roles);
}
// Update the user's cabang
if($request->cabang_id) {
$userHasCabang = UserHasCabang::where('user_id', $admin->id)->first();
$userHasCabang ? $userHasCabang->update(['cabang_id' => $request->cabang_id]) : UserHasCabang::create(['user_id' => $admin->id, 'cabang_id' => $request->cabang_id]);
}
session()->flash('success', 'Admin has been updated.');
return redirect()->route('admin.admins.index');
return redirect()->back();
}
public function expense($user_id)
@@ -162,6 +181,6 @@ class AdminsController extends Controller
$admin = Admin::findOrFail($id);
$admin->delete();
session()->flash('success', 'Admin has been deleted.');
return redirect()->route('admin.admins.index');
return redirect()->back();
}
}
@@ -17,6 +17,8 @@ class RolesController extends Controller
public function index(): Renderable
{
$this->checkAuthorization(auth()->user(), ['role.view']);
session()->put('redirect_url', route('admin.roles.index'));
$pageInfo = [
'title' => 'List Roles',
'sub_title' => 'List All User Roles',
@@ -59,7 +61,7 @@ class RolesController extends Controller
}
session()->flash('success', 'Role has been created.');
return redirect()->route('admin.roles.index');
return redirect()->back();
}
public function edit(int $id): Renderable|RedirectResponse
@@ -104,7 +106,7 @@ class RolesController extends Controller
}
session()->flash('success', 'Role has been updated.');
return redirect()->route('admin.roles.index');
return redirect()->back();
}
public function destroy(int $id): RedirectResponse
@@ -119,6 +121,6 @@ class RolesController extends Controller
$role->delete();
session()->flash('success', 'Role has been deleted.');
return redirect()->route('admin.roles.index');
return redirect()->back();
}
}
@@ -26,14 +26,25 @@ class FormEntertainmentPresentationController extends Controller
{
$this->checkAuthorization(auth()->user(), ['forms.entertainment.view']);
// get user role
// get user role
$role = auth()->user()->getRoleNames()[0];
$forms = null;
$forms = FormEntertaimentPresentation::get();
if($role == 'Marketing Information System' || $role == 'superadmin') {
$forms = FormEntertaimentPresentation::get();
} else {
$forms = FormEntertaimentPresentation::where('user_id', auth()->user()->id)->get();
if ($role == 'Admin Region') {
$region_id = auth()->user()->getMyCabangAndRegionId()['region'];
if ($region_id) {
$users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) {
$query->where('region_id', $region_id);
})->get();
$userIds = $users->pluck('user_id')->toArray();
$forms = $forms->whereIn('user_id', $userIds);
}
}
else {
$forms = $forms->where('user_id', auth()->user()->id);
}
session()->put('redirect_url', route('forms.entertainment'));
@@ -61,7 +72,7 @@ class FormEntertainmentPresentationController extends Controller
'name' => 'required',
'alamat' => 'required',
'nik_or_npwp' => 'required',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,heic,heif|max:2048',
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
'bukti3' => 'nullable|file|mimes:pdf',
]);
@@ -165,7 +176,7 @@ class FormEntertainmentPresentationController extends Controller
'name' => 'required',
'alamat' => 'required',
'nik_or_npwp' => 'required',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,heic,heif|max:2048',
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
'bukti3' => 'nullable|file|mimes:pdf',
]);
@@ -26,14 +26,25 @@ class FormMeetingSeminarController extends Controller
{
$this->checkAuthorization(auth()->user(), ['forms.meeting.view']);
// get user role
// get user role
$role = auth()->user()->getRoleNames()[0];
$forms = null;
$forms = FormMeetingSeminar::get();
if($role == 'Marketing Information System' || $role == 'superadmin') {
$forms = FormMeetingSeminar::get();
} else {
$forms = FormMeetingSeminar::where('user_id', auth()->user()->id)->get();
if ($role == 'Admin Region') {
$region_id = auth()->user()->getMyCabangAndRegionId()['region'];
if ($region_id) {
$users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) {
$query->where('region_id', $region_id);
})->get();
$userIds = $users->pluck('user_id')->toArray();
$forms = $forms->whereIn('user_id', $userIds);
}
}
else {
$forms = $forms->where('user_id', auth()->user()->id);
}
session()->put('redirect_url', route('forms.meeting'));
@@ -57,7 +68,7 @@ class FormMeetingSeminarController extends Controller
'allowance' => 'required',
'transport_ankot' => 'required',
'hotel' => 'required',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,heic,heif|max:2048',
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
'bukti3' => 'nullable|file|mimes:pdf',
]);
@@ -154,7 +165,7 @@ class FormMeetingSeminarController extends Controller
'allowance' => 'required',
'transport_ankot' => 'required',
'hotel' => 'required',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,heic,heif|max:2048',
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
'bukti3' => 'nullable|file|mimes:pdf',
]);
@@ -30,10 +30,24 @@ class FormOtherController extends Controller
$role = auth()->user()->getRoleNames()[0];
$forms = null;
if($role == 'Marketing Information System' || $role == 'superadmin') {
$forms = FormOthers::get();
} else {
$forms = FormOthers::where('user_id', auth()->user()->id)->get();
// get user role
$role = auth()->user()->getRoleNames()[0];
$forms = FormOthers::get();
if ($role == 'Admin Region') {
$region_id = auth()->user()->getMyCabangAndRegionId()['region'];
if ($region_id) {
$users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) {
$query->where('region_id', $region_id);
})->get();
$userIds = $users->pluck('user_id')->toArray();
$forms = $forms->whereIn('user_id', $userIds);
}
}
else {
$forms = $forms->where('user_id', auth()->user()->id);
}
session()->put('redirect_url', route('forms.other'));
@@ -60,7 +74,7 @@ class FormOtherController extends Controller
'tanggal' => 'required|date',
'keterangan' => 'required',
'total' => 'required',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,heic,heif|max:2048',
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
'bukti3' => 'nullable|file|mimes:pdf',
]);
@@ -159,7 +173,7 @@ class FormOtherController extends Controller
'tanggal' => 'required|date',
'keterangan' => 'required',
'total' => 'required',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,heic,heif|max:2048',
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
'bukti3' => 'nullable|file|mimes:pdf',
]);
@@ -28,12 +28,22 @@ class FormUpCountryController extends Controller
// get user role
$role = auth()->user()->getRoleNames()[0];
$forms = null;
$forms = FormUpCountry::get();
if($role == 'Marketing Information System' || $role == 'superadmin') {
$forms = FormUpCountry::with('rayon')->get();
} else {
$forms = FormUpCountry::with('rayon')->where('user_id', auth()->user()->id)->get();
if ($role == 'Admin Region') {
$region_id = auth()->user()->getMyCabangAndRegionId()['region'];
if ($region_id) {
$users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) {
$query->where('region_id', $region_id);
})->get();
$userIds = $users->pluck('user_id')->toArray();
$forms = $forms->whereIn('user_id', $userIds);
}
}
else {
$forms = $forms->where('user_id', auth()->user()->id);
}
session()->put('redirect_url', route('forms.up-country'));
@@ -63,7 +73,7 @@ class FormUpCountryController extends Controller
'allowance' => 'required',
'transport_dalkot' => 'required',
'transport_ankot' => 'required',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,heic,heif|max:2048',
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
'bukti3' => 'nullable|file|mimes:pdf',
]);
@@ -171,7 +181,7 @@ class FormUpCountryController extends Controller
'transport_dalkot' => 'required',
'transport_ankot' => 'required',
'hotel' => 'required',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,heic,heif|max:2048',
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
'bukti3' => 'nullable|file|mimes:pdf',
]);
@@ -28,12 +28,22 @@ class FormVehicleController extends Controller
// get user role
$role = auth()->user()->getRoleNames()[0];
$forms = null;
$forms = FormVehicleRunningCost::get();
if($role == 'Marketing Information System' || $role == 'superadmin') {
$forms = FormVehicleRunningCost::get();
} else {
$forms = FormVehicleRunningCost::where('user_id', auth()->user()->id)->get();
if ($role == 'Admin Region') {
$region_id = auth()->user()->getMyCabangAndRegionId()['region'];
if ($region_id) {
$users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) {
$query->where('region_id', $region_id);
})->get();
$userIds = $users->pluck('user_id')->toArray();
$forms = $forms->whereIn('user_id', $userIds);
}
}
else {
$forms = $forms->where('user_id', auth()->user()->id);
}
session()->put('redirect_url', route('forms.vehicle'));
@@ -61,7 +71,7 @@ class FormVehicleController extends Controller
'tipe_bensin' => 'required|in:pertalite,pertamax',
'nopol' => 'required',
'keterangan' => 'required',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,heic,heif|max:2048',
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
'bukti3' => 'nullable|file|mimes:pdf',
]);
@@ -165,7 +175,7 @@ class FormVehicleController extends Controller
'tipe_bensin' => 'required|in:pertalite,pertamax',
'nopol' => 'required',
'keterangan' => 'required',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'bukti1' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,heic,heif|max:2048',
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
'bukti3' => 'nullable|file|mimes:pdf',
]);
@@ -11,6 +11,8 @@ class CategoryController extends Controller
public function index()
{
$this->checkAuthorization(auth()->user(), ['category.view']);
session()->put('redirect_url', route('admin.category.index'));
return view('backend.pages.master.category.index', [
'categories' => Kategori::all()
]);
@@ -36,7 +38,7 @@ class CategoryController extends Controller
]);
session()->flash('success', 'Category has been created.');
return redirect()->route('admin.category.index');
return redirect()->back();
}
public function edit($id)
@@ -61,7 +63,7 @@ class CategoryController extends Controller
]);
session()->flash('success', 'Category has been updated.');
return redirect()->route('admin.category.index');
return redirect()->back();
}
public function destroy($id)
@@ -70,6 +72,6 @@ class CategoryController extends Controller
Kategori::findOrfail($id)->delete();
session()->flash('success', 'Category has been deleted.');
return redirect()->route('admin.category.index');
return redirect()->back();
}
}
@@ -11,6 +11,8 @@ class CostCentreController extends Controller
public function index()
{
$this->checkAuthorization(auth()->user(), ['cost.view']);
session()->put('redirect_url', route('admin.cost.index'));
return view('backend.pages.master.cost.index', [
'costs' => CostCentre::all()
]);
@@ -36,7 +38,7 @@ class CostCentreController extends Controller
]);
session()->flash('success', 'Cost Centre has been created.');
return redirect()->route('admin.cost.index');
return redirect()->back();
}
public function edit($id)
@@ -61,7 +63,7 @@ class CostCentreController extends Controller
]);
session()->flash('success', 'Cost has been updated.');
return redirect()->route('admin.cost.index');
return redirect()->back();
}
public function destroy($id)
@@ -70,6 +72,6 @@ class CostCentreController extends Controller
CostCentre::findOrfail($id)->delete();
session()->flash('success', 'Cost has been deleted.');
return redirect()->route('admin.cost.index');
return redirect()->back();
}
}
@@ -11,6 +11,8 @@ class RayonController extends Controller
public function index()
{
$this->checkAuthorization(auth()->user(), ['rayon.view']);
session()->put('redirect_url', route('admin.rayon.index'));
return view('backend.pages.master.rayon.index', [
'rayons' => Rayon::all()
]);
@@ -36,7 +38,7 @@ class RayonController extends Controller
]);
session()->flash('success', 'Rayon has been created.');
return redirect()->route('admin.rayon.index');
return redirect()->back();
}
public function edit($id)
@@ -61,7 +63,7 @@ class RayonController extends Controller
]);
session()->flash('success', 'Rayon has been updated.');
return redirect()->route('admin.rayon.index');
return redirect()->back();
}
public function destroy($id)
@@ -70,6 +72,6 @@ class RayonController extends Controller
Rayon::findOrfail($id)->delete();
session()->flash('success', 'Rayon has been deleted.');
return redirect()->route('admin.rayon.index');
return redirect()->back();
}
}