Add Frontdesk kiosk APK build script and manufacturer flash guide.
Deploy Ladill Frontdesk / deploy (push) Successful in 59s

Ship OEM documentation for MDM, Elo, and Zebra lockdown plus a provisioning QR on kiosk device registration so factory tablets can pair on first boot.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-08 18:35:44 +00:00
co-authored by Cursor
parent e1dee12bc2
commit 60c2839553
5 changed files with 395 additions and 1 deletions
@@ -8,6 +8,7 @@ use App\Models\Branch;
use App\Models\Device;
use App\Models\ReceptionDesk;
use App\Services\Frontdesk\DeviceService;
use App\Services\Frontdesk\QrCodeService;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;
@@ -97,7 +98,7 @@ class DeviceController extends Controller
return redirect()->route('frontdesk.devices.index')->with('success', 'Device registered.');
}
public function edit(Request $request, Device $device): View
public function edit(Request $request, Device $device, QrCodeService $qrCodes): View
{
$this->authorizeAbility($request, 'devices.manage');
$this->authorizeOwner($request, $device);
@@ -107,6 +108,9 @@ class DeviceController extends Controller
'deviceTypes' => config('frontdesk.device_types'),
'branches' => $this->branches($request, $device->organization_id),
'desks' => $this->desks($request, $device->organization_id),
'kioskQrSvg' => $device->type === 'kiosk' && $device->device_token
? $qrCodes->kioskSvg($device->device_token, 220)
: null,
]);
}
+10
View File
@@ -33,6 +33,16 @@ class QrCodeService
return $this->renderSvg($this->employeeUrl($employee), $size);
}
public function kioskUrl(string $deviceToken): string
{
return route('frontdesk.kiosk.device', $deviceToken);
}
public function kioskSvg(string $deviceToken, int $size = 200): string
{
return $this->renderSvg($this->kioskUrl($deviceToken), $size);
}
protected function renderSvg(string $url, int $size = 200): string
{
$options = new QROptions([