Fix email templates and handler for #4586

This commit is contained in:
James Cole
2021-04-03 12:25:35 +02:00
parent 472497cafd
commit e6012e1ca2
49 changed files with 84 additions and 440 deletions

View File

@@ -0,0 +1,13 @@
{% 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

@@ -0,0 +1,7 @@
{% 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

@@ -0,0 +1,5 @@
{% 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

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

View File

@@ -0,0 +1,18 @@
{% 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

@@ -0,0 +1,10 @@
{% 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,45 @@
{% include 'emails.header-html' %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.error_intro', { version: version, errorMessage: errorMessage })|raw }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.error_type', {class: class }) }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.error_timestamp', {time: time }) }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.error_location', { file: file, line: line, code: code })|raw }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{% if loggedIn %}
{{ trans('email.error_user', { id: user.id, email: user.email })|raw }}
{% else %}
{{ trans('email.error_no_user') }}
{% endif %}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.error_ip', { ip: ip }) }}<br />
{{ trans('email.error_url', {url :url }) }}<br />
{{ trans('email.error_user_agent', {userAgent: userAgent }) }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.error_stacktrace')|raw }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.error_github_html')|raw }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.error_stacktrace_below') }}</p>
<p style="font-family: monospace;font-size:11px;color:#aaa">
{{ stackTrace|nl2br }}
</p>
{% include 'emails.footer-html' %}

View File

@@ -0,0 +1,27 @@
{% include 'emails.header-text' %}
{{ trans('email.error_intro', { version: version, errorMessage: errorMessage })|striptags|raw }}
{{ trans('email.error_type', {class: class })|raw }}
{{ trans('email.error_timestamp', {time: time })|raw }}
{{ trans('email.error_location', { file: file , line: line, code: code })|striptags|raw }}
{% if loggedIn %}
{{ trans('email.error_user', { id: user.id, email: user.email })|striptags|raw }}
{% else %}
{{ trans('email.error_no_user')|raw }}
{% endif %}
{{ trans('email.error_ip', { ip: ip }) }}
{{ trans('email.error_url', {url :url}) }}
{{ trans('email.error_user_agent', {userAgent: userAgent } ) }}
{{ trans('email.error_stacktrace')|striptags|raw }}
{{ trans('email.error_github_text' )|raw }}
{{ trans('email.error_stacktrace_below')|raw }}
{{ stackTrace|raw }}
{% include 'emails.footer-text' %}

View File

@@ -0,0 +1,13 @@
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.closing') }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.signature') }}
</p>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:11px;color:#aaa;">
{{ trans('email.footer_ps', {ipAddress: ipAddress}) }}
</p>
</body>
</html>

View File

@@ -0,0 +1,6 @@
{{ trans('email.closing')|raw }}
{{ trans('email.signature')|raw }}
{{ trans('email.footer_ps', {ipAddress: ipAddress})|raw }}

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.greeting') }}
</p>

View File

@@ -0,0 +1,2 @@
{{ trans('email.greeting')|raw }}

View File

@@ -0,0 +1,16 @@
{% 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

@@ -0,0 +1,10 @@
{% 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 @@
{% 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

@@ -0,0 +1,7 @@
{% 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,13 @@
{% 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

@@ -0,0 +1,7 @@
{% 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,20 @@
{% 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

@@ -0,0 +1,21 @@
{% 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,78 @@
{% 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

@@ -0,0 +1,16 @@
{% 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 @@
{% 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

@@ -0,0 +1,11 @@
{% 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' %}