Generate QR code on order create; implement reGenerate route

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-06 16:30:55 +05:00
parent 3d8edf0b39
commit 50e0f1b8ef
3 changed files with 17 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use App\Http\Controllers\QrController;
class AutoController extends Controller class AutoController extends Controller
{ {
@@ -110,6 +111,7 @@ class AutoController extends Controller
'created_at' => $request->created_at ?? now(), 'created_at' => $request->created_at ?? now(),
'updated_at' => now(), 'updated_at' => now(),
]); ]);
QrController::generateQr($id, 'auto_');
return redirect()->route('auto.show', $id); return redirect()->route('auto.show', $id);
} }

View File

@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use App\Http\Controllers\QrController;
class EstateController extends Controller class EstateController extends Controller
{ {
@@ -93,6 +94,7 @@ class EstateController extends Controller
'created_at' => $request->created_at ?? now(), 'created_at' => $request->created_at ?? now(),
'updated_at' => now(), 'updated_at' => now(),
]); ]);
QrController::generateQr($id, 'estate_');
return redirect()->route('estate.show', $id); return redirect()->route('estate.show', $id);
} }

View File

@@ -3,6 +3,8 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use SimpleSoftwareIO\QrCode\Facades\QrCode;
class QrController extends Controller class QrController extends Controller
{ {
@@ -13,6 +15,17 @@ class QrController extends Controller
public function reGenerate($id, $type) public function reGenerate($id, $type)
{ {
self::generateQr($id, $type);
return redirect()->back(); return redirect()->back();
} }
public static function generateQr($id, $type)
{
// type is 'auto_' or 'estate_'
$url = url(($type === 'auto_' ? 'auto' : 'estate') . '/show/' . $id);
$dir = 'public/attachments/' . $type . $id;
Storage::makeDirectory($dir);
$qr = QrCode::format('png')->size(200)->generate($url);
Storage::put($dir . '/qr.png', $qr);
}
} }