mumuki-laboratory 9.10.0 → 9.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -2
  3. data/app/assets/javascripts/mumuki_laboratory/application/bridge.js +15 -9
  4. data/app/assets/javascripts/mumuki_laboratory/application/confirmation.js +10 -8
  5. data/app/assets/javascripts/mumuki_laboratory/application/editors.js +5 -3
  6. data/app/assets/javascripts/mumuki_laboratory/application/progress.js +4 -4
  7. data/app/assets/javascripts/mumuki_laboratory/application/results-renderer.js +12 -1
  8. data/app/assets/javascripts/mumuki_laboratory/application/submissions-store.js +8 -2
  9. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_dropdown.scss +11 -0
  10. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_faqs.scss +1 -1
  11. data/app/controllers/application_controller.rb +8 -4
  12. data/app/controllers/book_controller.rb +6 -0
  13. data/app/controllers/chapters_controller.rb +9 -0
  14. data/app/controllers/discussions_controller.rb +9 -0
  15. data/app/controllers/exercises_controller.rb +5 -0
  16. data/app/controllers/faqs_controller.rb +4 -0
  17. data/app/controllers/lessons_controller.rb +9 -0
  18. data/app/controllers/users_controller.rb +37 -0
  19. data/app/helpers/application_helper.rb +2 -2
  20. data/app/helpers/concerns/with_student_path_navigation.rb +1 -1
  21. data/app/helpers/content_view_helper.rb +8 -0
  22. data/app/helpers/discussions_helper.rb +1 -1
  23. data/app/helpers/icons_helper.rb +1 -1
  24. data/app/helpers/links_helper.rb +5 -1
  25. data/app/helpers/menu_bar_helper.rb +8 -5
  26. data/app/helpers/notifications_helper.rb +13 -0
  27. data/app/helpers/overlapped_buttons_helper.rb +2 -1
  28. data/app/helpers/time_zone_helper.rb +5 -0
  29. data/app/helpers/user_menu_helper.rb +4 -0
  30. data/app/mailers/user_mailer.rb +11 -1
  31. data/app/views/book/show.html.erb +16 -7
  32. data/app/views/chapters/show.html.erb +1 -0
  33. data/app/views/discussions/_new_message.html.erb +1 -1
  34. data/app/views/discussions/show.html.erb +5 -5
  35. data/app/views/exercise_solutions/_results.html.erb +1 -1
  36. data/app/views/guides/_guide.html.erb +2 -2
  37. data/app/views/layouts/_progress_bar.html.erb +1 -0
  38. data/app/views/layouts/_progress_listing.html.erb +1 -0
  39. data/app/views/layouts/_user_menu.html.erb +1 -0
  40. data/app/views/layouts/application.html.erb +4 -0
  41. data/app/views/layouts/exercise_inputs/forms/_kids_form.html.erb +1 -1
  42. data/app/views/layouts/exercise_inputs/forms/_problem_form.html.erb +6 -2
  43. data/app/views/layouts/exercise_inputs/read_only_editors/_code.html.erb +1 -1
  44. data/app/views/layouts/exercise_inputs/read_only_editors/_hidden.html.erb +0 -0
  45. data/app/views/layouts/exercise_inputs/read_only_editors/_multiple_files.html.erb +4 -4
  46. data/app/views/layouts/exercise_inputs/read_only_editors/_upload.html.erb +0 -0
  47. data/app/views/layouts/mailer.html.erb +7 -1
  48. data/app/views/notifications/_custom.html.erb +1 -0
  49. data/app/views/notifications/_dropdown.html.erb +2 -2
  50. data/app/views/notifications/_exam_authorization_request_updated.html.erb +2 -0
  51. data/app/views/notifications/_exam_registration.html.erb +2 -1
  52. data/app/views/notifications/previews/_custom.html.erb +1 -0
  53. data/app/views/notifications/previews/_discussion.html.erb +2 -0
  54. data/app/views/notifications/previews/_exam_authorization_request_updated.html.erb +2 -0
  55. data/app/views/notifications/previews/_exam_registration.html.erb +2 -0
  56. data/app/views/notifications/previews/_message.html.erb +2 -0
  57. data/app/views/user_mailer/1st_reminder.html.erb +7 -349
  58. data/app/views/user_mailer/1st_reminder.text.erb +0 -4
  59. data/app/views/user_mailer/2nd_reminder.html.erb +7 -349
  60. data/app/views/user_mailer/2nd_reminder.text.erb +0 -4
  61. data/app/views/user_mailer/3rd_reminder.html.erb +7 -349
  62. data/app/views/user_mailer/3rd_reminder.text.erb +0 -4
  63. data/app/views/user_mailer/_mail_template.erb +336 -0
  64. data/app/views/user_mailer/certificate.html.erb +7 -335
  65. data/app/views/user_mailer/certificate.text.erb +0 -3
  66. data/app/views/user_mailer/no_submissions_reminder.html.erb +7 -349
  67. data/app/views/user_mailer/no_submissions_reminder.text.erb +0 -4
  68. data/app/views/user_mailer/notification.html.erb +1 -0
  69. data/app/views/user_mailer/notification.text.erb +6 -0
  70. data/app/views/user_mailer/notifications/_custom.html.erb +11 -0
  71. data/app/views/user_mailer/notifications/_exam_authorization_request_updated.html.erb +1 -0
  72. data/app/views/user_mailer/notifications/_exam_registration.html.erb +7 -0
  73. data/app/views/user_mailer/notifications/exam_authorization_request_updated/_approved.html.erb +7 -0
  74. data/app/views/user_mailer/notifications/exam_authorization_request_updated/_rejected.html.erb +7 -0
  75. data/app/views/users/manage_notifications.html.erb +26 -0
  76. data/app/views/users/notifications.html.erb +54 -0
  77. data/config/routes.rb +4 -0
  78. data/lib/mumuki/laboratory.rb +1 -0
  79. data/lib/mumuki/laboratory/controllers.rb +1 -0
  80. data/lib/mumuki/laboratory/controllers/authorization.rb +5 -1
  81. data/lib/mumuki/laboratory/controllers/notifications.rb +2 -2
  82. data/lib/mumuki/laboratory/controllers/validate_access_mode.rb +15 -0
  83. data/lib/mumuki/laboratory/locales/en.yml +35 -1
  84. data/lib/mumuki/laboratory/locales/es-CL.yml +35 -1
  85. data/lib/mumuki/laboratory/locales/es.yml +36 -2
  86. data/lib/mumuki/laboratory/locales/pt.yml +35 -1
  87. data/lib/mumuki/laboratory/mailers/message_delivery.rb +15 -0
  88. data/lib/mumuki/laboratory/version.rb +1 -1
  89. data/spec/controllers/users_controller_spec.rb +48 -0
  90. data/spec/dummy/db/schema.rb +7 -1
  91. data/spec/features/menu_bar_spec.rb +3 -2
  92. data/spec/features/not_found_private_flow_spec.rb +1 -1
  93. data/spec/features/notifications_flow_spec.rb +2 -1
  94. data/spec/features/read_only_flow_spec.rb +920 -0
  95. data/spec/javascripts/editors-spec.js +21 -3
  96. data/spec/javascripts/submissions-store-spec.js +11 -0
  97. data/spec/mailers/previews/user_mailer_preview.rb +87 -1
  98. metadata +35 -19
  99. data/app/views/notifications/_discussion.html.erb +0 -1
  100. data/app/views/notifications/_exam_authorization_request.html.erb +0 -1
  101. data/app/views/notifications/_message.html.erb +0 -1
