Export participants to different formats

* CSV
* PDF (requires Python dependency `weasyprint`)
* ODS (requires Python dependency `pyexcel_ods3`)

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2021-10-04 18:59:41 +02:00
parent 5dd24e1c9e
commit 0c667b13ae
121 changed files with 10817 additions and 6872 deletions

View File

@@ -152,7 +152,7 @@ msgstr "Nessun utente con questa email"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:31 lib/graphql/resolvers/participant.ex:209 lib/graphql/resolvers/person.ex:236
#: 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
msgid "Profile is not owned by authenticated user"
msgstr "L'utente autenticato non è propietario di questo profilo"
@@ -326,13 +326,13 @@ msgid "Profile already suspended"
msgstr "Profilo già sospeso"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:95
#: lib/graphql/resolvers/participant.ex:96
msgid "A valid email is required by your instance"
msgstr "Un'email valida è richiesta dalla vostra istanza"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:89
#: lib/graphql/resolvers/participant.ex:142
#: lib/graphql/resolvers/participant.ex:90
#: lib/graphql/resolvers/participant.ex:143
msgid "Anonymous participation is not enabled"
msgstr "La partecipazione anonima non è abilitata"
@@ -367,7 +367,7 @@ msgid "Error while updating report"
msgstr "Errore durante l'aggiornamento del rapporto"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:130
#: lib/graphql/resolvers/participant.ex:131
msgid "Event id not found"
msgstr "ID evento non trovato"
@@ -378,13 +378,14 @@ msgid "Event not found"
msgstr "Evento non trovato"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:86
#: lib/graphql/resolvers/participant.ex:127 lib/graphql/resolvers/participant.ex:154
#: lib/graphql/resolvers/participant.ex:87
#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:349
msgid "Event with this ID %{id} doesn't exist"
msgstr "L'evento con questo ID %{id} non esiste"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:102
#: lib/graphql/resolvers/participant.ex:103
msgid "Internal Error"
msgstr "Errore Interno"
@@ -405,14 +406,13 @@ msgid "No such feed token"
msgstr "Nessun token di rifornimento corrispondente"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:258
#: lib/graphql/resolvers/participant.ex:259
msgid "Participant already has role %{role}"
msgstr "Il partecipante ha già il ruolo %{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:186
#: lib/graphql/resolvers/participant.ex:219 lib/graphql/resolvers/participant.ex:251
#: lib/graphql/resolvers/participant.ex:261
#: lib/graphql/resolvers/participant.ex:187
#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Partecipante non trovato"
@@ -471,12 +471,12 @@ msgid "Resource doesn't exist"
msgstr "La risorsa non esiste"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:123
#: lib/graphql/resolvers/participant.ex:124
msgid "The event has already reached its maximum capacity"
msgstr "L'evento ha già raggiunto la sua massima capacità"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:281
#: lib/graphql/resolvers/participant.ex:283
msgid "This token is invalid"
msgstr "Questo token non è valido"
@@ -512,7 +512,7 @@ msgid "You already have a profile for this user"
msgstr "Hai già un profilo per questo utente"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:133
#: lib/graphql/resolvers/participant.ex:134
msgid "You are already a participant of this event"
msgstr "Se già un partecipante di questo evento"
@@ -552,8 +552,8 @@ msgid "You are not allowed to update a comment if not connected"
msgstr "Non è consentito aggiornare un commento se non si è collegati"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:180
#: lib/graphql/resolvers/participant.ex:213
#: lib/graphql/resolvers/participant.ex:181
#: lib/graphql/resolvers/participant.ex:214
msgid "You can't leave event because you're the only event creator participant"
msgstr ""
"Non puoi lasciare l'evento perchè sei l'unico partecipante creatore di eventi"
@@ -672,12 +672,12 @@ msgid "You need to be logged-in to delete resources"
msgstr "Devi essere connesso per eliminare risorse"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:107
#: lib/graphql/resolvers/participant.ex:108
msgid "You need to be logged-in to join an event"
msgstr "Devi essere connesso per partecipare a un evento"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:224
#: lib/graphql/resolvers/participant.ex:225
msgid "You need to be logged-in to leave an event"
msgstr "Devi essere connesso per lasciare un evento"
@@ -831,7 +831,7 @@ msgid "Organizer profile is not owned by the user"
msgstr "Il profilo dell'organizzatore non è di proprietà dell'utente"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:92
#: lib/graphql/resolvers/participant.ex:93
msgid "Profile ID provided is not the anonymous profile one"
msgstr "L'ID profilo fornito non è quello del profilo anonimo"
@@ -862,7 +862,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr "Impossibile recuperare i dettagli della risorsa da questa URL."
#, elixir-format
#: lib/graphql/resolvers/event.ex:171 lib/graphql/resolvers/participant.ex:255
#: lib/graphql/resolvers/event.ex:171 lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:341
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
"Il profilo del moderatore fornito non dispone dell'autorizzazione per questo "
@@ -904,7 +905,7 @@ msgid "Error while uploading pictures"
msgstr "Errore durante l'aggiornamento del rapporto"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:189
#: lib/graphql/resolvers/participant.ex:190
msgid "Failed to leave the event"
msgstr ""
@@ -924,7 +925,7 @@ msgid "Failed to validate user email"
msgstr "Impossibile convalidare l'utente"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:145
#: lib/graphql/resolvers/participant.ex:146
msgid "The anonymous actor ID is invalid"
msgstr ""
@@ -942,3 +943,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:404
msgid "You cannot change your password."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:310
msgid "Format not supported"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:322
msgid "A dependency needed to export to %{format} is not installed"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:330
msgid "An error occured while saving export"
msgstr ""
#, elixir-format
#: lib/web/controllers/export_controller.ex:30
msgid "Export to format %{format} is not enabled on this instance"
msgstr ""