diff --git a/app/Livewire/Datatable/Loyalty/CustomersTable.php b/app/Livewire/Datatable/Loyalty/CustomersTable.php index e4fd2d4..d227f5f 100644 --- a/app/Livewire/Datatable/Loyalty/CustomersTable.php +++ b/app/Livewire/Datatable/Loyalty/CustomersTable.php @@ -71,6 +71,10 @@ public function columns(): array Column::make('Aksi') ->label(function ($row) { + if ($row->user) { + return ''; + } + $actions = ''; if (auth()->user()->can('update customer')) { @@ -96,6 +100,7 @@ public function columns(): array public function builder(): Builder { - return Customer::select('customers.id', 'name', 'phone_number', 'gender', 'customers.created_at')->with('user', 'orders'); + return Customer::select('customers.id', 'name', 'phone_number', 'gender', 'customers.created_at', 'user_id') + ->with('user', 'orders'); } } diff --git a/app/Livewire/Datatable/Master/WarehousesTable.php b/app/Livewire/Datatable/Master/WarehousesTable.php index beec81f..0fde1a2 100644 --- a/app/Livewire/Datatable/Master/WarehousesTable.php +++ b/app/Livewire/Datatable/Master/WarehousesTable.php @@ -48,7 +48,7 @@ public function columns(): array return $actions; }) ->html() - ->hideIf(auth()->user()->cannot('view warehouse') && auth()->user()->cannot('update warehouse') && auth()->user()->cannot('delete warehouse')), + ->hideIf(auth()->user()->cannot('show warehouse') && auth()->user()->cannot('update warehouse') && auth()->user()->cannot('delete warehouse')), ]; } diff --git a/app/Livewire/Studio/Dashboard/Overview.php b/app/Livewire/Studio/Dashboard/Overview.php index bf67707..aec48d8 100644 --- a/app/Livewire/Studio/Dashboard/Overview.php +++ b/app/Livewire/Studio/Dashboard/Overview.php @@ -202,7 +202,7 @@ public function render(): View ->get()->keyBy('orderable_type'); $this->todayCategoryChart = [ - 'labels' => ['Parfum', 'Produk Jadi', 'Botol'], + 'labels' => ['Parfum', 'Produk', 'Botol'], 'data' => [ (int) ($categorySales->get(Perfume::class)?->total ?? 0), (int) ($categorySales->get(Product::class)?->total ?? 0), @@ -287,7 +287,7 @@ public function render(): View ]; $this->stats = array_values(array_filter([ - [ + auth()->user()->hasRole(['Developer', 'Owner']) ? [ 'title' => 'Average Order Value (AOV)', 'value' => formatCurrencyNumber($todayAov, 'Rp'), 'previous' => formatCurrencyNumber($yesterdayAov, 'Rp'), @@ -295,8 +295,9 @@ public function render(): View ? round((($todayAov - $yesterdayAov) / $yesterdayAov) * 100, 1).'%' : '∞%', 'trendUp' => $todayAov > $yesterdayAov, - ], - [ + ] : null, + + auth()->user()->hasRole(['Developer', 'Owner']) ? [ 'title' => 'Profit Margin', 'value' => round($todayProfitMargin, 1).'%', 'previous' => round($yesterdayProfitMargin, 1).'%', @@ -304,7 +305,8 @@ public function render(): View ? round($todayProfitMargin - $yesterdayProfitMargin, 1).'%' : '∞%', 'trendUp' => $todayProfitMargin > $yesterdayProfitMargin, - ], + ] : null, + [ 'title' => 'Total Order', 'value' => $todayOrder, @@ -314,6 +316,7 @@ public function render(): View : '∞%', 'trendUp' => $todayOrder > $yesterdayOrder, ], + [ 'title' => 'Pendapatan', 'value' => formatCurrencyNumber($todayIncome, 'Rp'), @@ -345,6 +348,7 @@ public function render(): View : '∞%', 'trendUp' => $todayNewMembers > $yesterdayNewMembers, ], + [ 'title' => 'Diskon', 'value' => formatCurrencyNumber($todayDiscount, 'Rp'), @@ -355,6 +359,7 @@ public function render(): View 'trendUp' => $todayDiscount > $yesterdayDiscount, 'formatted' => formatCurrencyNumber($todayDiscount, 'Rp'), ], + [ 'title' => 'Voucher Terpakai', 'value' => $todayVoucher, @@ -364,6 +369,7 @@ public function render(): View : '∞%', 'trendUp' => $todayVoucher > $yesterdayVoucher, ], + [ 'title' => 'Beban Toko', 'value' => formatCurrencyNumber($todayExpense, 'Rp'), @@ -413,6 +419,7 @@ public function render(): View : '∞%', 'trendUp' => $todaySoldPerfume > $yesterdaySoldPerfume, ], + [ 'title' => 'Top Parfum', 'value' => optional($todayTopPerfume?->orderable)->name.' ('.$todayTopPerfume?->total_sold.'ml)' ?? '-', diff --git a/database/seeders/RolePermissionSeeder.php b/database/seeders/RolePermissionSeeder.php index 0021517..71e4e27 100644 --- a/database/seeders/RolePermissionSeeder.php +++ b/database/seeders/RolePermissionSeeder.php @@ -183,8 +183,6 @@ public function run(): void // member 'view member overview', - 'view member voucher', - 'view member membership', 'view member reward', @@ -200,16 +198,12 @@ public function run(): void $developer->syncPermissions($permissions, array_diff($permissions, [ 'view member overview', 'view partner overview', - - 'view member voucher', 'view member membership', ])); $owner->syncPermissions($permissions, array_diff($permissions, [ 'view member overview', 'view partner overview', - - 'view member voucher', 'view member membership', 'view member reward', ])); @@ -218,7 +212,7 @@ public function run(): void 'view member overview', 'view partner overview', - 'view member voucher', + 'view analysis', 'view member membership', 'view member reward', @@ -226,6 +220,11 @@ public function run(): void 'update outlet', 'delete outlet', + 'show warehouse', + 'create warehouse', + 'update warehouse', + 'delete warehouse', + 'view user', 'create user', 'update user', @@ -314,8 +313,6 @@ public function run(): void 'view partner overview', 'view analysis', - - 'view member voucher', 'view member membership', 'view member reward', @@ -457,8 +454,6 @@ public function run(): void 'view member overview', - 'view member voucher', - 'view member membership', 'view member reward',