Make email messages Markdown.

This commit is contained in:
James Cole
2022-03-29 12:45:48 +02:00
parent 9c19a08b17
commit 09bd0b572a
71 changed files with 747 additions and 555 deletions

View File

@@ -1,13 +0,0 @@
{% include 'emails.header-html' %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.access_token_created_body') }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.access_token_created_explanation')|raw }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.access_token_created_revoke', {url: route('profile.index') }) }}
</p>
{% include 'emails.footer-html' %}

View File

@@ -1,7 +0,0 @@
{% include 'emails.header-text' %}
{{ trans('email.access_token_created_body')|raw }}
{{ trans('email.access_token_created_explanation')|striptags|raw }}
{{ trans('email.access_token_created_revoke', {url: route('profile.index') })|raw }}
{% include 'emails.footer-text' %}

View File

@@ -1,5 +0,0 @@
{% include 'emails.header-html' %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.admin_test_body', {email: email })}}
</p>
{% include 'emails.footer-html' %}

View File

@@ -1,3 +0,0 @@
{% include 'emails.header-text' %}
{{ trans('email.admin_test_body', {email: email })|raw }}
{% include 'emails.footer-text' %}

View File

@@ -0,0 +1,3 @@
@component('mail::message')
{{ trans('email.admin_test_body', ['email' => $email]) }}
@endcomponent

View File

@@ -1,25 +0,0 @@
{% include 'emails.header-html' %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{% if field == 'end_date' and diff != 0 %}
{{ trans('email.bill_warning_end_date_html', {name: bill.name|escape, date: bill.end_date.isoFormat(trans('config.month_and_day_js')), diff: diff})|raw }}
{% endif %}
{% if field == 'extension_date' and diff != 0 %}
{{ trans('email.bill_warning_extension_date_html', {name: bill.name|escape, date: bill.extension_date.isoFormat(trans('config.month_and_day_js')), diff: diff})|raw }}
{% endif %}
{% if field == 'end_date' and diff == 0 %}
{{ trans('email.bill_warning_end_date_html_zero', {name: bill.name|escape, date: bill.end_date.isoFormat(trans('config.month_and_day_js'))})|raw }}
{% endif %}
{% if field == 'extension_date' and diff == 0 %}
{{ trans('email.bill_warning_extension_date_html_zero', {name: bill.name|escape, date: bill.end_date.isoFormat(trans('config.month_and_day_js'))})|raw }}
{% endif %}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
Please take the appropriate action.
</p>
{% include 'emails.footer-html' %}

View File

@@ -1,17 +0,0 @@
{% include 'emails.header-text' %}
{% if field == 'end_date' and diff != 0 %}
{{ trans('email.bill_warning_end_date_text', {name: bill.name, date: bill.end_date.isoFormat(trans('config.month_and_day_js')), diff: diff})|raw }}
{% endif %}
{% if field == 'extension_date' and diff != 0 %}
{{ trans('email.bill_warning_extension_date_text', {name: bill.name|escape, date: bill.extension_date.isoFormat(trans('config.month_and_day_js')), diff: diff})|raw }}
{% endif %}
{% if field == 'end_date' and diff == 0 %}
{{ trans('email.bill_warning_end_date_text_zero', {name: bill.name|escape, date: bill.end_date.isoFormat(trans('config.month_and_day_js'))})|raw }}
{% endif %}
{% if field == 'extension_date' and diff == 0 %}
{{ trans('email.bill_warning_extension_date_text_zero', {name: bill.name|escape, date: bill.end_date.isoFormat(trans('config.month_and_day_js'))})|raw }}
{% endif %}
{{ trans('email.bill_warning_please_action') }}
{% include 'emails.footer-text' %}

View File

@@ -0,0 +1,20 @@
@component('mail::message')
@if($field === 'end_date' && $diff !== 0)
{{ trans('email.bill_warning_end_date', ['name' => $bill->name, 'date' => $bill->end_date->isoFormat(trans('config.month_and_day_js')), 'diff' => $diff]) }}
@endif
@if($field === 'extension_date' && $diff !== 0)
{{ trans('email.bill_warning_extension_date', ['name' => $bill->name, 'date' => $bill->end_date->isoFormat(trans('config.month_and_day_js')), 'diff' => $diff]) }}
@endif
@if($field === 'end_date' && $diff === 0)
{{ trans('email.bill_warning_end_date_zero', ['name' => $bill->name, 'date' => $bill->end_date->isoFormat(trans('config.month_and_day_js')) ]) }}
@endif
@if($field === 'extension_date' && $diff === 0)
{{ trans('email.bill_warning_extension_date_zero', ['name' => $bill->name, 'date' => $bill->end_date->isoFormat(trans('config.month_and_day_js')) ]) }}
@endif
{{ trans('email.bill_warning_please_action') }}
@endcomponent

View File

@@ -1,18 +0,0 @@
{% include 'emails.header-html' %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.email_change_body_to_new')}}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{trans('email.email_change_old', { email: oldEmail }) }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{trans('email.email_change_new_strong', { email: newEmail })|raw }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.email_change_instructions')}}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
<a href="{{ uri }}">{{ uri }}</a>
</p>
{% include 'emails.footer-html' %}

