|
10 | 10 | {% endset %}
|
11 | 11 |
|
12 | 12 | {% set text %}
|
| 13 | + <div class="sf-toolbar-info-piece"> |
| 14 | + <b>Queued messages</b> |
| 15 | + <span class="sf-toolbar-status">{{ events.events|filter(e => e.isQueued())|length }}</span> |
| 16 | + </div> |
13 | 17 | <div class="sf-toolbar-info-piece">
|
14 | 18 | <b>Sent messages</b>
|
15 |
| - <span class="sf-toolbar-status">{{ events.messages|length }}</span> |
| 19 | + <span class="sf-toolbar-status">{{ events.events|filter(e => not e.isQueued())|length }}</span> |
16 | 20 | </div>
|
17 |
| - |
18 |
| - {% for transport in events.transports %} |
19 |
| - <div class="sf-toolbar-info-piece"> |
20 |
| - <b>{{ transport }}</b> |
21 |
| - <span class="sf-toolbar-status">{{ events.messages(transport)|length }}</span> |
22 |
| - </div> |
23 |
| - {% endfor %} |
24 | 21 | {% endset %}
|
25 | 22 |
|
26 | 23 | {{ include('@WebProfiler/Profiler/toolbar_item.html.twig', { 'link': profiler_url }) }}
|
|
91 | 88 | {% endif %}
|
92 | 89 |
|
93 | 90 | <div class="metrics">
|
94 |
| - {% for transport in events.transports %} |
95 |
| - <div class="metric"> |
96 |
| - <span class="value">{{ events.messages(transport)|length }}</span> |
97 |
| - <span class="label">{{ events.messages(transport)|length == 1 ? 'message' : 'messages' }}</span> |
98 |
| - </div> |
99 |
| - {% endfor %} |
| 91 | + <div class="metric"> |
| 92 | + <span class="value">{{ events.events|filter(e => e.isQueued())|length }}</span> |
| 93 | + <span class="label">Queued</span> |
| 94 | + </div> |
| 95 | + |
| 96 | + <div class="metric"> |
| 97 | + <span class="value">{{ events.events|filter(e => not e.isQueued())|length }}</span> |
| 98 | + <span class="label">Sent</span> |
| 99 | + </div> |
100 | 100 | </div>
|
101 | 101 |
|
102 | 102 | {% for transport in events.transports %}
|
103 |
| - <h3>{{ transport }}</h3> |
104 |
| - |
105 | 103 | <div class="card-block">
|
106 | 104 | <div class="sf-tabs sf-tabs-sm">
|
107 | 105 | {% for event in events.events(transport) %}
|
108 | 106 | {% set message = event.message %}
|
109 | 107 | <div class="tab">
|
110 |
| - <h3 class="tab-title">Email #{{ loop.index }} <small>({{ event.isQueued() ? 'queued' : 'sent' }})</small></h3> |
| 108 | + <h3 class="tab-title">Email {{ event.isQueued() ? 'queued' : 'sent via ' ~ transport }}</h3> |
111 | 109 | <div class="tab-content">
|
112 | 110 | <div class="card">
|
113 | 111 | {% if message.headers is not defined %}
|
|
118 | 116 | {% else %}
|
119 | 117 | {# Message instance #}
|
120 | 118 | <div class="card-block">
|
121 |
| - <span class="label">Subject</span> |
122 |
| - <h2 class="m-t-10">{{ message.headers.get('subject').bodyAsString() ?? '(empty)' }}</h2> |
123 |
| - </div> |
124 |
| - |
125 |
| - <div class="card-block"> |
126 |
| - <div class="row"> |
127 |
| - <div class="col col-4"> |
128 |
| - <span class="label">From</span> |
129 |
| - <pre class="prewrap">{{ (message.headers.get('from').bodyAsString() ?? '(empty)')|replace({'From:': ''}) }}</pre> |
130 |
| - |
131 |
| - <span class="label">To</span> |
132 |
| - <pre class="prewrap">{{ (message.headers.get('to').bodyAsString() ?? '(empty)')|replace({'To:': ''}) }}</pre> |
133 |
| - </div> |
134 |
| - <div class="col"> |
135 |
| - <span class="label">Headers</span> |
136 |
| - <pre class="prewrap">{% for header in message.headers.all|filter(header => (header.name ?? '') not in ['Subject', 'From', 'To']) %} |
137 |
| - {{- header.toString }} |
138 |
| - {%~ endfor %}</pre> |
| 119 | + <div class="sf-tabs sf-tabs-sm"> |
| 120 | + <div class="tab"> |
| 121 | + <h3 class="tab-title">Headers</h3> |
| 122 | + <div class="tab-content"> |
| 123 | + <span class="label">Subject</span> |
| 124 | + <h2 class="m-t-10">{{ message.headers.get('subject').bodyAsString() ?? '(empty)' }}</h2> |
| 125 | + <div class="row"> |
| 126 | + <div class="col col-4"> |
| 127 | + <span class="label">From</span> |
| 128 | + <pre class="prewrap">{{ (message.headers.get('from').bodyAsString() ?? '(empty)')|replace({'From:': ''}) }}</pre> |
| 129 | + |
| 130 | + <span class="label">To</span> |
| 131 | + <pre class="prewrap">{{ (message.headers.get('to').bodyAsString() ?? '(empty)')|replace({'To:': ''}) }}</pre> |
| 132 | + </div> |
| 133 | + <div class="col"> |
| 134 | + <span class="label">Headers</span> |
| 135 | + <pre class="prewrap">{% for header in message.headers.all|filter(header => (header.name ?? '') not in ['Subject', 'From', 'To']) %} |
| 136 | + {{- header.toString }} |
| 137 | + {%~ endfor %}</pre> |
| 138 | + </div> |
| 139 | + </div> |
| 140 | + </div> |
139 | 141 | </div>
|
140 |
| - </div> |
141 |
| - </div> |
142 |
| - |
143 |
| - <div class="card-block"> |
144 |
| - {% if message.htmlBody is defined %} |
145 |
| - {# Email instance #} |
146 |
| - <div class="sf-tabs sf-tabs-sm"> |
| 142 | + {% if message.htmlBody is defined %} |
| 143 | + {# Email instance #} |
147 | 144 | <div class="tab">
|
148 | 145 | <h3 class="tab-title">HTML Content</h3>
|
149 | 146 | <div class="tab-content">
|
|
0 commit comments