diff --git a/.ai/CONVENTIONS.md b/.ai/CONVENTIONS.md index 820d153..882c83c 100644 --- a/.ai/CONVENTIONS.md +++ b/.ai/CONVENTIONS.md @@ -206,7 +206,6 @@ ### Casting — Wajib untuk Semua Tipe 'is_affiliate' => 'boolean', // Array (JSON) - 'marketplace_settings_snapshot' => 'array', 'payload' => 'array', // DateTime diff --git a/.ai/REFERENCE.md b/.ai/REFERENCE.md index 07521c5..a897258 100644 --- a/.ai/REFERENCE.md +++ b/.ai/REFERENCE.md @@ -26,7 +26,7 @@ ### `push_subscriptions` → PushSubscription - Relations: user(MorphTo) ### `notifications` → AppNotification -`id` `user_id`(FK→users) `title` `body`(text,null) `url`(null) `is_read`(bool,default:false) `read_at`(datetime,null) `created_at` `updated_at` +`id` `user_id`(FK→users) `title` `body`(longText,null) `url`(null) `is_read`(bool,default:false) `read_at`(datetime,null) `created_at` `updated_at` - Casts: is_read(bool), read_at(datetime) - Accessor: formatted_read_at → 'l, d F Y H:i' - Relations: user(BelongsTo→User) @@ -167,8 +167,8 @@ ### `leave_requests` → LeaveRequest ## Sales ### `orders` → Order -`id` `customer_id`(FK→customers,null) `marketing_id`(FK→users,null) `cash_transaction_id`(FK→cash_transactions,unique,null) `created_by_id`(FK→users) `order_number`(30,unique) `channel`(enum) `price_type`(enum) `status`(enum,default:pending) `payment_type`(enum,default:cash) `is_affiliate`(bool,default:false) `tiktok_order_id`(100,null) `shopee_order_id`(100,null) `subtotal`(ubig) `discount`(ubig,default:0) `nego_price`(ubig,null) `marketplace_settings_snapshot`(json,null) `total_amount`(ubig) `cogs`(ubig,default:0) `notes`(text,null) `created_at` `updated_at` `deleted_at` -- Casts: channel(OrderChannel), price_type(PriceType), status(OrderStatus), payment_type(PaymentType), is_affiliate(bool), subtotal(int), discount(int), nego_price(int), total_amount(int), cogs(int), marketplace_settings_snapshot(array) +`id` `customer_id`(FK→customers,null) `marketing_id`(FK→users,null) `cash_transaction_id`(FK→cash_transactions,unique,null) `created_by_id`(FK→users) `order_number`(30,unique) `channel`(enum) `price_type`(enum) `status`(enum,default:pending) `payment_type`(enum,default:cash) `tiktok_order_id`(100,null) `shopee_order_id`(100,null) `subtotal`(ubig) `discount`(ubig,default:0) `nego_price`(ubig,null) `total_amount`(ubig) `cogs`(ubig,default:0) `notes`(text,null) `created_at` `updated_at` `deleted_at` +- Casts: channel(OrderChannel), price_type(PriceType), status(OrderStatus), payment_type(PaymentType), subtotal(int), discount(int), nego_price(int), total_amount(int), cogs(int) - Scopes: cancelled(), cash(), completed(), pending(), processing(), qris(), refunded(), retail(), shopee(), store(), tiktok(), transfer(), wholesale() - Relations: cashTransaction(BelongsTo→CashTransaction), createdBy(BelongsTo→User), customer(BelongsTo→Customer), marketing(BelongsTo→User), orderItems(HasMany→OrderItem) diff --git a/app/Enums/Permission.php b/app/Enums/Permission.php index f1af26c..2621670 100644 --- a/app/Enums/Permission.php +++ b/app/Enums/Permission.php @@ -168,8 +168,6 @@ enum Permission: string case SETTINGS_UPDATE_HOMEPAGE = 'settings.update_homepage'; case SETTINGS_VIEW_SOCIAL_MEDIA = 'settings.view_social_media'; case SETTINGS_UPDATE_SOCIAL_MEDIA = 'settings.update_social_media'; - case SETTINGS_VIEW_MARKETPLACE = 'settings.view_marketplace'; - case SETTINGS_UPDATE_MARKETPLACE = 'settings.update_marketplace'; case SETTINGS_VIEW_HR = 'settings.view_hr'; case SETTINGS_UPDATE_HR = 'settings.update_hr'; diff --git a/app/Enums/Role.php b/app/Enums/Role.php index 4b37740..1eec0e0 100644 --- a/app/Enums/Role.php +++ b/app/Enums/Role.php @@ -195,8 +195,6 @@ public function permissions(): array Permission::SETTINGS_UPDATE_SYSTEM, Permission::SETTINGS_VIEW_SOCIAL_MEDIA, Permission::SETTINGS_UPDATE_SOCIAL_MEDIA, - Permission::SETTINGS_VIEW_MARKETPLACE, - Permission::SETTINGS_UPDATE_MARKETPLACE, Permission::SETTINGS_VIEW_HR, Permission::SETTINGS_UPDATE_HR, Permission::SETTINGS_VIEW_HOMEPAGE, diff --git a/app/Http/Controllers/Admin/AdminSettingsController.php b/app/Http/Controllers/Admin/AdminSettingsController.php index 30be955..d43154e 100644 --- a/app/Http/Controllers/Admin/AdminSettingsController.php +++ b/app/Http/Controllers/Admin/AdminSettingsController.php @@ -5,7 +5,6 @@ use App\Http\Controllers\Controller; use App\Http\Requests\Admin\Settings\UpdateHomepageRequest; use App\Http\Requests\Admin\Settings\UpdateHRRequest; -use App\Http\Requests\Admin\Settings\UpdateMarketplaceRequest; use App\Http\Requests\Admin\Settings\UpdateSocialMediaRequest; use App\Http\Requests\Admin\Settings\UpdateSystemRequest; use App\Services\Admin\AdminSettingsService; @@ -25,7 +24,6 @@ public function index(): Response 'system' => $this->service->getSystemData(), 'homepage' => $this->service->getHomepageData(), 'socialMedia' => $this->service->getSocialMediaData(), - 'marketplace' => $this->service->getMarketplaceData(), 'hr' => $this->service->getHRData(), ]); } @@ -57,15 +55,6 @@ public function updateSocialMedia(UpdateSocialMediaRequest $request): RedirectRe return back(); } - public function updateMarketplace(UpdateMarketplaceRequest $request): RedirectResponse - { - $this->service->updateMarketplace($request->validated()); - - Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan marketplace berhasil diperbarui.']); - - return back(); - } - public function updateHR(UpdateHRRequest $request): RedirectResponse { $this->service->updateHR($request->validated()); diff --git a/app/Http/Requests/Admin/Manage/TransactionRequest.php b/app/Http/Requests/Admin/Manage/TransactionRequest.php index 4958b71..77c9c37 100644 --- a/app/Http/Requests/Admin/Manage/TransactionRequest.php +++ b/app/Http/Requests/Admin/Manage/TransactionRequest.php @@ -37,7 +37,6 @@ public function rules(): array 'discount' => ['nullable', 'integer', 'min:0'], 'nego_price' => ['nullable', 'integer'], 'is_completed' => ['sometimes', 'boolean'], - 'is_affiliate' => ['sometimes', 'boolean'], 'tiktok_order_id' => ['nullable', 'string', 'max:100'], 'shopee_order_id' => ['nullable', 'string', 'max:100'], 'items' => ['required', 'array', 'min:1'], @@ -66,7 +65,6 @@ public function attributes(): array 'discount' => 'diskon', 'nego_price' => 'harga nego', 'is_completed' => 'pesanan selesai', - 'is_affiliate' => 'affiliasi', 'tiktok_order_id' => 'id pesanan tiktok', 'shopee_order_id' => 'id pesanan shopee', 'items' => 'item produk', diff --git a/app/Http/Requests/Admin/Settings/UpdateMarketplaceRequest.php b/app/Http/Requests/Admin/Settings/UpdateMarketplaceRequest.php deleted file mode 100644 index 94d2f14..0000000 --- a/app/Http/Requests/Admin/Settings/UpdateMarketplaceRequest.php +++ /dev/null @@ -1,108 +0,0 @@ -user()->can('settings.update_marketplace'); - } - - private function feeRuleRules(): array - { - return ['required', 'array']; - } - - private function feeFieldRules(string $prefix): array - { - return [ - "{$prefix}.base" => ['required', 'string', 'in:per_transaksi,per_produk'], - "{$prefix}.type" => ['required', 'string', 'in:flat,persentase'], - "{$prefix}.value" => ['required', 'numeric', 'min:0'], - ]; - } - - public function rules(): array - { - $keys = [ - 'tiktok_shop_platform_commission', - 'tiktok_shop_logistics_service_fee', - 'tiktok_shop_dynamic_commission', - 'tiktok_shop_order_processing_fee', - 'tiktok_shop_affiliate', - 'tiktok_shop_pre_order_service_fee', - 'shopee_admin_fee', - 'shopee_program_fee', - 'shopee_shipping_savings', - 'shopee_premium', - 'shopee_service_fee', - 'shopee_order_processing_fee', - 'shopee_ams_commission_fee', - 'shopee_pre_order', - 'shopee_live_extra', - ]; - - $rules = []; - - foreach ($keys as $key) { - $rules[$key] = $this->feeRuleRules(); - $rules = array_merge($rules, $this->feeFieldRules($key)); - } - - return $rules; - } - - public function attributes(): array - { - return [ - 'tiktok_shop_platform_commission.base' => 'dasar komisi platform tiktok shop', - 'tiktok_shop_platform_commission.type' => 'tipe komisi platform tiktok shop', - 'tiktok_shop_platform_commission.value' => 'nilai komisi platform tiktok shop', - 'tiktok_shop_logistics_service_fee.base' => 'dasar layanan logistik tiktok shop', - 'tiktok_shop_logistics_service_fee.type' => 'tipe layanan logistik tiktok shop', - 'tiktok_shop_logistics_service_fee.value' => 'nilai layanan logistik tiktok shop', - 'tiktok_shop_dynamic_commission.base' => 'dasar komisi dinamis tiktok shop', - 'tiktok_shop_dynamic_commission.type' => 'tipe komisi dinamis tiktok shop', - 'tiktok_shop_dynamic_commission.value' => 'nilai komisi dinamis tiktok shop', - 'tiktok_shop_order_processing_fee.base' => 'dasar pemrosesan pesanan tiktok shop', - 'tiktok_shop_order_processing_fee.type' => 'tipe pemrosesan pesanan tiktok shop', - 'tiktok_shop_order_processing_fee.value' => 'nilai pemrosesan pesanan tiktok shop', - 'tiktok_shop_affiliate.base' => 'dasar affiliate tiktok shop', - 'tiktok_shop_affiliate.type' => 'tipe affiliate tiktok shop', - 'tiktok_shop_affiliate.value' => 'nilai affiliate tiktok shop', - 'tiktok_shop_pre_order_service_fee.base' => 'dasar layanan po tiktok shop', - 'tiktok_shop_pre_order_service_fee.type' => 'tipe layanan po tiktok shop', - 'tiktok_shop_pre_order_service_fee.value' => 'nilai layanan po tiktok shop', - 'shopee_admin_fee.base' => 'dasar biaya administrasi shopee', - 'shopee_admin_fee.type' => 'tipe biaya administrasi shopee', - 'shopee_admin_fee.value' => 'nilai biaya administrasi shopee', - 'shopee_program_fee.base' => 'dasar biaya program shopee', - 'shopee_program_fee.type' => 'tipe biaya program shopee', - 'shopee_program_fee.value' => 'nilai biaya program shopee', - 'shopee_shipping_savings.base' => 'dasar hemat biaya kirim shopee', - 'shopee_shipping_savings.type' => 'tipe hemat biaya kirim shopee', - 'shopee_shipping_savings.value' => 'nilai hemat biaya kirim shopee', - 'shopee_premium.base' => 'dasar premi shopee', - 'shopee_premium.type' => 'tipe premi shopee', - 'shopee_premium.value' => 'nilai premi shopee', - 'shopee_service_fee.base' => 'dasar biaya layanan shopee', - 'shopee_service_fee.type' => 'tipe biaya layanan shopee', - 'shopee_service_fee.value' => 'nilai biaya layanan shopee', - 'shopee_order_processing_fee.base' => 'dasar biaya proses pesanan shopee', - 'shopee_order_processing_fee.type' => 'tipe biaya proses pesanan shopee', - 'shopee_order_processing_fee.value' => 'nilai biaya proses pesanan shopee', - 'shopee_ams_commission_fee.base' => 'dasar biaya komisi ams shopee', - 'shopee_ams_commission_fee.type' => 'tipe biaya komisi ams shopee', - 'shopee_ams_commission_fee.value' => 'nilai biaya komisi ams shopee', - 'shopee_pre_order.base' => 'dasar po shopee', - 'shopee_pre_order.type' => 'tipe po shopee', - 'shopee_pre_order.value' => 'nilai po shopee', - 'shopee_live_extra.base' => 'dasar live extra shopee', - 'shopee_live_extra.type' => 'tipe live extra shopee', - 'shopee_live_extra.value' => 'nilai live extra shopee', - ]; - } -} diff --git a/app/Models/Order.php b/app/Models/Order.php index 123c046..df68254 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -34,13 +34,11 @@ protected function casts(): array 'price_type' => PriceType::class, 'status' => OrderStatus::class, 'payment_type' => PaymentType::class, - 'is_affiliate' => 'boolean', 'subtotal' => 'integer', 'discount' => 'integer', 'nego_price' => 'integer', 'total_amount' => 'integer', 'cogs' => 'integer', - 'marketplace_settings_snapshot' => 'array', ]; } diff --git a/app/OldDataMigrations/OrdersMigration.php b/app/OldDataMigrations/OrdersMigration.php index ce24fe3..cf9f337 100644 --- a/app/OldDataMigrations/OrdersMigration.php +++ b/app/OldDataMigrations/OrdersMigration.php @@ -13,7 +13,7 @@ public function migrate(): array { $results = []; - $results['orders'] = $this->migrateTable('orders', function ($row) { + $results['orders'] = $this->migrateTableWithoutColumns('orders', ['marketplace_settings_snapshot', 'is_affiliate'], function ($row) { $row['cogs'] = $row['cogs'] ?? 0; $row['price_type'] = match ($row['price_type']) { diff --git a/app/Services/Admin/AdminSettingsService.php b/app/Services/Admin/AdminSettingsService.php index f5bbcb1..3c784ac 100644 --- a/app/Services/Admin/AdminSettingsService.php +++ b/app/Services/Admin/AdminSettingsService.php @@ -5,10 +5,8 @@ use App\Services\S3PresignedService; use App\Settings\HomepageSettings; use App\Settings\HRSettings; -use App\Settings\MarketplaceSettings; use App\Settings\SocialMediaSettings; use App\Settings\SystemSettings; -use App\Support\Marketplace\MarketplaceFeeRule; class AdminSettingsService { @@ -57,33 +55,6 @@ public function getSocialMediaData(): array ]; } - public function getMarketplaceData(): array - { - $settings = app(MarketplaceSettings::class); - - return [ - 'tiktok_shop' => [ - 'platform_commission' => $settings->tiktok_shop_platform_commission->toArray(), - 'logistics_service_fee' => $settings->tiktok_shop_logistics_service_fee->toArray(), - 'dynamic_commission' => $settings->tiktok_shop_dynamic_commission->toArray(), - 'order_processing_fee' => $settings->tiktok_shop_order_processing_fee->toArray(), - 'affiliate' => $settings->tiktok_shop_affiliate->toArray(), - 'pre_order_service_fee' => $settings->tiktok_shop_pre_order_service_fee->toArray(), - ], - 'shopee' => [ - 'admin_fee' => $settings->shopee_admin_fee->toArray(), - 'program_fee' => $settings->shopee_program_fee->toArray(), - 'shipping_savings' => $settings->shopee_shipping_savings->toArray(), - 'premium' => $settings->shopee_premium->toArray(), - 'service_fee' => $settings->shopee_service_fee->toArray(), - 'order_processing_fee' => $settings->shopee_order_processing_fee->toArray(), - 'ams_commission_fee' => $settings->shopee_ams_commission_fee->toArray(), - 'pre_order' => $settings->shopee_pre_order->toArray(), - 'live_extra' => $settings->shopee_live_extra->toArray(), - ], - ]; - } - public function getHRData(): array { $settings = app(HRSettings::class); @@ -121,37 +92,6 @@ public function updateSocialMedia(array $data): void $settings->save(); } - public function updateMarketplace(array $data): void - { - $settings = app(MarketplaceSettings::class); - - $feeKeys = [ - 'tiktok_shop_platform_commission', - 'tiktok_shop_logistics_service_fee', - 'tiktok_shop_dynamic_commission', - 'tiktok_shop_order_processing_fee', - 'tiktok_shop_affiliate', - 'tiktok_shop_pre_order_service_fee', - 'shopee_admin_fee', - 'shopee_program_fee', - 'shopee_shipping_savings', - 'shopee_premium', - 'shopee_service_fee', - 'shopee_order_processing_fee', - 'shopee_ams_commission_fee', - 'shopee_pre_order', - 'shopee_live_extra', - ]; - - foreach ($feeKeys as $key) { - if (isset($data[$key])) { - $settings->{$key} = MarketplaceFeeRule::from($data[$key]); - } - } - - $settings->save(); - } - public function updateHR(array $data): void { $settings = app(HRSettings::class); diff --git a/app/Services/Admin/Manage/TransactionService.php b/app/Services/Admin/Manage/TransactionService.php index 847ba12..1117e53 100644 --- a/app/Services/Admin/Manage/TransactionService.php +++ b/app/Services/Admin/Manage/TransactionService.php @@ -189,7 +189,6 @@ public function store(array $data): Order 'price_type' => $priceType, 'status' => ($data['is_completed'] ?? false) ? OrderStatus::COMPLETED : OrderStatus::PENDING, 'payment_type' => $paymentType, - 'is_affiliate' => $data['is_affiliate'] ?? false, 'tiktok_order_id' => $data['tiktok_order_id'] ?? null, 'shopee_order_id' => $data['shopee_order_id'] ?? null, 'subtotal' => $subtotal, @@ -265,7 +264,6 @@ public function update(Order $order, array $data): Order 'price_type' => $priceType, 'status' => ($data['is_completed'] ?? false) ? OrderStatus::COMPLETED : OrderStatus::PENDING, 'payment_type' => $data['payment_type'] ?? $order->payment_type->value, - 'is_affiliate' => $data['is_affiliate'] ?? false, 'tiktok_order_id' => $data['tiktok_order_id'] ?? null, 'shopee_order_id' => $data['shopee_order_id'] ?? null, 'subtotal' => $subtotal, diff --git a/app/Settings/MarketplaceSettings.php b/app/Settings/MarketplaceSettings.php deleted file mode 100644 index d79df0d..0000000 --- a/app/Settings/MarketplaceSettings.php +++ /dev/null @@ -1,44 +0,0 @@ - $this->base, - 'type' => $this->type, - 'value' => (float) $this->value, - ]; - } -} diff --git a/database/factories/OrderFactory.php b/database/factories/OrderFactory.php index 10d52c2..a58434d 100644 --- a/database/factories/OrderFactory.php +++ b/database/factories/OrderFactory.php @@ -21,7 +21,6 @@ public function definition(): array 'price_type' => fake()->randomElement(['retail', 'wholesale']), 'status' => 'pending', 'payment_type' => fake()->randomElement(['cash', 'transfer', 'marketplace', 'qris']), - 'is_affiliate' => false, 'subtotal' => $subtotal, 'discount' => $discount, 'total_amount' => $subtotal - $discount, diff --git a/database/migrations/2026_06_12_100001_create_orders_table.php b/database/migrations/2026_06_12_100001_create_orders_table.php index 6062a2a..e39e796 100644 --- a/database/migrations/2026_06_12_100001_create_orders_table.php +++ b/database/migrations/2026_06_12_100001_create_orders_table.php @@ -25,13 +25,11 @@ public function up(): void $table->enum('price_type', PriceType::values()); $table->enum('status', OrderStatus::values())->default(OrderStatus::PENDING->value); $table->enum('payment_type', PaymentType::values())->default(PaymentType::CASH->value); - $table->boolean('is_affiliate')->default(false); $table->string('tiktok_order_id', 100)->nullable(); $table->string('shopee_order_id', 100)->nullable(); $table->unsignedBigInteger('subtotal'); $table->unsignedBigInteger('discount')->default(0); $table->unsignedBigInteger('nego_price')->nullable(); - $table->json('marketplace_settings_snapshot')->nullable(); $table->unsignedBigInteger('total_amount'); $table->unsignedBigInteger('cogs')->default(0); $table->text('notes')->nullable(); diff --git a/database/migrations/2026_06_27_130700_create_notifications_table.php b/database/migrations/2026_06_27_130700_create_notifications_table.php index a5b27b3..e5b1be7 100644 --- a/database/migrations/2026_06_27_130700_create_notifications_table.php +++ b/database/migrations/2026_06_27_130700_create_notifications_table.php @@ -14,7 +14,7 @@ public function up(): void $table->foreignId('user_id')->constrained()->cascadeOnDelete(); $table->string('title'); - $table->text('body')->nullable(); + $table->longText('body')->nullable(); $table->string('url')->nullable(); $table->boolean('is_read')->default(false); $table->timestamp('read_at')->nullable(); diff --git a/database/seeders/RolePermissionSeeder.php b/database/seeders/RolePermissionSeeder.php index 0287206..b8684b2 100644 --- a/database/seeders/RolePermissionSeeder.php +++ b/database/seeders/RolePermissionSeeder.php @@ -36,7 +36,7 @@ public function run(): void 'purchases' => ['view', 'create', 'update', 'delete'], 'stok_opnames' => ['view', 'create', 'update', 'delete', 'submit', 'verify'], 'roles' => ['view', 'create', 'update', 'delete'], - 'settings' => ['view_system', 'update_system', 'view_homepage', 'update_homepage', 'view_social_media', 'update_social_media', 'view_marketplace', 'update_marketplace', 'view_hr', 'update_hr'], + 'settings' => ['view_system', 'update_system', 'view_homepage', 'update_homepage', 'view_social_media', 'update_social_media', 'view_hr', 'update_hr'], ]; foreach ($permissions as $module => $actions) { @@ -166,8 +166,6 @@ public function run(): void 'settings.update_system', 'settings.view_social_media', 'settings.update_social_media', - 'settings.view_marketplace', - 'settings.update_marketplace', 'settings.view_hr', 'settings.update_hr', 'settings.view_homepage', diff --git a/database/settings/2026_06_11_085959_create_app_settings.php b/database/settings/2026_06_11_085959_create_app_settings.php index a9142b1..92a6385 100644 --- a/database/settings/2026_06_11_085959_create_app_settings.php +++ b/database/settings/2026_06_11_085959_create_app_settings.php @@ -1,6 +1,5 @@ add('tiktok_url', null); }); - $this->migrator->inGroup('marketplace', function (SettingsBlueprint $blueprint): void { - // TikTok Shop - $blueprint->add('tiktok_shop_platform_commission', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('tiktok_shop_logistics_service_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('tiktok_shop_dynamic_commission', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('tiktok_shop_order_processing_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('tiktok_shop_affiliate', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('tiktok_shop_pre_order_service_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - - // Shopee - $blueprint->add('shopee_admin_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('shopee_program_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('shopee_shipping_savings', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('shopee_premium', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('shopee_service_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('shopee_order_processing_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('shopee_ams_commission_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('shopee_pre_order', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - $blueprint->add('shopee_live_extra', MarketplaceFeeRule::defaultPercent(0.0)->toArray()); - }); - $this->migrator->inGroup('hr', function (SettingsBlueprint $blueprint): void { $blueprint->add('scheduled_check_in_time', '08:00'); $blueprint->add('scheduled_check_out_time', '17:00'); diff --git a/resources/js/components/layout/app-sidebar.tsx b/resources/js/components/layout/app-sidebar.tsx index 4ff003d..3d388b3 100644 --- a/resources/js/components/layout/app-sidebar.tsx +++ b/resources/js/components/layout/app-sidebar.tsx @@ -103,7 +103,7 @@ const hrItems: NavMenuItem[] = [ ]; const sistemItems: NavMenuItem[] = [ - { title: 'Pengaturan', href: '/admin/settings', icon: Settings, permission: ['settings.view_system', 'settings.view_homepage', 'settings.view_social_media', 'settings.view_marketplace', 'settings.view_hr'] }, + { title: 'Pengaturan', href: '/admin/settings', icon: Settings, permission: ['settings.view_system', 'settings.view_homepage', 'settings.view_social_media', 'settings.view_hr'] }, { title: 'Role & Permission', href: rolesIndex.url(), icon: Shield, permission: 'roles.view' }, // { title: 'Log Aktivitas', href: '#', icon: Activity, permission: 'activity_logs.view' }, ]; diff --git a/resources/js/pages/admin/manage/transaction/columns.tsx b/resources/js/pages/admin/manage/transaction/columns.tsx index 1985897..dfae256 100644 --- a/resources/js/pages/admin/manage/transaction/columns.tsx +++ b/resources/js/pages/admin/manage/transaction/columns.tsx @@ -84,7 +84,6 @@ export type TransactionForEdit = { discount: number; nego_price: number | null; is_completed: boolean; - is_affiliate: boolean; tiktok_order_id: string | null; shopee_order_id: string | null; notes: string | null; diff --git a/resources/js/pages/admin/manage/transaction/create.tsx b/resources/js/pages/admin/manage/transaction/create.tsx index 3785054..0a362fe 100644 --- a/resources/js/pages/admin/manage/transaction/create.tsx +++ b/resources/js/pages/admin/manage/transaction/create.tsx @@ -94,7 +94,6 @@ export default function TransactionCreate({ const [discount, setDiscount] = useState(draft?.discount ?? 0); const [negoPrice, setNegoPrice] = useState(draft?.negoPrice ?? null); const [isCompleted, setIsCompleted] = useState(draft?.isCompleted ?? false); - const [isAffiliate, setIsAffiliate] = useState(draft?.isAffiliate ?? false); const [notes, setNotes] = useState(draft?.notes ?? ''); const [photo, setPhoto] = useState(draft?.photo ?? null); const [photoUrl, setPhotoUrl] = useState( @@ -133,7 +132,6 @@ export default function TransactionCreate({ discount, negoPrice, isCompleted, - isAffiliate, tiktokOrderId: channel === 'tiktok' ? tiktokOrderId : '', shopeeOrderId: channel === 'shopee' ? shopeeOrderId : '', selectedProductId, @@ -149,7 +147,7 @@ export default function TransactionCreate({ [ stockType, channel, priceType, paymentType, customerId, marketingId, discount, negoPrice, - isCompleted, isAffiliate, tiktokOrderId, shopeeOrderId, + isCompleted, tiktokOrderId, shopeeOrderId, selectedProductId, quantities, notes, photo, ], ); @@ -293,7 +291,6 @@ export default function TransactionCreate({ discount, nego_price: negoPrice, is_completed: isCompleted, - is_affiliate: isAffiliate, tiktok_order_id: channel === 'tiktok' ? tiktokOrderId || null : null, shopee_order_id: channel === 'shopee' ? shopeeOrderId || null : null, items: Object.entries(quantitiesRef.current) @@ -853,17 +850,6 @@ export default function TransactionCreate({ /> -
- - -
-
-
- - -
-