Forms
Introduction
The Form is the base component which needs to be configured to provide Forms to an User.
It keeps general information about the Form behaviour and settings.
Usually there is at least one FormField attached to a Form.
Model Definition
Alias
form
Relations
Computed Properties
hash- The hashedidof theForm
Traits
SortableHasFolderLayoutable
List
Get a list of all Forms the current authenticated User is allowed to view.
Definition
GET /api/forms
Example Request
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/forms', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);Example Response
[
{
"id": 1,
"user_id": 6,
"icon_id": 27,
"folder_id": null,
"name": "Form-1",
"slug": "form-1",
"subject": "\"{{FORMULARNAME}}\" wurde von {{BENUTZERNAME}} \u00fcbertragen",
"recipient": ["[email protected]"],
"always_send_to_recipient": false,
"has_personal_info": false,
"user_confirmation_required": true,
"request_receipt": false,
"request_confirmation": false,
"email_template": "{{ALLE_FELDER}}",
"active": true,
"sort_number": 1,
"created_at": "2019-01-22 10:44:18",
"updated_at": "2019-01-24 14:04:48",
"grade_scale": null,
"send_empty_fields": false,
"send_description_fields": false,
"hash": "zn7m24owk63qolxryge8pj05"
},
{
"id": 2,
"user_id": 2,
"icon_id": 70,
"folder_id": null,
"name": "Form-2",
"slug": "form-2",
"subject": "\"{{FORMULARNAME}}\" wurde von {{BENUTZERNAME}} \u00fcbertragen",
"recipient": ["[email protected]"],
"always_send_to_recipient": false,
"has_personal_info": false,
"user_confirmation_required": true,
"request_receipt": false,
"request_confirmation": false,
"email_template": "{{ALLE_FELDER}}",
"active": true,
"sort_number": 2,
"created_at": "2019-01-25 11:30:43",
"updated_at": "2019-01-25 11:34:42",
"grade_scale": null,
"send_empty_fields": false,
"send_description_fields": false,
"hash": "6o8m0kz5yw10x1pr9e4vxj27"
}
]Show
Show a single Form by id.
Definition
GET /api/forms/{id}
Example Request
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/forms/1', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);Example Response
{
"id": 1,
"user_id": 6,
"icon_id": 27,
"folder_id": null,
"name": "Form-1",
"slug": "form-1",
"subject": "\"{{FORMULARNAME}}\" wurde von {{BENUTZERNAME}} \u00fcbertragen",
"recipient": ["[email protected]"],
"always_send_to_recipient": false,
"has_personal_info": false,
"user_confirmation_required": true,
"request_receipt": false,
"request_confirmation": false,
"email_template": "{{ALLE_FELDER}}",
"active": true,
"sort_number": 1,
"created_at": "2019-01-22 10:44:18",
"updated_at": "2019-01-24 14:04:48",
"grade_scale": null,
"send_empty_fields": false,
"send_description_fields": false,
"hash": "zn7m24owk63qolxryge8pj05"
}Send
Send an existing Form by id.
By sending a Form, the FormFieldValidations are triggered. These FormFieldValidations ensure that the input of the FormMessageFields match the expected input for the used FormFields.
Definition
POST /api/forms/{id}/send
Request Keys
form_id **
integer
-
The related Form
Keys with * are required.
Keys with ** are normalized to the information given by the route.
Example Request
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('POST', '/api/forms/1/send', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
Example Response
{
"status": "success",
"data": {
"form_id": 4,
"user_id": 2,
"department_id": 1,
"body": "",
"subject": "\"Form-4\" wurde von intratool Service (intratool) übertragen",
"updated_at": "2019-01-25 13:17:15",
"created_at": "2019-01-25 13:17:15",
"id": 2,
"sent_at": "2019-01-25 13:17:15",
"hash": "6o8m0kz5yw10x1pr9e4vxj27",
"form": {
"id": 4,
"user_id": 2,
"icon_id": 70,
"folder_id": null,
"name": "Form-4",
"slug": "form-4",
"subject": "\"{{FORMULARNAME}}\" wurde von {{BENUTZERNAME}} übertragen",
"recipient": ["[email protected]"],
"always_send_to_recipient": false,
"has_personal_info": false,
"user_confirmation_required": true,
"request_receipt": false,
"request_confirmation": false,
"email_template": "{{ALLE_FELDER}}",
"active": true,
"sort_number": 3,
"created_at": "2019-01-25 13:16:09",
"updated_at": "2019-01-25 13:16:11",
"grade_scale": null,
"send_empty_fields": false,
"send_description_fields": false,
"hash": "2w54q7xmvk1drl8ygeo96jrd",
"form_fields": [
{
"id": 10,
"form_id": 4,
"form_type": "form",
"form_field_type_id": "text",
"name": "Field-1",
"key": "field-1",
"default_value": "",
"placeholder": null,
"description": null,
"config": {},
"sort_number": 1,
"created_at": "2019-01-25 13:16:09",
"updated_at": "2019-01-25 13:16:09",
"field_validation_string": "",
"field_type": {
"id": "text",
"icon_id": 72,
"name": "Eingabefeld",
"default_config": {},
"unique": false,
"relevant": true,
"sort_number": 1,
"created_at": "2019-01-21 00:00:00",
"updated_at": "2019-01-21 00:00:00"
},
"form": {
"id": 4,
"user_id": 2,
"icon_id": 70,
"folder_id": null,
"name": "Form-4",
"slug": "form-4",
"subject": "\"{{FORMULARNAME}}\" wurde von {{BENUTZERNAME}} übertragen",
"recipient": ["[email protected]"],
"always_send_to_recipient": false,
"has_personal_info": false,
"user_confirmation_required": true,
"request_receipt": false,
"request_confirmation": false,
"email_template": "{{ALLE_FELDER}}",
"active": true,
"sort_number": 3,
"created_at": "2019-01-25 13:16:09",
"updated_at": "2019-01-25 13:16:11",
"grade_scale": null,
"send_empty_fields": false,
"send_description_fields": false,
"hash": "2w54q7xmvk1drl8ygeo96jrd"
},
"field_validations": []
}
]
},
"form_message_fields": [
{
"form_message_id": 2,
"form_field_id": 10,
"value": "--",
"request_value": null,
"updated_at": "2019-01-25 13:17:15",
"created_at": "2019-01-25 13:17:15",
"id": 4,
"form_field": {
"id": 10,
"form_id": 4,
"form_type": "form",
"form_field_type_id": "text",
"name": "Field-1",
"key": "field-1",
"default_value": "",
"placeholder": null,
"description": null,
"config": {},
"sort_number": 1,
"created_at": "2019-01-25 13:16:09",
"updated_at": "2019-01-25 13:16:09",
"field_validation_string": "",
"field_type": {
"id": "text",
"icon_id": 72,
"name": "Eingabefeld",
"default_config": {},
"unique": false,
"relevant": true,
"sort_number": 1,
"created_at": "2019-01-21 00:00:00",
"updated_at": "2019-01-21 00:00:00"
},
"form": {
"id": 4,
"user_id": 2,
"icon_id": 70,
"folder_id": null,
"name": "Form-4",
"slug": "form-4",
"subject": "\"{{FORMULARNAME}}\" wurde von {{BENUTZERNAME}} übertragen",
"recipient": ["[email protected]"],
"always_send_to_recipient": false,
"has_personal_info": false,
"user_confirmation_required": true,
"request_receipt": false,
"request_confirmation": false,
"email_template": "{{ALLE_FELDER}}",
"active": true,
"sort_number": 3,
"created_at": "2019-01-25 13:16:09",
"updated_at": "2019-01-25 13:16:11",
"grade_scale": null,
"send_empty_fields": false,
"send_description_fields": false,
"hash": "2w54q7xmvk1drl8ygeo96jrd"
},
"field_validations": []
}
}
],
"user": {
"id": 2,
"username": "intratool",
"first_name": "intratool",
"last_name": "Service",
"active": 1,
"group_account": 0,
"role_id": 1,
"profile_picture": null,
"street": null,
"zipcode": null,
"city": null,
"email": null,
"phone": null,
"birthdate": null,
"gender": null,
"entering_date": null,
"leaving_date": null,
"staff_number": null,
"wants_email_notifications": 1,
"created_at": "2019-01-21 00:00:00",
"updated_at": "2019-01-21 00:00:00",
"deleted_at": null,
"default_route": null,
"full_name": "intratool Service"
}
}
}[Adm.] List
Get a list of all Forms.
Definition
GET /api/administration/forms
Example Request
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/administration/forms', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);Example Response
[
{
"id": 1,
"user_id": 6,
"icon_id": 27,
"folder_id": null,
"name": "Form-1",
"slug": "form-1",
"subject": "\"{{FORMULARNAME}}\" wurde von {{BENUTZERNAME}} \u00fcbertragen",
"recipient": ["[email protected]"],
"always_send_to_recipient": false,
"has_personal_info": false,
"user_confirmation_required": true,
"request_receipt": false,
"request_confirmation": false,
"email_template": "{{ALLE_FELDER}}",
"active": true,
"sort_number": 1,
"created_at": "2019-01-22 10:44:18",
"updated_at": "2019-01-24 14:04:48",
"grade_scale": null,
"send_empty_fields": false,
"send_description_fields": false,
"hash": "zn7m24owk63qolxryge8pj05"
},
{
"id": 2,
"user_id": 2,
"icon_id": 70,
"folder_id": null,
"name": "Form-2",
"slug": "form-2",
"subject": "\"{{FORMULARNAME}}\" wurde von {{BENUTZERNAME}} \u00fcbertragen",
"recipient": ["[email protected]"],
"always_send_to_recipient": false,
"has_personal_info": false,
"user_confirmation_required": true,
"request_receipt": false,
"request_confirmation": false,
"email_template": "{{ALLE_FELDER}}",
"active": true,
"sort_number": 2,
"created_at": "2019-01-25 11:30:43",
"updated_at": "2019-01-25 11:34:42",
"grade_scale": null,
"send_empty_fields": false,
"send_description_fields": false,
"hash": "6o8m0kz5yw10x1pr9e4vxj27"
}
][Adm.] Create
Create a new Form.
Definition
POST /api/administration/forms
Request Keys
name *
string
-
The name of the Form (unique by all Forms)
slug
string
Slugged name
The slugged name of the Form (unique by all Forms)
subject
string
Default value
The subject of the Form
always_send_to_recipient
boolean
false
Whether to send the FormMessage also to the recipient when a recipient-select FormField is present in the Form
send_empty_fields
boolean
false
Whether empty FormMessageFields should be present in the FormMessage body
send_description_fields
boolean
false
Whether description FormFields should be present in the FormMessage body
user_confirmation_required
boolean
true
Whether a confirmation of a specific User is required in Group Accounts
request_confirmation
boolean
false
Whether the recipients of the FormMessage should accept or decline the content
sort_number
integer
Current highest +1
The index of the Form
Keys with * are required.
Example Request
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);Example Response
[Adm.] Update
Update an existing Form by id.
Definition
PUT /api/administration/forms/{id}
Request Keys
name *
string
The name of the Form (unique by all Forms)
slug
string
The slugged name of the Form (unique by all Forms)
subject
string
The subject of the Form
always_send_to_recipient
boolean
Whether to send the FormMessage also to the recipient when a recipient-select FormField is present in the Form
send_description_fields
boolean
Whether description FormFields should be present in the FormMessage body
user_confirmation_required
boolean
Whether a confirmation of a specific User is required in Group Accounts
request_confirmation
boolean
Whether the recipients of the FormMessage should accept or decline the content
sort_number
integer
The index of the Form
Example Request
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('PUT', '/api/administration/forms/1', [
'headers' => ['Authorization' => "Bearer {accessToken}"],
'json' => [
'user_id' => '3',
'name' => 'Form-1-changed',
'recipient' => ['[email protected]']
]
]);Example Response
{
"status": "success",
"data": {
"id": 1,
"user_id": 6,
"icon_id": 27,
"folder_id": null,
"name": "Form-1-changed",
"slug": "form-1-changed",
"subject": "\"{{FORMULARNAME}}\" wurde von {{BENUTZERNAME}} \u00fcbertragen",
"recipient": "[email protected]",
"always_send_to_recipient": false,
"has_personal_info": false,
"user_confirmation_required": true,
"request_receipt": false,
"request_confirmation": false,
"email_template": "{{ALLE_FELDER}}",
"active": true,
"sort_number": 1,
"created_at": "2019-01-22 10:44:18",
"updated_at": "2019-01-25 11:52:43",
"grade_scale": null,
"send_empty_fields": false,
"send_description_fields": false,
"hash": "zn7m24owk63qolxryge8pj05",
"icon": {
"id": 27,
"identifier": "nc-box",
"title": "Box"
}
}
}[Adm.] Delete
Delete an existing Form by id.
Definition
DELETE /api/administration/forms/{id}
Example Request
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('DELETE', '/api/administration/forms/3', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);Example Response
{
"status": "success",
"data": {
"id": 3,
"user_id": 2,
"icon_id": 70,
"folder_id": null,
"name": "Form-3",
"slug": "form-3",
"subject": "\"{{FORMULARNAME}}\" wurde von {{BENUTZERNAME}} \u00fcbertragen",
"recipient": ["[email protected]"],
"always_send_to_recipient": false,
"has_personal_info": false,
"user_confirmation_required": true,
"request_receipt": false,
"request_confirmation": false,
"email_template": "{{ALLE_FELDER}}",
"active": true,
"sort_number": 3,
"created_at": "2019-01-25 11:53:56",
"updated_at": "2019-01-25 11:54:00",
"grade_scale": null,
"send_empty_fields": false,
"send_description_fields": false,
"hash": "d54q7g6wnj1eylm8k9e0xpz2",
"icon": {
"id": 70,
"identifier": "nc-list",
"title": "Liste"
}
}
}Last updated