Send notification emails to followers and members when a group publishes

a new event

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2021-11-10 16:36:32 +01:00
parent 800060a926
commit 5c7067b22b
65 changed files with 5491 additions and 2767 deletions

View File

@@ -32,7 +32,7 @@ msgid "Activate my account"
msgstr "Activa el meu compte"
#, elixir-format
#: lib/web/templates/email/email.html.heex:123
#: lib/web/templates/email/email.html.heex:120
#: lib/web/templates/email/email.text.eex:9
msgid "Ask the community on Framacolibri"
msgstr "Pregunta a la comunitat a Framacolibri"
@@ -49,7 +49,7 @@ msgid "Event"
msgstr "Activitat"
#, elixir-format
#: lib/web/email/user.ex:48
#: lib/web/email/user.ex:49
msgid "Instructions to reset your password on %{instance}"
msgstr "Instruccions per canviar la contrasenya a %{instance}"
@@ -142,7 +142,7 @@ msgid "You requested a new password for your account on %{instance}."
msgstr "Algú ha soŀlicitat a %{instance} una contrasenya nova."
#, elixir-format
#: lib/web/templates/email/email.html.heex:91
#: lib/web/templates/email/email.html.heex:88
msgid "Warning"
msgstr "Alerta"
@@ -354,17 +354,17 @@ msgid "What information do we collect?"
msgstr "Quina informació recollim?"
#, elixir-format
#: lib/web/email/user.ex:175
#: lib/web/email/user.ex:178
msgid "Mobilizon on %{instance}: confirm your email address"
msgstr "Mobilizon a %{instance}: confirma la teva adreça de correu"
#, elixir-format
#: lib/web/email/user.ex:155
#: lib/web/email/user.ex:157
msgid "Mobilizon on %{instance}: email changed"
msgstr "Mobilizon a %{instance}: s'ha canviat l'adreça de correu"
#, elixir-format
#: lib/web/email/notification.ex:49
#: lib/web/email/notification.ex:51
msgid "One event planned today"
msgid_plural "%{nb_events} events planned today"
msgstr[0] "Una activitat planificada per avui"
@@ -390,7 +390,7 @@ msgid "Come along!"
msgstr "Vine!"
#, elixir-format
#: lib/web/email/notification.ex:24
#: lib/web/email/notification.ex:25
msgid "Don't forget to go to %{title}"
msgstr "No t'oblidis d'anar a %{title}"
@@ -417,19 +417,19 @@ msgid "View the event on: %{link}"
msgstr "Vés a l'activitat actualitzada a %{link}"
#, elixir-format
#: lib/web/email/group.ex:31
#: lib/web/email/member.ex:31
msgid "You have been invited by %{inviter} to join group %{group}"
msgstr "%{inviter} t'ha convidat al grup %{group}"
#, elixir-format
#: lib/web/email/notification.ex:75
#: lib/web/email/notification.ex:78
msgid "One event planned this week"
msgid_plural "%{nb_events} events planned this week"
msgstr[0] "Una activitat planificada per aquesta setmana"
msgstr[1] "%{nb_events} planificades per aquesta setmana"
#, elixir-format
#: lib/web/email/notification.ex:98
#: lib/web/email/notification.ex:102
msgid "One participation request for event %{title} to process"
msgid_plural "%{number_participation_requests} participation requests for event %{title} to process"
msgstr[0] "Hi ha una soŀlicitud de participar a %{title} pendent de resoldre"
@@ -892,7 +892,7 @@ msgstr ""
"confirma l'adreça de correu que has introduït:"
#, elixir-format
#: lib/web/templates/email/email.html.heex:120
#: lib/web/templates/email/email.html.heex:117
#: lib/web/templates/email/email.text.eex:8
msgid "Need help? Is something not working as expected?"
msgstr "Necessites ajuda? Alguna cosa no funciona?"
@@ -954,7 +954,7 @@ msgid "%{instance} is powered by Mobilizon."
msgstr "%{instance} és un servidor de Mobilizon."
#, elixir-format
#: lib/web/templates/email/email.html.heex:148
#: lib/web/templates/email/email.html.heex:152
msgid "<b>%{instance}</b> is powered by Mobilizon."
msgstr "%{instance} és un servidor de Mobilizon."
@@ -1050,7 +1050,7 @@ msgstr ""
"l'enllaç de dalt i clica al botó de participació."
#, elixir-format
#: lib/web/templates/email/email.html.heex:149
#: lib/web/templates/email/email.html.heex:153
#: lib/web/templates/email/email.text.eex:11
msgid "Learn more about Mobilizon here!"
msgstr "Per aprendre més de Mobilizon."
@@ -1216,7 +1216,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message."
msgstr "Si no has fet tu aquest canvi, pots ignorar aquest missatge."
#, elixir-format
#: lib/web/templates/email/email.html.heex:95
#: lib/web/templates/email/email.html.heex:92
msgid "<b>Please do not use it for real purposes.</b>"
msgstr "<b>No ho facis servir més que proves, sisplau.</b>"
@@ -1235,7 +1235,7 @@ msgid "So long, and thanks for the fish!"
msgstr "Salut i canya al forçut!"
#, elixir-format
#: lib/web/email/group.ex:61
#: lib/web/email/member.ex:61
msgid "You have been removed from group %{group}"
msgstr "T'han tret del grup %{group}"
@@ -1289,7 +1289,7 @@ msgstr ""
"%{group_name} (%{group_address}). Ja no formes part del grup."
#, elixir-format
#: lib/web/email/group.ex:95
#: lib/web/email/group.ex:87
msgid "The group %{group} has been suspended on %{instance}"
msgstr "El grup %{group} ha estat suspès a %{instance}"
@@ -1580,14 +1580,14 @@ msgid "We're sorry, but something went wrong on our end."
msgstr "Ho sentim, s'ha produït un error al nostre costat."
#, elixir-format
#: lib/web/templates/email/email.html.heex:94
#: lib/web/templates/email/email.html.heex:91
#: lib/web/templates/email/email.text.eex:4
msgid "This is a demonstration site to test Mobilizon."
msgstr "Aquesta és una web de proves per provar la beta de Mobilizon."
#, elixir-format
#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr "El flux de %{name}"
@@ -1672,7 +1672,7 @@ msgstr "T'han aprovat la participació a %{title}"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:73
#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93
#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91
msgid "%{event}_participants"
msgstr ""
@@ -1754,6 +1754,7 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1780,16 +1781,18 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date_range.html.heex:10
#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "From the %{start} to the %{end}"
msgstr ""
#, elixir-format
#: lib/web/templates/email/participation/card/_metadata.html.heex:68
#: lib/web/templates/email/participation/card/_metadata.html.heex:70
msgid "Manage your participation"
msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date_range.html.heex:5
#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "On %{date} from %{start_time} to %{end_time}"
msgstr ""
@@ -1800,5 +1803,72 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/participation/card/_metadata.html.heex:50
#: lib/web/templates/email/participation/card/_metadata.text.eex:2
msgid "Online event"
msgstr ""
#, elixir-format
#: lib/web/templates/email/event_group_follower_notification.html.heex:13
msgid "%{group} scheduled a new event"
msgstr ""
#, elixir-format
#: lib/web/templates/email/event_group_follower_notification.text.eex:1
msgid "%{group} scheduled a new event:"
msgstr ""
#, elixir-format
#: lib/web/templates/email/participation/card/_metadata.text.eex:2
msgid "Address:"
msgstr ""
#, elixir-format
#: lib/web/templates/email/participation/card/_metadata.text.eex:1
msgid "Date:"
msgstr ""
#, elixir-format, fuzzy
#: lib/web/templates/email/participation/event_card.text.eex:5
msgid "Details:"
msgstr ""
#, elixir-format
#: lib/web/templates/email/email.html.heex:147
msgid "Manage your notification settings"
msgstr ""
#, elixir-format, fuzzy
#: lib/web/templates/email/participation/card/_metadata.text.eex:4
msgid "Manage your participation:"
msgstr ""
#, elixir-format
#: lib/web/templates/email/participation/card/_title.text.eex:3
#: lib/web/templates/email/participation/card/_title.text.eex:3
msgid "Organizer: %{organizer}"
msgstr ""
#, elixir-format, fuzzy
#: lib/web/templates/email/participation/card/_metadata.html.heex:92
msgid "Participate"
msgstr "S'ha aprovat la participació"
#, elixir-format, fuzzy
#: lib/web/templates/email/participation/card/_metadata.text.eex:4
msgid "Participate:"
msgstr "S'ha aprovat la participació"
#, elixir-format, fuzzy
#: lib/web/templates/email/participation/event_card.text.eex:7
msgid "Read more : %{url}"
msgstr ""
#, elixir-format
#: lib/web/templates/email/participation/card/_title.text.eex:1
msgid "Title: %{title}"
msgstr ""
#, elixir-format
#: lib/web/email/group.ex:42
msgid "📅 Just scheduled by %{group}: %{event}"
msgstr ""