View File

@@ -1,10 +0,0 @@
{% include 'emails.header-text' %}
{{ trans('email.email_change_body_to_new')|raw }}
{{trans('email.email_change_old', { email: oldEmail })|raw }}
{{trans('email.email_change_new', { email: newEmail })|raw }}
{{ trans('email.email_change_instructions')|raw }}
{{ uri }}
{% include 'emails.footer-text' %}

View File

@@ -0,0 +1,11 @@
@component('mail::message')
{{ trans('email.email_change_body_to_new') }}
{{trans('email.email_change_old', ['email' => $oldEmail]) }}
{{trans('email.email_change_new', ['email' => $newEmail]) }}
{{ trans('email.email_change_instructions') }}
{{ $url }}
@endcomponent

View File

@@ -1,16 +0,0 @@
{% include 'emails.header-html' %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.new_ip_body') }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.ip_address') }}: <strong>{{ ipAddress }}</strong><br />
{% if ''!= host %}{{ trans('email.host_name') }}: {{ host }}<br />{% endif %}
{{ trans('email.date_time') }}: {{ time }}<br />
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.new_ip_warning') }}
</p>
{% include 'emails.footer-html' %}

View File

@@ -1,10 +0,0 @@
{% include 'emails.header-text' %}
{{ trans('email.new_ip_body') }}
{{ trans('email.ip_address') }}: {{ ipAddress }}
{% if ''!= host %}{{ trans('email.host_name') }}: {{ host }}{% endif %}
{{ trans('email.date_time') }}: {{ time }}
{{ trans('email.new_ip_warning') }}
{% include 'emails.footer-text' %}

View File

@@ -0,0 +1,13 @@
@component('mail::message')
{{ trans('email.new_ip_body') }}
{{ trans('email.ip_address') }}: {{ $ipAddress }}
@if('' !== $host)
{{ trans('email.host_name') }}: {{ $host }}
@endif
{{ trans('email.date_time') }}: {{ $time }}
{{ trans('email.new_ip_warning') }}
@endcomponent

View File

@@ -1,13 +0,0 @@
{% include 'emails.header-html' %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.oauth_created_body', { name:client.name, url: client.redirect })|raw }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.oauth_created_explanation')|raw }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.oauth_created_undo', { url:route('profile.index')}) }}
</p>
{% include 'emails.footer-html' %}

View File

@@ -1,7 +0,0 @@
{% include 'emails.header-text' %}
{{ trans('email.oauth_created_body', {name: client.name, url: client.redirect })|striptags|raw }}
{{ trans('email.oauth_created_explanation')|striptags|raw }}
{{ trans('email.oauth_created_undo', { url:route('profile.index')})|raw }}
{% include 'emails.footer-text' %}

View File

@@ -0,0 +1,8 @@
@component('mail::message')
{{ trans('email.oauth_created_body', ['name' => $client->name, 'url' => $client->redirect]) }}
{{ trans('email.oauth_created_explanation') }}
{{ trans('email.oauth_created_undo', ['url' => route('profile.index')] ) }}
@endcomponent

View File

@@ -1,13 +0,0 @@
{% include 'emails.header-html' %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.reset_pw_instructions') }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.reset_pw_warning')|raw }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
<a href="{{ url }}">{{ url }}</a>
</p>
{% include 'emails.footer-html' %}

View File

@@ -1,7 +0,0 @@
{% include 'emails.header-text' %}
{{ trans('email.reset_pw_instructions')|raw }}
{{ trans('email.reset_pw_warning')|striptags|raw }}
{{ url }}
{% include 'emails.footer-text' %}

View File

@@ -0,0 +1,8 @@
@component('mail::message')
{{ trans('email.reset_pw_instructions') }}
{{ trans('email.reset_pw_warning') }}
{{ $url }}
@endcomponent

View File

