From 44b7088b6fc6a900d3d560c7151228d1c3c1af1a Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Tue, 4 Aug 2026 15:45:06 +0530 Subject: [PATCH 1/5] Added sticker master mapping migration file --- ...4_create_sticker_mapping_masters_table.php | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 database/migrations/2026_08_01_101734_create_sticker_mapping_masters_table.php diff --git a/database/migrations/2026_08_01_101734_create_sticker_mapping_masters_table.php b/database/migrations/2026_08_01_101734_create_sticker_mapping_masters_table.php new file mode 100644 index 0000000..338457e --- /dev/null +++ b/database/migrations/2026_08_01_101734_create_sticker_mapping_masters_table.php @@ -0,0 +1,90 @@ + Date: Tue, 4 Aug 2026 15:45:40 +0530 Subject: [PATCH 2/5] Added sticker mapping master model file --- app/Models/StickerMappingMaster.php | 144 ++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 app/Models/StickerMappingMaster.php diff --git a/app/Models/StickerMappingMaster.php b/app/Models/StickerMappingMaster.php new file mode 100644 index 0000000..6f27e1d --- /dev/null +++ b/app/Models/StickerMappingMaster.php @@ -0,0 +1,144 @@ +belongsTo(Plant::class); + } + + public function itemCharacteristic() + { + return $this->belongsTo(ItemCharacteristic::class); + } + + public function item(): BelongsTo + { + return $this->belongsTo(Item::class, 'item_id'); + } + + public function sticker1Structure() + { + return $this->belongsTo(StickerStructureDetail::class, 'sticker_structure1_id'); + } + + public function sticker2Structure() + { + return $this->belongsTo(StickerStructureDetail::class, 'sticker_structure2_id'); + } + + public function sticker3Structure() + { + return $this->belongsTo(StickerStructureDetail::class, 'sticker_structure3_id'); + } + + public function sticker4Structure() + { + return $this->belongsTo(StickerStructureDetail::class, 'sticker_structure4_id'); + } + + public function sticker5Structure() + { + return $this->belongsTo(StickerStructureDetail::class, 'sticker_structure5_id'); + } + + public function sticker6Structure() + { + return $this->belongsTo(StickerStructureDetail::class, 'sticker_structure6_id'); + } + + public function sticker7Structure() + { + return $this->belongsTo(StickerStructureDetail::class, 'sticker_structure7_id'); + } + + public function sticker8Structure() + { + return $this->belongsTo(StickerStructureDetail::class, 'sticker_structure8_id'); + } + + // Machine relationships (per sticker) + public function sticker1Machine() + { + return $this->belongsTo(Machine::class, 'sticker1_machine_id'); + } + + public function sticker2Machine() + { + return $this->belongsTo(Machine::class, 'sticker2_machine_id'); + } + + public function sticker3Machine() + { + return $this->belongsTo(Machine::class, 'sticker3_machine_id'); + } + + public function sticker4Machine() + { + return $this->belongsTo(Machine::class, 'sticker4_machine_id'); + } + + public function sticker5Machine() + { + return $this->belongsTo(Machine::class, 'sticker5_machine_id'); + } + + public function sticker6Machine() + { + return $this->belongsTo(Machine::class, 'sticker6_machine_id'); + } + + public function sticker7Machine() + { + return $this->belongsTo(Machine::class, 'sticker7_machine_id'); + } + + public function sticker8Machine() + { + return $this->belongsTo(Machine::class, 'sticker8_machine_id'); + } +} + -- 2.49.1 From 221220d48e95338c461d6ac05c3e78e03d41ca9c Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Tue, 4 Aug 2026 15:46:57 +0530 Subject: [PATCH 3/5] Added sticker mapping master resource pages --- .../StickerMappingMasterResource.php | 478 ++++++++++++++++++ .../Pages/CreateStickerMappingMaster.php | 12 + .../Pages/EditStickerMappingMaster.php | 22 + .../Pages/ListStickerMappingMasters.php | 19 + .../Pages/ViewStickerMappingMaster.php | 19 + 5 files changed, 550 insertions(+) create mode 100644 app/Filament/Resources/StickerMappingMasterResource.php create mode 100644 app/Filament/Resources/StickerMappingMasterResource/Pages/CreateStickerMappingMaster.php create mode 100644 app/Filament/Resources/StickerMappingMasterResource/Pages/EditStickerMappingMaster.php create mode 100644 app/Filament/Resources/StickerMappingMasterResource/Pages/ListStickerMappingMasters.php create mode 100644 app/Filament/Resources/StickerMappingMasterResource/Pages/ViewStickerMappingMaster.php diff --git a/app/Filament/Resources/StickerMappingMasterResource.php b/app/Filament/Resources/StickerMappingMasterResource.php new file mode 100644 index 0000000..f616cee --- /dev/null +++ b/app/Filament/Resources/StickerMappingMasterResource.php @@ -0,0 +1,478 @@ +schema([ + // Forms\Components\TextInput::make('plant_id') + // ->required() + // ->numeric(), + // Forms\Components\TextInput::make('item_id') + // ->required() + // ->numeric(), + // Forms\Components\Textarea::make('sticker1') + // ->columnSpanFull(), + // Forms\Components\Textarea::make('sticker2') + // ->columnSpanFull(), + // Forms\Components\Textarea::make('sticker3') + // ->columnSpanFull(), + // Forms\Components\Textarea::make('sticker4') + // ->columnSpanFull(), + // Forms\Components\Textarea::make('sticker5') + // ->columnSpanFull(), + // Forms\Components\Textarea::make('created_by') + // ->columnSpanFull(), + // Forms\Components\Textarea::make('updated_by') + // ->columnSpanFull(), + // ]); + // } + + + public static function form(Form $form): Form +{ + return $form + ->schema([ + /* -------- Basic Mapping -------- */ + Section::make('Basic Mapping') + ->schema([ + Select::make('plant_id') + ->label('Plant') + ->reactive() + ->relationship('plant', 'name') + ->required(), + + Select::make('item_characteristic_id') + ->label('Item Code') + ->reactive() + //->relationship('item', 'code') + ->options(function (callable $get) { + $plantId = $get('plant_id'); + + if (! $plantId) { + return []; + } + + return ItemCharacteristic::query() + ->whereHas('item', function ($query) use ($plantId) { + $query->where('plant_id', $plantId); + }) + ->with('item') + ->get() + ->mapWithKeys(fn ($ic) => [ + $ic->id => $ic->item->code, + ]); + }) + ->searchable() + ->required(), + ]) + ->columns(2), + + /* -------- Sticker 1 -------- */ + Section::make('Sticker 1') + ->schema([ + Select::make('sticker_structure1_id') + ->label('Sticker ID') + ->options(function (callable $get) { + return StickerStructureDetail::pluck('sticker_id', 'id'); + }) + ->searchable(), + Select::make('sticker1_machine_id') + ->label('Work Center') + //->relationship('sticker1Machine', 'name') + ->options(function (callable $get) { + $plantId = $get('plant_id'); + if (empty($plantId)) { + return []; + } + return Machine::where('plant_id', $plantId)->pluck('work_center', 'id'); + }) + ->searchable(), + TextInput::make('sticker1_print_ip') + ->label('Printer IP') + ->ipv4(), + ]) + ->columns(2), + + /* -------- Sticker 2 -------- */ + Section::make('Sticker 2') + ->schema([ + Select::make('sticker_structure2_id') + ->label('Sticker ID') + ->options(function (callable $get) { + return StickerStructureDetail::pluck('sticker_id', 'id'); + }) + ->searchable(), + Select::make('sticker2_machine_id') + ->label('Work Center') + // ->relationship('sticker2Machine', 'name') + ->options(function (callable $get) { + $plantId = $get('plant_id'); + if (empty($plantId)) { + return []; + } + return Machine::where('plant_id', $plantId)->pluck('work_center', 'id'); + }) + ->searchable(), + TextInput::make('sticker2_print_ip') + ->label('Printer IP') + ->ipv4(), + ]) + ->columns(2), + + /* -------- Sticker 3 -------- */ + Section::make('Sticker 3') + ->schema([ + Select::make('sticker_structure3_id') + ->label('Sticker ID') + ->options(function (callable $get) { + return StickerStructureDetail::pluck('sticker_id', 'id'); + }) + ->searchable(), + Select::make('sticker3_machine_id') + ->label('Work Center') + //->relationship('sticker3Machine', 'name') + ->options(function (callable $get) { + $plantId = $get('plant_id'); + if (empty($plantId)) { + return []; + } + return Machine::where('plant_id', $plantId)->pluck('work_center', 'id'); + }) + ->searchable(), + TextInput::make('sticker3_print_ip') + ->label('Printer IP') + ->ipv4(), + ]) + ->columns(2), + + /* -------- Sticker 4 -------- */ + Section::make('Sticker 4') + ->schema([ + Select::make('sticker_structure4_id') + ->label('Sticker ID') + ->options(function (callable $get) { + return StickerStructureDetail::pluck('sticker_id', 'id'); + }) + ->searchable(), + Select::make('sticker4_machine_id') + ->label('Work Center') + //->relationship('sticker4Machine', 'name') + ->options(function (callable $get) { + $plantId = $get('plant_id'); + if (empty($plantId)) { + return []; + } + return Machine::where('plant_id', $plantId)->pluck('work_center', 'id'); + }) + ->searchable(), + TextInput::make('sticker4_print_ip') + ->label('Printer IP') + ->ipv4(), + ]) + ->columns(2), + + /* -------- Sticker 5 -------- */ + Section::make('Sticker 5') + ->schema([ + Select::make('sticker_structure5_id') + ->label('Sticker ID') + ->options(function (callable $get) { + return StickerStructureDetail::pluck('sticker_id', 'id'); + }) + ->searchable(), + Select::make('sticker5_machine_id') + ->label('Work Center') + //->relationship('sticker5Machine', 'name') + ->options(function (callable $get) { + $plantId = $get('plant_id'); + if (empty($plantId)) { + return []; + } + return Machine::where('plant_id', $plantId)->pluck('work_center', 'id'); + }) + ->searchable(), + TextInput::make('sticker5_print_ip') + ->label('Printer IP') + ->ipv4(), + ]) + ->columns(2), + + /* -------- Sticker 6 -------- */ + Section::make('Sticker 6') + ->schema([ + Select::make('sticker_structure6_id') + ->label('Sticker ID') + ->options(function (callable $get) { + return StickerStructureDetail::pluck('sticker_id', 'id'); + }) + ->searchable(), + Select::make('sticker6_machine_id') + ->label('Work Center') + //->relationship('sticker6Machine', 'name') + ->options(function (callable $get) { + $plantId = $get('plant_id'); + if (empty($plantId)) { + return []; + } + return Machine::where('plant_id', $plantId)->pluck('work_center', 'id'); + }) + ->searchable(), + TextInput::make('sticker6_print_ip') + ->label('Printer IP') + ->ipv4(), + ]) + ->columns(2), + + /* -------- Sticker 7 -------- */ + Section::make('Sticker 7') + ->schema([ + Select::make('sticker_structure7_id') + ->label('Sticker ID') + ->options(function (callable $get) { + return StickerStructureDetail::pluck('sticker_id', 'id'); + }) + ->searchable(), + Select::make('sticker7_machine_id') + ->label('Work Center') + //->relationship('sticker7Machine', 'name') + ->options(function (callable $get) { + $plantId = $get('plant_id'); + if (empty($plantId)) { + return []; + } + return Machine::where('plant_id', $plantId)->pluck('work_center', 'id'); + }) + ->searchable(), + TextInput::make('sticker7_print_ip') + ->label('Printer IP') + ->ipv4(), + ]) + ->columns(2), + + /* -------- Sticker 8 -------- */ + Section::make('Sticker 8') + ->schema([ + Select::make('sticker_structure8_id') + ->label('Sticker ID') + ->options(function (callable $get) { + return StickerStructureDetail::pluck('sticker_id', 'id'); + }) + ->searchable(), + Select::make('sticker8_machine_id') + ->label('Work Center') + //->relationship('sticker8Machine', 'name') + ->options(function (callable $get) { + $plantId = $get('plant_id'); + if (empty($plantId)) { + return []; + } + return Machine::where('plant_id', $plantId)->pluck('work_center', 'id'); + }) + ->searchable(), + TextInput::make('sticker8_print_ip') + ->label('Printer IP') + ->ipv4(), + ]) + ->columns(2), + ]); +} + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('No.') + ->label('No.') + ->getStateUsing(function ($record, $livewire, $column, $rowLoop) { + $paginator = $livewire->getTableRecords(); + $perPage = method_exists($paginator, 'perPage') ? $paginator->perPage() : 10; + $currentPage = method_exists($paginator, 'currentPage') ? $paginator->currentPage() : 1; + + return ($currentPage - 1) * $perPage + $rowLoop->iteration; + }), + Tables\Columns\TextColumn::make('plant.name') + ->label('Plant') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('itemCharacteristic.item.code') + ->label('Item') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('sticker1Structure.sticker_id') + ->label('Sticker 1') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker1Machine.work_center') + ->label('WC 1') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker1_print_ip') + ->label('Printer IP 1') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker2Structure.sticker_id') + ->label('Sticker 2') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker2Machine.work_center') + ->label('WC 2') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker2_print_ip') + ->label('Printer IP 2') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker3Structure.sticker_id') + ->label('Sticker 3') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker3Machine.work_center') + ->label('WC 3') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker3_print_ip') + ->label('Printer IP 3') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker4Structure.sticker_id') + ->label('Sticker 4') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker4Machine.work_center') + ->label('WC 4') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker4_print_ip') + ->label('Printer IP 4') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker5Structure.sticker_id') + ->label('Sticker 5') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker5Machine.work_center') + ->label('WC 5') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker5_print_ip') + ->label('Printer IP 5') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker6Structure.sticker_id') + ->label('Sticker 6') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker6Machine.work_center') + ->label('WC 6') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker6_print_ip') + ->label('Printer IP 6') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker7Structure.sticker_id') + ->label('Sticker 7') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker7Machine.work_center') + ->label('WC 7') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker7_print_ip') + ->label('Printer IP 7') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker8Structure.sticker_id') + ->label('Sticker 8') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker8Machine.work_center') + ->label('WC 8') + ->alignCenter(), + Tables\Columns\TextColumn::make('sticker8_print_ip') + ->label('Printer IP 8') + ->alignCenter(), + Tables\Columns\TextColumn::make('created_at') + ->label('Created At') + ->alignCenter() + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + Tables\Columns\TextColumn::make('updated_at') + ->label('Updated At') + ->alignCenter() + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + Tables\Columns\TextColumn::make('deleted_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([ + Tables\Filters\TrashedFilter::make(), + ]) + ->actions([ + Tables\Actions\ViewAction::make(), + Tables\Actions\EditAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + Tables\Actions\ForceDeleteBulkAction::make(), + Tables\Actions\RestoreBulkAction::make(), + ]), + ]) + ->headerActions([ + ImportAction::make() + ->importer(StickerMappingMasterImporter::class) + ->label('Import Sticker Mapping Master') + ->color('warning') + ->visible(function () { + return Filament::auth()->user()->can('view import sticker mapping master'); + }), + ExportAction::make() + ->exporter(StickerMappingMasterExporter::class) + ->label('Export Sticker Mapping Master') + ->color('warning') + ->visible(function () { + return Filament::auth()->user()->can('view export sticker mapping master'); + }), + ]); + } + + public static function getRelations(): array + { + return [ + // + ]; + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListStickerMappingMasters::route('/'), + 'create' => Pages\CreateStickerMappingMaster::route('/create'), + 'view' => Pages\ViewStickerMappingMaster::route('/{record}'), + 'edit' => Pages\EditStickerMappingMaster::route('/{record}/edit'), + ]; + } + + public static function getEloquentQuery(): Builder + { + return parent::getEloquentQuery() + ->withoutGlobalScopes([ + SoftDeletingScope::class, + ]); + } +} diff --git a/app/Filament/Resources/StickerMappingMasterResource/Pages/CreateStickerMappingMaster.php b/app/Filament/Resources/StickerMappingMasterResource/Pages/CreateStickerMappingMaster.php new file mode 100644 index 0000000..a71e086 --- /dev/null +++ b/app/Filament/Resources/StickerMappingMasterResource/Pages/CreateStickerMappingMaster.php @@ -0,0 +1,12 @@ + Date: Tue, 4 Aug 2026 15:48:18 +0530 Subject: [PATCH 4/5] Added sticker mapping master importer and exporter --- .../Exports/StickerMappingMasterExporter.php | 148 ++++++++++++++++++ .../Imports/StickerMappingMasterImporter.php | 55 +++++++ 2 files changed, 203 insertions(+) create mode 100644 app/Filament/Exports/StickerMappingMasterExporter.php create mode 100644 app/Filament/Imports/StickerMappingMasterImporter.php diff --git a/app/Filament/Exports/StickerMappingMasterExporter.php b/app/Filament/Exports/StickerMappingMasterExporter.php new file mode 100644 index 0000000..c447d7b --- /dev/null +++ b/app/Filament/Exports/StickerMappingMasterExporter.php @@ -0,0 +1,148 @@ +label('NO') + ->state(function ($record) use (&$rowNumber) { + // Increment and return the row number + return ++$rowNumber; + }), + ExportColumn::make('plant.code') + ->label('PLANT CODE'), + ExportColumn::make('itemCharacteristic.item.code') + ->label('ITEM CODE'), + ExportColumn::make('sticker_structure1_id') + ->label('STICKER 1') + ->getStateUsing(function ($record) { + return $record->sticker1Structure?->sticker_id ?? '-'; + }), + ExportColumn::make('sticker1_machine_id') + ->label('WC STICKER 1') + ->getStateUsing(function ($record) { + return $record->sticker1Machine?->work_center ?? '-'; + }), + ExportColumn::make('sticker1_print_ip') + ->label('STICKER 1 PRINT IP'), + ExportColumn::make('sticker_structure2_id') + ->label('STICKER 2') + ->getStateUsing(function ($record) { + return $record->sticker2Structure?->sticker_id ?? '-'; + }), + ExportColumn::make('sticker2_machine_id') + ->label('WC STICKER 2') + ->getStateUsing(function ($record) { + return $record->sticker2Machine?->work_center ?? '-'; + }), + ExportColumn::make('sticker2_print_ip') + ->label('STICKER 2 PRINT IP'), + ExportColumn::make('sticker_structure3_id') + ->label('STICKER 3') + ->getStateUsing(function ($record) { + return $record->sticker3Structure?->sticker_id ?? '-'; + }), + ExportColumn::make('sticker3_machine_id') + ->label('WC STICKER 3') + ->getStateUsing(function ($record) { + return $record->sticker3Machine?->work_center ?? '-'; + }), + ExportColumn::make('sticker3_print_ip') + ->label('STICKER 3 PRINT IP'), + ExportColumn::make('sticker_structure4_id') + ->label('STICKER 4') + ->getStateUsing(function ($record) { + return $record->sticker4Structure?->sticker_id ?? '-'; + }), + ExportColumn::make('sticker4_machine_id') + ->label('WC STICKER 4') + ->getStateUsing(function ($record) { + return $record->sticker4Machine?->work_center ?? '-'; + }), + ExportColumn::make('sticker4_print_ip') + ->label('STICKER 4 PRINT IP'), + ExportColumn::make('sticker_structure5_id') + ->label('STICKER 5') + ->getStateUsing(function ($record) { + return $record->sticker5Structure?->sticker_id ?? '-'; + }), + ExportColumn::make('sticker5_machine_id') + ->label('WC STICKER 5') + ->getStateUsing(function ($record) { + return $record->sticker5Machine?->work_center ?? '-'; + }), + ExportColumn::make('sticker5_print_ip') + ->label('STICKER 5 PRINT IP'), + ExportColumn::make('sticker_structure6_id') + ->label('STICKER 6') + ->getStateUsing(function ($record) { + return $record->sticker6Structure?->sticker_id ?? '-'; + }), + ExportColumn::make('sticker6_machine_id') + ->label('WC STICKER 6') + ->getStateUsing(function ($record) { + return $record->sticker6Machine?->work_center ?? '-'; + }), + ExportColumn::make('sticker6_print_ip') + ->label('STICKER 6 PRINT IP'), + ExportColumn::make('sticker_structure7_id') + ->label('STICKER 7') + ->getStateUsing(function ($record) { + return $record->sticker7Structure?->sticker_id ?? '-'; + }), + ExportColumn::make('sticker7_machine_id') + ->label('WC STICKER 7') + ->getStateUsing(function ($record) { + return $record->sticker2Machine?->work_center ?? '-'; + }), + ExportColumn::make('sticker7_print_ip') + ->label('STICKER 7 PRINT IP'), + ExportColumn::make('sticker_structure8_id') + ->label('STICKER 8') + ->getStateUsing(function ($record) { + return $record->sticker8Structure?->sticker_id ?? '-'; + }), + ExportColumn::make('sticker8_machine_id') + ->label('WC STICKER 8') + ->getStateUsing(function ($record) { + return $record->sticker8Machine?->work_center ?? '-'; + }), + ExportColumn::make('sticker8_print_ip') + ->label('STICKER 8 PRINT IP'), + ExportColumn::make('created_at') + ->label('CREATED AT'), + ExportColumn::make('updated_at') + ->label('UPDATED AT'), + ExportColumn::make('created_by') + ->label('CREATED BY'), + ExportColumn::make('updated_by') + ->label('UPDATED BY'), + ExportColumn::make('deleted_at') + ->enabledByDefault(false) + ->label('DELETED AT'), + ]; + } + + public static function getCompletedNotificationBody(Export $export): string + { + $body = 'Your sticker mapping master export has completed and ' . number_format($export->successful_rows) . ' ' . str('row')->plural($export->successful_rows) . ' exported.'; + + if ($failedRowsCount = $export->getFailedRowsCount()) { + $body .= ' ' . number_format($failedRowsCount) . ' ' . str('row')->plural($failedRowsCount) . ' failed to export.'; + } + + return $body; + } +} diff --git a/app/Filament/Imports/StickerMappingMasterImporter.php b/app/Filament/Imports/StickerMappingMasterImporter.php new file mode 100644 index 0000000..7f929e7 --- /dev/null +++ b/app/Filament/Imports/StickerMappingMasterImporter.php @@ -0,0 +1,55 @@ +requiredMapping() + ->numeric() + ->rules(['required', 'integer']), + ImportColumn::make('item') + ->requiredMapping() + ->relationship() + ->rules(['required']), + ImportColumn::make('sticker1'), + ImportColumn::make('sticker2'), + ImportColumn::make('sticker3'), + ImportColumn::make('sticker4'), + ImportColumn::make('sticker5'), + ImportColumn::make('created_by'), + ImportColumn::make('updated_by'), + ]; + } + + public function resolveRecord(): ?StickerMappingMaster + { + // return StickerMappingMaster::firstOrNew([ + // // Update existing records, matching them by `$this->data['column_name']` + // 'email' => $this->data['email'], + // ]); + + return new StickerMappingMaster(); + } + + public static function getCompletedNotificationBody(Import $import): string + { + $body = 'Your sticker mapping master import has completed and ' . number_format($import->successful_rows) . ' ' . str('row')->plural($import->successful_rows) . ' imported.'; + + if ($failedRowsCount = $import->getFailedRowsCount()) { + $body .= ' ' . number_format($failedRowsCount) . ' ' . str('row')->plural($failedRowsCount) . ' failed to import.'; + } + + return $body; + } +} -- 2.49.1 From e047abed7b50881a63608c2c420512a1a6745f5e Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Tue, 4 Aug 2026 15:49:29 +0530 Subject: [PATCH 5/5] added sticker mapping master policy files --- app/Policies/StickerMappingMasterPolicy.php | 106 ++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 app/Policies/StickerMappingMasterPolicy.php diff --git a/app/Policies/StickerMappingMasterPolicy.php b/app/Policies/StickerMappingMasterPolicy.php new file mode 100644 index 0000000..8e96d59 --- /dev/null +++ b/app/Policies/StickerMappingMasterPolicy.php @@ -0,0 +1,106 @@ +checkPermissionTo('view-any StickerMappingMaster'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, StickerMappingMaster $stickermappingmaster): bool + { + return $user->checkPermissionTo('view StickerMappingMaster'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->checkPermissionTo('create StickerMappingMaster'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, StickerMappingMaster $stickermappingmaster): bool + { + return $user->checkPermissionTo('update StickerMappingMaster'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, StickerMappingMaster $stickermappingmaster): bool + { + return $user->checkPermissionTo('delete StickerMappingMaster'); + } + + /** + * Determine whether the user can delete any models. + */ + public function deleteAny(User $user): bool + { + return $user->checkPermissionTo('delete-any StickerMappingMaster'); + } + + /** + * Determine whether the user can restore the model. + */ + public function restore(User $user, StickerMappingMaster $stickermappingmaster): bool + { + return $user->checkPermissionTo('restore StickerMappingMaster'); + } + + /** + * Determine whether the user can restore any models. + */ + public function restoreAny(User $user): bool + { + return $user->checkPermissionTo('restore-any StickerMappingMaster'); + } + + /** + * Determine whether the user can replicate the model. + */ + public function replicate(User $user, StickerMappingMaster $stickermappingmaster): bool + { + return $user->checkPermissionTo('replicate StickerMappingMaster'); + } + + /** + * Determine whether the user can reorder the models. + */ + public function reorder(User $user): bool + { + return $user->checkPermissionTo('reorder StickerMappingMaster'); + } + + /** + * Determine whether the user can permanently delete the model. + */ + public function forceDelete(User $user, StickerMappingMaster $stickermappingmaster): bool + { + return $user->checkPermissionTo('force-delete StickerMappingMaster'); + } + + /** + * Determine whether the user can permanently delete any models. + */ + public function forceDeleteAny(User $user): bool + { + return $user->checkPermissionTo('force-delete-any StickerMappingMaster'); + } +} -- 2.49.1