View File

@@ -110,13 +110,14 @@ msgid "Current profile is not an administrator of the selected group"
msgstr "El perfil actual no administra el grup seleccionat"
#, elixir-format
#: lib/graphql/resolvers/user.ex:592
#: lib/graphql/resolvers/user.ex:593
msgid "Error while saving user settings"
msgstr "No s'han pogut desar les preferències"
#, elixir-format
#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242
#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79
#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342
#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79
msgid "Group not found"
msgstr "No s'ha trobat el grup"
@@ -154,6 +155,7 @@ msgstr ""
#: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -163,33 +165,33 @@ msgid "Registrations are not open"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:407
#: lib/graphql/resolvers/user.ex:408
msgid "The current password is invalid"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:450
#: lib/graphql/resolvers/user.ex:451
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:453
#: lib/graphql/resolvers/user.ex:454
msgid "The new email must be different"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:410
#: lib/graphql/resolvers/user.ex:411
msgid "The new password must be different"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519
#: lib/graphql/resolvers/user.ex:522
#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520
#: lib/graphql/resolvers/user.ex:523
msgid "The password provided is invalid"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:414
#: lib/graphql/resolvers/user.ex:415
msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
msgstr ""
@@ -209,12 +211,12 @@ msgid "Unable to validate user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:500
#: lib/graphql/resolvers/user.ex:501
msgid "User already disabled"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:567
#: lib/graphql/resolvers/user.ex:568
msgid "User requested is not logged-in"
msgstr ""
@@ -239,12 +241,12 @@ msgid "You may not list groups unless moderator."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:465
#: lib/graphql/resolvers/user.ex:466
msgid "You need to be logged-in to change your email"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:422
#: lib/graphql/resolvers/user.ex:423
msgid "You need to be logged-in to change your password"
msgstr ""
@@ -254,7 +256,7 @@ msgid "You need to be logged-in to delete a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:527
#: lib/graphql/resolvers/user.ex:528
msgid "You need to be logged-in to delete your account"
msgstr ""
@@ -350,7 +352,7 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75
#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
@@ -370,8 +372,8 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355
#: lib/graphql/resolvers/event.ex:407
#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
@@ -388,7 +390,7 @@ msgid "Internal Error"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/discussion.ex:225
#: lib/graphql/resolvers/discussion.ex:219
msgid "No discussion with ID %{id}"
msgstr ""
@@ -500,7 +502,7 @@ msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415
#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
msgid "User not found"
msgstr ""
@@ -566,7 +568,7 @@ msgid "You cannot delete this comment"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:403
#: lib/graphql/resolvers/event.ex:408
msgid "You cannot delete this event"
msgstr ""
@@ -601,22 +603,22 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/admin.ex:246
#: lib/graphql/resolvers/admin.ex:255
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/admin.ex:230
#: lib/graphql/resolvers/admin.ex:239
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/admin.ex:272
#: lib/graphql/resolvers/admin.ex:281
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/discussion.ex:90
#: lib/graphql/resolvers/discussion.ex:84
msgid "You need to be logged-in to access discussions"
msgstr ""
@@ -626,7 +628,7 @@ msgid "You need to be logged-in to access resources"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:313
#: lib/graphql/resolvers/event.ex:318
msgid "You need to be logged-in to create events"
msgstr ""
@@ -646,7 +648,7 @@ msgid "You need to be logged-in to create resources"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:412
#: lib/graphql/resolvers/event.ex:417
msgid "You need to be logged-in to delete an event"
msgstr ""
@@ -671,7 +673,7 @@ msgid "You need to be logged-in to leave an event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:369
#: lib/graphql/resolvers/event.ex:374
msgid "You need to be logged-in to update an event"
msgstr ""
@@ -776,12 +778,12 @@ msgid "Profile is not administrator for the group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:358
#: lib/graphql/resolvers/event.ex:363
msgid "You can't edit this event."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:361
#: lib/graphql/resolvers/event.ex:366
msgid "You can't attribute this event to this profile."
msgstr ""
@@ -801,17 +803,17 @@ msgid "You don't have the right to remove this member."
msgstr ""
#, elixir-format
#: lib/mobilizon/actors/actor.ex:349
#: lib/mobilizon/actors/actor.ex:350
msgid "This username is already taken."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/discussion.ex:87
#: lib/graphql/resolvers/discussion.ex:81
msgid "You must provide either an ID or a slug to access a discussion"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:308
#: lib/graphql/resolvers/event.ex:313
msgid "Organizer profile is not owned by the user"
msgstr ""
@@ -837,7 +839,7 @@ msgid "Error while creating resource"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:483
#: lib/graphql/resolvers/user.ex:484
msgid "Invalid activation token"
msgstr ""
@@ -847,18 +849,18 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:294
#: lib/graphql/resolvers/event.ex:299
msgid "Organizer profile doesn't have permission to create an event on behalf of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:349
#: lib/graphql/resolvers/event.ex:354
msgid "This profile doesn't have permission to update an event on behalf of this group"
msgstr ""
@@ -873,12 +875,12 @@ msgid "Comment not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/discussion.ex:129
#: lib/graphql/resolvers/discussion.ex:123
msgid "Error while creating a discussion"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:606
#: lib/graphql/resolvers/user.ex:607
msgid "Error while updating locale"
msgstr ""
@@ -898,12 +900,12 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:447
#: lib/graphql/resolvers/user.ex:448
msgid "Failed to update user email"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:479
#: lib/graphql/resolvers/user.ex:480
msgid "Failed to validate user email"
msgstr ""
@@ -923,7 +925,7 @@ msgid "You are not the comment creator"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:404
#: lib/graphql/resolvers/user.ex:405
msgid "You cannot change your password."
msgstr ""
@@ -953,16 +955,56 @@ msgid "Only admins can create groups"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:301
#: lib/graphql/resolvers/event.ex:306
msgid "Only groups can create events"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:287
#: lib/graphql/resolvers/event.ex:292
msgid "Unknown error while creating event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:460
#: lib/graphql/resolvers/user.ex:461
msgid "User cannot change email"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:364
msgid "Follow does not match your account"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:368
msgid "Follow not found"
msgstr ""
#, elixir-format, fuzzy
#: lib/graphql/resolvers/user.ex:327
msgid "Profile with username %{username} not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:322
msgid "This profile does not belong to you"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:338
msgid "You are already following this group"
msgstr ""
#, elixir-format, fuzzy
#: lib/graphql/resolvers/group.ex:347
msgid "You need to be logged-in to follow a group"
msgstr ""
#, elixir-format, fuzzy
#: lib/graphql/resolvers/group.ex:396
msgid "You need to be logged-in to unfollow a group"
msgstr ""
#, elixir-format, fuzzy
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""