diff --git a/CHANGELOG.md b/CHANGELOG.md
index 66745e5b..2141aed7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,14 @@
+# v5.0.1
+## 03/17/2021
+
+1. [](#improved)
+ * Updated `de` language [#510](https://github.com/getgrav/grav-plugin-form/pull/510)
+ * Better field type definitions for avatar and file fields
+1. [](#bugfix)
+ * Fixed toggle highlight when there's no value
+ * Fixed wrong selected values in `select` field with integer and boolean values
+ * Fixed changelog display [#502](https://github.com/getgrav/grav-plugin-form/pull/502)
+
# v5.0.0
## 02/17/2021
@@ -116,6 +127,7 @@
# v4.0.6
## 03/19/2020
+
1. [](#new)
* CHANGE: Form labels are now displayed in `raw` format so you can use HTML in them
* Added support for `name` attribute on buttons [#411](https://github.com/getgrav/grav-plugin-form/issues/411)
diff --git a/blueprints.yaml b/blueprints.yaml
index 7faa657d..66b8ab07 100644
--- a/blueprints.yaml
+++ b/blueprints.yaml
@@ -1,8 +1,7 @@
name: Form
slug: form
type: plugin
-version: 5.0.0
-testing: false
+version: 5.0.1
description: Enables the forms handling
icon: check-square
author:
diff --git a/form.php b/form.php
index 8a0df42e..6fad1d53 100644
--- a/form.php
+++ b/form.php
@@ -813,7 +813,8 @@ public function getFormFieldTypes()
{
return [
'avatar' => [
- 'input@' => false
+ 'input@' => false,
+ 'media_field' => true
],
'captcha' => [
'input@' => false
@@ -835,6 +836,7 @@ public function getFormFieldTypes()
],
'file' => [
'array' => true,
+ 'media_field' => true,
'validate' => [
'type' => 'ignore'
]
diff --git a/languages.yaml b/languages.yaml
index 3a730130..a6bd8bdf 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -148,45 +148,45 @@ de:
ALLOW_MULTIPLE_HELP: "Erlaubt es, mehr als eine Datei zum Hochladen auszuwählen."
DESTINATION: "Ziel"
DESTINATION_HELP: "Das Ziel, wohin die Dateien hochgeladen werden sollen."
- ACCEPT: "Erlaube MIME-Typen"
+ ACCEPT: "Erlaubte MIME-Typen"
ACCEPT_HELP: "Eine Liste von MIME-Typen, die hochgeladen werden dürfen."
ERROR_VALIDATING_CAPTCHA: "Die Überprüfung des Captcha ist fehlgeschlagen."
- DATA_SUMMARY: "Hier die Zusammenfassung von dem, was Sie geschrieben haben:"
+ DATA_SUMMARY: "Hier die Zusammenfassung dessen, was du geschrieben hast:"
YES: "Ja"
NO: "Nein"
NO_FORM_DATA: "Keine Formulardaten vorhanden"
RECAPTCHA: "ReCaptcha"
- RECAPTCHA_SITE_KEY: "Seiten Schlüssel"
+ RECAPTCHA_SITE_KEY: "Seitenschlüssel"
RECAPTCHA_SITE_KEY_HELP: "Für mehr Informationen besuche https://developers.google.com/recaptcha"
RECAPTCHA_SECRET_KEY: "Privater Schlüssel"
RECAPTCHA_SECRET_KEY_HELP: "Für mehr Informationen besuche https://developers.google.com/recaptcha"
GENERAL: "General"
- USE_BUILT_IN_CSS: "Benutze built-in CSS"
+ USE_BUILT_IN_CSS: "Benutze eingebautes CSS"
USE_INLINE_CSS: "Benutze inline CSS"
FILEUPLOAD_PREVENT_SELF: '"%s" kann nicht ausserhalb der Seiten verwendet werden.'
- FILEUPLOAD_UNABLE_TO_UPLOAD: 'Upload Fehler %s: %s'
- FILEUPLOAD_UNABLE_TO_MOVE: 'Fehler beim verschieben von %s nach "%s"'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Upload-Fehler %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'Fehler beim Verschieben von %s nach "%s"'
DROPZONE_CANCEL_UPLOAD: 'Upload abgebrochen'
- DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Bist du sicher das Du diesen Upload abbrechen möchtest??'
- DROPZONE_DEFAULT_MESSAGE: 'Ziehe deine Dateien hierhin Klicke hier'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Bist du sicher, dass du diesen Upload abbrechen möchtest??'
+ DROPZONE_DEFAULT_MESSAGE: 'Ziehe deine Dateien hierhin: Klicke hier'
DROPZONE_FALLBACK_MESSAGE: 'Dein Browser unterstützt kein "drag and drop".'
- DROPZONE_FILE_TOO_BIG: 'Datei zu gross ({{filesize}}MiB). Max Dateigrösse: {{maxFilesize}}MiB.'
+ DROPZONE_FILE_TOO_BIG: 'Datei zu gross ({{filesize}}MiB). Maximale Dateigrösse: {{maxFilesize}}MiB.'
DROPZONE_INVALID_FILE_TYPE: "Du kannst keine Dateien dieses Typs hochladen."
- DROPZONE_MAX_FILES_EXCEEDED: "DU kannst keine weiteren Dateien hochladen."
+ DROPZONE_MAX_FILES_EXCEEDED: "Du kannst keine weiteren Dateien hochladen."
DROPZONE_REMOVE_FILE: "Datei entfernen"
DROPZONE_REMOVE_FILE_CONFIRMATION: 'Möchtest du diese Datei wirklich löschen?'
DROPZONE_RESPONSE_ERROR: "Server antwortet mit {{statusCode}}."
LIMIT_HELP: "Maximale anzahl erlaubter Dateien (Mehrfachauswahl erforderlich) "
- FILESIZE: "Max Dateigrösse"
+ FILESIZE: "Maximale Dateigrösse"
FILESIZE_HELP: "Maximale Dateigrösse (in MB), 0 = Benutze Standart"
- AVOID_OVERWRITING: "Überschreibungen verhindern"
- AVOID_OVERWRITING_HELP: "Verhindert überschreibungen und fügt ein Prefix an."
+ AVOID_OVERWRITING: "Überschreiben verhindern"
+ AVOID_OVERWRITING_HELP: "Verhindert das Überschreiben und fügt einen Dateipräfix hinzu."
RANDOM_NAME: "Zufälliger Name"
- RANDOM_NAME_HELP: "Generiert einen 15 Zeichen langen Zufalls Name."
+ RANDOM_NAME_HELP: "Generiert einen 15 Zeichen langen Zufallsnamen."
CLIENT_SIDE_VALIDATION: "Klientseitige Überprüfung"
- INLINE_ERRORS: "Inline errors"
+ INLINE_ERRORS: "Inline-Fehler"
DESTINATION_NOT_SPECIFIED: "Zielort nicht definiert"
- INVALID_MIME_TYPE: "Der MIME-Type %s für die Datei %s ist nicht erlaubt."
+ INVALID_MIME_TYPE: "Der MIME-Typ %s für die Datei %s ist nicht erlaubt."
INVALID_FILE_EXTENSION: "Die Dateiendung %s ist nicht erlaubt."
es:
diff --git a/templates/forms/fields/select/select.html.twig b/templates/forms/fields/select/select.html.twig
index f3eb2a31..81f58c8e 100644
--- a/templates/forms/fields/select/select.html.twig
+++ b/templates/forms/fields/select/select.html.twig
@@ -35,6 +35,7 @@
{% set options = options|merge(value|default([]))|array_unique %}
{% endif %}
+ {% set value = value is iterable ? value : value|string %}
{% for key, item_value in options %}
{% if item_value is iterable and item_value.value %}
{% set akey = field.selectize and field.multiple ? item_value : key %}
@@ -50,17 +51,18 @@
{% set optgroup_label = item_value|keys|first %}
{% else %}
- {% set selected = field.selectize ? item_value : key %}
- {% set val = field.selectize and field.multiple ? item_value : key %}
-
+ {% set val = (field.selectize and field.multiple ? item_value : key)|string %}
+ {% set selected = (field.selectize ? item_value : key)|string %}
+
{% endif %}
{% endfor %}
diff --git a/templates/forms/fields/toggle/toggle.html.twig b/templates/forms/fields/toggle/toggle.html.twig
index b8c137ec..e1353e9b 100644
--- a/templates/forms/fields/toggle/toggle.html.twig
+++ b/templates/forms/fields/toggle/toggle.html.twig
@@ -27,7 +27,10 @@
{% set maxLen = max(translation|length, maxLen) %}
{% endfor %}
- {% set value = value|string %}
+ {# Value falls back to highlight instead of default #}
+ {% set highlight = field.highlight|string %}
+ {% set value = (value ?? default ?? highlight)|string %}
+
{% for key, text in field.options %}
{% set key = key|string %}
{% set id = "toggle_" ~ field.name ~ key %}
@@ -37,15 +40,11 @@
value="{{ key }}"
id="{{ id }}"
name="{{ (scope ~ field.name)|fieldName }}"
- {% if field.highlight is defined %}
- class="{{ field.highlight|string is same as(key) ? 'highlight' : '' }}"
- {% endif %}
- {% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
- {% if key is same as(value) %}
- checked="checked"
- {% endif %}
- {% if required %}required="required"{% endif %}
- {% if field.tabindex %}tabindex="{{ field.tabindex }}"{% endif %}
+ {% if highlight is same as(key) %}class="highlight"{% endif %}
+ {% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
+ {% if key is same as(value) %}checked="checked"{% endif %}
+ {% if required %}required="required"{% endif %}
+ {% if field.tabindex %}tabindex="{{ field.tabindex }}"{% endif %}
/>
{% endfor %}