Skip to content

Commit

Permalink
Update template placeholders syntax & regex
Browse files Browse the repository at this point in the history
  • Loading branch information
luciajanikova committed Dec 5, 2023
1 parent 675ca83 commit dbbb83e
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 22 deletions.
8 changes: 4 additions & 4 deletions app/lib/message_template_parser.rb
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
module MessageTemplateParser
PLACEHOLDER_PATTERN = /({{([a-zA-Z\u00C0-\u017F\s]+):([a-zA-Z\u00C0-\u017F0-9.+@\s]+)*:(\*)?(\w*)}})/
PLACEHOLDER_PATTERN=/({{ ?([\p{L} +]+)(\*?):([\p{L}_]+)(?:\:"([\p{L} +]+)")? }})/

def self.parse_template_placeholders(template)
template_content = template.content

placeholders = []
template_content.scan(PLACEHOLDER_PATTERN) do |placeholder, name, default_value, required, type|
template_content.scan(PLACEHOLDER_PATTERN) do |placeholder, name, required, type, default_value|
placeholders << {
placeholder: placeholder,
name: name,
default_value: default_value,
required: required.present?,
type: type
type: type,
default_value: default_value
}
end

Expand Down
36 changes: 18 additions & 18 deletions db/seeds.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
Upvs::MessageTemplate.find_or_create_by!(
name: 'Všeobecná agenda',
content: '<GeneralAgenda xmlns="http://schemas.gov.sk/form/App.GeneralAgenda/1.9">
<subject>{{Predmet::text_field}}</subject>
<text>{{Text::text_area}}</text>
<subject>{{ Predmet:text_field }}</subject>
<text>{{ Text:text_area }}</text>
</GeneralAgenda>',
metadata: {
posp_id: 'App.GeneralAgenda',
Expand All @@ -47,8 +47,8 @@
Upvs::MessageTemplate.find_or_create_by!(
name: MessageTemplate::REPLY_TEMPLATE_NAME,
content: '<GeneralAgenda xmlns="http://schemas.gov.sk/form/App.GeneralAgenda/1.9">
<subject>{{Predmet::text_field}}</subject>
<text>{{Text::text_area}}</text>
<subject>{{ Predmet:text_field }}</subject>
<text>{{ Text:text_area }}</text>
</GeneralAgenda>',
metadata: {
posp_id: 'App.GeneralAgenda',
Expand All @@ -66,25 +66,25 @@
<CertificateOwner>
<IdentityType>PO</IdentityType>
<OwnerPoOvm>
<ICO>{{IČO::*text_field}}</ICO>
<ICO>{{ IČO*:text_field }}</ICO>
<Suffix xsi:nil="true" />
</OwnerPoOvm>
</CertificateOwner>
<ContactPerson>
<ContactName>{{Kontaktná osoba:Ján Suchal:*text_field}}</ContactName>
<Email>{{Email:[email protected]:*email_field}}</Email>
<Phone>{{Telefón:+4190000000:*text_field}}</Phone>
<ContactName>{{ Kontaktná osoba*:text_field:"Ján Suchal" }}</ContactName>
<Email>{{ Email*:email_field:"[email protected]" }}</Email>
<Phone>{{ Telefón*:text_field:"+4190000000" }}</Phone>
</ContactPerson>
<IntegrationContract>
<ProjectID>{{Názov prostriedku:IRVIN:text_field}}</ProjectID>
<ProjectID>{{ Názov prostriedku:text_field:"IRVIN" }}</ProjectID>
</IntegrationContract>
<TechnicalAccount>
<EDeckAccessType>1</EDeckAccessType>
<ValidFrom>{{Dátum začiatku platnosti::*date_field}}</ValidFrom>
<ValidFrom>{{ Dátum začiatku platnosti*:date_field }}</ValidFrom>
<ValidTo xsi:nil="true" />
</TechnicalAccount>
<AuthentificationCertificateData>
<Thumbprint>{{Digitálny odtlačok::*text_field}}</Thumbprint>
<Thumbprint>{{ Digitálny odtlačok*:text_field }}</Thumbprint>
</AuthentificationCertificateData>
</AuthentificationCertificateWithTechnicalAccountRegistration>',
metadata: {
Expand All @@ -104,25 +104,25 @@
<CertificateOwner>
<IdentityType>PO</IdentityType>
<OwnerPoOvm>
<ICO>{{IČO::*text_field}}</ICO>
<ICO>{{ IČO*:text_field }}</ICO>
<Suffix xsi:nil="true" />
</OwnerPoOvm>
</CertificateOwner>
<ContactPerson>
<ContactName>{{Kontaktná osoba::*text_field}}</ContactName>
<Email>{{Email::*email_field}}</Email>
<Phone>{{Telefón::*text_field}}</Phone>
<ContactName>{{ Kontaktná osoba*:text_field }}</ContactName>
<Email>{{ Email*:email_field }}</Email>
<Phone>{{ Telefón*:text_field }}</Phone>
</ContactPerson>
<IntegrationContract>
<ProjectID>{{Názov prostriedku::text_field}}</ProjectID>
<ProjectID>{{ Názov prostriedku:text_field }}</ProjectID>
</IntegrationContract>
<TechnicalAccount>
<EDeckAccessType>1</EDeckAccessType>
<ValidFrom>{{Dátum začiatku platnosti::*date_field}}</ValidFrom>
<ValidFrom>{{ Dátum začiatku platnosti*:date_field }}</ValidFrom>
<ValidTo xsi:nil="true" />
</TechnicalAccount>
<AuthentificationCertificateData>
<Thumbprint>{{Digitálny odtlačok::*text_field}}</Thumbprint>
<Thumbprint>{{ Digitálny odtlačok*:text_field }}</Thumbprint>
</AuthentificationCertificateData>
</AuthentificationCertificateWithTechnicalAccountRegistration>',
metadata: {
Expand Down

0 comments on commit dbbb83e

Please sign in to comment.