Skip to content
This repository was archived by the owner on Feb 6, 2022. It is now read-only.

Commit c7c15ca

Browse files
committed
feature #109 Update the toolbar and panel for the new profiler design (javiereguiluz)
This PR was squashed before being merged into the 2.3-dev branch (closes #109). Discussion ---------- Update the toolbar and panel for the new profiler design This PR adds support for the new Symfony Toolbar (see symfony/symfony#15160) and it uses the same trick validated by @stof for the DoctrineBundle (see doctrine/DoctrineBundle#445). Commits ------- 4cfc35f Update the toolbar and panel for the new profiler design
2 parents 4b04611 + 4cfc35f commit c7c15ca

File tree

2 files changed

+145
-57
lines changed

2 files changed

+145
-57
lines changed

Resources/views/Collector/icon.svg

Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 142 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,182 @@
11
{% extends '@WebProfiler/Profiler/layout.html.twig' %}
22

33
{% block toolbar %}
4+
{% set profiler_markup_version = profiler_markup_version|default(1) %}
5+
46
{% if collector.messageCount %}
57
{% set icon %}
6-
<img width="23" height="28" alt="Swiftmailer" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAcCAYAAACK7SRjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0NEOTU1MjM0OThFMTFFMDg3NzJBNTE2ODgwQzMxMzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0NEOTU1MjQ0OThFMTFFMDg3NzJBNTE2ODgwQzMxMzQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMEQ5OTQ5QzQ5OEMxMUUwODc3MkE1MTY4ODBDMzEzNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3Q0Q5NTUyMjQ5OEUxMUUwODc3MkE1MTY4ODBDMzEzNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpkRnSAAAAJ0SURBVHjaYvz//z8DrQATAw3BqOFYAaO9vT1FBhw4cGCAXA5MipxBQUHT3r17l0AVAxkZ/wkLC89as2ZNIcjlYkALXKnlWqBZTH/+/PEDmQsynLW/v3+NoaHhN2oYDjJn8uTJK4BMNpDhPwsLCwOKiop2+fn5vafEYC8vrw8gc/Lz8wOB3B8gw/nev38vn5WV5eTg4LA/Ly/vESsrK2npmYmJITU19SnQ8L0gc4DxpwgyF2S4EEjB58+f+crLy31YWFjOt7S0XBYUFPxHjMEcHBz/6+rqboqJiZ0qKSnxBpkDlRICGc4MU/j792+2CRMm+L18+fLSxIkTDykoKPzBZ7CoqOi/np6eE8rKylvb29v9fvz4wYEkzYKRzjk5OX/LyMjcnDRpEkjjdisrK6wRraOj8wvokAMLFy788ejRoxcaGhrPCWai4ODgB8DUE3/mzBknYMToASNoMzAfvEVW4+Tk9LmhoWFbTU2NwunTpx2BjiiMjo6+hm4WCzJHUlLyz+vXrxkfP36sDOI/ffpUPikpibe7u3sLsJjQW7VqlSrQxe+Avjmanp7u9PbtWzGQOmCCkARmmu/m5uYfT548yY/V5UpKSl+2b9+uiiz26dMnIWBSDTp27NgdYGrYCIzwE7m5uR4wg2Hg/PnzSsDI/QlKOcjZ3wGUBLm5uf+DwLdv38gub4AG/xcSEvr35s0bZmCB5sgCE/z69SsjyDJKMtG/f/8YQQYD8wkoGf8H51AbG5sH1CpbQBnQ09PzBiiHgoIFFHlBQGwLxLxUMP8dqJgH4k3gIhfIkAKVYkDMTmmhCHIxEL8A4peMo02L4WU4QIABANxZAoDIQDv3AAAAAElFTkSuQmCC" />
7-
<span class="sf-toolbar-status">{{ collector.messageCount }}</span>
8+
{% if profiler_markup_version == 1 %}
9+
<img width="23" height="28" alt="Swiftmailer" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAcCAYAAACK7SRjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0NEOTU1MjM0OThFMTFFMDg3NzJBNTE2ODgwQzMxMzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0NEOTU1MjQ0OThFMTFFMDg3NzJBNTE2ODgwQzMxMzQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMEQ5OTQ5QzQ5OEMxMUUwODc3MkE1MTY4ODBDMzEzNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3Q0Q5NTUyMjQ5OEUxMUUwODc3MkE1MTY4ODBDMzEzNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpkRnSAAAAJ0SURBVHjaYvz//z8DrQATAw3BqOFYAaO9vT1FBhw4cGCAXA5MipxBQUHT3r17l0AVAxkZ/wkLC89as2ZNIcjlYkALXKnlWqBZTH/+/PEDmQsynLW/v3+NoaHhN2oYDjJn8uTJK4BMNpDhPwsLCwOKiop2+fn5vafEYC8vrw8gc/Lz8wOB3B8gw/nev38vn5WV5eTg4LA/Ly/vESsrK2npmYmJITU19SnQ8L0gc4DxpwgyF2S4EEjB58+f+crLy31YWFjOt7S0XBYUFPxHjMEcHBz/6+rqboqJiZ0qKSnxBpkDlRICGc4MU/j792+2CRMm+L18+fLSxIkTDykoKPzBZ7CoqOi/np6eE8rKylvb29v9fvz4wYEkzYKRzjk5OX/LyMjcnDRpEkjjdisrK6wRraOj8wvokAMLFy788ejRoxcaGhrPCWai4ODgB8DUE3/mzBknYMToASNoMzAfvEVW4+Tk9LmhoWFbTU2NwunTpx2BjiiMjo6+hm4WCzJHUlLyz+vXrxkfP36sDOI/ffpUPikpibe7u3sLsJjQW7VqlSrQxe+Avjmanp7u9PbtWzGQOmCCkARmmu/m5uYfT548yY/V5UpKSl+2b9+uiiz26dMnIWBSDTp27NgdYGrYCIzwE7m5uR4wg2Hg/PnzSsDI/QlKOcjZ3wGUBLm5uf+DwLdv38gub4AG/xcSEvr35s0bZmCB5sgCE/z69SsjyDJKMtG/f/8YQQYD8wkoGf8H51AbG5sH1CpbQBnQ09PzBiiHgoIFFHlBQGwLxLxUMP8dqJgH4k3gIhfIkAKVYkDMTmmhCHIxEL8A4peMo02L4WU4QIABANxZAoDIQDv3AAAAAElFTkSuQmCC" />
10+
<span class="sf-toolbar-status">{{ collector.messageCount }}</span>
11+
{% else %}
12+
{{ include('@Swiftmailer/Collector/icon.svg') }}
13+
<span class="sf-toolbar-value">{{ collector.messageCount }}</span>
14+
{% endif %}
815
{% endset %}
16+
917
{% set text %}
1018
<div class="sf-toolbar-info-piece">
11-
<b>Messages</b>
12-
<span>{{ collector.messageCount }}</span>
19+
<b>Sent messages</b>
20+
<span class="sf-toolbar-status">{{ collector.messageCount }}</span>
1321
</div>
14-
{% for name in collector.mailers %}
15-
<hr>
16-
<div class="sf-toolbar-info-piece">
17-
<b>{{ name }}</b>
18-
<span>{{ collector.messageCount(name) }}</span>
19-
</div>
20-
<div class="sf-toolbar-info-piece">
21-
<b>Is spooled ?</b>
22-
<span>{{ collector.isSpool(name) ? 'yes' : 'no' }}</span>
23-
</div>
24-
{% endfor %}
2522

23+
{% if profiler_markup_version == 1 %}
24+
{% for name in collector.mailers %}
25+
<div class="sf-toolbar-info-piece">
26+
<b>{{ name }}</b>
27+
<span>{{ collector.messageCount(name) }}</span>
28+
</div>
29+
<div class="sf-toolbar-info-piece">
30+
<b>Is spooled?</b>
31+
<span>{{ collector.isSpool(name) ? 'yes' : 'no' }}</span>
32+
</div>
33+
34+
{% if not loop.first %}
35+
<hr>
36+
{% endif %}
37+
{% endfor %}
38+
{% else %}
39+
{% for name in collector.mailers %}
40+
<div class="sf-toolbar-info-piece">
41+
<b>{{ name }} mailer</b>
42+
<span class="sf-toolbar-status">{{ collector.messageCount(name)|default(0) }}</span>
43+
&nbsp; (<small>{{ collector.isSpool(name) ? 'spooled' : 'sent' }}</small>)
44+
</div>
45+
{% endfor %}
46+
{% endif %}
2647
{% endset %}
27-
{% include '@WebProfiler/Profiler/toolbar_item.html.twig' with { 'link': profiler_url } %}
48+
49+
{{ include('@WebProfiler/Profiler/toolbar_item.html.twig', { 'link': profiler_url }) }}
2850
{% endif %}
2951
{% endblock %}
3052

3153
{% block menu %}
32-
<span class="label">
33-
<span class="icon"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAeCAYAAABaKIzgAAAEDElEQVR42u2XWUhUURjHy6isILAebO+lonpJ8qkHM3NFVFxAUVFM0RSXUKnwwdAQn3wQE0MyA1MwBEUQcxvHZTTTHNcZl9DUGqd0JBOzcsZ7+n8XJ0Z0GueOVwg68GfmnLn3O7/7Lee7s4cxZpHq6uos0bb3+Q+6DrG3u7v7RHt7u3tbW9uD5ubm8qamJnlDQ4NKIpG8HhkZOU3X7BYoD9Tb22sjk8mcWltb70ul0pcAegugBfzOjKmzs/MJ7j0kCujw8PBhADkAKAVAz+EZGYA+08bmCN79qdFo7sGmjaWg+wgIIUtoaWl5CqDmxsbGj7SJpYK3uYWFBRnsDmEfWyGg+zs6OkIBNEoGxVB9fT2bnZ1VIHff03xmZuY29rUyF9QWT6sWC5I0OTk5rVAo3unnSqXyEfa1Nhf0Kp5UKRYk8lsDD0oM1/r6+l5h32Pmgl5UqVTP5ubmlEgBHRlCobC8vDzm5eXFHB0dRZWzs/OXsLCwu5SCpkBPo4DaMVRI9rbp6Wk1vnP+/v5kaFfk4eGhAcdJU6Dn+/v7q9aTnpPL5YqVlRV5eXm5Fk+7Gx7lCgsL68Fx2RToWST7C8McQgr8yMrKWkLu/hQz/LDNIZojycnJb8BxwRTocYT8oSEoQs8bSkpK0k5MTGgiIiK4nYYMDg7mcBLIo6OjP9Ec44opUGvIF+eoTg/a1dX1x2BISMgyKncpLS1tbacgU1NT2djY2HxoaOi8fg3jhilQK+gmQvBVD4qQbzDs4+ND6bBWUFCgtRQyJyeHdwSKdcODY9zaTgu9jheMcWOgJFdXV1ZZWclqamp0bm5uQoqGVVRUrFHBuru782tCQC+hW0j/BkpCPlGXIY9wfn5+5hQN5T3dS+cz5btg0DNTU1NFpkBra2tZaWkpy8jIYOPj4ywmJmY7RcMGBwdZZmYmKykpoa7ELPGozeLiYrIetKenZ5OhuLg4ft3T05OfJyQk8LDp6el/LRq6JiUlheb8vXgzY7m5uYJBD0LeeDnRApQ8sKloqK3GxsZuWEPrYzhiWHFx8ZZFMzo6yiIjIw1DTTZ+qNXqMRcXF0GgVpADKltDoCisDcbj4+NZfn7+ll5D9fKeprYbFRXFwsPDWVVV1SodPwEBAVueEtnZ2QNIhTkhoKRrAxhb5WhRURFzcnIyGmIcX9rq6uoPq6urAzqdrresrGwIHtMZux62OOT6AD4FgZ5bXl5+DMhv6P16j/KhCwoK2vHO5O3t/SsxMfG7ENAjkAOUBUkMvMVDiiFKDSGge6Gj0CUoGmffpvwSEfg7dUch/0LtkWcdvr6+a2JDBgYG6tDt6DXPTgjoKegOVAo1QVKR1AgVQ8GQrRDQA+uw9ushuSWSyLYdQRr7K/JP6DcTwr8i7Fj8pwAAAABJRU5ErkJggg==" alt="Swiftmailer" /></span>
34-
<strong>E-Mails</strong>
35-
<span class="count">
36-
<span>{{ collector.messageCount }}</span>
54+
{% set profiler_markup_version = profiler_markup_version|default(1) %}
55+
56+
<span class="label {{ collector.messageCount ? '' : 'disabled' }}">
57+
{% if profiler_markup_version == 1 %}
58+
<span class="icon"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAeCAYAAABaKIzgAAAEDElEQVR42u2XWUhUURjHy6isILAebO+lonpJ8qkHM3NFVFxAUVFM0RSXUKnwwdAQn3wQE0MyA1MwBEUQcxvHZTTTHNcZl9DUGqd0JBOzcsZ7+n8XJ0Z0GueOVwg68GfmnLn3O7/7Lee7s4cxZpHq6uos0bb3+Q+6DrG3u7v7RHt7u3tbW9uD5ubm8qamJnlDQ4NKIpG8HhkZOU3X7BYoD9Tb22sjk8mcWltb70ul0pcAegugBfzOjKmzs/MJ7j0kCujw8PBhADkAKAVAz+EZGYA+08bmCN79qdFo7sGmjaWg+wgIIUtoaWl5CqDmxsbGj7SJpYK3uYWFBRnsDmEfWyGg+zs6OkIBNEoGxVB9fT2bnZ1VIHff03xmZuY29rUyF9QWT6sWC5I0OTk5rVAo3unnSqXyEfa1Nhf0Kp5UKRYk8lsDD0oM1/r6+l5h32Pmgl5UqVTP5ubmlEgBHRlCobC8vDzm5eXFHB0dRZWzs/OXsLCwu5SCpkBPo4DaMVRI9rbp6Wk1vnP+/v5kaFfk4eGhAcdJU6Dn+/v7q9aTnpPL5YqVlRV5eXm5Fk+7Gx7lCgsL68Fx2RToWST7C8McQgr8yMrKWkLu/hQz/LDNIZojycnJb8BxwRTocYT8oSEoQs8bSkpK0k5MTGgiIiK4nYYMDg7mcBLIo6OjP9Ec44opUGvIF+eoTg/a1dX1x2BISMgyKncpLS1tbacgU1NT2djY2HxoaOi8fg3jhilQK+gmQvBVD4qQbzDs4+ND6bBWUFCgtRQyJyeHdwSKdcODY9zaTgu9jheMcWOgJFdXV1ZZWclqamp0bm5uQoqGVVRUrFHBuru782tCQC+hW0j/BkpCPlGXIY9wfn5+5hQN5T3dS+cz5btg0DNTU1NFpkBra2tZaWkpy8jIYOPj4ywmJmY7RcMGBwdZZmYmKykpoa7ELPGozeLiYrIetKenZ5OhuLg4ft3T05OfJyQk8LDp6el/LRq6JiUlheb8vXgzY7m5uYJBD0LeeDnRApQ8sKloqK3GxsZuWEPrYzhiWHFx8ZZFMzo6yiIjIw1DTTZ+qNXqMRcXF0GgVpADKltDoCisDcbj4+NZfn7+ll5D9fKeprYbFRXFwsPDWVVV1SodPwEBAVueEtnZ2QNIhTkhoKRrAxhb5WhRURFzcnIyGmIcX9rq6uoPq6urAzqdrresrGwIHtMZux62OOT6AD4FgZ5bXl5+DMhv6P16j/KhCwoK2vHO5O3t/SsxMfG7ENAjkAOUBUkMvMVDiiFKDSGge6Gj0CUoGmffpvwSEfg7dUch/0LtkWcdvr6+a2JDBgYG6tDt6DXPTgjoKegOVAo1QVKR1AgVQ8GQrRDQA+uw9ushuSWSyLYdQRr7K/JP6DcTwr8i7Fj8pwAAAABJRU5ErkJggg==" alt="Swiftmailer" /></span>
59+
{% else %}
60+
<span class="icon">{{ include('@Swiftmailer/Collector/icon.svg') }}</span>
61+
{% endif %}
62+
63+
<strong>E-Mails</strong>
64+
{% if collector.messageCount > 0 %}
65+
<span class="count">
66+
<span>{{ collector.messageCount }}</span>
67+
</span>
68+
{% endif %}
3769
</span>
38-
</span>
3970
{% endblock %}
4071

4172
{% block panel %}
42-
<h2>Messages</h2>
43-
44-
<table>
45-
<thead>
46-
<tr>
47-
<th scope="col">Mailer</th>
48-
<th scope="col">Messages</th>
49-
</tr>
50-
</thead>
51-
<tbody>
52-
{% for name in collector.mailers %}
73+
{% set profiler_markup_version = profiler_markup_version|default(1) %}
74+
75+
{% if profiler_markup_version == 1 %}
76+
<style>
77+
h3 { margin-top: 2em; }
78+
h3 span { color: #999; font-weight: normal; }
79+
h3 small { color: #999; }
80+
h4 { font-size: 14px; font-weight: bold; }
81+
.card { background: #F5F5F5; margin: .5em 0 1em; padding: .5em; }
82+
.card .label { display: block; font-size: 13px; font-weight: bold; margin-bottom: .5em; }
83+
.card .card-block { margin-bottom: 1em; }
84+
</style>
85+
{% endif %}
86+
87+
<h2>E-mails</h2>
88+
89+
{% if not collector.mailers %}
90+
<div class="empty">
91+
<p>No e-mail messages were sent.</p>
92+
</div>
93+
{% endif %}
94+
95+
{% if profiler_markup_version == 1 or collector.mailers|length > 1 %}
96+
<table>
97+
<thead>
5398
<tr>
54-
<th>{{ name }}{{ collector.isDefaultMailer(name) ? ' (default mailer)' : '' }}</th>
55-
<td>{{ collector.messageCount(name) }} {{ collector.isSpool(name) ? 'spooled' : 'sent' }}</td>
99+
<th scope="col">Mailer Name</th>
100+
<th scope="col">Num. of messages</th>
101+
<th scope="col">Messages status</th>
102+
<th scope="col">Notes</th>
56103
</tr>
104+
</thead>
105+
<tbody>
106+
{% for name in collector.mailers %}
107+
<tr>
108+
<th class="font-normal">{{ name }}</th>
109+
<td class="font-normal">{{ collector.messageCount(name) }}</td>
110+
<td class="font-normal">{{ collector.isSpool(name) ? 'spooled' : 'sent' }}</td>
111+
<td class="font-normal">{{ collector.isDefaultMailer(name) ? 'This is the default mailer' }}</td>
112+
</tr>
113+
{% endfor %}
114+
</tbody>
115+
</table>
116+
{% else %}
117+
<div class="metrics">
118+
{% for name in collector.mailers %}
119+
<div class="metric">
120+
<span class="value">{{ collector.messageCount(name) }}</span>
121+
<span class="label">{{ collector.isSpool(name) ? 'spooled' : 'sent' }} {{ collector.messageCount(name) == 1 ? 'message' : 'messages' }}</span>
122+
</div>
57123
{% endfor %}
58-
</tbody>
59-
</table>
124+
</div>
125+
{% endif %}
60126

61127
{% for name in collector.mailers %}
62-
<h3>Mailer <em>{{ name }}</em>{{ collector.isDefaultMailer(name) ? ' (default mailer)' : '' }}</h3>
128+
{% if collector.mailers|length > 1 %}
129+
<h3>
130+
{{ name }} <span>mailer</span>
131+
<small>{{ collector.isDefaultMailer(name) ? '(default app mailer)' }}</small>
132+
</h3>
133+
{% endif %}
63134

64135
{% if not collector.messages(name) %}
65-
<p>
66-
<em>No message sent.</em>
67-
</p>
136+
<div class="empty">
137+
<p>No e-mail messages were sent.</p>
138+
</div>
68139
{% else %}
69-
<ul class="alt">
70-
{% for message in collector.messages(name) %}
71-
<li class="{{ cycle(['odd', 'even'], loop.index) }}">
72-
{% for header in message.headers.all %}
73-
<pre>{{ header }}</pre>
74-
{% endfor %}
140+
{% for message in collector.messages(name) %}
141+
{% if loop.length > 1 %}
142+
<h4>E-mail #{{ loop.index }} details</h4>
143+
{% else %}
144+
<h4>E-mail details</h4>
145+
{% endif %}
146+
147+
<div class="card">
148+
<div class="card-block">
149+
<span class="label">Message headers</span>
150+
<pre>{% for header in message.headers.all %}
151+
{{- header -}}
152+
{% endfor %}</pre>
153+
</div>
154+
155+
<div class="card-block">
156+
<span class="label">Message body</span>
75157
<pre>
76158
{%- if messagePart.charset is defined and message.charset %}
77-
{{- message.body|e('html', message.charset)|convert_encoding('UTF-8', message.charset) }}
159+
{{- message.body|convert_encoding('UTF-8', message.charset) }}
78160
{%- else %}
79-
{{- message.body|e('html') }}
161+
{{- message.body }}
80162
{%- endif -%}
81163
</pre>
82-
{% for messagePart in message.children if messagePart.contentType == 'text/plain' or messagePart.contentType == 'text/html' %}
83-
<h4>Alternative part</h4>
164+
</div>
165+
166+
{% for messagePart in message.children if messagePart.contentType in ['text/plain', 'text/html'] %}
167+
<div class="card-block">
168+
<span class="label">Alternative part ({{ messagePart.contentType }})</span>
84169
<pre>
85170
{%- if messagePart.charset %}
86-
{{- messagePart.body|e('html', messagePart.charset)|convert_encoding('UTF-8', messagePart.charset) }}
171+
{{- messagePart.body|convert_encoding('UTF-8', messagePart.charset) }}
87172
{%- else %}
88-
{{- messagePart.body|e('html') }}
173+
{{- messagePart.body }}
89174
{%- endif -%}
90175
</pre>
91-
{% endfor %}
92-
</li>
93-
{% endfor %}
94-
</ul>
176+
</div>
177+
{% endfor %}
178+
</div>
179+
{% endfor %}
95180
{% endif %}
96181
{% endfor %}
97182
{% endblock %}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy