update revisi 1
This commit is contained in:
@@ -17,6 +17,8 @@ use App\Models\FormEntertaimentPresentation;
|
|||||||
use App\Models\FormVehicleRunningCost;
|
use App\Models\FormVehicleRunningCost;
|
||||||
use App\Models\FormOthers;
|
use App\Models\FormOthers;
|
||||||
use App\Models\FormMeetingSeminar;
|
use App\Models\FormMeetingSeminar;
|
||||||
|
use App\Models\UserHasCabang;
|
||||||
|
use App\Models\Cabang;
|
||||||
|
|
||||||
class AdminsController extends Controller
|
class AdminsController extends Controller
|
||||||
{
|
{
|
||||||
@@ -24,6 +26,7 @@ class AdminsController extends Controller
|
|||||||
public function index(): Renderable
|
public function index(): Renderable
|
||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['admin.view']);
|
$this->checkAuthorization(auth()->user(), ['admin.view']);
|
||||||
|
session()->put('redirect_url', route('admin.admins.index'));
|
||||||
|
|
||||||
$pageInfo = [
|
$pageInfo = [
|
||||||
'title' => 'User Access List',
|
'title' => 'User Access List',
|
||||||
@@ -33,7 +36,7 @@ class AdminsController extends Controller
|
|||||||
|
|
||||||
return view('backend.pages.admins.index', [
|
return view('backend.pages.admins.index', [
|
||||||
'admins' => Admin::all(),
|
'admins' => Admin::all(),
|
||||||
'pageInfo' => $pageInfo
|
'pageInfo' => $pageInfo,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,7 +52,8 @@ class AdminsController extends Controller
|
|||||||
|
|
||||||
return view('backend.pages.admins.create', [
|
return view('backend.pages.admins.create', [
|
||||||
'roles' => Role::all(),
|
'roles' => Role::all(),
|
||||||
'pageInfo' => $pageInfo
|
'pageInfo' => $pageInfo,
|
||||||
|
'cabangs' => Cabang::all()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,6 +69,14 @@ class AdminsController extends Controller
|
|||||||
$admin->phone = $request->phone;
|
$admin->phone = $request->phone;
|
||||||
$admin->save();
|
$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) {
|
if ($request->roles) {
|
||||||
$admin->assignRole($request->roles);
|
$admin->assignRole($request->roles);
|
||||||
}
|
}
|
||||||
@@ -81,7 +93,7 @@ class AdminsController extends Controller
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
session()->flash('success', 'Admin has been created.');
|
session()->flash('success', 'Admin has been created.');
|
||||||
return redirect()->route('admin.admins.index');
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit(int $id): Renderable
|
public function edit(int $id): Renderable
|
||||||
@@ -99,7 +111,8 @@ class AdminsController extends Controller
|
|||||||
return view('backend.pages.admins.edit', [
|
return view('backend.pages.admins.edit', [
|
||||||
'admin' => $admin,
|
'admin' => $admin,
|
||||||
'roles' => Role::all(),
|
'roles' => Role::all(),
|
||||||
'pageInfo' => $pageInfo
|
'pageInfo' => $pageInfo,
|
||||||
|
'cabangs' => Cabang::all()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,8 +135,14 @@ class AdminsController extends Controller
|
|||||||
$admin->assignRole($request->roles);
|
$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.');
|
session()->flash('success', 'Admin has been updated.');
|
||||||
return redirect()->route('admin.admins.index');
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function expense($user_id)
|
public function expense($user_id)
|
||||||
@@ -162,6 +181,6 @@ class AdminsController extends Controller
|
|||||||
$admin = Admin::findOrFail($id);
|
$admin = Admin::findOrFail($id);
|
||||||
$admin->delete();
|
$admin->delete();
|
||||||
session()->flash('success', 'Admin has been deleted.');
|
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
|
public function index(): Renderable
|
||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['role.view']);
|
$this->checkAuthorization(auth()->user(), ['role.view']);
|
||||||
|
session()->put('redirect_url', route('admin.roles.index'));
|
||||||
|
|
||||||
$pageInfo = [
|
$pageInfo = [
|
||||||
'title' => 'List Roles',
|
'title' => 'List Roles',
|
||||||
'sub_title' => 'List All User Roles',
|
'sub_title' => 'List All User Roles',
|
||||||
@@ -59,7 +61,7 @@ class RolesController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
session()->flash('success', 'Role has been created.');
|
session()->flash('success', 'Role has been created.');
|
||||||
return redirect()->route('admin.roles.index');
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit(int $id): Renderable|RedirectResponse
|
public function edit(int $id): Renderable|RedirectResponse
|
||||||
@@ -104,7 +106,7 @@ class RolesController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
session()->flash('success', 'Role has been updated.');
|
session()->flash('success', 'Role has been updated.');
|
||||||
return redirect()->route('admin.roles.index');
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy(int $id): RedirectResponse
|
public function destroy(int $id): RedirectResponse
|
||||||
@@ -119,6 +121,6 @@ class RolesController extends Controller
|
|||||||
|
|
||||||
$role->delete();
|
$role->delete();
|
||||||
session()->flash('success', 'Role has been deleted.');
|
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']);
|
$this->checkAuthorization(auth()->user(), ['forms.entertainment.view']);
|
||||||
|
|
||||||
|
// get user role
|
||||||
// get user role
|
// get user role
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
$forms = null;
|
$forms = FormEntertaimentPresentation::get();
|
||||||
|
|
||||||
if($role == 'Marketing Information System' || $role == 'superadmin') {
|
if ($role == 'Admin Region') {
|
||||||
$forms = FormEntertaimentPresentation::get();
|
$region_id = auth()->user()->getMyCabangAndRegionId()['region'];
|
||||||
} else {
|
|
||||||
$forms = FormEntertaimentPresentation::where('user_id', auth()->user()->id)->get();
|
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'));
|
session()->put('redirect_url', route('forms.entertainment'));
|
||||||
@@ -61,7 +72,7 @@ class FormEntertainmentPresentationController extends Controller
|
|||||||
'name' => 'required',
|
'name' => 'required',
|
||||||
'alamat' => 'required',
|
'alamat' => 'required',
|
||||||
'nik_or_npwp' => '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',
|
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
|
||||||
'bukti3' => 'nullable|file|mimes:pdf',
|
'bukti3' => 'nullable|file|mimes:pdf',
|
||||||
]);
|
]);
|
||||||
@@ -165,7 +176,7 @@ class FormEntertainmentPresentationController extends Controller
|
|||||||
'name' => 'required',
|
'name' => 'required',
|
||||||
'alamat' => 'required',
|
'alamat' => 'required',
|
||||||
'nik_or_npwp' => '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',
|
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
|
||||||
'bukti3' => 'nullable|file|mimes:pdf',
|
'bukti3' => 'nullable|file|mimes:pdf',
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -26,14 +26,25 @@ class FormMeetingSeminarController extends Controller
|
|||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['forms.meeting.view']);
|
$this->checkAuthorization(auth()->user(), ['forms.meeting.view']);
|
||||||
|
|
||||||
|
// get user role
|
||||||
// get user role
|
// get user role
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
$forms = null;
|
$forms = FormMeetingSeminar::get();
|
||||||
|
|
||||||
if($role == 'Marketing Information System' || $role == 'superadmin') {
|
if ($role == 'Admin Region') {
|
||||||
$forms = FormMeetingSeminar::get();
|
$region_id = auth()->user()->getMyCabangAndRegionId()['region'];
|
||||||
} else {
|
|
||||||
$forms = FormMeetingSeminar::where('user_id', auth()->user()->id)->get();
|
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'));
|
session()->put('redirect_url', route('forms.meeting'));
|
||||||
@@ -57,7 +68,7 @@ class FormMeetingSeminarController extends Controller
|
|||||||
'allowance' => 'required',
|
'allowance' => 'required',
|
||||||
'transport_ankot' => 'required',
|
'transport_ankot' => 'required',
|
||||||
'hotel' => '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',
|
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
|
||||||
'bukti3' => 'nullable|file|mimes:pdf',
|
'bukti3' => 'nullable|file|mimes:pdf',
|
||||||
]);
|
]);
|
||||||
@@ -154,7 +165,7 @@ class FormMeetingSeminarController extends Controller
|
|||||||
'allowance' => 'required',
|
'allowance' => 'required',
|
||||||
'transport_ankot' => 'required',
|
'transport_ankot' => 'required',
|
||||||
'hotel' => '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',
|
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
|
||||||
'bukti3' => 'nullable|file|mimes:pdf',
|
'bukti3' => 'nullable|file|mimes:pdf',
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -30,10 +30,24 @@ class FormOtherController extends Controller
|
|||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
$forms = null;
|
$forms = null;
|
||||||
|
|
||||||
if($role == 'Marketing Information System' || $role == 'superadmin') {
|
// get user role
|
||||||
$forms = FormOthers::get();
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
} else {
|
$forms = FormOthers::get();
|
||||||
$forms = FormOthers::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.other'));
|
session()->put('redirect_url', route('forms.other'));
|
||||||
@@ -60,7 +74,7 @@ class FormOtherController extends Controller
|
|||||||
'tanggal' => 'required|date',
|
'tanggal' => 'required|date',
|
||||||
'keterangan' => 'required',
|
'keterangan' => 'required',
|
||||||
'total' => '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',
|
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
|
||||||
'bukti3' => 'nullable|file|mimes:pdf',
|
'bukti3' => 'nullable|file|mimes:pdf',
|
||||||
]);
|
]);
|
||||||
@@ -159,7 +173,7 @@ class FormOtherController extends Controller
|
|||||||
'tanggal' => 'required|date',
|
'tanggal' => 'required|date',
|
||||||
'keterangan' => 'required',
|
'keterangan' => 'required',
|
||||||
'total' => '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',
|
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
|
||||||
'bukti3' => 'nullable|file|mimes:pdf',
|
'bukti3' => 'nullable|file|mimes:pdf',
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -28,12 +28,22 @@ class FormUpCountryController extends Controller
|
|||||||
|
|
||||||
// get user role
|
// get user role
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
$forms = null;
|
$forms = FormUpCountry::get();
|
||||||
|
|
||||||
if($role == 'Marketing Information System' || $role == 'superadmin') {
|
if ($role == 'Admin Region') {
|
||||||
$forms = FormUpCountry::with('rayon')->get();
|
$region_id = auth()->user()->getMyCabangAndRegionId()['region'];
|
||||||
} else {
|
|
||||||
$forms = FormUpCountry::with('rayon')->where('user_id', auth()->user()->id)->get();
|
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'));
|
session()->put('redirect_url', route('forms.up-country'));
|
||||||
@@ -63,7 +73,7 @@ class FormUpCountryController extends Controller
|
|||||||
'allowance' => 'required',
|
'allowance' => 'required',
|
||||||
'transport_dalkot' => 'required',
|
'transport_dalkot' => 'required',
|
||||||
'transport_ankot' => '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',
|
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
|
||||||
'bukti3' => 'nullable|file|mimes:pdf',
|
'bukti3' => 'nullable|file|mimes:pdf',
|
||||||
]);
|
]);
|
||||||
@@ -171,7 +181,7 @@ class FormUpCountryController extends Controller
|
|||||||
'transport_dalkot' => 'required',
|
'transport_dalkot' => 'required',
|
||||||
'transport_ankot' => 'required',
|
'transport_ankot' => 'required',
|
||||||
'hotel' => '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',
|
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
|
||||||
'bukti3' => 'nullable|file|mimes:pdf',
|
'bukti3' => 'nullable|file|mimes:pdf',
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -28,12 +28,22 @@ class FormVehicleController extends Controller
|
|||||||
|
|
||||||
// get user role
|
// get user role
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
$forms = null;
|
$forms = FormVehicleRunningCost::get();
|
||||||
|
|
||||||
if($role == 'Marketing Information System' || $role == 'superadmin') {
|
if ($role == 'Admin Region') {
|
||||||
$forms = FormVehicleRunningCost::get();
|
$region_id = auth()->user()->getMyCabangAndRegionId()['region'];
|
||||||
} else {
|
|
||||||
$forms = FormVehicleRunningCost::where('user_id', auth()->user()->id)->get();
|
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'));
|
session()->put('redirect_url', route('forms.vehicle'));
|
||||||
@@ -61,7 +71,7 @@ class FormVehicleController extends Controller
|
|||||||
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
||||||
'nopol' => 'required',
|
'nopol' => 'required',
|
||||||
'keterangan' => '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',
|
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
|
||||||
'bukti3' => 'nullable|file|mimes:pdf',
|
'bukti3' => 'nullable|file|mimes:pdf',
|
||||||
]);
|
]);
|
||||||
@@ -165,7 +175,7 @@ class FormVehicleController extends Controller
|
|||||||
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
||||||
'nopol' => 'required',
|
'nopol' => 'required',
|
||||||
'keterangan' => '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',
|
'bukti2' => 'nullable|file|mimes:xlsx,xls,csv',
|
||||||
'bukti3' => 'nullable|file|mimes:pdf',
|
'bukti3' => 'nullable|file|mimes:pdf',
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ class CategoryController extends Controller
|
|||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['category.view']);
|
$this->checkAuthorization(auth()->user(), ['category.view']);
|
||||||
|
session()->put('redirect_url', route('admin.category.index'));
|
||||||
|
|
||||||
return view('backend.pages.master.category.index', [
|
return view('backend.pages.master.category.index', [
|
||||||
'categories' => Kategori::all()
|
'categories' => Kategori::all()
|
||||||
]);
|
]);
|
||||||
@@ -36,7 +38,7 @@ class CategoryController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
session()->flash('success', 'Category has been created.');
|
session()->flash('success', 'Category has been created.');
|
||||||
return redirect()->route('admin.category.index');
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
@@ -61,7 +63,7 @@ class CategoryController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
session()->flash('success', 'Category has been updated.');
|
session()->flash('success', 'Category has been updated.');
|
||||||
return redirect()->route('admin.category.index');
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
@@ -70,6 +72,6 @@ class CategoryController extends Controller
|
|||||||
Kategori::findOrfail($id)->delete();
|
Kategori::findOrfail($id)->delete();
|
||||||
|
|
||||||
session()->flash('success', 'Category has been deleted.');
|
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()
|
public function index()
|
||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['cost.view']);
|
$this->checkAuthorization(auth()->user(), ['cost.view']);
|
||||||
|
session()->put('redirect_url', route('admin.cost.index'));
|
||||||
|
|
||||||
return view('backend.pages.master.cost.index', [
|
return view('backend.pages.master.cost.index', [
|
||||||
'costs' => CostCentre::all()
|
'costs' => CostCentre::all()
|
||||||
]);
|
]);
|
||||||
@@ -36,7 +38,7 @@ class CostCentreController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
session()->flash('success', 'Cost Centre has been created.');
|
session()->flash('success', 'Cost Centre has been created.');
|
||||||
return redirect()->route('admin.cost.index');
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
@@ -61,7 +63,7 @@ class CostCentreController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
session()->flash('success', 'Cost has been updated.');
|
session()->flash('success', 'Cost has been updated.');
|
||||||
return redirect()->route('admin.cost.index');
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
@@ -70,6 +72,6 @@ class CostCentreController extends Controller
|
|||||||
CostCentre::findOrfail($id)->delete();
|
CostCentre::findOrfail($id)->delete();
|
||||||
|
|
||||||
session()->flash('success', 'Cost has been deleted.');
|
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()
|
public function index()
|
||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['rayon.view']);
|
$this->checkAuthorization(auth()->user(), ['rayon.view']);
|
||||||
|
session()->put('redirect_url', route('admin.rayon.index'));
|
||||||
|
|
||||||
return view('backend.pages.master.rayon.index', [
|
return view('backend.pages.master.rayon.index', [
|
||||||
'rayons' => Rayon::all()
|
'rayons' => Rayon::all()
|
||||||
]);
|
]);
|
||||||
@@ -36,7 +38,7 @@ class RayonController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
session()->flash('success', 'Rayon has been created.');
|
session()->flash('success', 'Rayon has been created.');
|
||||||
return redirect()->route('admin.rayon.index');
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
@@ -61,7 +63,7 @@ class RayonController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
session()->flash('success', 'Rayon has been updated.');
|
session()->flash('success', 'Rayon has been updated.');
|
||||||
return redirect()->route('admin.rayon.index');
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
@@ -70,6 +72,6 @@ class RayonController extends Controller
|
|||||||
Rayon::findOrfail($id)->delete();
|
Rayon::findOrfail($id)->delete();
|
||||||
|
|
||||||
session()->flash('success', 'Rayon has been deleted.');
|
session()->flash('success', 'Rayon has been deleted.');
|
||||||
return redirect()->route('admin.rayon.index');
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -104,4 +104,55 @@ class Admin extends Authenticatable
|
|||||||
'region_head' => null,
|
'region_head' => null,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getMyCabangAndRegion()
|
||||||
|
{
|
||||||
|
// Fetch the UserHasCabang entry for this admin
|
||||||
|
$userHasCabang = $this->hasOne(UserHasCabang::class, 'user_id')->with('cabang')->first();
|
||||||
|
|
||||||
|
if ($userHasCabang && $userHasCabang->cabang) {
|
||||||
|
$cabang = $userHasCabang->cabang;
|
||||||
|
|
||||||
|
// Fetch the region
|
||||||
|
$region = $cabang->region;
|
||||||
|
|
||||||
|
return [
|
||||||
|
'cabang' => $cabang ? $cabang->name : '-',
|
||||||
|
'region' => $region ? $region->name : '-',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [
|
||||||
|
'cabang' => '-',
|
||||||
|
'region' => '-',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getMyCabangAndRegionId()
|
||||||
|
{
|
||||||
|
// Fetch the UserHasCabang entry for this admin
|
||||||
|
$userHasCabang = $this->hasOne(UserHasCabang::class, 'user_id')->with('cabang')->first();
|
||||||
|
|
||||||
|
if ($userHasCabang && $userHasCabang->cabang) {
|
||||||
|
$cabang = $userHasCabang->cabang;
|
||||||
|
|
||||||
|
// Fetch the region
|
||||||
|
$region = $cabang->region;
|
||||||
|
|
||||||
|
return [
|
||||||
|
'cabang' => $cabang ? $cabang->id : '-',
|
||||||
|
'region' => $region ? $region->id : '-',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [
|
||||||
|
'cabang' => '-',
|
||||||
|
'region' => '-',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function cabang()
|
||||||
|
{
|
||||||
|
return $this->hasOne(UserHasCabang::class, 'user_id')->with('cabang');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,9 +21,6 @@
|
|||||||
}).then(() => {
|
}).then(() => {
|
||||||
if ("{{ Session::get('redirect_url') }}") {
|
if ("{{ Session::get('redirect_url') }}") {
|
||||||
window.location.href = "{{ Session::get('redirect_url') }}";
|
window.location.href = "{{ Session::get('redirect_url') }}";
|
||||||
@php
|
|
||||||
Session::forget('redirect_url');
|
|
||||||
@endphp
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@@ -39,9 +36,6 @@
|
|||||||
}).then(() => {
|
}).then(() => {
|
||||||
if ("{{ Session::get('redirect_url') }}") {
|
if ("{{ Session::get('redirect_url') }}") {
|
||||||
window.location.href = "{{ Session::get('redirect_url') }}";
|
window.location.href = "{{ Session::get('redirect_url') }}";
|
||||||
@php
|
|
||||||
Session::forget('redirect_url');
|
|
||||||
@endphp
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -89,8 +89,19 @@
|
|||||||
<input type="text" class="form-control" id="phone" name="phone"
|
<input type="text" class="form-control" id="phone" name="phone"
|
||||||
placeholder="Enter phone number" required value="{{ old('phone') }}">
|
placeholder="Enter phone number" required value="{{ old('phone') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div class="form-group col-md-6 col-sm-6">
|
||||||
|
<label for="cabang_id">Cabang</label>
|
||||||
|
<select name="cabang_id" id="cabang_id" class="form-control">
|
||||||
|
<option value="">Select Cabang</option>
|
||||||
|
@foreach ($cabangs as $cabang)
|
||||||
|
<option value="{{ $cabang->id }}" {{ old('cabang') == $cabang->id ? 'selected' : '' }}>
|
||||||
|
{{ $cabang->name }}
|
||||||
|
</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<button type="submit" class="btn btn-primary mt-4 pr-4 pl-4">Save</button>
|
<button type="submit" class="btn btn-primary mt-4 pr-4 pl-4">Save</button>
|
||||||
<a href="{{ route('admin.admins.index') }}"
|
<a href="{{ route('admin.admins.index') }}"
|
||||||
|
|||||||
@@ -93,7 +93,17 @@
|
|||||||
placeholder="Enter phone number" required value="{{ $admin->phone }}">
|
placeholder="Enter phone number" required value="{{ $admin->phone }}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group col-md-6 col-sm-6">
|
||||||
|
<label for="cabang_id">Cabang</label>
|
||||||
|
<select name="cabang_id" id="cabang_id" class="form-control">
|
||||||
|
<option value="">Select Cabang</option>
|
||||||
|
@foreach ($cabangs as $cabang)
|
||||||
|
<option value="{{ $cabang->id }}" {{ $admin->getMyCabangAndRegion()['cabang'] == $cabang->name ? 'selected' : '' }}>
|
||||||
|
{{ $cabang->name }}
|
||||||
|
</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button type="submit" class="btn btn-primary mt-4 pr-4 pl-4">Save</button>
|
<button type="submit" class="btn btn-primary mt-4 pr-4 pl-4">Save</button>
|
||||||
|
|||||||
@@ -46,7 +46,9 @@
|
|||||||
<th width="5%">{{ __('Sl') }}</th>
|
<th width="5%">{{ __('Sl') }}</th>
|
||||||
<th width="10%">{{ __('Name') }}</th>
|
<th width="10%">{{ __('Name') }}</th>
|
||||||
<th width="10%">{{ __('Email') }}</th>
|
<th width="10%">{{ __('Email') }}</th>
|
||||||
<th width="40%">{{ __('Roles') }}</th>
|
<th width="20%">{{ __('Roles') }}</th>
|
||||||
|
<th width="5%">Region</th>
|
||||||
|
<th width="5%">Cabang</th>
|
||||||
<th width="15%">{{ __('Action') }}</th>
|
<th width="15%">{{ __('Action') }}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@@ -63,6 +65,8 @@
|
|||||||
</span>
|
</span>
|
||||||
@endforeach
|
@endforeach
|
||||||
</td>
|
</td>
|
||||||
|
<td>{{ $admin->getMyCabangAndRegion()['region'] }}</td>
|
||||||
|
<td>{{ $admin->getMyCabangAndRegion()['cabang'] }}</td>
|
||||||
<td>
|
<td>
|
||||||
<a class="btn btn-success text-white" href="{{ route('admin.admins.expense', $admin->id) }}">View Expense</a>
|
<a class="btn btn-success text-white" href="{{ route('admin.admins.expense', $admin->id) }}">View Expense</a>
|
||||||
@if (auth()->user()->can('admin.edit'))
|
@if (auth()->user()->can('admin.edit'))
|
||||||
|
|||||||
@@ -55,6 +55,8 @@
|
|||||||
<th width="10%">Name</th>
|
<th width="10%">Name</th>
|
||||||
<th width="10%">Email</th>
|
<th width="10%">Email</th>
|
||||||
<th width="40%">Roles</th>
|
<th width="40%">Roles</th>
|
||||||
|
<th width="20%">Region</th>
|
||||||
|
<th width="20%">Cabang</th>
|
||||||
<th width="15%">Action</th>
|
<th width="15%">Action</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|||||||
Reference in New Issue
Block a user