Merge branch 'branch-jagad' into 'main'
Branch jagad See merge request fiqhpratama1/xpendify!26
This commit is contained in:
@@ -74,4 +74,4 @@ NEXT_CLOUD_PASSWORD=userdev12345
|
|||||||
NEXT_CLOUD_PATHPREFIX=""
|
NEXT_CLOUD_PATHPREFIX=""
|
||||||
|
|
||||||
WABLAS_HOST=https://bdg.wablas.com
|
WABLAS_HOST=https://bdg.wablas.com
|
||||||
WABLAS_TOKEN=5iCaiP0nEgfl3lzrdsZGb9TvNYuwFZF8s4rp8AYwCx5OrYeiKXgixFMo9nDWNrJN
|
WABLAS_TOKEN=5iCaiP0nEgfl3lzrdsZGb9TvNYuwFZF8s4rp8AYwCx5OrYeiKXgixFMo9nDWNrJN.IF98hujz
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class BudgetHelper
|
|||||||
|
|
||||||
// Add the used budget per model for the specified month and year to the usedBudget array
|
// Add the used budget per model for the specified month and year to the usedBudget array
|
||||||
$users = UserHasCabang::where('cabang_id', $cabang_id)->get();
|
$users = UserHasCabang::where('cabang_id', $cabang_id)->get();
|
||||||
$userIds = $users->pluck('user_id')->toArray();
|
$userIds = $users->pluck('user_id')->toArray();
|
||||||
$forms = FormHelper::getFormsByUserIds($userIds, $month, $year)->sortByDesc('tanggal')->sortByDesc('created_at');
|
$forms = FormHelper::getFormsByUserIds($userIds, $month, $year)->sortByDesc('tanggal')->sortByDesc('created_at');
|
||||||
$usedBudget += $forms->sum('approved_total');
|
$usedBudget += $forms->sum('approved_total');
|
||||||
}
|
}
|
||||||
@@ -40,4 +40,11 @@ class BudgetHelper
|
|||||||
|
|
||||||
return $availableBudget;
|
return $availableBudget;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function getClosingDate($cabang_id)
|
||||||
|
{
|
||||||
|
$budget = BudgetControl::where('cabang_id', $cabang_id)->orderBy('created_at', 'desc')->first();
|
||||||
|
|
||||||
|
return $budget->closing_at;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,11 +22,36 @@ class DashboardController extends Controller
|
|||||||
{
|
{
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
$forms = [
|
$forms = [
|
||||||
'vehicle' => FormVehicleRunningCost::query(),
|
'vehicle' => FormVehicleRunningCost::whereMonth('tanggal', date('m'))
|
||||||
'upcountry' => FormUpCountry::query(),
|
->whereYear('tanggal', date('Y'))
|
||||||
'entertainment' => FormEntertaimentPresentation::query(),
|
->where('tanggal', '<=', date('Y-m-10'))
|
||||||
'meeting' => FormMeetingSeminar::query(),
|
->whereRaw('DAY(CURDATE()) <= 10')
|
||||||
'others' => FormOthers::query(),
|
->orderBy('tanggal', 'desc')
|
||||||
|
->get(),
|
||||||
|
'upcountry' => FormUpCountry::whereMonth('tanggal', date('m'))
|
||||||
|
->whereYear('tanggal', date('Y'))
|
||||||
|
->where('tanggal', '<=', date('Y-m-10'))
|
||||||
|
->whereRaw('DAY(CURDATE()) <= 10')
|
||||||
|
->orderBy('tanggal', 'desc')
|
||||||
|
->get(),
|
||||||
|
'entertainment' => FormEntertaimentPresentation::whereMonth('tanggal', date('m'))
|
||||||
|
->whereYear('tanggal', date('Y'))
|
||||||
|
->where('tanggal', '<=', date('Y-m-10'))
|
||||||
|
->whereRaw('DAY(CURDATE()) <= 10')
|
||||||
|
->orderBy('tanggal', 'desc')
|
||||||
|
->get(),
|
||||||
|
'meeting' => FormMeetingSeminar::whereMonth('created_at', date('m'))
|
||||||
|
->whereYear('created_at', date('Y'))
|
||||||
|
->where('created_at', '<=', date('Y-m-10'))
|
||||||
|
->whereRaw('DAY(CURDATE()) <= 10')
|
||||||
|
->orderBy('created_at', 'desc')
|
||||||
|
->get(),
|
||||||
|
'others' => FormOthers::whereMonth('tanggal', date('m'))
|
||||||
|
->whereYear('tanggal', date('Y'))
|
||||||
|
->where('tanggal', '<=', date('Y-m-10'))
|
||||||
|
->whereRaw('DAY(CURDATE()) <= 10')
|
||||||
|
->orderBy('tanggal', 'desc')
|
||||||
|
->get(),
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
|
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
|
||||||
|
|||||||
@@ -32,7 +32,13 @@ class FormEntertainmentPresentationController extends Controller
|
|||||||
$this->checkAuthorization(auth()->user(), ['forms.entertainment.view']);
|
$this->checkAuthorization(auth()->user(), ['forms.entertainment.view']);
|
||||||
|
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
$forms = FormEntertaimentPresentation::get();
|
$forms = FormEntertaimentPresentation::whereMonth('tanggal', date('m'))
|
||||||
|
->whereYear('tanggal', date('Y'))
|
||||||
|
->where('tanggal', '<=', date('Y-m-10'))
|
||||||
|
->whereRaw('DAY(CURDATE()) <= 10')
|
||||||
|
->orderBy('tanggal', 'desc')
|
||||||
|
->get();
|
||||||
|
|
||||||
$availableBudget = null;
|
$availableBudget = null;
|
||||||
|
|
||||||
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
|
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
|
||||||
@@ -59,7 +65,8 @@ class FormEntertainmentPresentationController extends Controller
|
|||||||
}
|
}
|
||||||
else if ($role == 'Medical Representatif') {
|
else if ($role == 'Medical Representatif') {
|
||||||
$forms = $forms->where('user_id', auth()->user()->id);
|
$forms = $forms->where('user_id', auth()->user()->id);
|
||||||
$availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id);
|
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
|
||||||
|
$availableBudget = BudgetHelper::getAvailableBudget($cabang_id);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$forms = $forms;
|
$forms = $forms;
|
||||||
@@ -104,12 +111,13 @@ class FormEntertainmentPresentationController extends Controller
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['forms.entertainment.create']);
|
$this->checkAuthorization(auth()->user(), ['forms.entertainment.create']);
|
||||||
|
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
|
||||||
|
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'tanggal' => 'required',
|
'tanggal' => 'required',
|
||||||
'jenis' => 'required|in:entertainment,presentation,sponsorship',
|
'jenis' => 'required|in:entertainment,presentation,sponsorship',
|
||||||
'keterangan' => 'required',
|
'keterangan' => 'required',
|
||||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
|
||||||
'name' => 'required',
|
'name' => 'required',
|
||||||
'alamat' => 'required',
|
'alamat' => 'required',
|
||||||
'nik_or_npwp' => 'required',
|
'nik_or_npwp' => 'required',
|
||||||
@@ -216,19 +224,20 @@ class FormEntertainmentPresentationController extends Controller
|
|||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['forms.entertainment.edit']);
|
$this->checkAuthorization(auth()->user(), ['forms.entertainment.edit']);
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
|
$form = FormEntertaimentPresentation::findOrfail($id);
|
||||||
|
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
|
||||||
|
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'tanggal' => 'required',
|
'tanggal' => 'required',
|
||||||
'jenis' => 'required|in:entertainment,presentation,sponsorship',
|
'jenis' => 'required|in:entertainment,presentation,sponsorship',
|
||||||
'keterangan' => 'required',
|
'keterangan' => 'required',
|
||||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
|
||||||
'name' => 'required',
|
'name' => 'required',
|
||||||
'alamat' => 'required',
|
'alamat' => 'required',
|
||||||
'nik_or_npwp' => 'required',
|
'nik_or_npwp' => 'required',
|
||||||
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$form = FormEntertaimentPresentation::findOrfail($id);
|
|
||||||
if($form->status != 'On Progress' && $role == 'Medical Representatif') {
|
if($form->status != 'On Progress' && $role == 'Medical Representatif') {
|
||||||
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
|
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
@@ -280,7 +289,8 @@ class FormEntertainmentPresentationController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
$form = FormEntertaimentPresentation::findOrfail($id);
|
$form = FormEntertaimentPresentation::findOrfail($id);
|
||||||
if($form->total > BudgetHelper::getAvailableBudget()) {
|
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
|
||||||
|
if($form->total > BudgetHelper::getAvailableBudget($cabang_id)) {
|
||||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,13 @@ class FormMeetingSeminarController extends Controller
|
|||||||
$this->checkAuthorization(auth()->user(), ['forms.meeting.view']);
|
$this->checkAuthorization(auth()->user(), ['forms.meeting.view']);
|
||||||
|
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
$forms = FormMeetingSeminar::get();
|
$forms = FormMeetingSeminar::whereMonth('created_at', date('m'))
|
||||||
|
->whereYear('created_at', date('Y'))
|
||||||
|
->where('created_at', '<=', date('Y-m-10'))
|
||||||
|
->whereRaw('DAY(CURDATE()) <= 10')
|
||||||
|
->orderBy('created_at', 'desc')
|
||||||
|
->get();
|
||||||
|
|
||||||
$availableBudget = null;
|
$availableBudget = null;
|
||||||
|
|
||||||
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
|
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
|
||||||
@@ -59,7 +65,8 @@ class FormMeetingSeminarController extends Controller
|
|||||||
}
|
}
|
||||||
else if ($role == 'Medical Representatif') {
|
else if ($role == 'Medical Representatif') {
|
||||||
$forms = $forms->where('user_id', auth()->user()->id);
|
$forms = $forms->where('user_id', auth()->user()->id);
|
||||||
$availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id);
|
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
|
||||||
|
$availableBudget = BudgetHelper::getAvailableBudget($cabang_id);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$forms = $forms;
|
$forms = $forms;
|
||||||
@@ -175,7 +182,8 @@ class FormMeetingSeminarController extends Controller
|
|||||||
];
|
];
|
||||||
|
|
||||||
// Check if the total nominal exceeds the available budget
|
// Check if the total nominal exceeds the available budget
|
||||||
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget()) {
|
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
|
||||||
|
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget($cabang_id)) {
|
||||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
@@ -254,6 +262,7 @@ class FormMeetingSeminarController extends Controller
|
|||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['forms.meeting.edit']);
|
$this->checkAuthorization(auth()->user(), ['forms.meeting.edit']);
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
|
$form = FormMeetingSeminar::findOrfail($id);
|
||||||
|
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'allowance' => 'nullable|numeric',
|
'allowance' => 'nullable|numeric',
|
||||||
@@ -264,7 +273,6 @@ class FormMeetingSeminarController extends Controller
|
|||||||
'bukti_hotel' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
'bukti_hotel' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$form = FormMeetingSeminar::findOrfail($id);
|
|
||||||
if($form->status != 'On Progress' && $role == 'Medical Representatif') {
|
if($form->status != 'On Progress' && $role == 'Medical Representatif') {
|
||||||
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
|
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
@@ -322,7 +330,8 @@ class FormMeetingSeminarController extends Controller
|
|||||||
];
|
];
|
||||||
|
|
||||||
// Check if the total nominal exceeds the available budget
|
// Check if the total nominal exceeds the available budget
|
||||||
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget()) {
|
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
|
||||||
|
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget($cabang_id)) {
|
||||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
@@ -356,7 +365,8 @@ class FormMeetingSeminarController extends Controller
|
|||||||
];
|
];
|
||||||
|
|
||||||
// Check if the total nominal exceeds the available budget
|
// Check if the total nominal exceeds the available budget
|
||||||
if(array_sum($approved_data) > BudgetHelper::getAvailableBudget()) {
|
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
|
||||||
|
if(array_sum($approved_data) > BudgetHelper::getAvailableBudget($cabang_id)) {
|
||||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,13 @@ class FormOtherController extends Controller
|
|||||||
$this->checkAuthorization(auth()->user(), ['forms.other.view']);
|
$this->checkAuthorization(auth()->user(), ['forms.other.view']);
|
||||||
|
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
$forms = FormOthers::get();
|
$forms = FormOthers::whereMonth('tanggal', date('m'))
|
||||||
|
->whereYear('tanggal', date('Y'))
|
||||||
|
->where('tanggal', '<=', date('Y-m-10'))
|
||||||
|
->whereRaw('DAY(CURDATE()) <= 10')
|
||||||
|
->orderBy('tanggal', 'desc')
|
||||||
|
->get();
|
||||||
|
|
||||||
$availableBudget = null;
|
$availableBudget = null;
|
||||||
|
|
||||||
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
|
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
|
||||||
@@ -59,7 +65,9 @@ class FormOtherController extends Controller
|
|||||||
}
|
}
|
||||||
else if ($role == 'Medical Representatif') {
|
else if ($role == 'Medical Representatif') {
|
||||||
$forms = $forms->where('user_id', auth()->user()->id);
|
$forms = $forms->where('user_id', auth()->user()->id);
|
||||||
$availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id);
|
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
|
||||||
|
|
||||||
|
$availableBudget = BudgetHelper::getAvailableBudget($cabang_id);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$forms = $forms;
|
$forms = $forms;
|
||||||
@@ -107,12 +115,13 @@ class FormOtherController extends Controller
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['forms.other.create']);
|
$this->checkAuthorization(auth()->user(), ['forms.other.create']);
|
||||||
|
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
|
||||||
|
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'kategori_id' => 'required',
|
'kategori_id' => 'required',
|
||||||
'tanggal' => 'required|date',
|
'tanggal' => 'required|date',
|
||||||
'keterangan' => 'required',
|
'keterangan' => 'required',
|
||||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
|
||||||
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@@ -214,16 +223,17 @@ class FormOtherController extends Controller
|
|||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['forms.other.edit']);
|
$this->checkAuthorization(auth()->user(), ['forms.other.edit']);
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
|
$form = FormOthers::findOrfail($id);
|
||||||
|
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
|
||||||
|
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'kategori_id' => 'required',
|
'kategori_id' => 'required',
|
||||||
'tanggal' => 'required|date',
|
'tanggal' => 'required|date',
|
||||||
'keterangan' => 'required',
|
'keterangan' => 'required',
|
||||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
|
||||||
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$form = FormOthers::findOrfail($id);
|
|
||||||
if($form->status != 'On Progress' && $role == 'Medical Representatif') {
|
if($form->status != 'On Progress' && $role == 'Medical Representatif') {
|
||||||
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
|
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
@@ -273,7 +283,8 @@ class FormOtherController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
$form = FormOthers::findOrfail($id);
|
$form = FormOthers::findOrfail($id);
|
||||||
if($form->total > BudgetHelper::getAvailableBudget()) {
|
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
|
||||||
|
if($form->total > BudgetHelper::getAvailableBudget($cabang_id)) {
|
||||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,13 @@ class FormUpCountryController extends Controller
|
|||||||
$this->checkAuthorization(auth()->user(), ['forms.country.view']);
|
$this->checkAuthorization(auth()->user(), ['forms.country.view']);
|
||||||
|
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
$forms = FormUpCountry::get();
|
$forms = FormUpCountry::whereMonth('tanggal', date('m'))
|
||||||
|
->whereYear('tanggal', date('Y'))
|
||||||
|
->where('tanggal', '<=', date('Y-m-10'))
|
||||||
|
->whereRaw('DAY(CURDATE()) <= 10')
|
||||||
|
->orderBy('tanggal', 'desc')
|
||||||
|
->get();
|
||||||
|
|
||||||
$availableBudget = null;
|
$availableBudget = null;
|
||||||
|
|
||||||
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
|
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
|
||||||
@@ -59,7 +65,9 @@ class FormUpCountryController extends Controller
|
|||||||
}
|
}
|
||||||
else if ($role == 'Medical Representatif') {
|
else if ($role == 'Medical Representatif') {
|
||||||
$forms = $forms->where('user_id', auth()->user()->id);
|
$forms = $forms->where('user_id', auth()->user()->id);
|
||||||
$availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id);
|
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
|
||||||
|
|
||||||
|
$availableBudget = BudgetHelper::getAvailableBudget($cabang_id);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$forms = $forms;
|
$forms = $forms;
|
||||||
@@ -199,7 +207,8 @@ class FormUpCountryController extends Controller
|
|||||||
];
|
];
|
||||||
|
|
||||||
// Check if the total nominal exceeds the available budget
|
// Check if the total nominal exceeds the available budget
|
||||||
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget()) {
|
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
|
||||||
|
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget($cabang_id)) {
|
||||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
@@ -372,7 +381,8 @@ class FormUpCountryController extends Controller
|
|||||||
];
|
];
|
||||||
|
|
||||||
// Check if the total nominal exceeds the available budget
|
// Check if the total nominal exceeds the available budget
|
||||||
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget()) {
|
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
|
||||||
|
if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget($cabang_id)) {
|
||||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
@@ -413,7 +423,8 @@ class FormUpCountryController extends Controller
|
|||||||
];
|
];
|
||||||
|
|
||||||
// Check if the total nominal exceeds the available budget
|
// Check if the total nominal exceeds the available budget
|
||||||
if(array_sum($approved_data) > BudgetHelper::getAvailableBudget()) {
|
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
|
||||||
|
if(array_sum($approved_data) > BudgetHelper::getAvailableBudget($cabang_id)) {
|
||||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,13 @@ class FormVehicleController extends Controller
|
|||||||
$this->checkAuthorization(auth()->user(), ['forms.vehicle.view']);
|
$this->checkAuthorization(auth()->user(), ['forms.vehicle.view']);
|
||||||
|
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
$forms = FormVehicleRunningCost::get();
|
$forms = FormVehicleRunningCost::whereMonth('tanggal', date('m'))
|
||||||
|
->whereYear('tanggal', date('Y'))
|
||||||
|
->where('tanggal', '<=', date('Y-m-10'))
|
||||||
|
->whereRaw('DAY(CURDATE()) <= 10')
|
||||||
|
->orderBy('tanggal', 'desc')
|
||||||
|
->get();
|
||||||
|
|
||||||
$availableBudget = null;
|
$availableBudget = null;
|
||||||
|
|
||||||
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
|
if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') {
|
||||||
@@ -59,7 +65,9 @@ class FormVehicleController extends Controller
|
|||||||
}
|
}
|
||||||
else if ($role == 'Medical Representatif') {
|
else if ($role == 'Medical Representatif') {
|
||||||
$forms = $forms->where('user_id', auth()->user()->id);
|
$forms = $forms->where('user_id', auth()->user()->id);
|
||||||
$availableBudget = BudgetHelper::getAvailableBudget($forms->first()->user->cabang->cabang->id);
|
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
|
||||||
|
|
||||||
|
$availableBudget = BudgetHelper::getAvailableBudget($cabang_id);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$forms = $forms;
|
$forms = $forms;
|
||||||
@@ -104,11 +112,12 @@ class FormVehicleController extends Controller
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['forms.vehicle.create']);
|
$this->checkAuthorization(auth()->user(), ['forms.vehicle.create']);
|
||||||
|
$cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
|
||||||
|
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'tanggal' => 'required',
|
'tanggal' => 'required',
|
||||||
'liter' => 'required',
|
'liter' => 'required',
|
||||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
|
||||||
'jarak' => 'required',
|
'jarak' => 'required',
|
||||||
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
||||||
'nopol' => 'required',
|
'nopol' => 'required',
|
||||||
@@ -217,11 +226,13 @@ class FormVehicleController extends Controller
|
|||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['forms.vehicle.edit']);
|
$this->checkAuthorization(auth()->user(), ['forms.vehicle.edit']);
|
||||||
$role = auth()->user()->getRoleNames()[0];
|
$role = auth()->user()->getRoleNames()[0];
|
||||||
|
$form = FormVehicleRunningCost::findOrfail($id);
|
||||||
|
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
|
||||||
|
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'tanggal' => 'required',
|
'tanggal' => 'required',
|
||||||
'liter' => 'required',
|
'liter' => 'required',
|
||||||
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget(),
|
'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
|
||||||
'jarak' => 'required',
|
'jarak' => 'required',
|
||||||
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
||||||
'nopol' => 'required',
|
'nopol' => 'required',
|
||||||
@@ -229,7 +240,6 @@ class FormVehicleController extends Controller
|
|||||||
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$form = FormVehicleRunningCost::findOrfail($id);
|
|
||||||
if($form->status != 'On Progress' && $role == 'Medical Representatif') {
|
if($form->status != 'On Progress' && $role == 'Medical Representatif') {
|
||||||
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
|
session()->flash('error', 'You cannot edit this form because it has been approved or rejected.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
@@ -282,7 +292,8 @@ class FormVehicleController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
$form = FormVehicleRunningCost::findOrfail($id);
|
$form = FormVehicleRunningCost::findOrfail($id);
|
||||||
if($form->total > BudgetHelper::getAvailableBudget()) {
|
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
|
||||||
|
if($form->total > BudgetHelper::getAvailableBudget($cabang_id)) {
|
||||||
session()->flash('error', 'The total nominal exceeds the available budget.');
|
session()->flash('error', 'The total nominal exceeds the available budget.');
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user