diff --git a/app/lib/message_template_parser.rb b/app/lib/message_template_parser.rb
index 78506d86f..0de8ef3fb 100644
--- a/app/lib/message_template_parser.rb
+++ b/app/lib/message_template_parser.rb
@@ -1,5 +1,5 @@
module MessageTemplateParser
- PLACEHOLDER_PATTERN=/({{ ?([\p{L} +]+)(\*?):([\p{L}_]+)(?:\:"([\p{L} +]+)")? }})/
+ PLACEHOLDER_PATTERN=/({{ ?([\p{L} +]+)(\*?):([\p{L}_]+)(?:\:"([\p{L}.@\-+_\d\s]+)")? }})/
def self.parse_template_placeholders(template)
template_content = template.content
diff --git a/test/fixtures/upvs/message_templates.yml b/test/fixtures/upvs/message_templates.yml
index afe660e4b..45a846bda 100644
--- a/test/fixtures/upvs/message_templates.yml
+++ b/test/fixtures/upvs/message_templates.yml
@@ -2,8 +2,8 @@
message_reply:
content:
- {{Predmet::text_field}}
- {{Text::text_area}}
+ {{ Predmet:text_field }}
+ {{ Text:text_area }}
metadata:
posp_id: App.GeneralAgenda
@@ -15,8 +15,8 @@ message_reply:
general_agenda:
content:
- {{Predmet::text_field}}
- {{Text::text_area}}
+ {{ Predmet:text_field }}
+ {{ Text:text_area }}
metadata:
posp_id: App.GeneralAgenda
@@ -32,25 +32,25 @@ ssd_crac_template:
PO
- {{IČO::text_field}}
+ {{ IČO*:text_field }}
- {{Kontaktná osoba:Ján Suchal:text_field}}
- {{Email:jan.suchal@test.sk:text_field}}
- {{Telefón:+4190000000:text_field}}
+ {{ Kontaktná osoba*:text_field:"Ján Suchal" }}
+ {{ Email*:text_field:"jan.suchal@test.sk" }}
+ {{ Telefón*:text_field:"+4190000000" }}
- {{Názov prostriedku:IRVIN:text_field}}
+ {{ Názov prostriedku:text_field:"IRVIN" }}
1
- {{Dátum začiatku platnosti::date_field}}
+ {{ Dátum začiatku platnosti*:date_field }}
- {{Digitálny odtlačok::text_field}}
+ {{ Digitálny odtlačok*:text_field }}
metadata:
diff --git a/test/lib/message_template_parser_test.rb b/test/lib/message_template_parser_test.rb
index 7ee13cdd7..8c7b96e56 100644
--- a/test/lib/message_template_parser_test.rb
+++ b/test/lib/message_template_parser_test.rb
@@ -9,13 +9,15 @@ class MessageTemplateParserTest < ActiveSupport::TestCase
assert_equal template_items.count, 2
- assert_equal template_items.first[:placeholder], "{{Predmet::text_field}}"
+ assert_equal template_items.first[:placeholder], "{{ Predmet:text_field }}"
assert_equal template_items.first[:name], "Predmet"
+ assert_equal template_items.first[:required], false
assert_equal template_items.first[:default_value], nil
assert_equal template_items.first[:type], "text_field"
- assert_equal template_items.second[:placeholder], "{{Text::text_area}}"
+ assert_equal template_items.second[:placeholder], "{{ Text:text_area }}"
assert_equal template_items.second[:name], "Text"
+ assert_equal template_items.second[:required], false
assert_equal template_items.second[:default_value], nil
assert_equal template_items.second[:type], "text_area"
end
@@ -26,40 +28,47 @@ class MessageTemplateParserTest < ActiveSupport::TestCase
assert_equal template_items.count, 7
- assert_equal template_items.first[:placeholder], "{{IČO::text_field}}"
- assert_equal template_items.first[:name], "IČO"
+ assert_equal template_items.first[:placeholder], '{{ IČO*:text_field }}'
+ assert_equal template_items.first[:name], 'IČO'
+ assert_equal template_items.first[:required], true
assert_equal template_items.first[:default_value], nil
- assert_equal template_items.first[:type], "text_field"
+ assert_equal template_items.first[:type], 'text_field'
- assert_equal template_items.second[:placeholder], "{{Kontaktná osoba:Ján Suchal:text_field}}"
- assert_equal template_items.second[:name], "Kontaktná osoba"
- assert_equal template_items.second[:default_value], "Ján Suchal"
- assert_equal template_items.second[:type], "text_field"
+ assert_equal template_items.second[:placeholder], '{{ Kontaktná osoba*:text_field:"Ján Suchal" }}'
+ assert_equal template_items.second[:name], 'Kontaktná osoba'
+ assert_equal template_items.second[:required], true
+ assert_equal template_items.second[:default_value], 'Ján Suchal'
+ assert_equal template_items.second[:type], 'text_field'
- assert_equal template_items.third[:placeholder], "{{Email:jan.suchal@test.sk:text_field}}"
- assert_equal template_items.third[:name], "Email"
- assert_equal template_items.third[:default_value], "jan.suchal@test.sk"
- assert_equal template_items.third[:type], "text_field"
+ assert_equal template_items.third[:placeholder], '{{ Email*:text_field:"jan.suchal@test.sk" }}'
+ assert_equal template_items.third[:name], 'Email'
+ assert_equal template_items.third[:required], true
+ assert_equal template_items.third[:default_value], 'jan.suchal@test.sk'
+ assert_equal template_items.third[:type], 'text_field'
- assert_equal template_items.fourth[:placeholder], "{{Telefón:+4190000000:text_field}}"
- assert_equal template_items.fourth[:name], "Telefón"
- assert_equal template_items.fourth[:default_value], "+4190000000"
- assert_equal template_items.fourth[:type], "text_field"
+ assert_equal template_items.fourth[:placeholder], '{{ Telefón*:text_field:"+4190000000" }}'
+ assert_equal template_items.fourth[:name], 'Telefón'
+ assert_equal template_items.fourth[:required], true
+ assert_equal template_items.fourth[:default_value], '+4190000000'
+ assert_equal template_items.fourth[:type], 'text_field'
- assert_equal template_items.fifth[:placeholder], "{{Názov prostriedku:IRVIN:text_field}}"
- assert_equal template_items.fifth[:name], "Názov prostriedku"
- assert_equal template_items.fifth[:default_value], "IRVIN"
- assert_equal template_items.fifth[:type], "text_field"
+ assert_equal template_items.fifth[:placeholder], '{{ Názov prostriedku:text_field:"IRVIN" }}'
+ assert_equal template_items.fifth[:name], 'Názov prostriedku'
+ assert_equal template_items.fifth[:required], false
+ assert_equal template_items.fifth[:default_value], 'IRVIN'
+ assert_equal template_items.fifth[:type], 'text_field'
- assert_equal template_items[5][:placeholder], "{{Dátum začiatku platnosti::date_field}}"
- assert_equal template_items[5][:name], "Dátum začiatku platnosti"
+ assert_equal template_items[5][:placeholder], '{{ Dátum začiatku platnosti*:date_field }}'
+ assert_equal template_items[5][:name], 'Dátum začiatku platnosti'
+ assert_equal template_items[5][:required], true
assert_equal template_items[5][:default_value], nil
- assert_equal template_items[5][:type], "date_field"
+ assert_equal template_items[5][:type], 'date_field'
- assert_equal template_items[6][:placeholder], "{{Digitálny odtlačok::text_field}}"
- assert_equal template_items[6][:name], "Digitálny odtlačok"
+ assert_equal template_items[6][:placeholder], '{{ Digitálny odtlačok*:text_field }}'
+ assert_equal template_items[6][:name], 'Digitálny odtlačok'
+ assert_equal template_items[6][:required], true
assert_equal template_items[6][:default_value], nil
- assert_equal template_items[6][:type], "text_field"
+ assert_equal template_items[6][:type], 'text_field'
end
end