Merge lp:~daker/loco-team-portal/fix.meetings.history into lp:loco-team-portal
- fix.meetings.history
- Merge into 0.2
Proposed by
Adnane Belmadiaf
Status: | Merged | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Approved by: | Adnane Belmadiaf | ||||||||||||
Approved revision: | 610 | ||||||||||||
Merged at revision: | 609 | ||||||||||||
Proposed branch: | lp:~daker/loco-team-portal/fix.meetings.history | ||||||||||||
Merge into: | lp:loco-team-portal | ||||||||||||
Diff against target: |
330 lines (+223/-27) 4 files modified
loco_directory/teams/views.py (+4/-4) loco_directory/templates/teams/team_detail.html (+6/-3) loco_directory/templates/teams/team_event_history.html (+6/-3) loco_directory/templates/teams/team_meeting_history.html (+207/-17) |
||||||||||||
To merge this branch: | bzr merge lp:~daker/loco-team-portal/fix.meetings.history | ||||||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
LoCo Team Portal Developers | Pending | ||
Review via email: mp+147560@code.launchpad.net |
Commit message
Fixed the Team Meetings history
Description of the change
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'loco_directory/teams/views.py' | |||
2 | --- loco_directory/teams/views.py 2013-02-09 16:26:04 +0000 | |||
3 | +++ loco_directory/teams/views.py 2013-02-10 15:12:21 +0000 | |||
4 | @@ -148,11 +148,11 @@ | |||
5 | 148 | """ | 148 | """ |
6 | 149 | list with all team meetings in past for the given team | 149 | list with all team meetings in past for the given team |
7 | 150 | """ | 150 | """ |
10 | 151 | team_object = get_object_or_404(Team, lp_name=team_slug) | 151 | team = get_object_or_404(Team, lp_name=team_slug) |
11 | 152 | team_meeting_list = team_object.teammeeting_set.history_meetings() | 152 | team_meetings = team.teammeeting_set.history_meetings() |
12 | 153 | context = { | 153 | context = { |
15 | 154 | 'team_object': team_object, | 154 | 'team': team, |
16 | 155 | 'team_meeting_list': team_meeting_list, | 155 | 'team_meetings': team_meetings, |
17 | 156 | } | 156 | } |
18 | 157 | return render_to_response('teams/team_meeting_history.html', context, | 157 | return render_to_response('teams/team_meeting_history.html', context, |
19 | 158 | RequestContext(request)) | 158 | RequestContext(request)) |
20 | 159 | 159 | ||
21 | === modified file 'loco_directory/templates/teams/team_detail.html' | |||
22 | --- loco_directory/templates/teams/team_detail.html 2012-12-18 22:25:30 +0000 | |||
23 | +++ loco_directory/templates/teams/team_detail.html 2013-02-10 15:12:21 +0000 | |||
24 | @@ -154,10 +154,10 @@ | |||
25 | 154 | </div> | 154 | </div> |
26 | 155 | 155 | ||
27 | 156 | <div id="loco-support"> | 156 | <div id="loco-support"> |
29 | 157 | <span title="{% trans "Reapproval Date:" %}" class="pictogram calendar"></span> | 157 | <span title="{% trans "Reapproval Date" %}" class="pictogram calendar"></span> |
30 | 158 | <span class="value ellipsis medium-ellipsis"> | 158 | <span class="value ellipsis medium-ellipsis"> |
31 | 159 | {% if team.approved %} | 159 | {% if team.approved %} |
33 | 160 | {% trans "Reapproval Date:" %} {{ team.expires_date }} | 160 | {{ team.expires_date }} |
34 | 161 | {% endif %} | 161 | {% endif %} |
35 | 162 | </span> | 162 | </span> |
36 | 163 | </div> | 163 | </div> |
37 | @@ -179,6 +179,9 @@ | |||
38 | 179 | <a href="{% url team-event-history team.lp_name %}" title="{% trans "Past Events" %}">{% trans "Past Events" %}</a> | 179 | <a href="{% url team-event-history team.lp_name %}" title="{% trans "Past Events" %}">{% trans "Past Events" %}</a> |
39 | 180 | </span> | 180 | </span> |
40 | 181 | <span> | 181 | <span> |
41 | 182 | <a href="{% url team-meeting-history team.lp_name %}" title="{% trans "Past Meetings" %}">{% trans "Past Meetings" %}</a> | ||
42 | 183 | </span> | ||
43 | 184 | <span> | ||
44 | 182 | <a class="pictogram rss action" href="/feeds/teams/{{ team.lp_name }}/" title="{% trans "RSS Feed" %}"></a> | 185 | <a class="pictogram rss action" href="/feeds/teams/{{ team.lp_name }}/" title="{% trans "RSS Feed" %}"></a> |
45 | 183 | </span> | 186 | </span> |
46 | 184 | <span> | 187 | <span> |
47 | @@ -196,7 +199,7 @@ | |||
48 | 196 | {% endfor %} | 199 | {% endfor %} |
49 | 197 | {% else %} | 200 | {% else %} |
50 | 198 | <div class="no-results"> | 201 | <div class="no-results"> |
52 | 199 | {% trans "There are currently no upcoming events :(" %} | 202 | {% trans "There are currently no upcoming events or meetings :(" %} |
53 | 200 | </div> | 203 | </div> |
54 | 201 | {% endif %} | 204 | {% endif %} |
55 | 202 | </div> | 205 | </div> |
56 | 203 | 206 | ||
57 | === modified file 'loco_directory/templates/teams/team_event_history.html' | |||
58 | --- loco_directory/templates/teams/team_event_history.html 2013-02-09 17:15:00 +0000 | |||
59 | +++ loco_directory/templates/teams/team_event_history.html 2013-02-10 15:12:21 +0000 | |||
60 | @@ -109,10 +109,10 @@ | |||
61 | 109 | </div> | 109 | </div> |
62 | 110 | 110 | ||
63 | 111 | <div id="loco-support"> | 111 | <div id="loco-support"> |
65 | 112 | <span title="{% trans "Reapproval Date:" %}" class="pictogram calendar"></span> | 112 | <span title="{% trans "Reapproval Date" %}" class="pictogram calendar"></span> |
66 | 113 | <span class="value ellipsis medium-ellipsis"> | 113 | <span class="value ellipsis medium-ellipsis"> |
67 | 114 | {% if team.approved %} | 114 | {% if team.approved %} |
69 | 115 | {% trans "Reapproval Date:" %} {{ team.expires_date }} | 115 | {{ team.expires_date }} |
70 | 116 | {% endif %} | 116 | {% endif %} |
71 | 117 | </span> | 117 | </span> |
72 | 118 | </div> | 118 | </div> |
73 | @@ -134,6 +134,9 @@ | |||
74 | 134 | <a href="{% url team-event-history team.lp_name %}" title="{% trans "Past Events" %}">{% trans "Past Events" %}</a> | 134 | <a href="{% url team-event-history team.lp_name %}" title="{% trans "Past Events" %}">{% trans "Past Events" %}</a> |
75 | 135 | </span> | 135 | </span> |
76 | 136 | <span> | 136 | <span> |
77 | 137 | <a href="{% url team-meeting-history team.lp_name %}" title="{% trans "Past Meetings" %}">{% trans "Past Meetings" %}</a> | ||
78 | 138 | </span> | ||
79 | 139 | <span> | ||
80 | 137 | <a class="pictogram rss action" href="/feeds/teams/{{ team.lp_name }}/" title="{% trans "RSS Feed" %}"></a> | 140 | <a class="pictogram rss action" href="/feeds/teams/{{ team.lp_name }}/" title="{% trans "RSS Feed" %}"></a> |
81 | 138 | </span> | 141 | </span> |
82 | 139 | <span> | 142 | <span> |
83 | @@ -172,7 +175,7 @@ | |||
84 | 172 | {% endfor %} | 175 | {% endfor %} |
85 | 173 | {% else %} | 176 | {% else %} |
86 | 174 | <div class="no-results"> | 177 | <div class="no-results"> |
88 | 175 | {% trans "There team has no events yet :(" %} | 178 | {% trans "This team has no events yet :(" %} |
89 | 176 | </div> | 179 | </div> |
90 | 177 | {% endif %} | 180 | {% endif %} |
91 | 178 | </div> | 181 | </div> |
92 | 179 | 182 | ||
93 | === modified file 'loco_directory/templates/teams/team_meeting_history.html' | |||
94 | --- loco_directory/templates/teams/team_meeting_history.html 2012-06-02 11:50:27 +0000 | |||
95 | +++ loco_directory/templates/teams/team_meeting_history.html 2013-02-10 15:12:21 +0000 | |||
96 | @@ -1,27 +1,217 @@ | |||
97 | 1 | {% extends "base.html" %} | 1 | {% extends "base.html" %} |
99 | 2 | {% load i18n %} | 2 | {% load i18n teams_tags %} |
100 | 3 | 3 | ||
102 | 4 | {% block page_name %}{% blocktrans with team_object.name as teamname %}{{teamname}} Meeting History{% endblocktrans %}{% endblock %} | 4 | {% block page_name %}{% blocktrans with team_object.name as teamname %}{{teamname}} Meetings History{% endblocktrans %}{% endblock %} |
103 | 5 | 5 | ||
104 | 6 | {% block sub_nav_links %} | 6 | {% block sub_nav_links %} |
107 | 7 | <li><a class="sub-nav-item" href="{% url team-detail team_object.lp_name %}">{% trans "Back to Team Details" %}</a></li> | 7 | <li><a class="sub-nav-item" href="{% url team-list %}" title="{% trans "Back to Teams List" %}">{% trans "Back to Teams List" %}</a></li> |
108 | 8 | <li><a class="sub-nav-item" href="{% url team-meeting-list team_object.lp_name %}">{% trans "Upcoming Meetings" %}</a></li> | 8 | {% if is_member %}{% else %}<li><a class="sub-nav-item" href="https://launchpad.net/~{{ team.lp_name }}/+join">{% trans "Join This Team!" %}</a></li>{% endif %} |
109 | 9 | {% if is_admin %}<li><a class="sub-nav-item" href="{% url team-edit team.lp_name %}" title="{% trans "Edit Details" %}">{% trans "Edit Details" %}</a></li>{% endif %} | ||
110 | 10 | {% if is_admin and not team.active %}<li><a class="sub-nav-item" href="{% url select-other-team team.lp_name %}" title="{% trans "Merge with another team" %}">{% trans "Merge team" %}</a></li>{% endif %} | ||
111 | 11 | {% if is_member %}<li><a class="sub-nav-item" href="{% url team-event-new team.lp_name %}" title="{% trans "Add New Event" %}">{% trans "Add New Event" %}</a></li>{% endif %} | ||
112 | 12 | {% if is_member %}<li><a class="sub-nav-item" href="{% url team-meeting-new team.lp_name %}" title="{% trans "Add New Meeting" %}">{% trans "Add New Meeting" %}</a></li>{% endif %} | ||
113 | 13 | {% endblock %} | ||
114 | 14 | |||
115 | 15 | {% block extrahead %}{{ block.super }} | ||
116 | 16 | <link type="application/rss+xml" rel="alternate" title="{% trans "Team (RSS)" %}" href="/feeds/teams/{{ team.lp_name }}" /> | ||
117 | 9 | {% endblock %} | 17 | {% endblock %} |
118 | 10 | 18 | ||
119 | 11 | {% block content %} | 19 | {% block content %} |
120 | 12 | <div class="row"> | 20 | <div class="row"> |
134 | 13 | <section class="span-12"> | 21 | <section class="span-9"> |
135 | 14 | <h1>{% blocktrans with team_object.name as teamname %}{{teamname}} Meeting History{% endblocktrans %}</h1> | 22 | <div class="box_content"> |
136 | 15 | 23 | <div class="pagelet"> | |
137 | 16 | {% if team_meeting_list %} | 24 | <div id="locobranding"> |
138 | 17 | <p>{% trans "Select a team meeting below to see more information about it:" %}</p> | 25 | <img src="{{ team.mugshot_url }}" alt="{{ team.name }}" title="{{ team.name }}" /> |
139 | 18 | 26 | </div> | |
140 | 19 | {% include "meetings/team_meeting_list.inc.html" %} | 27 | <div id="loco-name"> |
141 | 20 | 28 | <h2>{{ team.name }} <a class="contact-button" href="https://launchpad.net/~{{ team.lp_name }}/+contactuser/" title="{% trans "Contact this team" %}" target="_blank">{% trans "Contact this team" %}</a></h2> | |
142 | 21 | {% else %} | 29 | <div style="display:block;"> |
143 | 22 | <p>{% blocktrans with team_object.lp_name as teamname %}There are no past meetings for {{teamname}} :({% endblocktrans %}</p> | 30 | <div id="loco-location"> |
144 | 23 | {% endif %} | 31 | <span title="{% trans "Location" %}" class="pictogram place"></span> |
145 | 24 | 32 | <span class="value ellipsis small-ellipsis"> | |
146 | 25 | </section> | 33 | {% if team.countries.all %} |
147 | 34 | {% for country in team.countries.all %} | ||
148 | 35 | {% if not forloop.first %}, {% endif %}{{ country.name }} | ||
149 | 36 | {% endfor %} | ||
150 | 37 | {% if team.spr %}, {% trans team.spr %}{% endif %}{% if team.city %}, {% trans team.city %} | ||
151 | 38 | {% endif %} | ||
152 | 39 | {% else %} | ||
153 | 40 | {% trans "None Specified" %} | ||
154 | 41 | {% endif %} | ||
155 | 42 | </span> | ||
156 | 43 | </div> | ||
157 | 44 | |||
158 | 45 | <div id="loco-language"> | ||
159 | 46 | <span title="{% trans "Languages" %}" class="pictogram language"></span> | ||
160 | 47 | <span class="value ellipsis"> | ||
161 | 48 | {% if team.languages.all %} | ||
162 | 49 | {% for language in team.languages.all %} | ||
163 | 50 | {% if not forloop.first %}, {% endif %}{{ language.name }} | ||
164 | 51 | {% endfor %} | ||
165 | 52 | {% else %} | ||
166 | 53 | {% trans "None Specified" %} | ||
167 | 54 | {% endif %} | ||
168 | 55 | </span> | ||
169 | 56 | </div> | ||
170 | 57 | |||
171 | 58 | <div id="loco-support"> | ||
172 | 59 | <span title="{% trans "Local Support" %}" class="pictogram support"></span> | ||
173 | 60 | <span class="value ellipsis medium-ellipsis"> | ||
174 | 61 | {% if team.provides_support %} | ||
175 | 62 | {% trans "This LoCo provides support :)" %} | ||
176 | 63 | {% else %} | ||
177 | 64 | {% trans "This LoCo doesn't provide support :(" %} | ||
178 | 65 | {% endif %} | ||
179 | 66 | </span> | ||
180 | 67 | </div> | ||
181 | 68 | </div> | ||
182 | 69 | |||
183 | 70 | <div style="display:block;"> | ||
184 | 71 | <div id="loco-location"> | ||
185 | 72 | <span title="{% trans "Resources" %}" class="pictogram ml"></span> | ||
186 | 73 | <span class="value ellipsis small-ellipsis"> | ||
187 | 74 | {% if team.web_url %} | ||
188 | 75 | <a href="{{ team.web_url }}" title="{% trans "Website" %}" target="_blank"> | ||
189 | 76 | {% trans "Website" %} | ||
190 | 77 | </a> | ||
191 | 78 | {% endif %} | ||
192 | 79 | {% if team.web_url and team.wiki_url %} / {% endif %} | ||
193 | 80 | {% if team.wiki_url %} | ||
194 | 81 | <a href="{{ team.wiki_url }}" title="{% trans "Wiki" %}" target="_blank"> | ||
195 | 82 | {% trans "Wiki" %} | ||
196 | 83 | </a> | ||
197 | 84 | {% endif %} | ||
198 | 85 | </span> | ||
199 | 86 | </div> | ||
200 | 87 | |||
201 | 88 | |||
202 | 89 | <div id="loco-support"> | ||
203 | 90 | <span class="pictogram forums" title="{% trans "Support" %}"></span> | ||
204 | 91 | <span class="value ellipsis"> | ||
205 | 92 | {% if team.ml_url %} | ||
206 | 93 | <a href="{{ team.ml_url }}" title="{% trans "Mailing List" %}" target="_blank"> | ||
207 | 94 | {% trans "Mailing List" %} | ||
208 | 95 | </a> | ||
209 | 96 | {% endif %} / | ||
210 | 97 | {% if team.forum_url %} | ||
211 | 98 | <a href="{{ team.forum_url }}" title="{% trans "Forums" %}" target="_blank"> | ||
212 | 99 | {% trans "Forums" %} | ||
213 | 100 | </a> | ||
214 | 101 | {% endif %} / | ||
215 | 102 | {% if team.irc_chan %} | ||
216 | 103 | <a href="http://webchat.freenode.net/?channels={{ team.irc_chan }}&prompt=1&uio=OT10cnVlJjEwPXRydWUmMTE9MjM218&nick={% if user.is_authenticated %}{{ user.username|irc }}{% else %}locodir-user{% endif %}" title="{% trans "IRC" %}" target="_blank"> | ||
217 | 104 | {% trans "IRC" %} | ||
218 | 105 | </a> | ||
219 | 106 | {% endif %} | ||
220 | 107 | </span> | ||
221 | 108 | </div> | ||
222 | 109 | |||
223 | 110 | <div id="loco-support"> | ||
224 | 111 | <span title="{% trans "Reapproval Date" %}" class="pictogram calendar"></span> | ||
225 | 112 | <span class="value ellipsis medium-ellipsis"> | ||
226 | 113 | {% if team.approved %} | ||
227 | 114 | {{ team.expires_date }} | ||
228 | 115 | {% endif %} | ||
229 | 116 | </span> | ||
230 | 117 | </div> | ||
231 | 118 | |||
232 | 119 | </div> | ||
233 | 120 | </div> | ||
234 | 121 | </div> | ||
235 | 122 | <div class="events-meetings-wrapper"> | ||
236 | 123 | <div style="overflow: auto; margin-bottom: 10px;border-bottom: 1px solid #E6E6E6;"> | ||
237 | 124 | <h3 class="title">{% trans "Past Meetings" %}</h3> | ||
238 | 125 | <div class="team-actions"> | ||
239 | 126 | <span> | ||
240 | 127 | <a href="{% url team-event-list team.lp_name %}" title="{% trans "All Events" %}">{% trans "All Events" %}</a> | ||
241 | 128 | </span> | ||
242 | 129 | <span> | ||
243 | 130 | <a href="{% url team-meeting-list team.lp_name %}" title="{% trans "All Meetings" %}">{% trans "All Meetings" %}</a> | ||
244 | 131 | </span> | ||
245 | 132 | <span> | ||
246 | 133 | <a href="{% url team-event-history team.lp_name %}" title="{% trans "Past Events" %}">{% trans "Past Events" %}</a> | ||
247 | 134 | </span> | ||
248 | 135 | <span> | ||
249 | 136 | <a href="{% url team-meeting-history team.lp_name %}" title="{% trans "Past Meetings" %}">{% trans "Past Meetings" %}</a> | ||
250 | 137 | </span> | ||
251 | 138 | <span> | ||
252 | 139 | <a class="pictogram rss action" href="/feeds/teams/{{ team.lp_name }}/" title="{% trans "RSS Feed" %}"></a> | ||
253 | 140 | </span> | ||
254 | 141 | <span> | ||
255 | 142 | <a class="pictogram ical action" href="{% url team-calendar team.lp_name %}" title="{% trans "iCal Feed" %}"></a> | ||
256 | 143 | </span> | ||
257 | 144 | </div> | ||
258 | 145 | </div> | ||
259 | 146 | {% if team_meetings %} | ||
260 | 147 | {% regroup team_meetings by date_begin|date:"Y" as meetings %} | ||
261 | 148 | {% for year in meetings %} | ||
262 | 149 | <a name="y{{ year.grouper }}"></a> | ||
263 | 150 | <div style="font-size: 12px;float: right; padding-top: 10px;padding-right: 15px;"> | ||
264 | 151 | <span style="margin-left: 10px; text-transform: uppercase;">{% trans "Browse by year" %} </span> | ||
265 | 152 | {% for y in meetings %} | ||
266 | 153 | <span style="margin-left: 10px;"> | ||
267 | 154 | {% if y == year %} | ||
268 | 155 | {{ y.grouper }} | ||
269 | 156 | {% else %} | ||
270 | 157 | <a href="#y{{ y.grouper }}" title="{{ y.grouper }}">{{ y.grouper }}</a> | ||
271 | 158 | {% endif %} | ||
272 | 159 | </span> | ||
273 | 160 | {% endfor %} | ||
274 | 161 | </div> | ||
275 | 162 | <h3 style="padding-left: 15px;">{{ year.grouper }} | ||
276 | 163 | {% with meetings_count=year.list|length %} | ||
277 | 164 | ({% blocktrans with meetings_count as meetings_count %}{{ meetings_count }} meetings{% endblocktrans %}) | ||
278 | 165 | {% endwith %} | ||
279 | 166 | </h3> | ||
280 | 167 | {% for event in year.list %} | ||
281 | 168 | <a href="{{ event.get_absolute_url }}" title="{% if event.venue %}{% else %}{{event.date_begin|date:"M d"}}{% endif %}" class="event-meetings"> | ||
282 | 169 | <span class="title">{{ event.name }}</span> | ||
283 | 170 | <small>{{ event.local_date_begin|date:"l, d N Y" }} {% trans "at " %}{{ event.local_date_begin|date:"H:i T" }}</small> | ||
284 | 171 | <p>{{ event.description|truncatewords:50 }}</p> | ||
285 | 172 | </a> | ||
286 | 173 | {% endfor %} | ||
287 | 174 | {% endfor %} | ||
288 | 175 | {% else %} | ||
289 | 176 | <div class="no-results"> | ||
290 | 177 | {% trans "This team has no meetings yet :(" %} | ||
291 | 178 | </div> | ||
292 | 179 | {% endif %} | ||
293 | 180 | </div> | ||
294 | 181 | </div> | ||
295 | 182 | </section> | ||
296 | 183 | <section class="span-3 box_content last"> | ||
297 | 184 | <div class="sidebar-inner"> | ||
298 | 185 | <h3 class="title">{% trans "Team Admin(s)" %}</h3> | ||
299 | 186 | <div class="team-admins"> | ||
300 | 187 | {% for admin in team.admin_profiles.all %} | ||
301 | 188 | {% ifequal team.owner admin.user.username %} | ||
302 | 189 | <a href="{% url profile-detail admin.user.username %}"> | ||
303 | 190 | <img alt="" class="photo fn" src="{% if admin.mugshot %}{{ admin.mugshot }}{% else %}{{MEDIA_URL}}img/default-mugshot.png{% endif %}" class="mugshot"> | ||
304 | 191 | <p>{{ admin.realname }}</p> | ||
305 | 192 | </a> | ||
306 | 193 | {% else %} | ||
307 | 194 | <a href="{% url profile-detail admin.user.username %}"> | ||
308 | 195 | <img alt="{{ admin.realname }}" src="{% if admin.mugshot %}{{ admin.mugshot }}{% else %}{{MEDIA_URL}}img/default-mugshot.png{% endif %}" class="mugshot" height="50" width="50"> | ||
309 | 196 | <p>{{ admin.realname }}</p> | ||
310 | 197 | </a> | ||
311 | 198 | {% endifequal %} | ||
312 | 199 | {% endfor %} | ||
313 | 200 | </div> | ||
314 | 201 | <h3 class="title">{% trans "Team Contact(s)" %}</h3> | ||
315 | 202 | <div class="team-admins"> | ||
316 | 203 | {% if team.contact_profiles.all %} | ||
317 | 204 | {% for contact in team.contact_profiles.all %} | ||
318 | 205 | <a href="{% url profile-detail contact.user.username %}"> | ||
319 | 206 | <img alt="{{ contact.realname }}" src="{% if contact.mugshot %}{{ contact.mugshot }}{% else %}{{MEDIA_URL}}img/default-mugshot.png{% endif %}" class="mugshot" height="50" width="50"> | ||
320 | 207 | <p>{{ contact.realname }}</p> | ||
321 | 208 | </a> | ||
322 | 209 | {% endfor %} | ||
323 | 210 | {% else %} | ||
324 | 211 | <p>{% trans "No LoCo Team contacts are set." %}</p> | ||
325 | 212 | {% endif %} | ||
326 | 213 | </div> | ||
327 | 214 | </div> | ||
328 | 215 | </section> | ||
329 | 26 | </div> | 216 | </div> |
330 | 27 | {% endblock %} | 217 | {% endblock %} |