@@ -4,10 +4,6 @@
4
4
  <%= t :its_been_a_while %>
5
5
 
6
6
  <%= t :dont_leave_us %>
7
- <%= t :keep_learning %>
8
7
 
9
8
 
10
9
  © Copyright 2015-<%= Time.current.year %> Mumuki.
11
-
12
- <%= t :stop_emails? %>
13
- <%= t :cancel_subscription %>
@@ -1,349 +1,7 @@
1
- <span class="muMailPreviewText" style="display:none; font-size:0px; line-height:0px; max-height:0px; max-width:0px; opacity:0; overflow:hidden; visibility:hidden; mso-hide:all;"><%= t :dont_leave_us %></span><!--<![endif]-->
2
- <center>
3
- <table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable">
4
- <tbody><tr>
5
- <td align="center" valign="top" id="bodyCell">
6
- <!-- BEGIN TEMPLATE // -->
7
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
8
- <tbody><tr>
9
- <td align="center" valign="top" id="templateHeader" data-template-container="">
10
- <!--[if (gte mso 9)|(IE)]>
11
- <table align="center" border="0" cellspacing="0" cellpadding="0" width="600" style="width:600px;">
12
- <tr>
13
- <td align="center" valign="top" width="600" style="width:600px;">
14
- <![endif]-->
15
- <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" class="templateContainer">
16
- <tbody><tr>
17
- <td valign="top" class="headerContainer"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailTextBlock" style="min-width:100%;">
18
- <tbody class="muMailTextBlockOuter">
19
- <tr>
20
- <td valign="top" class="muMailTextBlockInner" style="padding-top:9px;">
21
- <!--[if mso]>
22
- <table align="left" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;">
23
- <tr>
24
- <![endif]-->
25
-
26
- <!--[if mso]>
27
- <td valign="top" width="600" style="width:600px;">
28
- <![endif]-->
29
- <table align="left" border="0" cellpadding="0" cellspacing="0" style="max-width:100%; min-width:100%;" width="100%" class="muMailTextContentContainer">
30
- <tbody><tr>
31
-
32
- <td valign="top" class="muMailTextContent" style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
33
-
34
- <h1><span style="color:#FFFFFF"><%= t :we_miss_you %></span></h1>
35
-
36
- </td>
37
- </tr>
38
- </tbody></table>
39
- <!--[if mso]>
40
- </td>
41
- <![endif]-->
42
-
43
- <!--[if mso]>
44
- </tr>
45
- </table>
46
- <![endif]-->
47
- </td>
48
- </tr>
49
- </tbody>
50
- </table></td>
51
- </tr>
52
- </tbody></table>
53
- <!--[if (gte mso 9)|(IE)]>
54
- </td>
55
- </tr>
56
- </table>
57
- <![endif]-->
58
- </td>
59
- </tr>
60
- <tr>
61
- <td align="center" valign="top" id="templateBody" data-template-container="">
62
- <!--[if (gte mso 9)|(IE)]>
63
- <table align="center" border="0" cellspacing="0" cellpadding="0" width="600" style="width:600px;">
64
- <tr>
65
- <td align="center" valign="top" width="600" style="width:600px;">
66
- <![endif]-->
67
- <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" class="templateContainer">
68
- <tbody><tr>
69
- <td valign="top" class="bodyContainer"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailCaptionBlock">
70
- <tbody class="muMailCaptionBlockOuter">
71
- <tr>
72
- <td class="muMailCaptionBlockInner" valign="top" style="padding:9px;">
73
-
74
-
75
-
76
-
77
- <table border="0" cellpadding="0" cellspacing="0" class="muMailCaptionRightContentOuter" width="100%">
78
- <tbody><tr>
79
- <td valign="top" class="muMailCaptionRightContentInner" style="padding:0 9px ;">
80
- <table align="left" border="0" cellpadding="0" cellspacing="0" class="muMailCaptionRightImageContentContainer" width="264">
81
- <tbody><tr>
82
- <td class="muMailCaptionRightImageContent" align="center" valign="top">
83
-
84
-
85
-
86
- <img alt="" src="https://gallery.mailchimp.com/046b6c670d9f80ebd6c5d075b/images/225fe60f-780a-451e-90aa-afb01f88a1b4.png" width="159" style="max-width:159px;" class="muMailImage">
87
-
88
-
89
-
90
- </td>
91
- </tr>
92
- </tbody></table>
93
- <table class="muMailCaptionRightTextContentContainer" align="right" border="0" cellpadding="0" cellspacing="0" width="264">
94
- <tbody><tr>
95
- <td valign="top" class="muMailTextContent">
96
- <h3 class="null" style="text-align: center;"><br>
97
- <span style="font-size:24px"><%= t :its_been_a_while %></span></h3>
98
-
99
- <div style="text-align: center;"><br>
100
- <span style="font-size:16px"><%= t :dont_leave_us %></span></div>
101
-
102
- </td>
103
- </tr>
104
- </tbody></table>
105
- </td>
106
- </tr>
107
- </tbody></table>
108
-
109
-
110
-
111
-
112
- </td>
113
- </tr>
114
- </tbody>
115
- </table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailButtonBlock" style="min-width:100%;">
116
- <tbody class="muMailButtonBlockOuter">
117
- <tr>
118
- <td style="padding-top:0; padding-right:18px; padding-bottom:18px; padding-left:18px;" valign="top" align="center" class="muMailButtonBlockInner">
119
- <table border="0" cellpadding="0" cellspacing="0" class="muMailButtonContentContainer" style="border-collapse: separate !important;border-radius: 3px;background-color: #FF5B81;">
120
- <tbody>
121
- <tr>
122
- <td align="center" valign="middle" class="muMailButtonContent" style="font-family: Helvetica; font-size: 18px; padding: 18px;">
123
- <a class="muMailButton " title=<%= t :keep_learning %> href=<%= Mumukit::Platform.laboratory.organic_url @user.last_organization %> target="_self" style="font-weight: bold;letter-spacing: -0.5px;line-height: 100%;text-align: center;text-decoration: none;color: #FFFFFF;"><%= t :keep_learning %></a>
124
- </td>
125
- </tr>
126
- </tbody>
127
- </table>
128
- </td>
129
- </tr>
130
- </tbody>
131
- </table></td>
132
- </tr>
133
- </tbody></table>
134
- <!--[if (gte mso 9)|(IE)]>
135
- </td>
136
- </tr>
137
- </table>
138
- <![endif]-->
139
- </td>
140
- </tr>
141
- <tr>
142
- <td align="center" valign="top" id="templateFooter" data-template-container="">
143
- <!--[if (gte mso 9)|(IE)]>
144
- <table align="center" border="0" cellspacing="0" cellpadding="0" width="600" style="width:600px;">
145
- <tr>
146
- <td align="center" valign="top" width="600" style="width:600px;">
147
- <![endif]-->
148
- <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" class="templateContainer">
149
- <tbody><tr>
150
- <td valign="top" class="footerContainer"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailFollowBlock" style="min-width:100%;">
151
- <tbody class="muMailFollowBlockOuter">
152
- <tr>
153
- <td align="center" valign="top" style="padding:9px" class="muMailFollowBlockInner">
154
- <table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailFollowContentContainer" style="min-width:100%;">
155
- <tbody><tr>
156
- <td align="center" style="padding-left:9px;padding-right:9px;">
157
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="min-width:100%;" class="muMailFollowContent">
158
- <tbody><tr>
159
- <td align="center" valign="top" style="padding-top:9px; padding-right:9px; padding-left:9px;">
160
- <table align="center" border="0" cellpadding="0" cellspacing="0">
161
- <tbody><tr>
162
- <td align="center" valign="top">
163
- <!--[if mso]>
164
- <table align="center" border="0" cellspacing="0" cellpadding="0">
165
- <tr>
166
- <![endif]-->
167
-
168
- <!--[if mso]>
169
- <td align="center" valign="top">
170
- <![endif]-->
171
-
172
-
173
- <table align="left" border="0" cellpadding="0" cellspacing="0" style="display:inline;">
174
- <tbody><tr>
175
- <td valign="top" style="padding-right:10px; padding-bottom:9px;" class="muMailFollowContentItemContainer">
176
- <table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailFollowContentItem">
177
- <tbody><tr>
178
- <td align="left" valign="middle" style="padding-top:5px; padding-right:10px; padding-bottom:5px; padding-left:9px;">
179
- <table align="left" border="0" cellpadding="0" cellspacing="0" width="">
180
- <tbody><tr>
181
-
182
- <td align="center" valign="middle" width="24" class="muMailFollowIconContent">
183
- <a href="http://www.facebook.com/MumukiOrg" target="_blank"><img src="https://cdn-images.mailchimp.com/icons/social-block-v2/outline-light-facebook-48.png" style="display:block;" height="24" width="24" class=""></a>
184
- </td>
185
-
186
-
187
- </tr>
188
- </tbody></table>
189
- </td>
190
- </tr>
191
- </tbody></table>
192
- </td>
193
- </tr>
194
- </tbody></table>
195
-
196
- <!--[if mso]>
197
- </td>
198
- <![endif]-->
199
-
200
- <!--[if mso]>
201
- <td align="center" valign="top">
202
- <![endif]-->
203
-
204
-
205
- <table align="left" border="0" cellpadding="0" cellspacing="0" style="display:inline;">
206
- <tbody><tr>
207
- <td valign="top" style="padding-right:10px; padding-bottom:9px;" class="muMailFollowContentItemContainer">
208
- <table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailFollowContentItem">
209
- <tbody><tr>
210
- <td align="left" valign="middle" style="padding-top:5px; padding-right:10px; padding-bottom:5px; padding-left:9px;">
211
- <table align="left" border="0" cellpadding="0" cellspacing="0" width="">
212
- <tbody><tr>
213
-
214
- <td align="center" valign="middle" width="24" class="muMailFollowIconContent">
215
- <a href="http://www.twitter.com/MumukiOrg" target="_blank"><img src="https://cdn-images.mailchimp.com/icons/social-block-v2/outline-light-twitter-48.png" style="display:block;" height="24" width="24" class=""></a>
216
- </td>
217
-
218
-
219
- </tr>
220
- </tbody></table>
221
- </td>
222
- </tr>
223
- </tbody></table>
224
- </td>
225
- </tr>
226
- </tbody></table>
227
-
228
- <!--[if mso]>
229
- </td>
230
- <![endif]-->
231
-
232
- <!--[if mso]>
233
- <td align="center" valign="top">
234
- <![endif]-->
235
-
236
-
237
- <table align="left" border="0" cellpadding="0" cellspacing="0" style="display:inline;">
238
- <tbody><tr>
239
- <td valign="top" style="padding-right:0; padding-bottom:9px;" class="muMailFollowContentItemContainer">
240
- <table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailFollowContentItem">
241
- <tbody><tr>
242
- <td align="left" valign="middle" style="padding-top:5px; padding-right:10px; padding-bottom:5px; padding-left:9px;">
243
- <table align="left" border="0" cellpadding="0" cellspacing="0" width="">
244
- <tbody><tr>
245
-
246
- <td align="center" valign="middle" width="24" class="muMailFollowIconContent">
247
- <a href="https://www.youtube.com/channel/UCQmkknsaTT2TDLT_-MDSGvQ" target="_blank"><img src="https://cdn-images.mailchimp.com/icons/social-block-v2/outline-light-youtube-48.png" style="display:block;" height="24" width="24" class=""></a>
248
- </td>
249
-
250
-
251
- </tr>
252
- </tbody></table>
253
- </td>
254
- </tr>
255
- </tbody></table>
256
- </td>
257
- </tr>
258
- </tbody></table>
259
-
260
- <!--[if mso]>
261
- </td>
262
- <![endif]-->
263
-
264
- <!--[if mso]>
265
- </tr>
266
- </table>
267
- <![endif]-->
268
- </td>
269
- </tr>
270
- </tbody></table>
271
- </td>
272
- </tr>
273
- </tbody></table>
274
- </td>
275
- </tr>
276
- </tbody></table>
277
-
278
- </td>
279
- </tr>
280
- </tbody>
281
- </table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailDividerBlock" style="min-width:100%;">
282
- <tbody class="muMailDividerBlockOuter">
283
- <tr>
284
- <td class="muMailDividerBlockInner" style="min-width:100%; padding:18px;">
285
- <table class="muMailDividerContent" border="0" cellpadding="0" cellspacing="0" width="100%" style="min-width: 100%;border-top: 2px solid #505050;">
286
- <tbody><tr>
287
- <td>
288
- <span></span>
289
- </td>
290
- </tr>
291
- </tbody></table>
292
- <!--
293
- <td class="muMailDividerBlockInner" style="padding: 18px;">
294
- <hr class="muMailDividerContent" style="border-bottom-color:none; border-left-color:none; border-right-color:none; border-bottom-width:0; border-left-width:0; border-right-width:0; margin-top:0; margin-right:0; margin-bottom:0; margin-left:0;" />
295
- -->
296
- </td>
297
- </tr>
298
- </tbody>
299
- </table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailTextBlock" style="min-width:100%;">
300
- <tbody class="muMailTextBlockOuter">
301
- <tr>
302
- <td valign="top" class="muMailTextBlockInner" style="padding-top:9px;">
303
- <!--[if mso]>
304
- <table align="left" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;">
305
- <tr>
306
- <![endif]-->
307
-
308
- <!--[if mso]>
309
- <td valign="top" width="600" style="width:600px;">
310
- <![endif]-->
311
- <table align="left" border="0" cellpadding="0" cellspacing="0" style="max-width:100%; min-width:100%;" width="100%" class="muMailTextContentContainer">
312
- <tbody><tr>
313
-
314
- <td valign="top" class="muMailTextContent" style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
315
-
316
- © Copyright 2015-<%= Time.current.year %>&nbsp;<a href="https://mumuki.org/home/">Mumuki</a><em>.</em><br>
317
- <br>
318
- <%= t :stop_emails? %><br>
319
- <%= link_to t(:cancel_subscription), @organization.url_for("/user/unsubscribe?id=#{@unsubscribe_code}"), target: :_blank %>
320
- </td>
321
- </tr>
322
- </tbody></table>
323
- <!--[if mso]>
324
- </td>
325
- <![endif]-->
326
-
327
- <!--[if mso]>
328
- </tr>
329
- </table>
330
- <![endif]-->
331
- </td>
332
- </tr>
333
- </tbody>
334
- </table></td>
335
- </tr>
336
- </tbody></table>
337
- <!--[if (gte mso 9)|(IE)]>
338
- </td>
339
- </tr>
340
- </table>
341
- <![endif]-->
342
- </td>
343
- </tr>
344
- </tbody></table>
345
- <!-- // END TEMPLATE -->
346
- </td>
347
- </tr>
348
- </tbody></table>
349
- </center>
1
+ <%= render partial: 'user_mailer/mail_template', locals: {
2
+ title: t(:we_miss_you),
3
+ subtitle: t(:its_been_a_while),
4
+ text: t(:dont_leave_us),
5
+ button: t(:keep_learning),
6
+ url: Mumukit::Platform.laboratory.organic_url(@user.last_organization)
7
+ } %>
@@ -4,10 +4,6 @@
4
4
  <%= t :its_been_a_while %>
