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

@@ -153,7 +153,7 @@ msgstr "Käyttäjää, jolla on tämä sähköpostiosoite ei löydy"
#, 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 "Profiili ei ole tunnistautuneen käyttäjän omistuksessa"
@@ -327,13 +327,13 @@ msgid "Profile already suspended"
msgstr "Profiili on jo hyllytetty"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:95
#: lib/graphql/resolvers/participant.ex:96
msgid "A valid email is required by your instance"
msgstr "Palvelin vaatii kelvollisen sähköpostiosoitteen"
#, 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 "Anonyymi osallistuminen ei ole käytössä"
@@ -368,7 +368,7 @@ msgid "Error while updating report"
msgstr "Virhe raporttia päivitettäessä"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:130
#: lib/graphql/resolvers/participant.ex:131
msgid "Event id not found"
msgstr "Tapahtumatunnistetta ei löydy"
@@ -379,13 +379,14 @@ msgid "Event not found"
msgstr "Tapahtumaa ei löydy"
#, 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 "Tunnisteella %{id} ei ole tapahtumaa"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:102
#: lib/graphql/resolvers/participant.ex:103
msgid "Internal Error"
msgstr "Sisäinen virhe"
@@ -406,14 +407,13 @@ msgid "No such feed token"
msgstr "Kyseistä syötemerkkiä ei ole"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:258
#: lib/graphql/resolvers/participant.ex:259
msgid "Participant already has role %{role}"
msgstr "Osallistujalla on jo rooli %{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 "Osallistujaa ei löydy"
@@ -472,12 +472,12 @@ msgid "Resource doesn't exist"
msgstr "Resurssia ei ole"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:123
#: lib/graphql/resolvers/participant.ex:124
msgid "The event has already reached its maximum capacity"
msgstr "Tapahtuma on jo täynnä"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:281
#: lib/graphql/resolvers/participant.ex:283
msgid "This token is invalid"
msgstr "Epäkelpo merkki"
@@ -513,7 +513,7 @@ msgid "You already have a profile for this user"
msgstr "Sinulla on jo profiili tälle käyttäjälle"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:133
#: lib/graphql/resolvers/participant.ex:134
msgid "You are already a participant of this event"
msgstr "Olet jo tapahtuman osallistuja"
@@ -553,8 +553,8 @@ msgid "You are not allowed to update a comment if not connected"
msgstr "Ilman yhteyttä ei voi päivittää kommenttia"
#, 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 ""
"Et voi poistua tapahtumasta, koska olet ainoa tapahtuman luonut osallistuja"
@@ -667,12 +667,12 @@ msgid "You need to be logged-in to delete resources"
msgstr "Resurssien poisto vain sisäänkirjautuneena"
#, 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 "Tapahtumaan liittyminen vain sisäänkirjautuneena"
#, 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 "Tapahtumasta poistuminen vain sisäänkirjautuneena"
@@ -822,7 +822,7 @@ msgid "Organizer profile is not owned by the user"
msgstr "Järjestäjän profiili ei ole käyttäjän hallussa"
#, 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 "Annettu profiilitunniste ei kuulu anonyymille profiilille"
@@ -853,7 +853,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr "Resurssin tietoja ei voida hakea tästä URL-osoitteesta."
#, 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 "Annetulla moderaattoriprofiililla ei ole oikeuksia tähän tapahtumaan"
@@ -893,7 +894,7 @@ msgid "Error while uploading pictures"
msgstr "Virhe raporttia päivitettäessä"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:189
#: lib/graphql/resolvers/participant.ex:190
msgid "Failed to leave the event"
msgstr ""
@@ -913,7 +914,7 @@ msgid "Failed to validate user email"
msgstr "Käyttäjää ei voi vahvistaa"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:145
#: lib/graphql/resolvers/participant.ex:146
msgid "The anonymous actor ID is invalid"
msgstr ""
@@ -931,3 +932,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 ""