12 Commits

Author SHA1 Message Date
dhanabalan
d7d27a9dc0 added unwanted enters in between code for testing
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 12s
Laravel Pint / pint (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Gemini PR Review / review (pull_request) Has been cancelled
2025-12-02 12:16:34 +05:30
dhanabalan
e525e3c526 decreased font size of the sticker printing table
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 10s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 10s
Gemini PR Review / review (pull_request) Failing after 38s
Laravel Larastan / larastan (pull_request) Failing after 2m18s
Laravel Pint / pint (pull_request) Has been cancelled
2025-12-02 08:35:17 +05:30
dhanabalan
caf2f3c1e7 corrected logic in sticker printing page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Gemini PR Review / review (pull_request) Failing after 38s
Laravel Larastan / larastan (pull_request) Failing after 2m24s
Laravel Pint / pint (pull_request) Failing after 2m7s
2025-12-02 08:24:22 +05:30
dhanabalan
2ceb76f008 Added ref no above the qr code in sticker printing
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 10s
Gemini PR Review / review (pull_request) Failing after 27s
Laravel Larastan / larastan (pull_request) Failing after 2m15s
Laravel Pint / pint (pull_request) Failing after 7m11s
2025-12-01 17:50:30 +05:30
dhanabalan
988d109acc Added serial qr code validation in create page of sticker printing
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 10s
Gemini PR Review / review (pull_request) Failing after 22s
Laravel Larastan / larastan (pull_request) Failing after 2m15s
Laravel Pint / pint (pull_request) Failing after 2m13s
2025-12-01 17:41:00 +05:30
dhanabalan
bc8163a535 chnaged indentation in item resource page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 12s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 10s
Gemini PR Review / review (pull_request) Failing after 21s
Laravel Pint / pint (pull_request) Failing after 2m22s
Laravel Larastan / larastan (pull_request) Failing after 2m29s
2025-12-01 17:39:58 +05:30
dhanabalan
6834e37429 Added crt logic policy for sticker printing
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 10s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 12s
Gemini PR Review / review (pull_request) Failing after 24s
Laravel Larastan / larastan (pull_request) Failing after 2m20s
Laravel Pint / pint (pull_request) Failing after 2m25s
2025-12-01 16:20:19 +05:30
dhanabalan
a9012ffc05 commented logic for sticker prinitng policy
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 10s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 10s
Gemini PR Review / review (pull_request) Failing after 22s
Laravel Larastan / larastan (pull_request) Failing after 2m23s
Laravel Pint / pint (pull_request) Failing after 2m15s
2025-12-01 15:56:46 +05:30
dhanabalan
c67bbc02b6 Added sticker printing policy
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 10s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 10s
Gemini PR Review / review (pull_request) Failing after 23s
Laravel Pint / pint (pull_request) Failing after 2m30s
Laravel Larastan / larastan (pull_request) Failing after 3m4s
2025-12-01 15:41:56 +05:30
dhanabalan
d71837f314 commented all line sof cod ein sticker printing policy
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Gemini PR Review / review (pull_request) Failing after 20s
Laravel Pint / pint (pull_request) Failing after 1m55s
Laravel Larastan / larastan (pull_request) Failing after 2m5s
2025-12-01 15:39:39 +05:30
dhanabalan
36a50815f9 commented user model class in spatie page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Gemini PR Review / review (pull_request) Failing after 21s
Laravel Pint / pint (pull_request) Failing after 2m3s
Laravel Larastan / larastan (pull_request) Failing after 2m13s
2025-12-01 15:24:58 +05:30
dhanabalan
11678dd846 Added permissions for import and export for sticker printing
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 10s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Gemini PR Review / review (pull_request) Failing after 23s
Laravel Larastan / larastan (pull_request) Failing after 2m4s
Laravel Pint / pint (pull_request) Failing after 2m5s
2025-12-01 14:59:54 +05:30
8 changed files with 134 additions and 26 deletions

View File

@@ -267,9 +267,7 @@ class ItemResource extends Resource
->options(function (callable $get) { ->options(function (callable $get) {
$plantId = $get('Plant'); $plantId = $get('Plant');
return $plantId return $plantId ? Item::where('plant_id', $plantId)->pluck('code', 'id') : [];
? Item::where('plant_id', $plantId)->pluck('code', 'id')
: [];
}) })
->searchable() ->searchable()
->reactive(), ->reactive(),

View File

@@ -109,6 +109,7 @@ class ProcessOrderResource extends Resource
->afterStateHydrated(function ($component, $state, Get $get, Set $set) { ->afterStateHydrated(function ($component, $state, Get $get, Set $set) {
$itemId = $get('item_id'); $itemId = $get('item_id');
if ($get('id')) { if ($get('id')) {
$item = \App\Models\Item::where('id', $itemId)->first()?->description; $item = \App\Models\Item::where('id', $itemId)->first()?->description;
if ($item) { if ($item) {
$set('item_description', $item); $set('item_description', $item);
@@ -122,6 +123,7 @@ class ProcessOrderResource extends Resource
->hidden() ->hidden()
->readOnly(), ->readOnly(),
// ->readOnly(true), // ->readOnly(true),
Forms\Components\TextInput::make('process_order') Forms\Components\TextInput::make('process_order')
->label('Process Order') ->label('Process Order')
->reactive() ->reactive()

View File

@@ -9,6 +9,7 @@ use SimpleSoftwareIO\QrCode\Facades\QrCode;
use Filament\Facades\Filament; use Filament\Facades\Filament;
use App\Models\StickerPrinting; use App\Models\StickerPrinting;
use Filament\Notifications\Notification; use Filament\Notifications\Notification;
use Str;
class CreateStickerPrinting extends CreateRecord class CreateStickerPrinting extends CreateRecord
@@ -77,7 +78,65 @@ class CreateStickerPrinting extends CreateRecord
$sNumber = $this->form->getState()['serial_number'] ?? null; $sNumber = $this->form->getState()['serial_number'] ?? null;
if(empty($this->plantId) || empty($ref) || empty($this->serial_number)) { $pattern1 = '/^(?<item_code>[^|]+)\|(?<serial_number>[^|]+)\|?$/i';
$pattern2 = '/^(?<item_code>[^|]+)\|(?<serial_number>[^|]+)\|(?<batch_number>.+)$/i';
$pattern3 = '/^(?<serial_number>[^|]+)$/i';
if (preg_match($pattern1, $sNumber, $matches) || preg_match($pattern2, $sNumber, $matches) || preg_match($pattern3, $sNumber, $matches)) {
$serial = $matches['serial_number'];
if (Str::length($serial) < 9) {
Notification::make()
->title('Invalid Serial Number')
->body("Serial number should conatin minimum 9 digits '$serial'.")
->warning()
->send();
$this->form->fill([
'plant_id' => $plant,
'reference_number' => $ref,
'serial_number' => '',
]);
return;
}
else if(!ctype_alnum($serial)) {
Notification::make()
->title('Invalid Serial Number')
->body("Serial number should be alphanumeric '$serial'.")
->warning()
->send();
$this->form->fill([
'plant_id' => $plant,
'reference_number' => $ref,
'serial_number' => '',
]);
return;
}
$extractedSerialNumber = $matches['serial_number'];
$sNumber = $extractedSerialNumber;
}
else
{
Notification::make()
->title('Invalid Format')
->body("Serial number must be in the format 'itemcode|serialnumber' or 'itemcode|serialnumber|batchnumber'. or just 'serialnumber'.")
->warning()
->send();
// Reset only serial number field
$this->form->fill([
'plant_id' => $plant,
'reference_number' => $ref,
'serial_number' => '',
]);
return;
}
if ($plant == null || trim($plant) == '' || $ref == null || trim($ref) == '' || $sNumber == null || trim($sNumber) == '')
{
Notification::make() Notification::make()
->title('Unknown: Incomplete Data!') ->title('Unknown: Incomplete Data!')
->body("Please ensure Plant, Reference Number, and Serial Number are provided.") ->body("Please ensure Plant, Reference Number, and Serial Number are provided.")
@@ -110,16 +169,16 @@ class CreateStickerPrinting extends CreateRecord
} }
StickerPrinting::create([ StickerPrinting::create([
'plant_id' => $this->plantId, 'plant_id' => $plant,
'reference_number' => $ref, 'reference_number' => $ref,
'serial_number' => $this->serial_number, 'serial_number' => $sNumber,
'created_by' => Filament::auth()->user()->name, 'created_by' => Filament::auth()->user()->name,
]); ]);
$this->dispatch('addStickerToList', $this->plantId, $ref, $this->serial_number); $this->dispatch('addStickerToList', $plant, $ref, $sNumber);
$this->form->fill([ $this->form->fill([
'plant_id' => $this->plantId, 'plant_id' => $plant,
'reference_number' => $ref, 'reference_number' => $ref,
'serial_number' => '', 'serial_number' => '',
]); ]);
@@ -175,6 +234,7 @@ class CreateStickerPrinting extends CreateRecord
// Send data to Pdf view // Send data to Pdf view
$pdf = PDF::loadView('pdf.qrcode', [ $pdf = PDF::loadView('pdf.qrcode', [
'qrCode' => $qrCode, 'qrCode' => $qrCode,
'referenceNumber' => $refNumber,
]); ]);
return response()->streamDownload(function () use ($pdf) { return response()->streamDownload(function () use ($pdf) {

View File

@@ -6,12 +6,13 @@ use Illuminate\Auth\Access\Response;
use App\Models\StickerPrinting; use App\Models\StickerPrinting;
use App\Models\User; use App\Models\User;
class StickerPrintingPolicy class StickerPrintingPolicy
{ {
/** /**
* Determine whether the user can view any models. * Determine whether the user can view any models.
*/ */
public function viewAny(App\Models\User $user): bool public function viewAny(User $user): bool
{ {
return $user->checkPermissionTo('view-any StickerPrinting'); return $user->checkPermissionTo('view-any StickerPrinting');
} }
@@ -19,7 +20,7 @@ class StickerPrintingPolicy
/** /**
* Determine whether the user can view the model. * Determine whether the user can view the model.
*/ */
public function view(App\Models\User $user, StickerPrinting $stickerprinting): bool public function view(User $user, StickerPrinting $stickerprinting): bool
{ {
return $user->checkPermissionTo('view StickerPrinting'); return $user->checkPermissionTo('view StickerPrinting');
} }
@@ -27,7 +28,7 @@ class StickerPrintingPolicy
/** /**
* Determine whether the user can create models. * Determine whether the user can create models.
*/ */
public function create(App\Models\User $user): bool public function create(User $user): bool
{ {
return $user->checkPermissionTo('create StickerPrinting'); return $user->checkPermissionTo('create StickerPrinting');
} }
@@ -35,7 +36,7 @@ class StickerPrintingPolicy
/** /**
* Determine whether the user can update the model. * Determine whether the user can update the model.
*/ */
public function update(App\Models\User $user, StickerPrinting $stickerprinting): bool public function update(User $user, StickerPrinting $stickerprinting): bool
{ {
return $user->checkPermissionTo('update StickerPrinting'); return $user->checkPermissionTo('update StickerPrinting');
} }
@@ -43,7 +44,7 @@ class StickerPrintingPolicy
/** /**
* Determine whether the user can delete the model. * Determine whether the user can delete the model.
*/ */
public function delete(App\Models\User $user, StickerPrinting $stickerprinting): bool public function delete(User $user, StickerPrinting $stickerprinting): bool
{ {
return $user->checkPermissionTo('delete StickerPrinting'); return $user->checkPermissionTo('delete StickerPrinting');
} }
@@ -51,7 +52,7 @@ class StickerPrintingPolicy
/** /**
* Determine whether the user can delete any models. * Determine whether the user can delete any models.
*/ */
public function deleteAny(App\Models\User $user): bool public function deleteAny(User $user): bool
{ {
return $user->checkPermissionTo('delete-any StickerPrinting'); return $user->checkPermissionTo('delete-any StickerPrinting');
} }
@@ -59,7 +60,7 @@ class StickerPrintingPolicy
/** /**
* Determine whether the user can restore the model. * Determine whether the user can restore the model.
*/ */
public function restore(App\Models\User $user, StickerPrinting $stickerprinting): bool public function restore(User $user, StickerPrinting $stickerprinting): bool
{ {
return $user->checkPermissionTo('restore StickerPrinting'); return $user->checkPermissionTo('restore StickerPrinting');
} }
@@ -67,7 +68,7 @@ class StickerPrintingPolicy
/** /**
* Determine whether the user can restore any models. * Determine whether the user can restore any models.
*/ */
public function restoreAny(App\Models\User $user): bool public function restoreAny(User $user): bool
{ {
return $user->checkPermissionTo('restore-any StickerPrinting'); return $user->checkPermissionTo('restore-any StickerPrinting');
} }
@@ -75,7 +76,7 @@ class StickerPrintingPolicy
/** /**
* Determine whether the user can replicate the model. * Determine whether the user can replicate the model.
*/ */
public function replicate(App\Models\User $user, StickerPrinting $stickerprinting): bool public function replicate(User $user, StickerPrinting $stickerprinting): bool
{ {
return $user->checkPermissionTo('replicate StickerPrinting'); return $user->checkPermissionTo('replicate StickerPrinting');
} }
@@ -83,7 +84,7 @@ class StickerPrintingPolicy
/** /**
* Determine whether the user can reorder the models. * Determine whether the user can reorder the models.
*/ */
public function reorder(App\Models\User $user): bool public function reorder(User $user): bool
{ {
return $user->checkPermissionTo('reorder StickerPrinting'); return $user->checkPermissionTo('reorder StickerPrinting');
} }
@@ -91,7 +92,7 @@ class StickerPrintingPolicy
/** /**
* Determine whether the user can permanently delete the model. * Determine whether the user can permanently delete the model.
*/ */
public function forceDelete(App\Models\User $user, StickerPrinting $stickerprinting): bool public function forceDelete(User $user, StickerPrinting $stickerprinting): bool
{ {
return $user->checkPermissionTo('force-delete StickerPrinting'); return $user->checkPermissionTo('force-delete StickerPrinting');
} }
@@ -99,7 +100,7 @@ class StickerPrintingPolicy
/** /**
* Determine whether the user can permanently delete any models. * Determine whether the user can permanently delete any models.
*/ */
public function forceDeleteAny(App\Models\User $user): bool public function forceDeleteAny(User $user): bool
{ {
return $user->checkPermissionTo('force-delete-any StickerPrinting'); return $user->checkPermissionTo('force-delete-any StickerPrinting');
} }

View File

@@ -213,7 +213,7 @@ return [
'user_model' => \App\Models\User::class, 'user_model' => \App\Models\User::class,
'user_model_class' => \App\Models\User::class, // 'user_model_class' => \App\Models\User::class,
'policies_namespace' => 'App\Policies', 'policies_namespace' => 'App\Policies',
], ],

View File

@@ -169,6 +169,7 @@ class PermissionSeeder extends Seeder
Permission::updateOrCreate(['name' => 'view import process order']); Permission::updateOrCreate(['name' => 'view import process order']);
Permission::updateOrCreate(['name' => 'view export process order']); Permission::updateOrCreate(['name' => 'view export process order']);
Permission::updateOrCreate(['name' => 'view import sticker printing']);
Permission::updateOrCreate(['name' => 'view export sticker printing']);
} }
} }

View File

@@ -36,7 +36,8 @@
style="height: 385px;" style="height: 385px;"
> >
<table class="table-auto w-full border-collapse border"> <table class="table-auto w-full border-collapse border">
<thead class="bg-gray-100"> {{-- <thead class="bg-gray-100"> --}}
<thead class="bg-gray-100 text-xs">
<tr> <tr>
<th class="border p-2">No</th> <th class="border p-2">No</th>
<th class="border p-2">Reference No</th> <th class="border p-2">Reference No</th>
@@ -44,7 +45,8 @@
<th class="border p-2">Created By</th> <th class="border p-2">Created By</th>
</tr> </tr>
</thead> </thead>
<tbody> {{-- <tbody> --}}
<tbody class="text-xs">
@forelse($records as $index => $record) @forelse($records as $index => $record)
<tr> <tr>
<td class="border p-2 text-center">{{ $index + 1 }}</td> <td class="border p-2 text-center">{{ $index + 1 }}</td>

View File

@@ -16,7 +16,7 @@
</html> --}} </html> --}}
<!DOCTYPE html> {{-- <!DOCTYPE html>
<html> <html>
<head> <head>
<style> <style>
@@ -40,9 +40,53 @@
</style> </style>
</head> </head>
<body> <body>
<img src="data:image/png;base64,{{ $qrCode }}" /> <img src="data:image/png;base64,{{ $qrCode }}" />
</body>
</html> --}}
<!DOCTYPE html>
<html>
<head>
<style>
@page {
margin: 0;
size: 100mm 100mm;
}
body {
margin: 0;
padding: 0;
width: 100mm;
height: 100mm;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
font-size: 12px;
font-family: Arial, sans-serif;
}
img {
width: 90mm; /* QR CODE REDUCED TO FIT TEXT */
height: 90mm;
}
.ref-text {
margin-top: 3mm;
font-size: 16px; /* Increased Font Size */
font-weight: bold;
}
</style>
</head>
<body>
<div class="ref-text">
{{ $referenceNumber }}
</div>
<img src="data:image/png;base64,{{ $qrCode }}" />
</body> </body>
</html> </html>