6 Commits

Author SHA1 Message Date
dhanabalan
2dd3b35eb5 added profile logo in visitor
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-05-26 15:56:46 +05:30
dhanabalan
4129a7a251 added default avatar ui image in visitor
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-05-26 15:31:10 +05:30
dhanabalan
d6aea93d00 removed default image url in visitor
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-05-26 15:28:23 +05:30
dhanabalan
fb91bea7c4 changed logic in visito entry
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
2026-05-26 15:27:25 +05:30
dhanabalan
f970d6eb0f Changed logic in create visitor entry
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-05-26 15:14:14 +05:30
dhanabalan
b567f3ee02 Changed image path of visitor photos
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-05-26 14:33:06 +05:30
3 changed files with 47 additions and 9 deletions

View File

@@ -82,6 +82,9 @@ class ItemResource extends Resource
Forms\Components\TextInput::make('category') Forms\Components\TextInput::make('category')
->label('Category') ->label('Category')
->placeholder('Scan the Category'), ->placeholder('Scan the Category'),
Forms\Components\TextInput::make('category')
->label('Category')
->placeholder('Scan the Category'),
Forms\Components\TextInput::make('code') Forms\Components\TextInput::make('code')
->required() ->required()
->placeholder('Scan the valid code') ->placeholder('Scan the valid code')

View File

@@ -170,7 +170,8 @@ class VisitorEntryResource extends Resource
->disk('public') ->disk('public')
->height(50) ->height(50)
->width(50) ->width(50)
->defaultImageUrl('https://ui-avatars.com/api/?name=Visitor&background=555&color=fff') // ->defaultImageUrl('https://ui-avatars.com/api/?name=Visitor&background=555&color=fff')
->defaultImageUrl(asset('images/profile.png'))
->alignCenter() ->alignCenter()
->extraImgAttributes(['style' => 'border-radius: 6px; object-fit: cover;']), ->extraImgAttributes(['style' => 'border-radius: 6px; object-fit: cover;']),
Tables\Columns\TextColumn::make('type') Tables\Columns\TextColumn::make('type')

View File

@@ -85,21 +85,55 @@ class CreateVisitorEntry extends CreateRecord
\Log::info('WEBCAM: photo-captured event received, length: ' . strlen($photo)); \Log::info('WEBCAM: photo-captured event received, length: ' . strlen($photo));
} }
// protected function mutateFormDataBeforeCreate(array $data): array
// {
// \Log::info('WEBCAM: mutateFormDataBeforeCreate called, photo value: ' . substr($data['photo'] ?? 'NULL', 0, 50));
// if (
// !empty($data['photo']) &&
// str_starts_with($data['photo'], 'data:image')
// ) {
// $imageData = explode(',', $data['photo'])[1];
// $filename = 'visitor_' . time() . '_' . uniqid() . '.jpg';
// $path = 'visitor-photos/' . $filename;
// Storage::disk('public')->put($path, base64_decode($imageData));
// $data['photo'] = $path;
// \Log::info('WEBCAM: photo saved to ' . $path);
// }
// return $data;
// }
protected function mutateFormDataBeforeCreate(array $data): array protected function mutateFormDataBeforeCreate(array $data): array
{ {
\Log::info('WEBCAM: mutateFormDataBeforeCreate called, photo value: ' . substr($data['photo'] ?? 'NULL', 0, 50));
if ( if (
!empty($data['photo']) && !empty($data['photo']) &&
str_starts_with($data['photo'], 'data:image') str_starts_with($data['photo'], 'data:image')
) { ) {
$imageData = explode(',', $data['photo'])[1]; try {
$filename = 'visitor_' . time() . '_' . uniqid() . '.jpg'; $imageData = explode(',', $data['photo'])[1];
$path = 'visitor-photos/' . $filename;
Storage::disk('public')->put($path, base64_decode($imageData));
$data['photo'] = $path;
\Log::info('WEBCAM: photo saved to ' . $path); $filename = 'visitor_' . time() . '_' . uniqid() . '.jpg';
$path = 'visitor-photos/' . $filename;
$decoded = base64_decode($imageData);
$saved = Storage::disk('public')->put($path, $decoded);
\Log::info('PHOTO UPLOAD (PUBLIC):', [
'filename' => $filename,
'path' => $path,
'size_bytes' => strlen($decoded),
'saved' => $saved ? 'SUCCESS' : 'FAILED',
]);
$data['photo'] = $path;
} catch (\Exception $e) {
\Log::error('PHOTO UPLOAD ERROR: ' . $e->getMessage());
}
} }
return $data; return $data;