@@ -1,20 +0,0 @@
{% include 'emails.header-html' %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.registered_welcome', {address: address})|raw }}
</p>
<ul>
<li style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.registered_pw', {address: address})|raw }}
</li>
<li style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.registered_help')}}
</li>
<li style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.registered_doc_html')|raw }}
</li>
</ul>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.registered_closing')}}
</p>
{% include 'emails.footer-html' %}

View File

@@ -1,21 +0,0 @@
{% include 'emails.header-text' %}
{{ trans('email.registered_welcome')|striptags|raw }}
* {{ trans('email.registered_pw')|striptags|raw }}
* {{ trans('email.registered_help')|raw }}
* {{ trans('email.registered_doc_text')|raw }}
{{ trans('email.registered_closing')|raw }}
{{ trans('email.registered_firefly_iii_link')|raw }}
{{ address }}
{{ trans('email.registered_pw_reset_link')|raw }}
{{ address }}/password/reset
{{ trans('email.registered_doc_link')}}
https://github.com/firefly-iii/firefly-iii
https://firefly-iii.org/
{% include 'emails.footer-text' %}

View File

@@ -0,0 +1,14 @@
@component('mail::message')
{{ trans('email.registered_welcome') }}
* {{ trans('email.registered_pw', ['address' => $address]) }}
* {{ trans('email.registered_help') }}
* {{ trans('email.registered_doc_text') }}
{{ trans('email.registered_closing') }}
* {{ trans('email.registered_firefly_iii_link')}} [{{$address }}]({{$address }})
* {{ trans('email.registered_pw_reset_link')}} [{{ $address }}/password/reset]({{ $address }}/password/reset)
* {{ trans('email.registered_doc_link')}} [https://docs.firefly-iii.org/](https://docs.firefly-iii.org/)
@endcomponent

View File

@@ -1,78 +0,0 @@
{% include 'emails.header-html' %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans_choice('email.new_journals_header', transformed|length ) }}
</p>
<!-- loop groups -->
<ol>
{% for group in transformed %}
<li>
{% set count = group.transactions|length %}
<!-- if journals === 1, skip straight to journals. -->
{% if 1 == count %}
{% set journal = group.transactions[0] %}
<a href="{{ route('transactions.show', [group.id]) }}">{{ journal.description }}</a>,
<!-- amount -->
{% if journal.type == 'deposit' %}
<span style="color:#3c763d;">
{{ formatAmountBySymbol((journal.amount*-1)|floatval, journal.currency_symbol, journal.currency_decimal_places, false) }}
{% if null != journal.foreign_amount*-1 %}
({{ formatAmountBySymbol(journal.foreign_amount|floatval, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }})
{% endif %}
</span>
{% elseif journal.type == 'transfer' %}
<span style="color:#31708f">
{{ formatAmountBySymbol((journal.amount*-1)|floatval, journal.currency_symbol, journal.currency_decimal_places, false) }}
{% if null != journal.foreign_amount %}
({{ formatAmountBySymbol((journal.foreign_amount*-1)|floatval, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }})
{% endif %}
</span>
{% else %}
<span style="color:#a94442">
{{ formatAmountBySymbol((journal.amount*-1)|floatval, journal.currency_symbol, journal.currency_decimal_places, false) }}
{% if null != journal.foreign_amount %}
({{ formatAmountBySymbol((journal.foreign_amount*-1)|floatval, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }})
{% endif %}
</span>
{% endif %}
<!-- / amount -->
{% else %}
<a href="{{ route('transactions.show', [group.id]) }}">{{ group.group_title }}</a>
<ol>
{% for journal in group.transactions %}
<li>
{{ journal.description }},
<!-- amount -->
{% if journal.type == 'deposit' %}
<span style="color:#3c763d;">
{{ formatAmountBySymbol((journal.amount*-1)|floatval, journal.currency_symbol, journal.currency_decimal_places, false) }}
{% if null != journal.foreign_amount*-1 %}
({{ formatAmountBySymbol(journal.foreign_amount|floatval, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }})
{% endif %}
</span>
{% elseif journal.type == 'transfer' %}
<span style="color:#31708f">
{{ formatAmountBySymbol((journal.amount*-1)|floatval, journal.currency_symbol, journal.currency_decimal_places, false) }}
{% if null != journal.foreign_amount %}
({{ formatAmountBySymbol((journal.foreign_amount*-1)|floatval, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }})
{% endif %}
</span>
{% else %}
<span style="color:#a94442">
{{ formatAmountBySymbol((journal.amount*-1)|floatval, journal.currency_symbol, journal.currency_decimal_places, false) }}
{% if null != journal.foreign_amount %}
({{ formatAmountBySymbol((journal.foreign_amount*-1)|floatval, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }})
{% endif %}
</span>
{% endif %}
</li>
{% endfor %}
</ol>
{% endif %}
</li>
{% endfor %}
</ol>
{% include 'emails.footer-html' %}

View File

@@ -1,16 +0,0 @@
{% include 'emails.header-text' %}
{{ trans_choice('email.new_journals_header', transformed|length )|raw }}
{% for group in transformed %}
{% set count = group.transactions|length %}
{% if 1 == count %}{% set journal = group.transactions[0] %}
- {{ journal.description }}, {% if journal.type == 'deposit' %}{{ formatAmountBySymbol((journal.amount*-1)|floatval, journal.currency_symbol, journal.currency_decimal_places, false) }}{% if null != journal.foreign_amount*-1 %} ({{ formatAmountBySymbol(journal.foreign_amount|floatval, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }}){% endif %}{% elseif journal.type == 'transfer' %}{{ formatAmountBySymbol((journal.amount*-1)|floatval, journal.currency_symbol, journal.currency_decimal_places, false) }}{% if null != journal.foreign_amount %} ({{ formatAmountBySymbol(journal.foreign_amount|floatval*-1, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }}){% endif %}{% else %}{{ formatAmountBySymbol((journal.amount*-1)|floatval, journal.currency_symbol, journal.currency_decimal_places, false) }}{% if null != journal.foreign_amount %} ({{ formatAmountBySymbol(journal.foreign_amount|floatval*-1, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }}){% endif %}{% endif %}
{% else %}- {{ group.group_title }}
{% for journal in group.transactions %}-- {{ journal.description }}, {% if journal.type == 'deposit' %}{{ formatAmountBySymbol((journal.amount*-1)|floatval, journal.currency_symbol, journal.currency_decimal_places, false) }}{% if null != journal.foreign_amount*-1 %} ({{ formatAmountBySymbol(journal.foreign_amount|floatval, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }}){% endif %}{% elseif journal.type == 'transfer' %}{{ formatAmountBySymbol((journal.amount*-1)|floatval, journal.currency_symbol, journal.currency_decimal_places, false) }}{% if null != journal.foreign_amount %} ({{ formatAmountBySymbol(journal.foreign_amount|floatval*-1, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }}){% endif %}{% else %}{{ formatAmountBySymbol((journal.amount*-1)|floatval, journal.currency_symbol, journal.currency_decimal_places, false) }}{% if null != journal.foreign_amount %} ({{ formatAmountBySymbol(journal.foreign_amount|floatval*-1, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }}){% endif %}{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% include 'emails.footer-text' %}

View File

@@ -0,0 +1,17 @@
@component('mail::message')
{{ trans_choice('email.new_journals_header', count($transformed)) }}
@foreach($transformed as $group)
- [{{ $group['transactions'][0]['description'] }}]({{ route('transactions.show', [$group['id']]) }})
@if('withdrawal' === $group['transactions'][0]['type'])
{{ $group['transactions'][0]['currency_code']}} {{ round((float)bcmul($group['transactions'][0]['amount'], '-1'), $group['transactions'][0]['currency_decimal_places']) }}
@endif
@if('deposit' === $group['transactions'][0]['type'])
{{ $group['transactions'][0]['currency_code']}} {{ round((float)bcmul($group['transactions'][0]['amount'], '1'), $group['transactions'][0]['currency_decimal_places']) }}
@endif
@if('transfer' === $group['transactions'][0]['type'])
{{ $group['transactions'][0]['currency_code']}} {{ round((float)bcmul($group['transactions'][0]['amount'], '1'), $group['transactions'][0]['currency_decimal_places']) }}
@endif
@endforeach
@endcomponent

View File

@@ -0,0 +1,7 @@
@component('mail::message')
{{ trans('email.access_token_created_body') }}
{{ trans('email.access_token_created_explanation') }}
{{ trans('email.access_token_created_revoke', ['url' => route('profile.index')]) }}
@endcomponent

View File

@@ -1,17 +0,0 @@
{% include 'emails.header-html' %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.email_change_body_to_old')|raw }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.email_change_ignore') }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{trans('email.email_change_old_strong', { email: oldEmail })|raw }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{trans('email.email_change_new', { email: newEmail }) }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{trans('email.email_change_undo_link')}} <a href="{{ uri }}">{{ uri }}</a>
</p>
{% include 'emails.footer-html' %}

View File

@@ -1,11 +0,0 @@
{% include 'emails.header-text' %}
{{ trans('email.email_change_body_to_old')|striptags|raw }}
{{ trans('email.email_change_ignore')|raw }}
{{trans('email.email_change_old', { email: oldEmail })|raw }}
{{trans('email.email_change_new', { email: newEmail })|raw }}
{{ trans('email.email_change_undo_link')|raw }} {{ uri }}
{% include 'emails.footer-text' %}

View File

@@ -0,0 +1,11 @@
@component('mail::message')
{{ trans('email.email_change_body_to_old') }}
{{ trans('email.email_change_ignore')}}
{{trans('email.email_change_old', ['email' => $oldEmail]) }}
{{trans('email.email_change_new', ['email' => $newEmail]) }}
{{ trans('email.email_change_undo_link') }} {{ $url }}
@endcomponent