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

@@ -161,7 +161,7 @@ msgstr "Nie znaleziono użytkownika o tym adresie e-mail"
#, 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 "Profil nie należy do uwierzytelnionego użytkownika"
@@ -336,13 +336,13 @@ msgid "Profile already suspended"
msgstr "Już zawieszono profil"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:95
#: lib/graphql/resolvers/participant.ex:96
msgid "A valid email is required by your instance"
msgstr "Twoja instancja wymaga prawidłowego adresu e-mail"
#, 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 "Anonimowe uczestnictwa nie są włączone"
@@ -377,7 +377,7 @@ msgid "Error while updating report"
msgstr "Wystąpił błąd podczas aktualizacji zgłoszenia"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:130
#: lib/graphql/resolvers/participant.ex:131
msgid "Event id not found"
msgstr "Nie znaleziono id wydarzenia"
@@ -388,13 +388,14 @@ msgid "Event not found"
msgstr "Nie znaleziono wydarzenia"
#, 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 "Wydarzenie o ID %{id} nie istnieje"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:102
#: lib/graphql/resolvers/participant.ex:103
msgid "Internal Error"
msgstr "Wewnętrzny błąd"
@@ -415,14 +416,13 @@ msgid "No such feed token"
msgstr "Nie ma takiego tokenu strumienia"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:258
#: lib/graphql/resolvers/participant.ex:259
msgid "Participant already has role %{role}"
msgstr "Uczestnik już ma rolę %{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 "Nie znaleziono uczestnika"
@@ -481,12 +481,12 @@ msgid "Resource doesn't exist"
msgstr "Zasób nie istnieje"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:123
#: lib/graphql/resolvers/participant.ex:124
msgid "The event has already reached its maximum capacity"
msgstr "Wydarzenie już przekroczyło maksymalną zasobność"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:281
#: lib/graphql/resolvers/participant.ex:283
msgid "This token is invalid"
msgstr "Ten token jest nieprawidłowy"
@@ -522,7 +522,7 @@ msgid "You already have a profile for this user"
msgstr "Już masz profil dla tego użytkownika"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:133
#: lib/graphql/resolvers/participant.ex:134
msgid "You are already a participant of this event"
msgstr "Już jesteś uczestnikiem tego wydarzenia"
@@ -562,8 +562,8 @@ msgid "You are not allowed to update a comment if not connected"
msgstr ""
#, 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 ""
@@ -681,12 +681,12 @@ msgid "You need to be logged-in to delete resources"
msgstr "Musisz być zalogowany(-a), aby usunąć zasób"
#, 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 "Musisz być zalogowany(-a), aby dołączyć do wydarzenia"
#, 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 "Musisz być zalogowany(-a), aby opuścić wydarzenie"
@@ -838,7 +838,7 @@ msgid "Organizer profile is not owned by the user"
msgstr ""
#, 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 ""
@@ -869,7 +869,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, 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 "Wskazany profil moderatora nie ma uprawnień dla tego wydarzenia"
@@ -909,7 +910,7 @@ msgid "Error while uploading pictures"
msgstr "Wystąpił błąd podczas aktualizacji zgłoszenia"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:189
#: lib/graphql/resolvers/participant.ex:190
msgid "Failed to leave the event"
msgstr ""
@@ -929,7 +930,7 @@ msgid "Failed to validate user email"
msgstr "Nie udało się zwalidować użytkownika"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:145
#: lib/graphql/resolvers/participant.ex:146
msgid "The anonymous actor ID is invalid"
msgstr ""
@@ -947,3 +948,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 ""