refactor(price-requests): migrate price request management to information section and update routing

This commit is contained in:
Yoga Pangestu 2025-11-21 23:11:49 +07:00
parent 8e1238a2dd
commit d6f26163f6
7 changed files with 20 additions and 41 deletions

View File

@ -1,16 +0,0 @@
<?php
namespace App\Http\Controllers\Studio;
use App\Http\Controllers\Controller;
use App\Models\PriceRequest;
class PriceRequestController extends Controller
{
public function approve(PriceRequest $priceRequest)
{
$priceRequest->update(['approved_at' => now()]);
return redirect()->route('studio.dashboard.overview');
}
}

View File

@ -1,6 +1,6 @@
<?php
namespace App\Livewire\Datatable\Studio\Manage;
namespace App\Livewire\Datatable\Studio\Information;
use App\Enums\PriceRequestStatus;
use App\Models\PriceRequest;

View File

@ -1,6 +1,6 @@
<?php
namespace App\Livewire\Studio\Manage;
namespace App\Livewire\Studio\Information;
use App\Enums\PriceRequestStatus;
use App\Jobs\StorePushNotification;
@ -69,7 +69,7 @@ public function reject(PriceRequestModel $priceRequest)
public function render()
{
return view('livewire.studio.manage.price-requests', [
return view('livewire.studio.information.price-requests', [
'pageTitle' => 'Permintaan Harga',
]);
}

View File

@ -169,14 +169,6 @@ public function boot(): void
'match' => 'studio.manage.article.*',
'can' => 'view article',
],
[
'label' => 'Permintaan Harga',
'icon' => 'exclamation-triangle',
'route' => 'studio.manage.price_request.index',
'match' => 'studio.manage.price_request.*',
'can' => 'view price request',
'badge' => $priceRequestCount,
],
[
'label' => 'FAQs',
'icon' => 'question-mark-circle',
@ -196,6 +188,14 @@ public function boot(): void
'match' => 'studio.information.broadcast.*',
'can' => 'view broadcast',
],
[
'label' => 'Permintaan Harga',
'icon' => 'exclamation-triangle',
'route' => 'studio.information.price_request.index',
'match' => 'studio.information.price_request.*',
'can' => 'view price request',
'badge' => $priceRequestCount,
],
],
],
[

View File

@ -47,7 +47,7 @@ public function requestPrice(string $module)
[
'title' => 'Permintaan Persetujuan Harga Beli',
'body' => "Haloo {$owner->employee?->full_name}, saya {$causerName}, saya ingin mengajukan permintaan persetujuan untuk mengakses data harga beli {$module}.",
'route' => route('studio.manage.price_request.index'),
'route' => route('studio.information.price_request.index'),
],
);
});

View File

@ -6,7 +6,7 @@
</div>
<div class="mt-6">
<livewire:datatable.studio.manage.price-requests-table />
<livewire:datatable.studio.information.price-requests-table />
</div>
@include('components.confirmation')

View File

@ -1,6 +1,5 @@
<?php
use App\Http\Controllers\Studio\PriceRequestController;
use App\Livewire\Studio\Catalog\Bottle\Audit as BottleAudit;
use App\Livewire\Studio\Catalog\Bottle\Create as BottleCreate;
use App\Livewire\Studio\Catalog\Bottle\Edit as BottleEdit;
@ -22,6 +21,7 @@
use App\Livewire\Studio\Finance\Expense as ExpenseComponent;
use App\Livewire\Studio\Finance\Payroll as PayrollComponent;
use App\Livewire\Studio\Information\Broadcast as BroadcastComponent;
use App\Livewire\Studio\Information\PriceRequest as PriceRequestComponent;
use App\Livewire\Studio\Loyalty\Customer as CustomerComponent;
use App\Livewire\Studio\Loyalty\Tier as TierComponent;
use App\Livewire\Studio\Loyalty\Voucher\Create as VoucherCreate;
@ -34,7 +34,6 @@
use App\Livewire\Studio\Manage\Order\Create as OrderCreate;
use App\Livewire\Studio\Manage\Order\Index as OrderIndex;
use App\Livewire\Studio\Manage\Order\Show as OrderShow;
use App\Livewire\Studio\Manage\PriceRequest as PriceRequestComponent;
use App\Livewire\Studio\Manage\Purchase\Create as PurchaseCreate;
use App\Livewire\Studio\Manage\Purchase\Index as PurchaseIndex;
use App\Livewire\Studio\Master\Formula as FormulaComponent;
@ -174,12 +173,6 @@
Route::delete('/{article}/delete', ArticleCreate::class)->name('delete')->middleware('can:delete article');
});
Route::prefix('price-requests')->name('price_request.')->group(function () {
Route::get('/', PriceRequestComponent::class)->name('index')->middleware('can:view price request');
Route::patch('/{priceRequest}/approve', PriceRequestComponent::class)->name('approve')->middleware('can:approve price request');
Route::patch('/{priceRequest}/reject', PriceRequestComponent::class)->name('reject')->middleware('can:reject price request');
});
Route::prefix('faqs')->name('faq.')->group(function () {
Route::get('/', FaqComponent::class)->name('index')->middleware('can:view faq');
Route::delete('/{faq}/delete', FaqComponent::class)->name('delete')->middleware('can:delete faq');
@ -188,6 +181,12 @@
Route::prefix('information')->name('studio.information.')->group(function () {
Route::get('/broadcasts', BroadcastComponent::class)->name('broadcast.index')->middleware('can:view broadcast');
Route::prefix('price-requests')->name('price_request.')->group(function () {
Route::get('/', PriceRequestComponent::class)->name('index')->middleware('can:view price request');
Route::patch('/{priceRequest}/approve', PriceRequestComponent::class)->name('approve')->middleware('can:approve price request');
Route::patch('/{priceRequest}/reject', PriceRequestComponent::class)->name('reject')->middleware('can:reject price request');
});
});
Route::prefix('feature')->name('studio.feature.')->group(function () {
@ -205,7 +204,3 @@
Route::get('/settings/applications', ApplicationComponent::class)->name('studio.setting.application')->middleware('can:view application settings');
// Route::get('/settings/whatsapp', WhatsappComponent::class)->name('studio.setting.whatsapp')->middleware('can:view whatsapp settings');
});
Route::get('/price-request/{priceRequest}/approve', [PriceRequestController::class, 'approve'])
->name('price-request.approve')
->middleware('signed');