| ← Settings | Manual |
Templates define the visual layouts used when printing access credentials such as ID cards. Each template consists of a name, a type (card format), and an HTML file that is uploaded to the server. Templates are referenced by access-control printing workflows and are previewed inline as a scaled HTML frame.
Clicking + (requires template:create) opens the Add New Template dialog:
| Field | Description |
|---|---|
| Name | Required — human-readable label |
| Type | Required — select the template format (e.g. ID) |
| HTML Template | File upload — .html files only; see below |
The file upload area has two states:
| State | Appearance |
|---|---|
| No file | Dashed bordered box — “Tap or click here to upload an HTML template” |
| File uploaded | Scaled preview of the HTML content with a replace button |
The preview renders the HTML inside a sandboxed frame (sanitised with DOMPurify) scaled to fit the available width.
| Property | Editable | Permission |
|---|---|---|
| Name | Yes | template:update |
| Type | Yes | template:update |
| HTML Template | Yes | template:update |
When editing the HTML file and cancelling, any file uploaded during that session is automatically deleted from the server to avoid orphaned files.
A Delete Template button (requires template:delete) opens a confirmation before permanently removing the template.
| Action | Permission |
|---|---|
| View templates | /settings/templates route |
| Add template | template:create |
| Edit template | template:update |
| Delete template | template:delete |