5
5
 
6
6
  <%= t :dont_leave_us %>
7
- <%= t :keep_learning %>
8
7
 
9
8
 
10
9
  © Copyright 2015-<%= Time.current.year %> Mumuki.
11
-
12
- <%= t :stop_emails? %>
13
- <%= t :cancel_subscription %>
@@ -0,0 +1,336 @@
1
+ <span class="muMailPreviewText" style="display:none; font-size:0px; line-height:0px; max-height:0px; max-width:0px; opacity:0; overflow:hidden; visibility:hidden; mso-hide:all;"><%= title %></span><!--<![endif]-->
2
+ <center>
3
+ <table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable">
4
+ <tbody><tr>
5
+ <td align="center" valign="top" id="bodyCell">
6
+ <!-- BEGIN TEMPLATE // -->
7
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
8
+ <tbody><tr>
9
+ <td align="center" valign="top" id="templateHeader" data-template-container="">
10
+ <!--[if (gte mso 9)|(IE)]>
11
+ <table align="center" border="0" cellspacing="0" cellpadding="0" width="600" style="width:600px;">
12
+ <tr>
13
+ <td align="center" valign="top" width="600" style="width:600px;">
14
+ <![endif]-->
15
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" class="templateContainer">
16
+ <tbody><tr>
17
+ <td valign="top" class="headerContainer"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailTextBlock" style="min-width:100%;">
18
+ <tbody class="muMailTextBlockOuter">
19
+ <tr>
20
+ <td valign="top" class="muMailTextBlockInner" style="padding-top:9px;">
21
+ <!--[if mso]>
22
+ <table align="left" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;">
23
+ <tr>
24
+ <![endif]-->
25
+
26
+ <!--[if mso]>
27
+ <td valign="top" width="600" style="width:600px;">
28
+ <![endif]-->
29
+ <table align="left" border="0" cellpadding="0" cellspacing="0" style="max-width:100%; min-width:100%;" width="100%" class="muMailTextContentContainer">
30
+ <tbody><tr>
31
+
32
+ <td valign="top" class="muMailTextContent" style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
33
+
34
+ <h1><span style="color:#FFFFFF"><%= title %></span></h1>
35
+
36
+ </td>
37
+ </tr>
38
+ </tbody></table>
39
+ <!--[if mso]>
40
+ </td>
41
+ <![endif]-->
42
+
43
+ <!--[if mso]>
44
+ </tr>
45
+ </table>
46
+ <![endif]-->
47
+ </td>
48
+ </tr>
49
+ </tbody>
50
+ </table></td>
51
+ </tr>
52
+ </tbody></table>
53
+ <!--[if (gte mso 9)|(IE)]>
54
+ </td>
55
+ </tr>
56
+ </table>
57
+ <![endif]-->
58
+ </td>
59
+ </tr>
60
+ <tr>
61
+ <td align="center" valign="top" id="templateBody" data-template-container="">
62
+ <!--[if (gte mso 9)|(IE)]>
63
+ <table align="center" border="0" cellspacing="0" cellpadding="0" width="600" style="width:600px;">
64
+ <tr>
65
+ <td align="center" valign="top" width="600" style="width:600px;">
66
+ <![endif]-->
67
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" class="templateContainer">
68
+ <tbody><tr>
69
+ <td valign="top" class="bodyContainer"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailCaptionBlock">
70
+ <tbody class="muMailCaptionBlockOuter">
71
+ <tr>
72
+ <td class="muMailCaptionBlockInner" valign="top" style="padding:9px;">
73
+
74
+
75
+
76
+
77
+ <table border="0" cellpadding="0" cellspacing="0" class="muMailCaptionRightContentOuter" width="100%">
78
+ <tbody><tr>
79
+ <td valign="top" class="muMailCaptionRightContentInner" style="padding:0 9px ;">
80
+ <table class="muMailCaptionRightTextContentContainer" align="center" border="0" cellpadding="0" cellspacing="0" width="264">
81
+ <tbody><tr>
82
+ <td valign="top" class="muMailTextContent">
83
+ <h3 class="null" style="text-align: center;"><br>
84
+ <span style="font-size:24px"><%= subtitle %></span></h3>
85
+
86
+ <div style="text-align: center;"><br>
87
+ <span style="font-size:16px"><%= text %></span></div>
88
+
89
+ </td>
90
+ </tr>
91
+ </tbody></table>
92
+ </td>
93
+ </tr>
94
+ </tbody></table>
95
+
96
+
97
+
98
+
99
+ </td>
100
+ </tr>
101
+ </tbody>
102
+ </table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailButtonBlock" style="min-width:100%;">
103
+ <tbody class="muMailButtonBlockOuter">
104
+ <tr>
105
+ <td style="padding-top:0; padding-right:18px; padding-bottom:18px; padding-left:18px;" valign="top" align="center" class="muMailButtonBlockInner">
106
+ <table border="0" cellpadding="0" cellspacing="0" class="muMailButtonContentContainer" style="border-collapse: separate !important;border-radius: 3px;background-color: #FF5B81;">
107
+ <tbody>
108
+ <tr>
109
+ <td align="center" valign="middle" class="muMailButtonContent" style="font-family: Helvetica; font-size: 18px; padding: 18px;">
110
+ <a class="muMailButton" title="<%= button %>" href="<%= url %>" target="_blank" style="font-weight: bold;letter-spacing: -0.5px;line-height: 100%;text-align: center;text-decoration: none;color: #FFFFFF;"><%= button %></a>
111
+ </td>
112
+ </tr>
113
+ </tbody>
114
+ </table>
115
+ </td>
116
+ </tr>
117
+ </tbody>
118
+ </table></td>
119
+ </tr>
120
+ </tbody></table>
121
+ <!--[if (gte mso 9)|(IE)]>
122
+ </td>
123
+ </tr>
124
+ </table>
125
+ <![endif]-->
126
+ </td>
127
+ </tr>
128
+ <tr>
129
+ <td align="center" valign="top" id="templateFooter" data-template-container="">
130
+ <!--[if (gte mso 9)|(IE)]>
131
+ <table align="center" border="0" cellspacing="0" cellpadding="0" width="600" style="width:600px;">
132
+ <tr>
133
+ <td align="center" valign="top" width="600" style="width:600px;">
134
+ <![endif]-->
135
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" class="templateContainer">
136
+ <tbody><tr>
137
+ <td valign="top" class="footerContainer"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailFollowBlock" style="min-width:100%;">
138
+ <tbody class="muMailFollowBlockOuter">
139
+ <tr>
140
+ <td align="center" valign="top" style="padding:9px" class="muMailFollowBlockInner">
141
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailFollowContentContainer" style="min-width:100%;">
142
+ <tbody><tr>
143
+ <td align="center" style="padding-left:9px;padding-right:9px;">
144
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" style="min-width:100%;" class="muMailFollowContent">
145
+ <tbody><tr>
146
+ <td align="center" valign="top" style="padding-top:9px; padding-right:9px; padding-left:9px;">
147
+ <table align="center" border="0" cellpadding="0" cellspacing="0">
148
+ <tbody><tr>
149
+ <td align="center" valign="top">
150
+ <!--[if mso]>
151
+ <table align="center" border="0" cellspacing="0" cellpadding="0">
152
+ <tr>
153
+ <![endif]-->
154
+
155
+ <!--[if mso]>
156
+ <td align="center" valign="top">
157
+ <![endif]-->
158
+
159
+
160
+ <table align="left" border="0" cellpadding="0" cellspacing="0" style="display:inline;">
161
+ <tbody><tr>
162
+ <td valign="top" style="padding-right:10px; padding-bottom:9px;" class="muMailFollowContentItemContainer">
163
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailFollowContentItem">
164
+ <tbody><tr>
165
+ <td align="left" valign="middle" style="padding-top:5px; padding-right:10px; padding-bottom:5px; padding-left:9px;">
166
+ <table align="left" border="0" cellpadding="0" cellspacing="0" width="">
167
+ <tbody><tr>
168
+
169
+ <td align="center" valign="middle" width="24" class="muMailFollowIconContent">
170
+ <a href="http://www.facebook.com/MumukiOrg" target="_blank"><img src="https://cdn-images.mailchimp.com/icons/social-block-v2/outline-light-facebook-48.png" style="display:block;" height="24" width="24" class=""></a>
171
+ </td>
172
+
173
+
174
+ </tr>
175
+ </tbody></table>
176
+ </td>
177
+ </tr>
178
+ </tbody></table>
179
+ </td>
180
+ </tr>
181
+ </tbody></table>
182
+
183
+ <!--[if mso]>
184
+ </td>
185
+ <![endif]-->
186
+
187
+ <!--[if mso]>
188
+ <td align="center" valign="top">
189
+ <![endif]-->
190
+
191
+
192
+ <table align="left" border="0" cellpadding="0" cellspacing="0" style="display:inline;">
193
+ <tbody><tr>
194
+ <td valign="top" style="padding-right:10px; padding-bottom:9px;" class="muMailFollowContentItemContainer">
195
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailFollowContentItem">
196
+ <tbody><tr>
197
+ <td align="left" valign="middle" style="padding-top:5px; padding-right:10px; padding-bottom:5px; padding-left:9px;">
198
+ <table align="left" border="0" cellpadding="0" cellspacing="0" width="">
199
+ <tbody><tr>
200
+
201
+ <td align="center" valign="middle" width="24" class="muMailFollowIconContent">
202
+ <a href="http://www.twitter.com/MumukiOrg" target="_blank"><img src="https://cdn-images.mailchimp.com/icons/social-block-v2/outline-light-twitter-48.png" style="display:block;" height="24" width="24" class=""></a>
203
+ </td>
204
+
205
+
206
+ </tr>
207
+ </tbody></table>
208
+ </td>
209
+ </tr>
210
+ </tbody></table>
211
+ </td>
212
+ </tr>
213
+ </tbody></table>
214
+
215
+ <!--[if mso]>
216
+ </td>
217
+ <![endif]-->
218
+
219
+ <!--[if mso]>
220
+ <td align="center" valign="top">
221
+ <![endif]-->
222
+
223
+
224
+ <table align="left" border="0" cellpadding="0" cellspacing="0" style="display:inline;">
225
+ <tbody><tr>
226
+ <td valign="top" style="padding-right:0; padding-bottom:9px;" class="muMailFollowContentItemContainer">
227
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailFollowContentItem">
228
+ <tbody><tr>
229
+ <td align="left" valign="middle" style="padding-top:5px; padding-right:10px; padding-bottom:5px; padding-left:9px;">
230
+ <table align="left" border="0" cellpadding="0" cellspacing="0" width="">
231
+ <tbody><tr>
232
+
233
+ <td align="center" valign="middle" width="24" class="muMailFollowIconContent">
234
+ <a href="https://www.youtube.com/channel/UCQmkknsaTT2TDLT_-MDSGvQ" target="_blank"><img src="https://cdn-images.mailchimp.com/icons/social-block-v2/outline-light-youtube-48.png" style="display:block;" height="24" width="24" class=""></a>
235
+ </td>
236
+
237
+
238
+ </tr>
239
+ </tbody></table>
240
+ </td>
241
+ </tr>
242
+ </tbody></table>
243
+ </td>
244
+ </tr>
245
+ </tbody></table>
246
+
247
+ <!--[if mso]>
248
+ </td>
249
+ <![endif]-->
250
+
251
+ <!--[if mso]>
252
+ </tr>
253
+ </table>
254
+ <![endif]-->
255
+ </td>
256
+ </tr>
257
+ </tbody></table>
258
+ </td>
259
+ </tr>
260
+ </tbody></table>
261
+ </td>
262
+ </tr>
263
+ </tbody></table>
264
+
265
+ </td>
266
+ </tr>
267
+ </tbody>
268
+ </table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailDividerBlock" style="min-width:100%;">
269
+ <tbody class="muMailDividerBlockOuter">
270
+ <tr>
271
+ <td class="muMailDividerBlockInner" style="min-width:100%; padding:18px;">
272
+ <table class="muMailDividerContent" border="0" cellpadding="0" cellspacing="0" width="100%" style="min-width: 100%;border-top: 2px solid #505050;">
273
+ <tbody><tr>
274
+ <td>
275
+ <span></span>
276
+ </td>
277
+ </tr>
278
+ </tbody></table>
279
+ <!--
280
+ <td class="muMailDividerBlockInner" style="padding: 18px;">
281
+ <hr class="muMailDividerContent" style="border-bottom-color:none; border-left-color:none; border-right-color:none; border-bottom-width:0; border-left-width:0; border-right-width:0; margin-top:0; margin-right:0; margin-bottom:0; margin-left:0;" />
282
+ -->
283
+ </td>
284
+ </tr>
285
+ </tbody>
286
+ </table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="muMailTextBlock" style="min-width:100%;">
287
+ <tbody class="muMailTextBlockOuter">
288
+ <tr>
289
+ <td valign="top" class="muMailTextBlockInner" style="padding-top:9px;">
290
+ <!--[if mso]>
291
+ <table align="left" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;">
292
+ <tr>
293
+ <![endif]-->
294
+
295
+ <!--[if mso]>
296
+ <td valign="top" width="600" style="width:600px;">
297
+ <![endif]-->
298
+ <table align="left" border="0" cellpadding="0" cellspacing="0" style="max-width:100%; min-width:100%;" width="100%" class="muMailTextContentContainer">
299
+ <tbody><tr>
300
+
301
+ <td valign="top" class="muMailTextContent" style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
302
+
303
+ © Copyright 2015-<%= Time.current.year %>&nbsp;<a href="https://mumuki.org/home/">Mumuki</a><em>.</em><br>
304
+ <br>
305
+ <%= t :stop_emails? %><br>
306
+ <%= link_to t(:manage_notification_subscriptions), @organization.url_for("/user/notifications/manage"), target: :_blank %>
307
+ </td>
308
+ </tr>
309
+ </tbody></table>
310
+ <!--[if mso]>
311
+ </td>
312
+ <![endif]-->
313
+
314
+ <!--[if mso]>
315
+ </tr>
316
+ </table>
317
+ <![endif]-->
318
+ </td>
319
+ </tr>
320
+ </tbody>
321
+ </table></td>
322
+ </tr>
323
+ </tbody></table>
324
+ <!--[if (gte mso 9)|(IE)]>
325
+ </td>
326
+ </tr>
327
+ </table>
328
+ <![endif]-->
329
+ </td>
330
+ </tr>
331
+ </tbody></table>
332
+ <!-- // END TEMPLATE -->
333
+ </td>
334
+ </tr>
335
+ </tbody></table>
336
+ </center>