mirror of
https://github.com/lucaspalomodevelop/eventcally.git
synced 2026-03-13 00:07:22 +00:00
Find events of a certain organization more easily #482
This commit is contained in:
parent
8b72061b64
commit
b732b095d7
381
messages.pot
381
messages.pot
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-05-11 11:19+0200\n"
|
||||
"POT-Creation-Date: 2023-05-30 14:22+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -170,14 +170,18 @@ msgid "Scope_eventlist:write"
|
||||
msgstr ""
|
||||
|
||||
#: project/i10n.py:53
|
||||
msgid "Scope_organization:read"
|
||||
msgid "Scope_eventreference:write"
|
||||
msgstr ""
|
||||
|
||||
#: project/i10n.py:54
|
||||
msgid "Scope_organization:write"
|
||||
msgid "Scope_organization:read"
|
||||
msgstr ""
|
||||
|
||||
#: project/i10n.py:55
|
||||
msgid "Scope_organization:write"
|
||||
msgstr ""
|
||||
|
||||
#: project/i10n.py:56
|
||||
msgid "There must be no self-reference."
|
||||
msgstr ""
|
||||
|
||||
@ -193,29 +197,29 @@ msgstr ""
|
||||
msgid "message"
|
||||
msgstr ""
|
||||
|
||||
#: project/api/organization/resources.py:401
|
||||
#: project/api/organization/resources.py:423
|
||||
#: project/views/admin_unit_member_invitation.py:89
|
||||
msgid "You have received an invitation"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:11 project/templates/layout.html:305
|
||||
#: project/forms/admin.py:11 project/templates/layout.html:315
|
||||
#: project/views/root.py:55
|
||||
msgid "Terms of service"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:12 project/templates/layout.html:310
|
||||
#: project/forms/admin.py:12 project/templates/layout.html:320
|
||||
#: project/views/root.py:67
|
||||
msgid "Legal notice"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:13 project/templates/_macros.html:1473
|
||||
#: project/templates/layout.html:314
|
||||
#: project/forms/admin.py:13 project/templates/_macros.html:1441
|
||||
#: project/templates/layout.html:324
|
||||
#: project/templates/widget/event_suggestion/create.html:204
|
||||
#: project/views/admin_unit.py:83 project/views/root.py:75
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:14 project/templates/layout.html:318
|
||||
#: project/forms/admin.py:14 project/templates/layout.html:328
|
||||
#: project/views/root.py:83
|
||||
msgid "Privacy"
|
||||
msgstr ""
|
||||
@ -256,7 +260,7 @@ msgstr ""
|
||||
#: project/forms/admin_unit_member.py:30 project/forms/event.py:107
|
||||
#: project/forms/event_suggestion.py:38 project/forms/organizer.py:33
|
||||
#: project/forms/user.py:18 project/forms/user.py:23
|
||||
#: project/templates/_macros.html:237 project/templates/_macros.html:1569
|
||||
#: project/templates/_macros.html:237 project/templates/_macros.html:1537
|
||||
#: project/templates/admin/admin.html:27 project/templates/admin/email.html:4
|
||||
#: project/templates/admin/email.html:66 project/templates/admin/users.html:19
|
||||
#: project/templates/manage/organizers.html:21
|
||||
@ -327,7 +331,7 @@ msgstr ""
|
||||
#: project/templates/event_place/list.html:19
|
||||
#: project/templates/manage/organizers.html:18
|
||||
#: project/templates/manage/places.html:18
|
||||
#: project/templates/oauth2_client/list.html:25
|
||||
#: project/templates/oauth2_client/list.html:23
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
@ -361,7 +365,8 @@ msgid "Street"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin_unit.py:18 project/forms/event.py:453
|
||||
#: project/forms/event_place.py:16 project/forms/organizer.py:16
|
||||
#: project/forms/event_date.py:56 project/forms/event_place.py:16
|
||||
#: project/forms/organizer.py:16
|
||||
msgid "Postal code"
|
||||
msgstr ""
|
||||
|
||||
@ -393,7 +398,7 @@ msgstr ""
|
||||
msgid "The short name is used to create a unique identifier for your events"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin_unit.py:46 project/templates/_macros.html:1611
|
||||
#: project/forms/admin_unit.py:46 project/templates/_macros.html:1579
|
||||
msgid "Short name must contain only letters numbers or underscore"
|
||||
msgstr ""
|
||||
|
||||
@ -495,7 +500,7 @@ msgstr ""
|
||||
msgid "Cancel deletion"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin_unit.py:151 project/templates/layout.html:276
|
||||
#: project/forms/admin_unit.py:151 project/templates/layout.html:286
|
||||
#: project/templates/manage/delete_membership.html:6
|
||||
msgid "Leave organization"
|
||||
msgstr ""
|
||||
@ -611,7 +616,7 @@ msgstr ""
|
||||
msgid "100 km"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:38 project/templates/manage/events.html:100
|
||||
#: project/forms/event.py:38 project/templates/manage/events.html:102
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
@ -633,16 +638,16 @@ msgstr ""
|
||||
msgid "All-day"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:54 project/templates/_macros.html:1801
|
||||
#: project/forms/event.py:54 project/templates/_macros.html:1749
|
||||
#: project/templates/widget/event_suggestion/create.html:240
|
||||
msgid "Recurring event"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:61 project/templates/_macros.html:1330
|
||||
#: project/forms/event.py:61 project/templates/_macros.html:1298
|
||||
msgid "The start must be before the end."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:67 project/templates/_macros.html:1347
|
||||
#: project/forms/event.py:67 project/templates/_macros.html:1315
|
||||
msgid "An event can last a maximum of 14 days."
|
||||
msgstr ""
|
||||
|
||||
@ -796,8 +801,8 @@ msgid "Choose how people can attend the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:225 project/forms/event_place.py:33
|
||||
#: project/templates/manage/events.html:104
|
||||
#: project/templates/manage/events.html:139
|
||||
#: project/templates/manage/events.html:106
|
||||
#: project/templates/manage/events.html:141
|
||||
#: project/templates/manage/places.html:21
|
||||
#: project/templates/manage/places.html:39
|
||||
#: project/templates/widget/event_suggestion/create.html:258
|
||||
@ -829,8 +834,8 @@ msgstr ""
|
||||
|
||||
#: project/forms/event.py:255 project/forms/reference.py:14
|
||||
#: project/forms/reference.py:27 project/forms/reference_request.py:76
|
||||
#: project/templates/event/create.html:359
|
||||
#: project/templates/event/update.html:216
|
||||
#: project/templates/event/create.html:363
|
||||
#: project/templates/event/update.html:220
|
||||
msgid "Rating"
|
||||
msgstr ""
|
||||
|
||||
@ -858,12 +863,12 @@ msgstr ""
|
||||
#: project/forms/event.py:286 project/forms/event.py:295
|
||||
#: project/forms/event.py:368 project/forms/event.py:442
|
||||
#: project/forms/event_suggestion.py:50 project/templates/_macros.html:438
|
||||
#: project/templates/_macros.html:604 project/templates/event/create.html:284
|
||||
#: project/templates/event/update.html:166
|
||||
#: project/templates/_macros.html:604 project/templates/event/create.html:288
|
||||
#: project/templates/event/update.html:170
|
||||
#: project/templates/event_place/create.html:31
|
||||
#: project/templates/event_place/delete.html:13
|
||||
#: project/templates/event_place/update.html:31
|
||||
#: project/templates/manage/events.html:103
|
||||
#: project/templates/manage/events.html:105
|
||||
msgid "Place"
|
||||
msgstr ""
|
||||
|
||||
@ -877,10 +882,11 @@ msgstr ""
|
||||
|
||||
#: project/forms/event.py:302 project/forms/event.py:311
|
||||
#: project/forms/event.py:376 project/forms/event.py:439
|
||||
#: project/forms/event_suggestion.py:60 project/templates/_macros.html:475
|
||||
#: project/templates/_macros.html:647 project/templates/event/create.html:253
|
||||
#: project/templates/event/update.html:156
|
||||
#: project/templates/manage/events.html:102
|
||||
#: project/forms/event_date.py:44 project/forms/event_suggestion.py:60
|
||||
#: project/templates/_macros.html:475 project/templates/_macros.html:647
|
||||
#: project/templates/event/create.html:257
|
||||
#: project/templates/event/update.html:160
|
||||
#: project/templates/manage/events.html:104
|
||||
#: project/templates/organizer/create.html:27
|
||||
#: project/templates/organizer/delete.html:13
|
||||
#: project/templates/organizer/update.html:27
|
||||
@ -923,7 +929,7 @@ msgid ""
|
||||
" Organizers."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:385 project/templates/event/update.html:145
|
||||
#: project/forms/event.py:385 project/templates/event/update.html:149
|
||||
#: project/templates/oauth2_token/list.html:21
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
@ -973,11 +979,11 @@ msgid "Select the public status of the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:407 project/templates/event/update.html:5
|
||||
#: project/templates/event/update.html:113
|
||||
#: project/templates/event/update.html:117
|
||||
msgid "Update event"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:423 project/templates/_macros.html:1287
|
||||
#: project/forms/event.py:423 project/templates/_macros.html:1255
|
||||
#: project/templates/event/actions.html:66
|
||||
#: project/templates/event/delete.html:6
|
||||
msgid "Delete event"
|
||||
@ -1002,7 +1008,7 @@ msgstr ""
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:446 project/forms/event_date.py:24
|
||||
#: project/forms/event.py:446 project/forms/event_date.py:30
|
||||
#: project/forms/planing.py:22 project/templates/_macros.html:305
|
||||
#: project/templates/admin_unit/create.html:38
|
||||
#: project/templates/admin_unit/update.html:46
|
||||
@ -1015,16 +1021,37 @@ msgstr ""
|
||||
msgid "Location"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:448 project/forms/event_date.py:26
|
||||
#: project/forms/event.py:448 project/forms/event_date.py:32
|
||||
#: project/forms/planing.py:24
|
||||
msgid "Distance"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:455
|
||||
#: project/forms/event.py:455 project/forms/event_date.py:53
|
||||
msgid "Exclude recurring events"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:459 project/forms/event_date.py:58
|
||||
msgid "Find events"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_date.py:39 project/forms/planing.py:36
|
||||
#: project/forms/event_date.py:39 project/forms/reference.py:11
|
||||
#: project/forms/reference_request.py:16 project/templates/_macros.html:491
|
||||
#: project/templates/_macros.html:664
|
||||
#: project/templates/admin/delete_admin_unit.html:13
|
||||
#: project/templates/admin_unit/cancel_deletion.html:13
|
||||
#: project/templates/admin_unit/create.html:28
|
||||
#: project/templates/admin_unit/request_deletion.html:15
|
||||
#: project/templates/admin_unit/update.html:36
|
||||
#: project/templates/layout.html:257
|
||||
#: project/templates/manage/delete_membership.html:13
|
||||
msgid "Organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_date.py:49
|
||||
msgid "Show unreferenced events only"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_date.py:67 project/forms/planing.py:36
|
||||
#: project/templates/widget/event_date/list.html:82
|
||||
msgid "Find"
|
||||
msgstr ""
|
||||
@ -1065,13 +1092,13 @@ msgstr ""
|
||||
msgid "I would like to be notified by email after the review"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_suggestion.py:52 project/templates/event/create.html:289
|
||||
#: project/forms/event_suggestion.py:52 project/templates/event/create.html:293
|
||||
msgid ""
|
||||
"Choose where the event takes place. If the venue is not yet in the list, "
|
||||
"just enter it."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_suggestion.py:62 project/templates/event/create.html:257
|
||||
#: project/forms/event_suggestion.py:62 project/templates/event/create.html:261
|
||||
msgid ""
|
||||
"Select the organizer. If the organizer is not yet on the list, just enter"
|
||||
" it."
|
||||
@ -1152,18 +1179,6 @@ msgstr ""
|
||||
msgid "Weekdays"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/reference.py:11 project/forms/reference_request.py:16
|
||||
#: project/templates/_macros.html:491 project/templates/_macros.html:664
|
||||
#: project/templates/admin/delete_admin_unit.html:13
|
||||
#: project/templates/admin_unit/cancel_deletion.html:13
|
||||
#: project/templates/admin_unit/create.html:28
|
||||
#: project/templates/admin_unit/request_deletion.html:15
|
||||
#: project/templates/admin_unit/update.html:36
|
||||
#: project/templates/layout.html:247
|
||||
#: project/templates/manage/delete_membership.html:13
|
||||
msgid "Organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/reference.py:22
|
||||
msgid "Save reference"
|
||||
msgstr ""
|
||||
@ -1172,7 +1187,8 @@ msgstr ""
|
||||
msgid "Update reference"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/reference.py:39 project/templates/reference/delete.html:6
|
||||
#: project/forms/reference.py:39 project/templates/event_date/list.html:253
|
||||
#: project/templates/reference/delete.html:6
|
||||
#: project/templates/reference/read.html:20
|
||||
msgid "Delete reference"
|
||||
msgstr ""
|
||||
@ -1185,7 +1201,7 @@ msgstr ""
|
||||
msgid "Delete request"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/reference_request.py:28 project/templates/_macros.html:1485
|
||||
#: project/forms/reference_request.py:28 project/templates/_macros.html:1453
|
||||
#: project/templates/event_suggestion/review_status.html:18
|
||||
#: project/templates/reference_request/review_status.html:12
|
||||
msgid "Review status"
|
||||
@ -1303,9 +1319,9 @@ msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:387 project/templates/_macros.html:557
|
||||
#: project/templates/event/actions.html:25
|
||||
#: project/templates/event/create.html:230
|
||||
#: project/templates/event/update.html:122
|
||||
#: project/templates/manage/events.html:101
|
||||
#: project/templates/event/create.html:234
|
||||
#: project/templates/event/update.html:126
|
||||
#: project/templates/manage/events.html:103
|
||||
#: project/templates/widget/event_suggestion/create.html:229
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
@ -1315,12 +1331,12 @@ msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:420 project/templates/_macros.html:579
|
||||
#: project/templates/_macros.html:1554 project/templates/event/actions.html:51
|
||||
#: project/templates/_macros.html:1522 project/templates/event/actions.html:51
|
||||
msgid "Share"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:424 project/templates/_macros.html:583
|
||||
#: project/templates/_macros.html:1584
|
||||
#: project/templates/_macros.html:1552
|
||||
msgid "Add to calendar"
|
||||
msgstr ""
|
||||
|
||||
@ -1341,7 +1357,7 @@ msgstr ""
|
||||
msgid "The event takes place both offline and online."
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:587 project/templates/layout.html:173
|
||||
#: project/templates/_macros.html:587 project/templates/layout.html:183
|
||||
#: project/templates/user/favorite_events.html:4
|
||||
msgid "Favorite events"
|
||||
msgstr ""
|
||||
@ -1350,12 +1366,12 @@ msgstr ""
|
||||
#: project/templates/_macros.html:765
|
||||
#: project/templates/admin/admin_units.html:36
|
||||
#: project/templates/admin/users.html:36
|
||||
#: project/templates/manage/events.html:116
|
||||
#: project/templates/manage/events.html:118
|
||||
#: project/templates/manage/members.html:35
|
||||
#: project/templates/manage/organizers.html:33
|
||||
#: project/templates/manage/places.html:31
|
||||
#: project/templates/manage/references_incoming.html:20
|
||||
#: project/templates/oauth2_client/list.html:34
|
||||
#: project/templates/oauth2_client/list.html:32
|
||||
#: project/templates/oauth2_client/read.html:17
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
@ -1364,9 +1380,10 @@ msgstr ""
|
||||
msgid "Referenced by"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:703 project/templates/_macros.html:1297
|
||||
#: project/templates/_macros.html:703 project/templates/_macros.html:1265
|
||||
#: project/templates/event/actions.html:38
|
||||
#: project/templates/manage/events.html:123
|
||||
#: project/templates/event_date/list.html:251
|
||||
#: project/templates/manage/events.html:125
|
||||
#: project/templates/manage/references_incoming.html:10
|
||||
msgid "Reference event"
|
||||
msgstr ""
|
||||
@ -1377,14 +1394,14 @@ msgstr ""
|
||||
msgid "Reference requests"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:723 project/templates/_macros.html:1294
|
||||
#: project/templates/_macros.html:723 project/templates/_macros.html:1262
|
||||
#: project/templates/event/actions.html:32
|
||||
#: project/templates/manage/events.html:121
|
||||
#: project/templates/manage/events.html:123
|
||||
msgid "Request reference"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:731 project/templates/event_date/list.html:5
|
||||
#: project/templates/event_date/list.html:299
|
||||
#: project/templates/_macros.html:731 project/templates/event_date/list.html:6
|
||||
#: project/templates/event_date/list.html:461
|
||||
#: project/templates/reference_request/review.html:32
|
||||
msgid "Event Dates"
|
||||
msgstr ""
|
||||
@ -1399,12 +1416,12 @@ msgid "%(count)d event dates"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:919 project/templates/_macros.html:921
|
||||
#: project/templates/event_date/list.html:321
|
||||
#: project/templates/event_date/list.html:510
|
||||
msgid "First"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:924 project/templates/_macros.html:926
|
||||
#: project/templates/event_date/list.html:322
|
||||
#: project/templates/event_date/list.html:511
|
||||
#: project/templates/widget/event_suggestion/create.html:193
|
||||
#: project/templates/widget/event_suggestion/create.html:218
|
||||
#: project/templates/widget/event_suggestion/create.html:247
|
||||
@ -1420,7 +1437,7 @@ msgid "Page %(page)d of %(pages)d (%(total)d total)"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:930 project/templates/_macros.html:932
|
||||
#: project/templates/event_date/list.html:324
|
||||
#: project/templates/event_date/list.html:513
|
||||
#: project/templates/widget/event_suggestion/create.html:194
|
||||
#: project/templates/widget/event_suggestion/create.html:219
|
||||
#: project/templates/widget/event_suggestion/create.html:248
|
||||
@ -1430,7 +1447,7 @@ msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:935 project/templates/_macros.html:937
|
||||
#: project/templates/event_date/list.html:325
|
||||
#: project/templates/event_date/list.html:514
|
||||
msgid "Last"
|
||||
msgstr ""
|
||||
|
||||
@ -1438,88 +1455,89 @@ msgstr ""
|
||||
msgid "Radius"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1216
|
||||
#: project/templates/_macros.html:1184
|
||||
msgid "Edit image"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1237
|
||||
#: project/templates/_macros.html:1205
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1238
|
||||
#: project/templates/_macros.html:1206
|
||||
msgid "Okay"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1250
|
||||
#: project/templates/_macros.html:1218
|
||||
msgid "Choose image file"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1286 project/templates/event/actions.html:65
|
||||
#: project/templates/_macros.html:1254 project/templates/event/actions.html:65
|
||||
#: project/templates/event/delete.html:12
|
||||
msgid "Edit event"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1290 project/templates/event/actions.html:58
|
||||
#: project/templates/_macros.html:1258 project/templates/event/actions.html:58
|
||||
msgid "Duplicate event"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1301 project/templates/event/actions.html:44
|
||||
#: project/templates/manage/events.html:127
|
||||
#: project/templates/_macros.html:1269 project/templates/event/actions.html:44
|
||||
#: project/templates/manage/events.html:129
|
||||
msgid "Add to list"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1304 project/templates/manage/events.html:130
|
||||
#: project/templates/_macros.html:1272 project/templates/manage/events.html:132
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1351
|
||||
#: project/templates/_macros.html:1319
|
||||
msgid "Please enter a valid time, between 00:00 and 23:59."
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1379
|
||||
#: project/templates/_macros.html:1347
|
||||
#, python-format
|
||||
msgid "Just use %(term)s"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1445
|
||||
#: project/templates/_macros.html:1413
|
||||
msgid "Event suggestion"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1563
|
||||
#: project/templates/_macros.html:1531
|
||||
msgid "Link copied"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1563
|
||||
#: project/templates/_macros.html:1531
|
||||
msgid "Copy link"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1593
|
||||
#: project/templates/_macros.html:1561
|
||||
msgid "Google calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1595
|
||||
#: project/templates/_macros.html:1563
|
||||
msgid "Apple calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1596
|
||||
#: project/templates/_macros.html:1564
|
||||
msgid "Yahoo calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1597
|
||||
#: project/templates/_macros.html:1565
|
||||
msgid "Other calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1802
|
||||
#: project/templates/_macros.html:1750
|
||||
msgid "Remove event date"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1831 project/templates/event/create.html:176
|
||||
#: project/templates/event/update.html:99
|
||||
#: project/templates/_macros.html:1783 project/templates/event/create.html:180
|
||||
#: project/templates/event/update.html:103
|
||||
#: project/templates/event_date/list.html:446
|
||||
#: project/templates/widget/event_suggestion/create.html:129
|
||||
msgid "Enter organizer"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1855
|
||||
#: project/templates/_macros.html:1811
|
||||
msgid "Enter list name"
|
||||
msgstr ""
|
||||
|
||||
@ -1527,7 +1545,7 @@ msgstr ""
|
||||
msgid "Manage"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/home.html:37 project/templates/layout.html:163
|
||||
#: project/templates/home.html:37 project/templates/layout.html:173
|
||||
#: project/templates/manage/admin_units.html:28
|
||||
#: project/templates/manage/verification_requests_outgoing.html:13
|
||||
#: project/templates/security/login_user.html:21
|
||||
@ -1539,7 +1557,7 @@ msgstr ""
|
||||
msgid "Features"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:157 project/templates/layout.html:205
|
||||
#: project/templates/layout.html:167 project/templates/layout.html:215
|
||||
#: project/templates/manage/events.html:6
|
||||
#: project/templates/manage/events.html:54
|
||||
#: project/templates/manage/events_vue.html:4
|
||||
@ -1549,18 +1567,18 @@ msgstr ""
|
||||
#: project/templates/admin/admin.html:19
|
||||
#: project/templates/admin/admin_units.html:4
|
||||
#: project/templates/admin/admin_units.html:11
|
||||
#: project/templates/layout.html:158 project/templates/layout.html:171
|
||||
#: project/templates/layout.html:168 project/templates/layout.html:181
|
||||
#: project/templates/manage/admin_units.html:3
|
||||
#: project/templates/manage/admin_units.html:26
|
||||
#: project/templates/organization/main.html:4
|
||||
msgid "Organizations"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:159
|
||||
#: project/templates/layout.html:169
|
||||
msgid "Planing"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:172 project/templates/layout.html:265
|
||||
#: project/templates/layout.html:182 project/templates/layout.html:275
|
||||
#: project/templates/oauth2_client/list.html:10
|
||||
#: project/templates/oauth2_client/read.html:10
|
||||
#: project/templates/oauth2_token/list.html:10 project/templates/profile.html:4
|
||||
@ -1573,87 +1591,87 @@ msgstr ""
|
||||
#: project/templates/admin/email.html:65
|
||||
#: project/templates/admin/newsletter.html:92
|
||||
#: project/templates/admin/settings.html:10
|
||||
#: project/templates/admin/users.html:10 project/templates/layout.html:176
|
||||
#: project/templates/admin/users.html:10 project/templates/layout.html:186
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:180
|
||||
#: project/templates/layout.html:190
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:211
|
||||
#: project/templates/layout.html:221
|
||||
msgid "Show events"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:5
|
||||
#: project/templates/event/create.html:221 project/templates/layout.html:212
|
||||
#: project/templates/event/create.html:225 project/templates/layout.html:222
|
||||
#: project/templates/manage/events.html:55
|
||||
#: project/templates/manage/organizers.html:38
|
||||
msgid "Create event"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:213
|
||||
#: project/templates/layout.html:223
|
||||
msgid "Import event"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:215
|
||||
#: project/templates/layout.html:225
|
||||
#: project/templates/manage/event_lists.html:4
|
||||
msgid "Event lists"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:218
|
||||
#: project/templates/layout.html:228
|
||||
msgid "Review suggestions"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:228
|
||||
#: project/templates/layout.html:238
|
||||
#: project/templates/manage/references_incoming.html:5
|
||||
#: project/templates/manage/references_outgoing.html:5
|
||||
msgid "References"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:234
|
||||
#: project/templates/layout.html:244
|
||||
#: project/templates/manage/references_incoming.html:9
|
||||
msgid "Incoming references"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:235
|
||||
#: project/templates/layout.html:245
|
||||
#: project/templates/manage/references_outgoing.html:9
|
||||
msgid "Outgoing references"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:237
|
||||
#: project/templates/layout.html:247
|
||||
#: project/templates/manage/reference_requests_incoming.html:9
|
||||
msgid "Incoming reference requests"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:242
|
||||
#: project/templates/layout.html:252
|
||||
#: project/templates/manage/reference_requests_outgoing.html:9
|
||||
msgid "Outgoing reference requests"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:250 project/templates/manage/organizers.html:5
|
||||
#: project/templates/layout.html:260 project/templates/manage/organizers.html:5
|
||||
#: project/templates/manage/organizers.html:10
|
||||
#: project/templates/organizer/main.html:4
|
||||
msgid "Organizers"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_place/list.html:3
|
||||
#: project/templates/event_place/list.html:7 project/templates/layout.html:251
|
||||
#: project/templates/event_place/list.html:7 project/templates/layout.html:261
|
||||
#: project/templates/manage/places.html:5
|
||||
#: project/templates/manage/places.html:10
|
||||
msgid "Places"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:253 project/templates/manage/members.html:5
|
||||
#: project/templates/layout.html:263 project/templates/manage/members.html:5
|
||||
#: project/templates/manage/members.html:28
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:254 project/templates/manage/relations.html:4
|
||||
#: project/templates/layout.html:264 project/templates/manage/relations.html:4
|
||||
msgid "Relations"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:256
|
||||
#: project/templates/layout.html:266
|
||||
#: project/templates/manage/admin_units.html:17
|
||||
#: project/templates/manage/organization_invitations.html:4
|
||||
#: project/templates/user/organization_invitations.html:4
|
||||
@ -1665,34 +1683,34 @@ msgstr ""
|
||||
#: project/templates/admin/settings.html:11
|
||||
#: project/templates/admin_unit/update.html:6
|
||||
#: project/templates/admin_unit/update.html:30
|
||||
#: project/templates/layout.html:259 project/templates/manage/widgets.html:11
|
||||
#: project/templates/layout.html:269 project/templates/manage/widgets.html:11
|
||||
#: project/templates/manage/widgets.html:15 project/templates/profile.html:32
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:260 project/templates/manage/export.html:4
|
||||
#: project/templates/manage/export.html:65
|
||||
#: project/templates/layout.html:270 project/templates/manage/export.html:3
|
||||
#: project/templates/manage/export.html:63
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:262
|
||||
#: project/templates/layout.html:272
|
||||
#: project/templates/manage/custom_widgets.html:13
|
||||
msgid "Custom widgets"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:263 project/templates/manage/reviews.html:10
|
||||
#: project/templates/layout.html:273 project/templates/manage/reviews.html:10
|
||||
#: project/templates/manage/widgets.html:5
|
||||
#: project/templates/manage/widgets.html:9
|
||||
msgid "Widgets"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:275
|
||||
#: project/templates/layout.html:285
|
||||
msgid "Switch organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/developer/read.html:4
|
||||
#: project/templates/developer/read.html:8 project/templates/layout.html:322
|
||||
#: project/templates/profile.html:46
|
||||
#: project/templates/developer/read.html:8 project/templates/layout.html:332
|
||||
#: project/templates/profile.html:45
|
||||
msgid "Developer"
|
||||
msgstr ""
|
||||
|
||||
@ -1719,7 +1737,7 @@ msgstr ""
|
||||
#: project/templates/oauth2_client/list.html:4
|
||||
#: project/templates/oauth2_client/list.html:11
|
||||
#: project/templates/oauth2_client/read.html:11
|
||||
#: project/templates/profile.html:50
|
||||
#: project/templates/profile.html:49
|
||||
msgid "OAuth2 clients"
|
||||
msgstr ""
|
||||
|
||||
@ -1729,7 +1747,7 @@ msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/admin/admin_units.html:35
|
||||
#: project/templates/manage/events.html:115
|
||||
#: project/templates/manage/events.html:117
|
||||
#: project/templates/manage/organizers.html:32
|
||||
#: project/templates/manage/references_incoming.html:19
|
||||
#: project/templates/manage/references_outgoing.html:19
|
||||
@ -1738,13 +1756,13 @@ msgstr ""
|
||||
|
||||
#: project/templates/admin/admin_units.html:37
|
||||
#: project/templates/admin/users.html:37
|
||||
#: project/templates/manage/events.html:117
|
||||
#: project/templates/manage/events.html:119
|
||||
#: project/templates/manage/members.html:21
|
||||
#: project/templates/manage/members.html:36
|
||||
#: project/templates/manage/organizers.html:34
|
||||
#: project/templates/manage/places.html:32
|
||||
#: project/templates/manage/references_incoming.html:21
|
||||
#: project/templates/oauth2_client/list.html:35
|
||||
#: project/templates/oauth2_client/list.html:33
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
@ -1779,8 +1797,8 @@ msgstr ""
|
||||
|
||||
#: project/templates/admin_unit/create.html:58
|
||||
#: project/templates/admin_unit/update.html:66
|
||||
#: project/templates/event/create.html:347
|
||||
#: project/templates/event/update.html:204
|
||||
#: project/templates/event/create.html:351
|
||||
#: project/templates/event/update.html:208
|
||||
#: project/templates/event_place/create.html:57
|
||||
#: project/templates/event_place/update.html:57
|
||||
#: project/templates/organizer/create.html:56
|
||||
@ -1815,18 +1833,18 @@ msgstr ""
|
||||
msgid "Verification requests"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/developer/read.html:16
|
||||
#: project/templates/manage/export.html:67
|
||||
#: project/templates/developer/read.html:25
|
||||
#: project/templates/manage/export.html:65
|
||||
msgid "Download"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/developer/read.html:20
|
||||
#: project/templates/manage/export.html:71
|
||||
#: project/templates/developer/read.html:29
|
||||
#: project/templates/manage/export.html:69
|
||||
msgid "All data"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/developer/read.html:22
|
||||
#: project/templates/manage/export.html:73
|
||||
#: project/templates/developer/read.html:31
|
||||
#: project/templates/manage/export.html:71
|
||||
msgid "No files available"
|
||||
msgstr ""
|
||||
|
||||
@ -2027,7 +2045,7 @@ msgstr ""
|
||||
|
||||
#: project/templates/event/actions.html:74 project/templates/event/read.html:32
|
||||
#: project/templates/event_date/read.html:34
|
||||
#: project/templates/manage/events.html:151
|
||||
#: project/templates/manage/events.html:153
|
||||
msgid "Add event to list"
|
||||
msgstr ""
|
||||
|
||||
@ -2037,31 +2055,31 @@ msgstr ""
|
||||
msgid "Enter place or address"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:240
|
||||
#: project/templates/event/update.html:132
|
||||
#: project/templates/event/create.html:244
|
||||
#: project/templates/event/update.html:136
|
||||
msgid "Event dates"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:247
|
||||
#: project/templates/event/update.html:139
|
||||
#: project/templates/event/create.html:251
|
||||
#: project/templates/event/update.html:143
|
||||
msgid "Add event date"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:274
|
||||
#: project/templates/event/create.html:278
|
||||
msgid "Switch to organizer search"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:309
|
||||
#: project/templates/event/create.html:313
|
||||
msgid "Switch to place search"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:320
|
||||
#: project/templates/event/update.html:177
|
||||
#: project/templates/event/create.html:324
|
||||
#: project/templates/event/update.html:181
|
||||
msgid "Access"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:334
|
||||
#: project/templates/event/update.html:191
|
||||
#: project/templates/event/create.html:338
|
||||
#: project/templates/event/update.html:195
|
||||
msgid "Target group"
|
||||
msgstr ""
|
||||
|
||||
@ -2081,11 +2099,32 @@ msgstr ""
|
||||
msgid "Request reference for event \"%(name)s\""
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:301
|
||||
msgid "Search"
|
||||
#: project/templates/event_date/list.html:249
|
||||
msgid "Own events cannot be referenced"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:302
|
||||
#: project/templates/event_date/list.html:249
|
||||
msgid "Own event"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:251
|
||||
msgid "Not referenced"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:253
|
||||
msgid "Referenced"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:416
|
||||
msgid "Enter organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:492
|
||||
#: project/templates/manage/events.html:93
|
||||
msgid "More filters"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:493
|
||||
msgid "Map view"
|
||||
msgstr ""
|
||||
|
||||
@ -2148,25 +2187,21 @@ msgstr ""
|
||||
msgid "Verify organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/manage/events.html:91
|
||||
msgid "More filters"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/manage/events.html:105
|
||||
#: project/templates/manage/events.html:140
|
||||
#: project/templates/manage/events.html:107
|
||||
#: project/templates/manage/events.html:142
|
||||
msgid "Number of references"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/manage/events.html:105
|
||||
#: project/templates/manage/events.html:140
|
||||
#: project/templates/manage/events.html:107
|
||||
#: project/templates/manage/events.html:142
|
||||
msgid "Number of reference requests."
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/manage/events.html:118
|
||||
#: project/templates/manage/events.html:120
|
||||
msgid "Duplicate"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/manage/export.html:79
|
||||
#: project/templates/manage/export.html:77
|
||||
msgid "Create export files"
|
||||
msgstr ""
|
||||
|
||||
@ -2215,7 +2250,7 @@ msgstr ""
|
||||
|
||||
#: project/templates/oauth2_client/create.html:4
|
||||
#: project/templates/oauth2_client/create.html:8
|
||||
#: project/templates/oauth2_client/list.html:17
|
||||
#: project/templates/oauth2_client/list.html:16
|
||||
msgid "Create OAuth2 client"
|
||||
msgstr ""
|
||||
|
||||
@ -2485,23 +2520,23 @@ msgstr ""
|
||||
msgid "Event review status updated"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:28
|
||||
#: project/views/js.py:30
|
||||
msgid "Short name is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:45
|
||||
#: project/views/js.py:47
|
||||
msgid "Name is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:59
|
||||
#: project/views/js.py:61
|
||||
msgid "An account already exists with this email."
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:103
|
||||
#: project/views/js.py:105
|
||||
msgid "Places of organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:111
|
||||
#: project/views/js.py:113
|
||||
msgid "Places of Google Maps"
|
||||
msgstr ""
|
||||
|
||||
@ -2517,19 +2552,19 @@ msgstr ""
|
||||
msgid "Organization successfully left"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/oauth2_client.py:37
|
||||
#: project/views/oauth2_client.py:36
|
||||
msgid "OAuth2 client successfully created"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/oauth2_client.py:62
|
||||
#: project/views/oauth2_client.py:60
|
||||
msgid "OAuth2 client successfully updated"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/oauth2_client.py:85
|
||||
#: project/views/oauth2_client.py:82
|
||||
msgid "Entered name does not match OAuth2 client name"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/oauth2_client.py:90
|
||||
#: project/views/oauth2_client.py:87
|
||||
msgid "OAuth2 client successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
@ -2613,26 +2648,26 @@ msgstr ""
|
||||
msgid "User deletion requested"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/utils.py:71
|
||||
#: project/views/utils.py:91
|
||||
msgid ""
|
||||
"An entry with the entered values already exists. Duplicate entries are "
|
||||
"not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: project/views/utils.py:122
|
||||
#: project/views/utils.py:142
|
||||
#, python-format
|
||||
msgid "Error in the %s field - %s"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/utils.py:129
|
||||
#: project/views/utils.py:149
|
||||
msgid "Show"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/utils.py:137
|
||||
#: project/views/utils.py:157
|
||||
msgid "You do not have permission for this action"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/utils.py:258
|
||||
#: project/views/utils.py:278
|
||||
msgid ""
|
||||
"The invitation was issued to another user. Sign in with the email address"
|
||||
" the invitation was sent to."
|
||||
|
||||
@ -132,6 +132,7 @@ scope_list = [
|
||||
"organization:write",
|
||||
"eventlist:write",
|
||||
"customwidget:write",
|
||||
"eventreference:write",
|
||||
]
|
||||
scopes = {k: get_localized_scope(k) for v, k in enumerate(scope_list)}
|
||||
|
||||
|
||||
@ -163,7 +163,37 @@ class EventCurrentUserMixin(object):
|
||||
return has_favorite_event(current_user.id, event.id)
|
||||
|
||||
|
||||
class EventSchema(EventIdSchema, EventBaseSchemaMixin, EventCurrentUserMixin):
|
||||
class EventCurrentOrganizationMixin(object):
|
||||
reference_id = fields.Method(
|
||||
"get_reference_id",
|
||||
metadata={
|
||||
"description": "Reference id, if event is referenced by current organization"
|
||||
},
|
||||
)
|
||||
|
||||
def get_reference_id(self, event):
|
||||
if not current_user or not current_user.is_authenticated:
|
||||
return None
|
||||
|
||||
from project.views.utils import get_current_admin_unit_for_api
|
||||
|
||||
admin_unit = get_current_admin_unit_for_api()
|
||||
|
||||
if not admin_unit:
|
||||
return None
|
||||
|
||||
from project.services.reference import get_event_reference
|
||||
|
||||
reference = get_event_reference(event.id, admin_unit.id)
|
||||
return reference.id if reference is not None else None
|
||||
|
||||
|
||||
class EventSchema(
|
||||
EventIdSchema,
|
||||
EventBaseSchemaMixin,
|
||||
EventCurrentUserMixin,
|
||||
EventCurrentOrganizationMixin,
|
||||
):
|
||||
organization = fields.Nested(OrganizationRefSchema, attribute="admin_unit")
|
||||
organizer = fields.Nested(OrganizerRefSchema)
|
||||
place = fields.Nested(PlaceRefSchema, attribute="event_place")
|
||||
@ -191,7 +221,9 @@ class EventRefSchema(EventIdSchema):
|
||||
name = marshmallow.auto_field()
|
||||
|
||||
|
||||
class EventSearchItemSchema(EventRefSchema, EventCurrentUserMixin):
|
||||
class EventSearchItemSchema(
|
||||
EventRefSchema, EventCurrentUserMixin, EventCurrentOrganizationMixin
|
||||
):
|
||||
description = marshmallow.auto_field()
|
||||
date_definitions = fields.List(fields.Nested(EventDateDefinitionSchema))
|
||||
photo = fields.Nested(ImageSchema)
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
from flask import request
|
||||
from flask_apispec import doc, marshal_with, use_kwargs
|
||||
from sqlalchemy import and_
|
||||
from sqlalchemy.orm import defaultload, lazyload
|
||||
@ -16,6 +17,7 @@ from project.api.resources import BaseResource, require_api_access
|
||||
from project.models import AdminUnit, Event, EventDate, PublicStatus
|
||||
from project.services.event import get_event_dates_query
|
||||
from project.services.event_search import EventSearchParams
|
||||
from project.views.utils import get_current_admin_unit_for_api
|
||||
|
||||
|
||||
class EventDateListResource(BaseResource):
|
||||
@ -62,6 +64,13 @@ class EventDateSearchResource(BaseResource):
|
||||
login_api_user()
|
||||
params = EventSearchParams()
|
||||
params.load_from_request()
|
||||
|
||||
if "not_referenced" in request.args:
|
||||
admin_unit = get_current_admin_unit_for_api()
|
||||
|
||||
if admin_unit:
|
||||
params.not_referenced_by_organization_id = admin_unit.id
|
||||
|
||||
pagination = get_event_dates_query(params).paginate()
|
||||
return pagination
|
||||
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
from flask import make_response
|
||||
from flask_apispec import doc, marshal_with
|
||||
|
||||
from project import db
|
||||
from project.access import access_or_401, login_api_user_or_401
|
||||
from project.api import add_api_resource
|
||||
from project.api.event_reference.schemas import EventReferenceSchema
|
||||
from project.api.resources import BaseResource, require_api_access
|
||||
@ -13,6 +16,22 @@ class EventReferenceResource(BaseResource):
|
||||
def get(self, id):
|
||||
return EventReference.query.get_or_404(id)
|
||||
|
||||
@doc(
|
||||
summary="Delete reference",
|
||||
tags=["Event References"],
|
||||
)
|
||||
@marshal_with(None, 204)
|
||||
@require_api_access("eventreference:write")
|
||||
def delete(self, id):
|
||||
login_api_user_or_401()
|
||||
reference = EventReference.query.get_or_404(id)
|
||||
access_or_401(reference.admin_unit, "event:reference")
|
||||
|
||||
db.session.delete(reference)
|
||||
db.session.commit()
|
||||
|
||||
return make_response("", 204)
|
||||
|
||||
|
||||
add_api_resource(
|
||||
EventReferenceResource, "/event-references/<int:id>", "api_v1_event_reference"
|
||||
|
||||
@ -1,18 +1,25 @@
|
||||
from marshmallow import fields
|
||||
|
||||
from project.api import marshmallow
|
||||
from project.api.event.schemas import EventRefSchema
|
||||
from project.api.event.schemas import EventRefSchema, EventWriteIdSchema
|
||||
from project.api.organization.schemas import OrganizationRefSchema
|
||||
from project.api.schemas import PaginationRequestSchema, PaginationResponseSchema
|
||||
from project.api.schemas import (
|
||||
IdSchemaMixin,
|
||||
PaginationRequestSchema,
|
||||
PaginationResponseSchema,
|
||||
SQLAlchemyBaseSchema,
|
||||
)
|
||||
from project.models import EventReference
|
||||
|
||||
|
||||
class EventReferenceIdSchema(marshmallow.SQLAlchemySchema):
|
||||
class EventReferenceModelSchema(SQLAlchemyBaseSchema):
|
||||
class Meta:
|
||||
model = EventReference
|
||||
load_instance = True
|
||||
|
||||
id = marshmallow.auto_field()
|
||||
|
||||
class EventReferenceIdSchema(EventReferenceModelSchema, IdSchemaMixin):
|
||||
pass
|
||||
|
||||
|
||||
class EventReferenceRefSchema(EventReferenceIdSchema):
|
||||
@ -38,3 +45,20 @@ class EventReferenceListResponseSchema(PaginationResponseSchema):
|
||||
fields.Nested(EventReferenceRefSchema),
|
||||
metadata={"description": "Event references"},
|
||||
)
|
||||
|
||||
|
||||
class EventReferenceWriteSchemaMixin(object):
|
||||
event = fields.Nested(
|
||||
EventWriteIdSchema,
|
||||
required=True,
|
||||
metadata={"description": "Event to reference"},
|
||||
)
|
||||
|
||||
|
||||
class EventReferenceCreateRequestSchema(
|
||||
EventReferenceModelSchema,
|
||||
EventReferenceWriteSchemaMixin,
|
||||
):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.make_post_schema()
|
||||
|
||||
@ -40,6 +40,8 @@ from project.api.event_list.schemas import (
|
||||
EventListStatusListResponseSchema,
|
||||
)
|
||||
from project.api.event_reference.schemas import (
|
||||
EventReferenceCreateRequestSchema,
|
||||
EventReferenceIdSchema,
|
||||
EventReferenceListRequestSchema,
|
||||
EventReferenceListResponseSchema,
|
||||
)
|
||||
@ -309,6 +311,26 @@ class OrganizationIncomingEventReferenceListResource(BaseResource):
|
||||
pagination = get_reference_incoming_query(admin_unit).paginate()
|
||||
return pagination
|
||||
|
||||
@doc(
|
||||
summary="Add reference",
|
||||
tags=["Organizations", "Event References"],
|
||||
)
|
||||
@use_kwargs(EventReferenceCreateRequestSchema, location="json", apply=False)
|
||||
@marshal_with(EventReferenceIdSchema, 201)
|
||||
@require_api_access("eventreference:write")
|
||||
def post(self, id):
|
||||
login_api_user_or_401()
|
||||
admin_unit = get_admin_unit_for_manage_or_404(id)
|
||||
access_or_401(admin_unit, "event:reference")
|
||||
|
||||
reference = self.create_instance(
|
||||
EventReferenceCreateRequestSchema, admin_unit_id=admin_unit.id
|
||||
)
|
||||
db.session.add(reference)
|
||||
db.session.commit()
|
||||
|
||||
return reference, 201
|
||||
|
||||
|
||||
class OrganizationOutgoingEventReferenceListResource(BaseResource):
|
||||
@doc(
|
||||
|
||||
@ -451,6 +451,10 @@ class FindEventForm(FlaskForm):
|
||||
choices=distance_choices,
|
||||
)
|
||||
postal_code = StringField(lazy_gettext("Postal code"), validators=[Optional()])
|
||||
exclude_recurring = BooleanField(
|
||||
lazy_gettext("Exclude recurring events"),
|
||||
validators=[Optional()],
|
||||
)
|
||||
|
||||
submit = SubmitField(lazy_gettext("Find events"))
|
||||
|
||||
|
||||
@ -1,14 +1,13 @@
|
||||
from flask import request
|
||||
from flask_babel import lazy_gettext
|
||||
from flask_wtf import FlaskForm
|
||||
from wtforms import HiddenField, SelectField, StringField, SubmitField
|
||||
from wtforms import BooleanField, HiddenField, SelectField, StringField, SubmitField
|
||||
from wtforms.validators import Optional
|
||||
|
||||
from project.forms.common import distance_choices
|
||||
from project.forms.widgets import CustomDateField
|
||||
|
||||
|
||||
class FindEventDateForm(FlaskForm):
|
||||
class FindEventDateBaseForm(FlaskForm):
|
||||
class Meta:
|
||||
csrf = False
|
||||
|
||||
@ -20,6 +19,9 @@ class FindEventDateForm(FlaskForm):
|
||||
category_id = SelectField(
|
||||
lazy_gettext("Category"), validators=[Optional()], coerce=int
|
||||
)
|
||||
|
||||
|
||||
class FindEventDateForm(FindEventDateBaseForm):
|
||||
coordinate = HiddenField(validators=[Optional()])
|
||||
location = SelectField(lazy_gettext("Location"), validators=[Optional()])
|
||||
distance = SelectField(
|
||||
@ -29,14 +31,33 @@ class FindEventDateForm(FlaskForm):
|
||||
choices=distance_choices,
|
||||
)
|
||||
event_list_id = HiddenField(validators=[Optional()])
|
||||
organization_id = HiddenField(validators=[Optional()])
|
||||
organizer_id = HiddenField(validators=[Optional()])
|
||||
admin_unit_id = SelectField(
|
||||
lazy_gettext("Organization"),
|
||||
validators=[Optional()],
|
||||
coerce=int,
|
||||
)
|
||||
organizer_id = SelectField(
|
||||
lazy_gettext("Organizer"),
|
||||
validators=[Optional()],
|
||||
coerce=int,
|
||||
)
|
||||
not_referenced = BooleanField(
|
||||
lazy_gettext("Show unreferenced events only"),
|
||||
validators=[Optional()],
|
||||
)
|
||||
exclude_recurring = BooleanField(
|
||||
lazy_gettext("Exclude recurring events"),
|
||||
validators=[Optional()],
|
||||
)
|
||||
postal_code = StringField(lazy_gettext("Postal code"), validators=[Optional()])
|
||||
|
||||
submit = SubmitField(lazy_gettext("Find events"))
|
||||
|
||||
|
||||
class FindEventDateWidgetForm(FindEventDateBaseForm):
|
||||
s_ft = HiddenField(validators=[Optional()])
|
||||
s_bg = HiddenField(validators=[Optional()])
|
||||
s_pr = HiddenField(validators=[Optional()])
|
||||
s_li = HiddenField(validators=[Optional()])
|
||||
|
||||
submit = SubmitField(lazy_gettext("Find"))
|
||||
|
||||
def is_submitted(self):
|
||||
return "submit" in request.args
|
||||
|
||||
@ -50,6 +50,7 @@ def print_dynamic_texts():
|
||||
gettext("Scope_place:write")
|
||||
gettext("Scope_event:write")
|
||||
gettext("Scope_eventlist:write")
|
||||
gettext("Scope_eventreference:write")
|
||||
gettext("Scope_organization:read")
|
||||
gettext("Scope_organization:write")
|
||||
gettext("There must be no self-reference.")
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
from sqlalchemy import Column, Integer, UniqueConstraint
|
||||
from sqlalchemy.event import listens_for
|
||||
|
||||
from project import db
|
||||
from project.models.trackable_mixin import TrackableMixin
|
||||
from project.utils import make_check_violation
|
||||
|
||||
|
||||
class EventReference(db.Model, TrackableMixin):
|
||||
@ -11,3 +13,13 @@ class EventReference(db.Model, TrackableMixin):
|
||||
event_id = db.Column(db.Integer, db.ForeignKey("event.id"), nullable=False)
|
||||
admin_unit_id = db.Column(db.Integer, db.ForeignKey("adminunit.id"), nullable=False)
|
||||
rating = Column(Integer(), default=50)
|
||||
|
||||
def validate(self):
|
||||
if self.event and self.event.admin_unit_id == self.admin_unit_id:
|
||||
raise make_check_violation("Own events cannot be referenced")
|
||||
|
||||
|
||||
@listens_for(EventReference, "before_insert")
|
||||
@listens_for(EventReference, "before_update")
|
||||
def before_saving_event_reference(mapper, connect, self):
|
||||
self.validate()
|
||||
|
||||
@ -188,13 +188,20 @@ def get_admin_unit_query(
|
||||
|
||||
if keyword:
|
||||
like_keyword = "%" + keyword + "%"
|
||||
order_keyword = keyword + "%"
|
||||
keyword_filter = or_(
|
||||
AdminUnit.name.ilike(like_keyword),
|
||||
AdminUnit.short_name.ilike(like_keyword),
|
||||
)
|
||||
query = query.filter(keyword_filter)
|
||||
query = query.filter(keyword_filter).order_by(
|
||||
AdminUnit.name.ilike(order_keyword).desc(),
|
||||
AdminUnit.short_name.ilike(order_keyword).desc(),
|
||||
func.lower(AdminUnit.name),
|
||||
)
|
||||
else:
|
||||
query = query.order_by(func.lower(AdminUnit.name))
|
||||
|
||||
return query.order_by(func.lower(AdminUnit.name))
|
||||
return query
|
||||
|
||||
|
||||
def get_organizer_query(admin_unit_id, name=None):
|
||||
@ -202,9 +209,15 @@ def get_organizer_query(admin_unit_id, name=None):
|
||||
|
||||
if name:
|
||||
like_name = "%" + name + "%"
|
||||
query = query.filter(EventOrganizer.name.ilike(like_name))
|
||||
order_name = name + "%"
|
||||
query = query.filter(EventOrganizer.name.ilike(like_name)).order_by(
|
||||
EventOrganizer.name.ilike(order_name).desc(),
|
||||
func.lower(EventOrganizer.name),
|
||||
)
|
||||
else:
|
||||
query = query.order_by(func.lower(EventOrganizer.name))
|
||||
|
||||
return query.order_by(func.lower(EventOrganizer.name))
|
||||
return query
|
||||
|
||||
|
||||
def get_custom_widget_query(admin_unit_id, name=None):
|
||||
|
||||
@ -64,7 +64,7 @@ def upsert_event_category(category_name):
|
||||
return result
|
||||
|
||||
|
||||
def fill_event_filter(event_filter, params):
|
||||
def fill_event_filter(event_filter, params: EventSearchParams):
|
||||
if params.keyword:
|
||||
tq = func.websearch_to_tsquery("german", params.keyword)
|
||||
event_filter = and_(
|
||||
@ -137,10 +137,27 @@ def fill_event_filter(event_filter, params):
|
||||
user_favorite_exists,
|
||||
)
|
||||
|
||||
if params.not_referenced_by_organization_id:
|
||||
reference_does_not_exist = ~EventReference.query.filter(
|
||||
EventReference.event_id == Event.id,
|
||||
EventReference.admin_unit_id == params.not_referenced_by_organization_id,
|
||||
).exists()
|
||||
event_filter = and_(
|
||||
event_filter,
|
||||
Event.admin_unit_id != params.not_referenced_by_organization_id,
|
||||
reference_does_not_exist,
|
||||
)
|
||||
|
||||
if params.exclude_recurring:
|
||||
event_filter = and_(
|
||||
event_filter,
|
||||
~Event.is_recurring,
|
||||
)
|
||||
|
||||
return event_filter
|
||||
|
||||
|
||||
def get_event_dates_query(params):
|
||||
def get_event_dates_query(params: EventSearchParams):
|
||||
event_filter = 1 == 1
|
||||
date_filter = EventDate.start >= datetime.min
|
||||
|
||||
@ -314,7 +331,7 @@ def get_event_with_details_or_404(event_id):
|
||||
)
|
||||
|
||||
|
||||
def get_events_query(params):
|
||||
def get_events_query(params: EventSearchParams):
|
||||
event_filter = 1 == 1
|
||||
date_filter = EventDate.start >= datetime.min
|
||||
|
||||
|
||||
@ -31,6 +31,8 @@ class EventSearchParams(object):
|
||||
self.status = None
|
||||
self.favored_by_user_id = None
|
||||
self.postal_code = None
|
||||
self.not_referenced_by_organization_id = None
|
||||
self.exclude_recurring = False
|
||||
|
||||
@property
|
||||
def date_from(self):
|
||||
@ -94,6 +96,9 @@ class EventSearchParams(object):
|
||||
def load_list_param(self, param: str):
|
||||
item_ids = request.args.getlist(param)
|
||||
|
||||
if len(item_ids) == 1 and "," in item_ids[0]:
|
||||
item_ids = [i.strip() for i in item_ids[0].split(",")]
|
||||
|
||||
if "0" in item_ids:
|
||||
item_ids.remove("0")
|
||||
|
||||
@ -102,6 +107,9 @@ class EventSearchParams(object):
|
||||
|
||||
return None
|
||||
|
||||
def load_bool_param(self, param: str):
|
||||
return request.args[param] == "y"
|
||||
|
||||
def load_status_list_param(self):
|
||||
stati = self.load_list_param("status")
|
||||
|
||||
@ -149,7 +157,7 @@ class EventSearchParams(object):
|
||||
if "event_list_id" in request.args:
|
||||
self.event_list_id = self.load_list_param("event_list_id")
|
||||
|
||||
if "postal_code" in request.args: # pragma: no cover
|
||||
if "postal_code" in request.args:
|
||||
self.postal_code = self.load_list_param("postal_code")
|
||||
|
||||
if "sort" in request.args:
|
||||
@ -158,5 +166,11 @@ class EventSearchParams(object):
|
||||
if "organization_id" in request.args:
|
||||
self.admin_unit_id = request.args["organization_id"]
|
||||
|
||||
if "admin_unit_id" in request.args:
|
||||
self.admin_unit_id = request.args["admin_unit_id"]
|
||||
|
||||
if "status" in request.args:
|
||||
self.status = self.load_status_list_param()
|
||||
|
||||
if "exclude_recurring" in request.args:
|
||||
self.exclude_recurring = self.load_bool_param("exclude_recurring")
|
||||
|
||||
@ -28,9 +28,13 @@ def get_event_places(admin_unit_id, keyword=None, limit=None):
|
||||
|
||||
if keyword:
|
||||
like_keyword = "%" + keyword + "%"
|
||||
order_keyword = keyword + "%"
|
||||
query = query.filter(EventPlace.name.ilike(like_keyword))
|
||||
|
||||
query = query.order_by(func.lower(EventPlace.name))
|
||||
query = query.order_by(
|
||||
EventPlace.name.ilike(order_keyword).desc(), func.lower(EventPlace.name)
|
||||
)
|
||||
else:
|
||||
query = query.order_by(func.lower(EventPlace.name))
|
||||
|
||||
if limit:
|
||||
query = query.limit(5)
|
||||
|
||||
1
project/static/ext/select2.4.0.13.min.css
vendored
Normal file
1
project/static/ext/select2.4.0.13.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2
project/static/ext/select2.4.0.13.min.js
vendored
Normal file
2
project/static/ext/select2.4.0.13.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,7 +1,3 @@
|
||||
/**
|
||||
* Skipped minification because the original files appears to be already minified.
|
||||
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
|
||||
*/
|
||||
/*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||||
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||||
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){return"Bitte "+(e.input.length-e.maximum)+" Zeichen weniger eingeben"},inputTooShort:function(e){return"Bitte "+(e.minimum-e.input.length)+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var n="Sie können nur "+e.maximum+" Element";return 1!=e.maximum&&(n+="e"),n+=" auswählen"},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Elemente"}}}),e.define,e.require}();
|
||||
@ -76,6 +76,10 @@ tr.table-line-through td {
|
||||
max-width: 1024px;
|
||||
}
|
||||
|
||||
.w-medium {
|
||||
max-width: 400px;
|
||||
}
|
||||
|
||||
.dropzone-wrapper {
|
||||
border: 2px dashed #91b0b3;
|
||||
color: #92b0b3;
|
||||
|
||||
@ -225,6 +225,14 @@ function handle_request_start(
|
||||
$(error_id).hide();
|
||||
}
|
||||
|
||||
function create_request_error_message(
|
||||
xhr,
|
||||
status,
|
||||
error,
|
||||
) {
|
||||
return status + " " + xhr.statusText + " " + xhr.responseText;
|
||||
}
|
||||
|
||||
function handle_request_error(
|
||||
xhr,
|
||||
status,
|
||||
@ -238,6 +246,14 @@ function handle_request_error(
|
||||
$(spinner_id).hide();
|
||||
}
|
||||
|
||||
function alert_request_error(
|
||||
xhr,
|
||||
status,
|
||||
error,
|
||||
) {
|
||||
alert(create_request_error_message(xhr, status, error));
|
||||
}
|
||||
|
||||
function handle_request_success(
|
||||
result_id = "#result_container",
|
||||
spinner_id = "#spinner",
|
||||
|
||||
@ -40,7 +40,7 @@ const OrganizationRead = {
|
||||
</div>
|
||||
|
||||
<b-list-group class="mt-4">
|
||||
<b-list-group-item :href="'/eventdates?organization_id=' + organization.id">
|
||||
<b-list-group-item :href="'/eventdates?admin_unit_id=' + organization.id">
|
||||
<i class="fa fa-fw fa-list"></i>
|
||||
{{ $t("shared.models.event.listName") }}
|
||||
</b-list-group-item>
|
||||
@ -65,10 +65,6 @@ const OrganizationRead = {
|
||||
</b-modal>
|
||||
</b-col>
|
||||
</b-row>
|
||||
|
||||
<div>
|
||||
<iframe id="eventcally-widget" :src="'/' + organization.short_name + '/widget/eventdates'" style="width: 1px; min-width: 100%; max-width:100%;"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</b-overlay>
|
||||
</div>
|
||||
@ -122,9 +118,6 @@ const OrganizationRead = {
|
||||
})
|
||||
.then((response) => {
|
||||
this.organization = response.data;
|
||||
Vue.nextTick(function () {
|
||||
iFrameResize({ minHeight: 300, onMessage: function(m) {} }, '#eventcally-widget');
|
||||
});
|
||||
});
|
||||
},
|
||||
handleLoading(isLoading) {
|
||||
|
||||
@ -1025,38 +1025,6 @@
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro render_event_dates_filter_form(form) %}
|
||||
<form action="" id="filter_form" class="form" method="GET" autocomplete="off">
|
||||
{{ form.hidden_tag() }}
|
||||
|
||||
{% if form.keyword %}
|
||||
{{ render_field_with_errors(form.keyword, formrow="1") }}
|
||||
{% endif %}
|
||||
|
||||
{% if form.category_id %}
|
||||
{{ render_field_with_errors(form.category_id, formrow="1") }}
|
||||
{% endif %}
|
||||
|
||||
{% if form.organizer_id and form.organizer_id.type != "HiddenField" %}
|
||||
{{ render_field_with_errors(form.organizer_id, formrow="1") }}
|
||||
{% endif %}
|
||||
|
||||
{% if form.event_place_id and form.event_place_id.type != "HiddenField" %}
|
||||
{{ render_field_with_errors(form.event_place_id, formrow="1") }}
|
||||
{% endif %}
|
||||
|
||||
{{ render_event_dates_date_field(form.date_from, form.date_to) }}
|
||||
|
||||
{% if form.weekday and form.weekday.choices|length > 0 %}
|
||||
{{ render_field_with_errors(form.weekday, ri="multicheckbox", formrow="1") }}
|
||||
{% endif %}
|
||||
|
||||
{{ render_event_dates_location_field(form.location, form.distance) }}
|
||||
|
||||
{{ render_field(form.submit) }}
|
||||
</form>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro render_cropper_code(field_id = "photo", min_width=320, min_height=160) %}
|
||||
var field_id = "#{{ field_id }}-image_base64";
|
||||
var inputImage = document.getElementById('photo-image_file');
|
||||
@ -1690,8 +1658,8 @@ $('#allday').on('change', function() {
|
||||
{% macro render_form_scripts() %}
|
||||
<script src="{{ url_for('static', filename='ext/jquery-ui.1.12.1/jquery-ui.min.js')}}"></script>
|
||||
<script src="{{ url_for('static', filename='ext/jquery-ui-i18n.1.11.4.min.js')}}"></script>
|
||||
<script src="{{ url_for('static', filename='ext/select2.4.1.0-beta.1.min.js')}}"></script>
|
||||
<script src="{{ url_for('static', filename='ext/select2.i18n.de.4.1.0-beta.1.min.js')}}"></script>
|
||||
<script src="{{ url_for('static', filename='ext/select2.4.0.13.min.js')}}"></script>
|
||||
<script src="{{ url_for('static', filename='ext/select2.i18n.de.4.0.13.min.js')}}"></script>
|
||||
<script src="{{ url_for('static', filename='ext/jquery.timepicker.1.13.18.min.js')}}"></script>
|
||||
<script type="text/javascript">
|
||||
$.datepicker.setDefaults($.datepicker.regional["de"]);
|
||||
@ -1717,7 +1685,7 @@ $('#allday').on('change', function() {
|
||||
|
||||
{% macro render_form_styles() %}
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='ext/jquery-ui.1.12.1/jquery-ui.min.css')}}">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='ext/select2.4.1.0-beta.1.min.css')}}" />
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='ext/select2.4.0.13.min.css')}}" />
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='ext/select2-bootstrap4.1.5.2.min.css')}}" />
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='ext/jquery.timepicker.1.13.18.min.css')}}" />
|
||||
{% endmacro %}
|
||||
@ -1799,12 +1767,16 @@ $('#co_organizer_ids').select2({
|
||||
data: function (params) {
|
||||
return {
|
||||
name: params.term,
|
||||
per_page: 5
|
||||
per_page: 5,
|
||||
page: params.page || 1
|
||||
};
|
||||
},
|
||||
processResults: function (data) {
|
||||
return {
|
||||
results: data.items.map(p => ({"id": p.id, "text": p.name}))
|
||||
results: data.items.map(p => ({"id": p.id, "text": p.name})),
|
||||
pagination: {
|
||||
more: data.has_next
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
@ -1823,12 +1795,16 @@ $('#event_list_ids').select2({
|
||||
data: function (params) {
|
||||
return {
|
||||
name: params.term,
|
||||
per_page: 5
|
||||
per_page: 5,
|
||||
page: params.page || 1
|
||||
};
|
||||
},
|
||||
processResults: function (data) {
|
||||
return {
|
||||
results: data.items.map(p => ({"id": p.id, "text": p.name}))
|
||||
results: data.items.map(p => ({"id": p.id, "text": p.name})),
|
||||
pagination: {
|
||||
more: data.has_next
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
@ -164,12 +164,16 @@ $( function() {
|
||||
data: function (params) {
|
||||
return {
|
||||
name: params.term,
|
||||
per_page: 5
|
||||
per_page: 5,
|
||||
page: params.page || 1
|
||||
};
|
||||
},
|
||||
processResults: function (data) {
|
||||
return {
|
||||
results: data.items.map(p => ({"id": p.id, "text": p.name}))
|
||||
results: data.items.map(p => ({"id": p.id, "text": p.name})),
|
||||
pagination: {
|
||||
more: data.has_next
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
@ -87,12 +87,16 @@
|
||||
data: function (params) {
|
||||
return {
|
||||
name: params.term,
|
||||
per_page: 5
|
||||
per_page: 5,
|
||||
page: params.page || 1
|
||||
};
|
||||
},
|
||||
processResults: function (data) {
|
||||
return {
|
||||
results: data.items.map(p => ({"id": p.id, "text": p.name}))
|
||||
results: data.items.map(p => ({"id": p.id, "text": p.name})),
|
||||
pagination: {
|
||||
more: data.has_next
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
{% extends "layout.html" %}
|
||||
{% from "_macros.html" import render_form_styles, render_form_scripts, render_jquery_steps_header, render_google_filter_autocomplete_header, render_event_dates_filter_form, render_pagination, render_place, render_events_sub_menu %}
|
||||
{% from "_macros.html" import render_field, render_event_dates_location_field, render_event_dates_date_field, render_field_with_errors, render_form_styles, render_form_scripts, render_jquery_steps_header, render_google_filter_autocomplete_header, render_pagination, render_place, render_events_sub_menu %}
|
||||
{% set user_can_reference_event = current_admin_unit and has_access(current_admin_unit, "event:reference") %}
|
||||
|
||||
{%- block title -%}
|
||||
{{ _('Event Dates') }}
|
||||
@ -148,7 +149,46 @@
|
||||
}
|
||||
}
|
||||
|
||||
function start_request() {
|
||||
{% if user_can_reference_event %}
|
||||
function add_reference(event_id) {
|
||||
$.ajax({
|
||||
url: "{{ url_for('api_v1_organization_incoming_event_reference_list', id=current_admin_unit.id) }}",
|
||||
type: "post",
|
||||
dataType: "json",
|
||||
contentType: "application/json",
|
||||
data: JSON.stringify({
|
||||
"event": {"id": event_id},
|
||||
}),
|
||||
error: function(xhr, status, error) {
|
||||
alert_request_error(xhr, status, error);
|
||||
},
|
||||
success: function (data) {
|
||||
start_request(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function remove_reference(reference_id) {
|
||||
$.ajax({
|
||||
url: "/api/v1/event-references/" + reference_id,
|
||||
type: "delete",
|
||||
error: function(xhr, status, error) {
|
||||
alert_request_error(xhr, status, error);
|
||||
},
|
||||
success: function (data) {
|
||||
start_request(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
var scrollPos;
|
||||
|
||||
function start_request(remember_scroll_pos = false) {
|
||||
if (remember_scroll_pos) {
|
||||
scrollPos = $(window).scrollTop();
|
||||
}
|
||||
|
||||
handle_request_start();
|
||||
|
||||
var result_list = $("#result_list");
|
||||
@ -164,27 +204,26 @@
|
||||
type: "get",
|
||||
dataType: "json",
|
||||
data: req_data,
|
||||
{% if user_can_reference_event %}
|
||||
headers: {"X-OrganizationId": "{{ current_admin_unit.id }}"},
|
||||
{% endif %}
|
||||
error: function(xhr, status, error) {
|
||||
handle_request_error(xhr, status, error);
|
||||
},
|
||||
success: function (data) {
|
||||
|
||||
var content = '';
|
||||
current_data = data;
|
||||
event_dates = data.items;
|
||||
var event_date_count = event_dates.length;
|
||||
var cols = 3;
|
||||
|
||||
var inactive_class = "text-primary";
|
||||
var disabled_class = "text-secondary";
|
||||
var active_class = "text-success";
|
||||
var action_button_cls = "btn";
|
||||
var action_icon_style = "";
|
||||
|
||||
$.each(event_dates, function(index, event_date) {
|
||||
event = event_date.event;
|
||||
var is_card_deck = (index % cols == 0);
|
||||
|
||||
if (is_card_deck) {
|
||||
if (content != '') {
|
||||
content += '</div>';
|
||||
}
|
||||
content += '<div class="card-deck">';
|
||||
}
|
||||
|
||||
var start = moment(event_date.start);
|
||||
var img_tag = '';
|
||||
@ -200,30 +239,74 @@
|
||||
|
||||
if (event.place != null && event.place.location != null && event.place.location.latitude != null) {
|
||||
var location = event.place.location;
|
||||
map_link_start = '<a href="#" onclick="fly_to_event(' + location.latitude + ', ' + location.longitude + '); return false;">';
|
||||
map_link_start = '<a href="#" onclick="fly_to_event(' + location.latitude + ', ' + location.longitude + '); return false;" class="text-secondary">';
|
||||
map_link_end = '</a>';
|
||||
}
|
||||
|
||||
content += '<div class="card mb-3" id="event_card_' + event_date.id + '">' +
|
||||
img_tag +
|
||||
'<div class="card-body" style="padding:0.5rem">' +
|
||||
'<div class="small text-uppercase" style="font-weight: 600;">' + format_event_date_instance(start, event_date.allday) + '</div>' +
|
||||
'<h2 class="card-title m-0"><a href="eventdate/' + event_date.id + '" class="stretched-link text-body">' + event.name + '</a> <span class="small" style="vertical-align: middle;">' + render_event_warning_pills(event) + '</span></h2>' +
|
||||
'<div class="text-muted" style="font-weight: 500;">' + map_link_start + event.place.name + map_link_end + '</div>' +
|
||||
var action_tag = '';
|
||||
{% if user_can_reference_event %}
|
||||
if (event.organization.id == {{ current_admin_unit.id }}) {
|
||||
action_tag += '<button type="button" class="' + action_button_cls + ' px-0" data-toggle="tooltip" title="{{ _('Own events cannot be referenced') }}"><i class="fa fa-fw fa-link ' + disabled_class + '" style="' + action_icon_style + '"></i> <span class="d-none d-sm-inline small ' + disabled_class + '">{{ _('Own event') }}</span></button>';
|
||||
} else if (event.reference_id == null) {
|
||||
action_tag += '<button type="button" onclick="$(this).tooltip(\'hide\'); add_reference(\'' + event.id + '\');" class="' + action_button_cls + ' px-0" data-toggle="tooltip" title="{{ _('Reference event') }}"><i class="fa fa-fw fa-link ' + inactive_class + '" style="' + action_icon_style + '"></i> <span class="d-none d-sm-inline small ' + inactive_class + '">{{ _('Not referenced') }}</span></button>';
|
||||
} else {
|
||||
action_tag += '<button type="button" onclick="$(this).tooltip(\'hide\'); remove_reference(\'' + event.reference_id + '\');" class="' + action_button_cls + ' px-0" data-toggle="tooltip" title="{{ _('Delete reference') }}"><i class="fa fa-fw fa-link ' + active_class + '" style="' + action_icon_style + '"></i> <span class="d-none d-sm-inline small ' + active_class + '">{{ _('Referenced') }}</span></button>';
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
var action_div = action_tag == '' ? '' : '<div class="col-lg d-flex justify-content-between p-0 w-medium" style="font-size:0.9rem; text-align:right;">' + action_tag + '</div>';
|
||||
var organization_name = event.organization.name == event.organizer.name ? '' : event.organization.name;
|
||||
|
||||
var desktop = '<div class="row mb-3 d-none d-sm-block">' +
|
||||
'<div class="col-sm">' +
|
||||
'<div class="card">' +
|
||||
'<div class="card-body">' +
|
||||
'<div class="row">' +
|
||||
'<div class="col-sm-8">' +
|
||||
'<h5 class="card-title"><a href="eventdate/' + event_date.id + '" class="text-body">' + event.name + '</a> <span class="small" style="vertical-align: middle;">' + render_event_warning_pills(event) + '</span></h5>' +
|
||||
'<h6 class="card-subtitle mb-2 text-body"><i class="fa fa-calendar"></i> ' + format_event_date_instance(start, event_date.allday) + '</h6>' +
|
||||
(event.description != null ? '<p class="card-text">' + event.description.truncate(200, true) + '</p>' : '') +
|
||||
'<small class="text-muted mr-2"><i class="fa fa-server"></i> ' + event.organizer.name + '</small>' +
|
||||
(organization_name != '' ? '<small class="text-muted mr-2"><i class="fa fa-database"></i> ' + organization_name + '</small>' : '') +
|
||||
'<small class="text-muted"><i class="fa fa-map-marker"></i> ' + map_link_start + event.place.name + map_link_end + '</small>' +
|
||||
'</div>' +
|
||||
'<div class="col-sm-4 text-right">' +
|
||||
(event.photo != null ? '<img src="' + event.photo.image_url + '" style="object-fit: contain; width: 160px; height: 160px;" alt="Event image" />' : '') +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
(action_div != '' ? '<div class="card-footer py-1">' + action_div + '</div>' : '') +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>';
|
||||
var mobile = '<div class="row mb-3 d-sm-none">' +
|
||||
'<div class="col-sm">' +
|
||||
'<div class="card">' +
|
||||
'<div>' +
|
||||
(event.photo != null ? '<img src="' + event.photo.image_url + '" class="card-img-top" style="object-fit: cover; height: 12vh;" alt="Event image" />' : '') +
|
||||
'</div>' +
|
||||
'<div class="card-body" style="padding:0.5rem">' +
|
||||
'<div class="row">' +
|
||||
'<div class="col-sm-12">' +
|
||||
'<h5 class="card-title"><a href="eventdate/' + event_date.id + '" class="text-body">' + event.name + '</a> <span class="small" style="vertical-align: middle;">' + render_event_warning_pills(event) + '</span></h5>' +
|
||||
'<h6 class="card-subtitle mb-2 text-body"><i class="fa fa-calendar"></i> ' + format_event_date_instance(start, event_date.allday) + '</h6>' +
|
||||
(event.description != null ? '<p class="card-text">' + event.description.truncate(100, true) + '</p>' : '') +
|
||||
'<small class="text-muted mr-2"><i class="fa fa-server"></i> ' + event.organizer.name + '</small>' +
|
||||
(organization_name != '' ? '<small class="text-muted mr-2"><i class="fa fa-database"></i> ' + organization_name + '</small>' : '') +
|
||||
'<small class="text-muted"><i class="fa fa-map-marker"></i> ' + map_link_start + event.place.name + map_link_end + '</small>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="card-footer bg-transparent border-0 p-2">' +
|
||||
action_div +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>';
|
||||
|
||||
content += '<div id="event_card_' + event_date.id + '">' + desktop + mobile + '</div>';
|
||||
});
|
||||
|
||||
if (content != '') {
|
||||
var remaining_cols = (cols - (event_date_count % cols)) % cols;
|
||||
|
||||
for (i = 0; i < remaining_cols; i++) {
|
||||
content += '<div class="card mb-3"></div>';
|
||||
}
|
||||
|
||||
content += '</div>';
|
||||
}
|
||||
|
||||
result_list.append(content);
|
||||
|
||||
if (data.has_prev) {
|
||||
@ -250,10 +333,25 @@
|
||||
if (leaflet_map != null) {
|
||||
add_events_to_map();
|
||||
}
|
||||
|
||||
$('[data-toggle="tooltip"]').tooltip();
|
||||
|
||||
if (remember_scroll_pos) {
|
||||
$(window).scrollTop(scrollPos);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function update_organizer_filter_enabled() {
|
||||
if ($('#admin_unit_id').val() == null) {
|
||||
$('#organizer_id').attr('disabled', 'disabled');
|
||||
$('#organizer_id').val(null).trigger('change');
|
||||
} else {
|
||||
$('#organizer_id').removeAttr('disabled');
|
||||
}
|
||||
}
|
||||
|
||||
$( function() {
|
||||
$("#filter_form").submit(function(e) {
|
||||
e.stopPropagation();
|
||||
@ -290,27 +388,118 @@
|
||||
|
||||
$('#map').hide();
|
||||
$("#filter_form").submit();
|
||||
|
||||
$('#admin_unit_id').select2({
|
||||
width: '100%',
|
||||
theme: 'bootstrap4',
|
||||
ajax: {
|
||||
url: "{{ url_for('api_v1_organization_list') }}",
|
||||
dataType: 'json',
|
||||
delay: 250,
|
||||
cache: true,
|
||||
data: function (params) {
|
||||
return {
|
||||
keyword: params.term,
|
||||
per_page: 5,
|
||||
page: params.page || 1
|
||||
};
|
||||
},
|
||||
processResults: function (data) {
|
||||
return {
|
||||
results: data.items.map(p => ({"id": p.id, "text": p.name})),
|
||||
pagination: {
|
||||
more: data.has_next
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
placeholder: "{{ _('Enter organization') }}",
|
||||
allowClear: true
|
||||
});
|
||||
|
||||
$('#organizer_id').select2({
|
||||
width: '100%',
|
||||
theme: 'bootstrap4',
|
||||
ajax: {
|
||||
url: function (params) {
|
||||
return '/api/v1/organizations/' + $('#admin_unit_id').val() + '/organizers';
|
||||
},
|
||||
dataType: 'json',
|
||||
delay: 250,
|
||||
cache: true,
|
||||
data: function (params) {
|
||||
return {
|
||||
name: params.term,
|
||||
per_page: 5,
|
||||
page: params.page || 1
|
||||
};
|
||||
},
|
||||
processResults: function (data) {
|
||||
return {
|
||||
results: data.items.map(p => ({"id": p.id, "text": p.name})),
|
||||
pagination: {
|
||||
more: data.has_next
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
placeholder: "{{ _('Enter organizer') }}",
|
||||
allowClear: true
|
||||
});
|
||||
|
||||
$('#admin_unit_id').on('change', function (e) {
|
||||
update_organizer_filter_enabled();
|
||||
});
|
||||
|
||||
update_organizer_filter_enabled();
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h1 class="mb-3">{{ _('Event Dates') }}</h1>
|
||||
<div class="btn-group mb-3">
|
||||
<button type="button" id="toggle-search-btn" class="btn btn-outline-secondary btn-sm" data-toggle="collapse" data-target="#search_form" aria-expanded="{% if form.is_submitted() %}true{% else %}false{% endif %}"><i class="fa fa-search"></i> {{ _('Search') }}</button>
|
||||
<button type="button" id="toggle-map-btn" class="btn btn-outline-secondary btn-sm" onclick="toggle_map()"><i class="fa fa-map"></i> {{ _('Map view') }}</button>
|
||||
</div>
|
||||
<h1 class="mb-0">{{ _('Event Dates') }}</h1>
|
||||
|
||||
<div class="{% if form.is_submitted() %}{% else %}collapse{% endif %}" id="search_form">
|
||||
{{ render_event_dates_filter_form(form) }}
|
||||
<div class="my-4 w-normal" id="search_form">
|
||||
<form action="" id="filter_form" class="form" method="GET" autocomplete="off">
|
||||
{{ form.hidden_tag() }}
|
||||
|
||||
{{ render_event_dates_date_field(form.date_from, form.date_to) }}
|
||||
{{ render_field_with_errors(form.keyword, formrow="1") }}
|
||||
|
||||
{% set form_collapsed = not form.category_id.data and not form.admin_unit_id.data and not form.organizer_id.data and not form.coordinate.data %}
|
||||
<div id="extended_search_form" class="{% if form_collapsed %}collapse{% else %}show{% endif %}">
|
||||
|
||||
{{ render_field_with_errors(form.category_id, formrow="1") }}
|
||||
|
||||
{{ render_field_with_errors(form.admin_unit_id, class="w-100", formrow="1") }}
|
||||
|
||||
{{ render_field_with_errors(form.organizer_id, class="w-100", formrow="1") }}
|
||||
|
||||
{{ render_field_with_errors(form.postal_code, formrow="1") }}
|
||||
|
||||
{{ render_event_dates_location_field(form.location, form.distance) }}
|
||||
|
||||
{{ render_field_with_errors(form.exclude_recurring, ri="checkbox", formrow="1") }}
|
||||
|
||||
{% if user_can_reference_event %}
|
||||
{{ render_field_with_errors(form.not_referenced, ri="checkbox", formrow="1") }}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<p>
|
||||
{{ form.submit(class="btn btn-primary")|safe }}
|
||||
<button id="toggle-search-btn" type="button" class="btn btn-secondary mx-2" data-toggle="collapse" data-target="#extended_search_form" aria-expanded="{% if form_collapsed %}false{% else %}true{% endif %}">{{ _('More filters') }}</button>
|
||||
<button type="button" id="toggle-map-btn" class="btn btn-outline-secondary" onclick="toggle_map()"><i class="fa fa-map"></i> {{ _('Map view') }}</button>
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md mx-3 mb-3" id="map" style="height: 400px;">
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div id="result_container">
|
||||
<div id="result_container" class="w-normal">
|
||||
<div class="m-1 small text-center text-secondary" id="result_info"></div>
|
||||
<div style="min-height: 300px;">
|
||||
<div id="result_list">
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{% extends "layout_vue.html" %}
|
||||
{% set active_id = "events" %}
|
||||
{% from "_macros.html" import render_jquery_steps_header, render_google_filter_autocomplete_header, render_event_dates_location_field, render_field, render_event_dates_date_field, render_event_in_list, render_manage_form_styles, render_manage_form_scripts, render_event_dates_filter_form, render_event_warning_pills, render_pagination, render_event_date, render_field_with_errors, render_event_organizer %}
|
||||
{% from "_macros.html" import render_jquery_steps_header, render_google_filter_autocomplete_header, render_event_dates_location_field, render_field, render_event_dates_date_field, render_event_in_list, render_manage_form_styles, render_manage_form_scripts, render_event_warning_pills, render_pagination, render_event_date, render_field_with_errors, render_event_organizer %}
|
||||
|
||||
{%- block title -%}
|
||||
{{ _('Events') }}
|
||||
@ -55,7 +55,7 @@ var vue_app_data = { eventId: 0 };
|
||||
<a class="btn btn-outline-secondary btn-sm m-1" href="{{ url_for('event_create_for_admin_unit_id', id=admin_unit.id) }}" role="button"><i class="fa fa-plus"></i> {{ _('Create event') }}</a>
|
||||
</h1>
|
||||
|
||||
<div class="my-4">
|
||||
<div class="my-4 w-normal">
|
||||
<form action="" id="filter_form" class="form" method="GET" autocomplete="off">
|
||||
{{ form.hidden_tag() }}
|
||||
|
||||
@ -65,7 +65,7 @@ var vue_app_data = { eventId: 0 };
|
||||
{{ render_field_with_errors(form.keyword, formrow="1") }}
|
||||
{% endif %}
|
||||
|
||||
{% set form_collapsed = not form.category_id.data and not form.organizer_id.data and not form.event_place_id.data and not form.postal_code.data and not form.coordinate.data %}
|
||||
{% set form_collapsed = not form.exclude_recurring.data and not form.category_id.data and not form.organizer_id.data and not form.event_place_id.data and not form.postal_code.data and not form.coordinate.data %}
|
||||
<div id="extended_search_form" class="{% if form_collapsed %}collapse{% else %}show{% endif %}">
|
||||
|
||||
{% if form.category_id %}
|
||||
@ -84,6 +84,8 @@ var vue_app_data = { eventId: 0 };
|
||||
|
||||
{{ render_event_dates_location_field(form.location, form.distance) }}
|
||||
|
||||
{{ render_field_with_errors(form.exclude_recurring, ri="checkbox", formrow="1") }}
|
||||
|
||||
</div>
|
||||
|
||||
<p>
|
||||
|
||||
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-05-11 11:19+0200\n"
|
||||
"POT-Creation-Date: 2023-05-30 14:22+0200\n"
|
||||
"PO-Revision-Date: 2020-06-07 18:51+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: de\n"
|
||||
@ -171,14 +171,18 @@ msgid "Scope_eventlist:write"
|
||||
msgstr "Veranstaltungslisten anlegen, ändern und löschen"
|
||||
|
||||
#: project/i10n.py:53
|
||||
msgid "Scope_eventreference:write"
|
||||
msgstr "Empfehlungen anlegen, ändern und löschen"
|
||||
|
||||
#: project/i10n.py:54
|
||||
msgid "Scope_organization:read"
|
||||
msgstr "Organisationen lesen"
|
||||
|
||||
#: project/i10n.py:54
|
||||
#: project/i10n.py:55
|
||||
msgid "Scope_organization:write"
|
||||
msgstr "Organisationen anlegen, ändern und löschen"
|
||||
|
||||
#: project/i10n.py:55
|
||||
#: project/i10n.py:56
|
||||
msgid "There must be no self-reference."
|
||||
msgstr "Es darf keine Selbstreferenz geben."
|
||||
|
||||
@ -194,29 +198,29 @@ msgstr "."
|
||||
msgid "message"
|
||||
msgstr "message"
|
||||
|
||||
#: project/api/organization/resources.py:401
|
||||
#: project/api/organization/resources.py:423
|
||||
#: project/views/admin_unit_member_invitation.py:89
|
||||
msgid "You have received an invitation"
|
||||
msgstr "Du hast eine Einladung erhalten"
|
||||
|
||||
#: project/forms/admin.py:11 project/templates/layout.html:305
|
||||
#: project/forms/admin.py:11 project/templates/layout.html:315
|
||||
#: project/views/root.py:55
|
||||
msgid "Terms of service"
|
||||
msgstr "Nutzungsbedingungen"
|
||||
|
||||
#: project/forms/admin.py:12 project/templates/layout.html:310
|
||||
#: project/forms/admin.py:12 project/templates/layout.html:320
|
||||
#: project/views/root.py:67
|
||||
msgid "Legal notice"
|
||||
msgstr "Impressum"
|
||||
|
||||
#: project/forms/admin.py:13 project/templates/_macros.html:1473
|
||||
#: project/templates/layout.html:314
|
||||
#: project/forms/admin.py:13 project/templates/_macros.html:1441
|
||||
#: project/templates/layout.html:324
|
||||
#: project/templates/widget/event_suggestion/create.html:204
|
||||
#: project/views/admin_unit.py:83 project/views/root.py:75
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#: project/forms/admin.py:14 project/templates/layout.html:318
|
||||
#: project/forms/admin.py:14 project/templates/layout.html:328
|
||||
#: project/views/root.py:83
|
||||
msgid "Privacy"
|
||||
msgstr "Datenschutz"
|
||||
@ -257,7 +261,7 @@ msgstr "Nutzer löschen"
|
||||
#: project/forms/admin_unit_member.py:30 project/forms/event.py:107
|
||||
#: project/forms/event_suggestion.py:38 project/forms/organizer.py:33
|
||||
#: project/forms/user.py:18 project/forms/user.py:23
|
||||
#: project/templates/_macros.html:237 project/templates/_macros.html:1569
|
||||
#: project/templates/_macros.html:237 project/templates/_macros.html:1537
|
||||
#: project/templates/admin/admin.html:27 project/templates/admin/email.html:4
|
||||
#: project/templates/admin/email.html:66 project/templates/admin/users.html:19
|
||||
#: project/templates/manage/organizers.html:21
|
||||
@ -336,7 +340,7 @@ msgstr "Organisation löschen"
|
||||
#: project/templates/event_place/list.html:19
|
||||
#: project/templates/manage/organizers.html:18
|
||||
#: project/templates/manage/places.html:18
|
||||
#: project/templates/oauth2_client/list.html:25
|
||||
#: project/templates/oauth2_client/list.html:23
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
@ -370,7 +374,8 @@ msgid "Street"
|
||||
msgstr "Straße"
|
||||
|
||||
#: project/forms/admin_unit.py:18 project/forms/event.py:453
|
||||
#: project/forms/event_place.py:16 project/forms/organizer.py:16
|
||||
#: project/forms/event_date.py:56 project/forms/event_place.py:16
|
||||
#: project/forms/organizer.py:16
|
||||
msgid "Postal code"
|
||||
msgstr "Postleitzahl"
|
||||
|
||||
@ -405,7 +410,7 @@ msgstr ""
|
||||
"eindeutig zu identifizieren. Der Kurzname darf nur Buchstaben, Nummern "
|
||||
"und Unterstriche enthalten."
|
||||
|
||||
#: project/forms/admin_unit.py:46 project/templates/_macros.html:1611
|
||||
#: project/forms/admin_unit.py:46 project/templates/_macros.html:1579
|
||||
msgid "Short name must contain only letters numbers or underscore"
|
||||
msgstr "Der Kurzname darf nur Buchstaben, Nummern und Unterstriche enthalten"
|
||||
|
||||
@ -515,7 +520,7 @@ msgstr "Löschung beantragen"
|
||||
msgid "Cancel deletion"
|
||||
msgstr "Löschen abbrechen"
|
||||
|
||||
#: project/forms/admin_unit.py:151 project/templates/layout.html:276
|
||||
#: project/forms/admin_unit.py:151 project/templates/layout.html:286
|
||||
#: project/templates/manage/delete_membership.html:6
|
||||
msgid "Leave organization"
|
||||
msgstr "Organisation verlassen"
|
||||
@ -636,7 +641,7 @@ msgstr "50 km"
|
||||
msgid "100 km"
|
||||
msgstr "100 km"
|
||||
|
||||
#: project/forms/event.py:38 project/templates/manage/events.html:100
|
||||
#: project/forms/event.py:38 project/templates/manage/events.html:102
|
||||
msgid "Start"
|
||||
msgstr "Beginn"
|
||||
|
||||
@ -658,16 +663,16 @@ msgstr "Gib an, wann der Termin endet. Ein Termin darf maximal 14 Tage dauern."
|
||||
msgid "All-day"
|
||||
msgstr "Ganztägig"
|
||||
|
||||
#: project/forms/event.py:54 project/templates/_macros.html:1801
|
||||
#: project/forms/event.py:54 project/templates/_macros.html:1749
|
||||
#: project/templates/widget/event_suggestion/create.html:240
|
||||
msgid "Recurring event"
|
||||
msgstr "Serientermin"
|
||||
|
||||
#: project/forms/event.py:61 project/templates/_macros.html:1330
|
||||
#: project/forms/event.py:61 project/templates/_macros.html:1298
|
||||
msgid "The start must be before the end."
|
||||
msgstr "Der Start muss vor dem Ende sein."
|
||||
|
||||
#: project/forms/event.py:67 project/templates/_macros.html:1347
|
||||
#: project/forms/event.py:67 project/templates/_macros.html:1315
|
||||
msgid "An event can last a maximum of 14 days."
|
||||
msgstr "Eine Veranstaltung darf maximal 14 Tage dauern."
|
||||
|
||||
@ -830,8 +835,8 @@ msgid "Choose how people can attend the event."
|
||||
msgstr "Wähle aus, wie Personen an der Veranstaltung teilnehmen können."
|
||||
|
||||
#: project/forms/event.py:225 project/forms/event_place.py:33
|
||||
#: project/templates/manage/events.html:104
|
||||
#: project/templates/manage/events.html:139
|
||||
#: project/templates/manage/events.html:106
|
||||
#: project/templates/manage/events.html:141
|
||||
#: project/templates/manage/places.html:21
|
||||
#: project/templates/manage/places.html:39
|
||||
#: project/templates/widget/event_suggestion/create.html:258
|
||||
@ -867,8 +872,8 @@ msgstr "Wähle Kategorien, die zur Veranstaltung passen."
|
||||
|
||||
#: project/forms/event.py:255 project/forms/reference.py:14
|
||||
#: project/forms/reference.py:27 project/forms/reference_request.py:76
|
||||
#: project/templates/event/create.html:359
|
||||
#: project/templates/event/update.html:216
|
||||
#: project/templates/event/create.html:363
|
||||
#: project/templates/event/update.html:220
|
||||
msgid "Rating"
|
||||
msgstr "Bewertung"
|
||||
|
||||
@ -900,12 +905,12 @@ msgstr "Ungültiger Mitveranstalter."
|
||||
#: project/forms/event.py:286 project/forms/event.py:295
|
||||
#: project/forms/event.py:368 project/forms/event.py:442
|
||||
#: project/forms/event_suggestion.py:50 project/templates/_macros.html:438
|
||||
#: project/templates/_macros.html:604 project/templates/event/create.html:284
|
||||
#: project/templates/event/update.html:166
|
||||
#: project/templates/_macros.html:604 project/templates/event/create.html:288
|
||||
#: project/templates/event/update.html:170
|
||||
#: project/templates/event_place/create.html:31
|
||||
#: project/templates/event_place/delete.html:13
|
||||
#: project/templates/event_place/update.html:31
|
||||
#: project/templates/manage/events.html:103
|
||||
#: project/templates/manage/events.html:105
|
||||
msgid "Place"
|
||||
msgstr "Ort"
|
||||
|
||||
@ -919,10 +924,11 @@ msgstr "Neuen Ort eingeben"
|
||||
|
||||
#: project/forms/event.py:302 project/forms/event.py:311
|
||||
#: project/forms/event.py:376 project/forms/event.py:439
|
||||
#: project/forms/event_suggestion.py:60 project/templates/_macros.html:475
|
||||
#: project/templates/_macros.html:647 project/templates/event/create.html:253
|
||||
#: project/templates/event/update.html:156
|
||||
#: project/templates/manage/events.html:102
|
||||
#: project/forms/event_date.py:44 project/forms/event_suggestion.py:60
|
||||
#: project/templates/_macros.html:475 project/templates/_macros.html:647
|
||||
#: project/templates/event/create.html:257
|
||||
#: project/templates/event/update.html:160
|
||||
#: project/templates/manage/events.html:104
|
||||
#: project/templates/organizer/create.html:27
|
||||
#: project/templates/organizer/delete.html:13
|
||||
#: project/templates/organizer/update.html:27
|
||||
@ -969,7 +975,7 @@ msgstr ""
|
||||
"Wähle den Veranstalter. Du kannst Veranstalter unter Organisation > "
|
||||
"Veranstalter hinzufügen und ändern."
|
||||
|
||||
#: project/forms/event.py:385 project/templates/event/update.html:145
|
||||
#: project/forms/event.py:385 project/templates/event/update.html:149
|
||||
#: project/templates/oauth2_token/list.html:21
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
@ -1019,11 +1025,11 @@ msgid "Select the public status of the event."
|
||||
msgstr "Wähle den öffentlichen Status der Veranstaltung."
|
||||
|
||||
#: project/forms/event.py:407 project/templates/event/update.html:5
|
||||
#: project/templates/event/update.html:113
|
||||
#: project/templates/event/update.html:117
|
||||
msgid "Update event"
|
||||
msgstr "Veranstaltung aktualisieren"
|
||||
|
||||
#: project/forms/event.py:423 project/templates/_macros.html:1287
|
||||
#: project/forms/event.py:423 project/templates/_macros.html:1255
|
||||
#: project/templates/event/actions.html:66
|
||||
#: project/templates/event/delete.html:6
|
||||
msgid "Delete event"
|
||||
@ -1048,7 +1054,7 @@ msgstr "Stichwort"
|
||||
msgid "Category"
|
||||
msgstr "Kategorie"
|
||||
|
||||
#: project/forms/event.py:446 project/forms/event_date.py:24
|
||||
#: project/forms/event.py:446 project/forms/event_date.py:30
|
||||
#: project/forms/planing.py:22 project/templates/_macros.html:305
|
||||
#: project/templates/admin_unit/create.html:38
|
||||
#: project/templates/admin_unit/update.html:46
|
||||
@ -1061,16 +1067,37 @@ msgstr "Kategorie"
|
||||
msgid "Location"
|
||||
msgstr "Standort"
|
||||
|
||||
#: project/forms/event.py:448 project/forms/event_date.py:26
|
||||
#: project/forms/event.py:448 project/forms/event_date.py:32
|
||||
#: project/forms/planing.py:24
|
||||
msgid "Distance"
|
||||
msgstr "Distanz"
|
||||
|
||||
#: project/forms/event.py:455
|
||||
#: project/forms/event.py:455 project/forms/event_date.py:53
|
||||
msgid "Exclude recurring events"
|
||||
msgstr "Serientermine nicht anzeigen"
|
||||
|
||||
#: project/forms/event.py:459 project/forms/event_date.py:58
|
||||
msgid "Find events"
|
||||
msgstr "Veranstaltungen finden"
|
||||
|
||||
#: project/forms/event_date.py:39 project/forms/planing.py:36
|
||||
#: project/forms/event_date.py:39 project/forms/reference.py:11
|
||||
#: project/forms/reference_request.py:16 project/templates/_macros.html:491
|
||||
#: project/templates/_macros.html:664
|
||||
#: project/templates/admin/delete_admin_unit.html:13
|
||||
#: project/templates/admin_unit/cancel_deletion.html:13
|
||||
#: project/templates/admin_unit/create.html:28
|
||||
#: project/templates/admin_unit/request_deletion.html:15
|
||||
#: project/templates/admin_unit/update.html:36
|
||||
#: project/templates/layout.html:257
|
||||
#: project/templates/manage/delete_membership.html:13
|
||||
msgid "Organization"
|
||||
msgstr "Organisation"
|
||||
|
||||
#: project/forms/event_date.py:49
|
||||
msgid "Show unreferenced events only"
|
||||
msgstr "Nur nicht empfohlene Veranstaltungen anzeigen"
|
||||
|
||||
#: project/forms/event_date.py:67 project/forms/planing.py:36
|
||||
#: project/templates/widget/event_date/list.html:82
|
||||
msgid "Find"
|
||||
msgstr "Finden"
|
||||
@ -1111,7 +1138,7 @@ msgstr "Bitte gib deine Email-Adresse oder deine Telefonnummer für die Prüfung
|
||||
msgid "I would like to be notified by email after the review"
|
||||
msgstr "Ich möchte per Email benachrichtigt werden nach der Prüfung"
|
||||
|
||||
#: project/forms/event_suggestion.py:52 project/templates/event/create.html:289
|
||||
#: project/forms/event_suggestion.py:52 project/templates/event/create.html:293
|
||||
msgid ""
|
||||
"Choose where the event takes place. If the venue is not yet in the list, "
|
||||
"just enter it."
|
||||
@ -1119,7 +1146,7 @@ msgstr ""
|
||||
"Wähle aus, wo die Veranstaltung stattfindet. Ist der Veranstaltungsort "
|
||||
"noch nicht in der Liste, trage ihn einfach ein."
|
||||
|
||||
#: project/forms/event_suggestion.py:62 project/templates/event/create.html:257
|
||||
#: project/forms/event_suggestion.py:62 project/templates/event/create.html:261
|
||||
msgid ""
|
||||
"Select the organizer. If the organizer is not yet on the list, just enter"
|
||||
" it."
|
||||
@ -1202,18 +1229,6 @@ msgstr "Veranstalter löschen"
|
||||
msgid "Weekdays"
|
||||
msgstr "Wochentage"
|
||||
|
||||
#: project/forms/reference.py:11 project/forms/reference_request.py:16
|
||||
#: project/templates/_macros.html:491 project/templates/_macros.html:664
|
||||
#: project/templates/admin/delete_admin_unit.html:13
|
||||
#: project/templates/admin_unit/cancel_deletion.html:13
|
||||
#: project/templates/admin_unit/create.html:28
|
||||
#: project/templates/admin_unit/request_deletion.html:15
|
||||
#: project/templates/admin_unit/update.html:36
|
||||
#: project/templates/layout.html:247
|
||||
#: project/templates/manage/delete_membership.html:13
|
||||
msgid "Organization"
|
||||
msgstr "Organisation"
|
||||
|
||||
#: project/forms/reference.py:22
|
||||
msgid "Save reference"
|
||||
msgstr "Empfehlung speichern"
|
||||
@ -1222,7 +1237,8 @@ msgstr "Empfehlung speichern"
|
||||
msgid "Update reference"
|
||||
msgstr "Empfehlung aktualisieren"
|
||||
|
||||
#: project/forms/reference.py:39 project/templates/reference/delete.html:6
|
||||
#: project/forms/reference.py:39 project/templates/event_date/list.html:253
|
||||
#: project/templates/reference/delete.html:6
|
||||
#: project/templates/reference/read.html:20
|
||||
msgid "Delete reference"
|
||||
msgstr "Empfehlung löschen"
|
||||
@ -1235,7 +1251,7 @@ msgstr "Anfrage speichern"
|
||||
msgid "Delete request"
|
||||
msgstr "Anfrage löschen"
|
||||
|
||||
#: project/forms/reference_request.py:28 project/templates/_macros.html:1485
|
||||
#: project/forms/reference_request.py:28 project/templates/_macros.html:1453
|
||||
#: project/templates/event_suggestion/review_status.html:18
|
||||
#: project/templates/reference_request/review_status.html:12
|
||||
msgid "Review status"
|
||||
@ -1360,9 +1376,9 @@ msgstr "Zuletzt aktualisiert am %(updated_at)s."
|
||||
|
||||
#: project/templates/_macros.html:387 project/templates/_macros.html:557
|
||||
#: project/templates/event/actions.html:25
|
||||
#: project/templates/event/create.html:230
|
||||
#: project/templates/event/update.html:122
|
||||
#: project/templates/manage/events.html:101
|
||||
#: project/templates/event/create.html:234
|
||||
#: project/templates/event/update.html:126
|
||||
#: project/templates/manage/events.html:103
|
||||
#: project/templates/widget/event_suggestion/create.html:229
|
||||
msgid "Event"
|
||||
msgstr "Veranstaltung"
|
||||
@ -1372,12 +1388,12 @@ msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#: project/templates/_macros.html:420 project/templates/_macros.html:579
|
||||
#: project/templates/_macros.html:1554 project/templates/event/actions.html:51
|
||||
#: project/templates/_macros.html:1522 project/templates/event/actions.html:51
|
||||
msgid "Share"
|
||||
msgstr "Teilen"
|
||||
|
||||
#: project/templates/_macros.html:424 project/templates/_macros.html:583
|
||||
#: project/templates/_macros.html:1584
|
||||
#: project/templates/_macros.html:1552
|
||||
msgid "Add to calendar"
|
||||
msgstr "Zum Kalender"
|
||||
|
||||
@ -1400,7 +1416,7 @@ msgstr ""
|
||||
"Die Veranstaltung findet sowohl als Präsenzveranstaltung als auch online "
|
||||
"statt."
|
||||
|
||||
#: project/templates/_macros.html:587 project/templates/layout.html:173
|
||||
#: project/templates/_macros.html:587 project/templates/layout.html:183
|
||||
#: project/templates/user/favorite_events.html:4
|
||||
msgid "Favorite events"
|
||||
msgstr "Merkzettel"
|
||||
@ -1409,12 +1425,12 @@ msgstr "Merkzettel"
|
||||
#: project/templates/_macros.html:765
|
||||
#: project/templates/admin/admin_units.html:36
|
||||
#: project/templates/admin/users.html:36
|
||||
#: project/templates/manage/events.html:116
|
||||
#: project/templates/manage/events.html:118
|
||||
#: project/templates/manage/members.html:35
|
||||
#: project/templates/manage/organizers.html:33
|
||||
#: project/templates/manage/places.html:31
|
||||
#: project/templates/manage/references_incoming.html:20
|
||||
#: project/templates/oauth2_client/list.html:34
|
||||
#: project/templates/oauth2_client/list.html:32
|
||||
#: project/templates/oauth2_client/read.html:17
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
@ -1423,9 +1439,10 @@ msgstr "Bearbeiten"
|
||||
msgid "Referenced by"
|
||||
msgstr "Empfohlen von"
|
||||
|
||||
#: project/templates/_macros.html:703 project/templates/_macros.html:1297
|
||||
#: project/templates/_macros.html:703 project/templates/_macros.html:1265
|
||||
#: project/templates/event/actions.html:38
|
||||
#: project/templates/manage/events.html:123
|
||||
#: project/templates/event_date/list.html:251
|
||||
#: project/templates/manage/events.html:125
|
||||
#: project/templates/manage/references_incoming.html:10
|
||||
msgid "Reference event"
|
||||
msgstr "Veranstaltung empfehlen"
|
||||
@ -1436,14 +1453,14 @@ msgstr "Veranstaltung empfehlen"
|
||||
msgid "Reference requests"
|
||||
msgstr "Empfehlungsanfragen"
|
||||
|
||||
#: project/templates/_macros.html:723 project/templates/_macros.html:1294
|
||||
#: project/templates/_macros.html:723 project/templates/_macros.html:1262
|
||||
#: project/templates/event/actions.html:32
|
||||
#: project/templates/manage/events.html:121
|
||||
#: project/templates/manage/events.html:123
|
||||
msgid "Request reference"
|
||||
msgstr "Empfehlung anfragen"
|
||||
|
||||
#: project/templates/_macros.html:731 project/templates/event_date/list.html:5
|
||||
#: project/templates/event_date/list.html:299
|
||||
#: project/templates/_macros.html:731 project/templates/event_date/list.html:6
|
||||
#: project/templates/event_date/list.html:461
|
||||
#: project/templates/reference_request/review.html:32
|
||||
msgid "Event Dates"
|
||||
msgstr "Termine"
|
||||
@ -1458,12 +1475,12 @@ msgid "%(count)d event dates"
|
||||
msgstr "%(count)d Termine"
|
||||
|
||||
#: project/templates/_macros.html:919 project/templates/_macros.html:921
|
||||
#: project/templates/event_date/list.html:321
|
||||
#: project/templates/event_date/list.html:510
|
||||
msgid "First"
|
||||
msgstr "Letzte"
|
||||
|
||||
#: project/templates/_macros.html:924 project/templates/_macros.html:926
|
||||
#: project/templates/event_date/list.html:322
|
||||
#: project/templates/event_date/list.html:511
|
||||
#: project/templates/widget/event_suggestion/create.html:193
|
||||
#: project/templates/widget/event_suggestion/create.html:218
|
||||
#: project/templates/widget/event_suggestion/create.html:247
|
||||
@ -1479,7 +1496,7 @@ msgid "Page %(page)d of %(pages)d (%(total)d total)"
|
||||
msgstr "Seite %(page)d von %(pages)d (%(total)d insgesamt)"
|
||||
|
||||
#: project/templates/_macros.html:930 project/templates/_macros.html:932
|
||||
#: project/templates/event_date/list.html:324
|
||||
#: project/templates/event_date/list.html:513
|
||||
#: project/templates/widget/event_suggestion/create.html:194
|
||||
#: project/templates/widget/event_suggestion/create.html:219
|
||||
#: project/templates/widget/event_suggestion/create.html:248
|
||||
@ -1489,7 +1506,7 @@ msgid "Next"
|
||||
msgstr "Weiter"
|
||||
|
||||
#: project/templates/_macros.html:935 project/templates/_macros.html:937
|
||||
#: project/templates/event_date/list.html:325
|
||||
#: project/templates/event_date/list.html:514
|
||||
msgid "Last"
|
||||
msgstr "Erste"
|
||||
|
||||
@ -1497,88 +1514,89 @@ msgstr "Erste"
|
||||
msgid "Radius"
|
||||
msgstr "Umkreis"
|
||||
|
||||
#: project/templates/_macros.html:1216
|
||||
#: project/templates/_macros.html:1184
|
||||
msgid "Edit image"
|
||||
msgstr "Bild bearbeiten"
|
||||
|
||||
#: project/templates/_macros.html:1237
|
||||
#: project/templates/_macros.html:1205
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: project/templates/_macros.html:1238
|
||||
#: project/templates/_macros.html:1206
|
||||
msgid "Okay"
|
||||
msgstr "OK"
|
||||
|
||||
#: project/templates/_macros.html:1250
|
||||
#: project/templates/_macros.html:1218
|
||||
msgid "Choose image file"
|
||||
msgstr "Bild-Datei auswählen"
|
||||
|
||||
#: project/templates/_macros.html:1286 project/templates/event/actions.html:65
|
||||
#: project/templates/_macros.html:1254 project/templates/event/actions.html:65
|
||||
#: project/templates/event/delete.html:12
|
||||
msgid "Edit event"
|
||||
msgstr "Veranstaltung bearbeiten"
|
||||
|
||||
#: project/templates/_macros.html:1290 project/templates/event/actions.html:58
|
||||
#: project/templates/_macros.html:1258 project/templates/event/actions.html:58
|
||||
msgid "Duplicate event"
|
||||
msgstr "Veranstaltung duplizieren"
|
||||
|
||||
#: project/templates/_macros.html:1301 project/templates/event/actions.html:44
|
||||
#: project/templates/manage/events.html:127
|
||||
#: project/templates/_macros.html:1269 project/templates/event/actions.html:44
|
||||
#: project/templates/manage/events.html:129
|
||||
msgid "Add to list"
|
||||
msgstr "Zu Liste hinzufügen"
|
||||
|
||||
#: project/templates/_macros.html:1304 project/templates/manage/events.html:130
|
||||
#: project/templates/_macros.html:1272 project/templates/manage/events.html:132
|
||||
msgid "More"
|
||||
msgstr "Mehr"
|
||||
|
||||
#: project/templates/_macros.html:1351
|
||||
#: project/templates/_macros.html:1319
|
||||
msgid "Please enter a valid time, between 00:00 and 23:59."
|
||||
msgstr "Bitte gib eine gültige Uhrzeit zwischen 00:00 und 23:59 ein."
|
||||
|
||||
#: project/templates/_macros.html:1379
|
||||
#: project/templates/_macros.html:1347
|
||||
#, python-format
|
||||
msgid "Just use %(term)s"
|
||||
msgstr "Verwende einfach %(term)s"
|
||||
|
||||
#: project/templates/_macros.html:1445
|
||||
#: project/templates/_macros.html:1413
|
||||
msgid "Event suggestion"
|
||||
msgstr "Veranstaltungsvorschlag"
|
||||
|
||||
#: project/templates/_macros.html:1563
|
||||
#: project/templates/_macros.html:1531
|
||||
msgid "Link copied"
|
||||
msgstr "Link kopiert"
|
||||
|
||||
#: project/templates/_macros.html:1563
|
||||
#: project/templates/_macros.html:1531
|
||||
msgid "Copy link"
|
||||
msgstr "Link kopieren"
|
||||
|
||||
#: project/templates/_macros.html:1593
|
||||
#: project/templates/_macros.html:1561
|
||||
msgid "Google calendar"
|
||||
msgstr "Google Kalender"
|
||||
|
||||
#: project/templates/_macros.html:1595
|
||||
#: project/templates/_macros.html:1563
|
||||
msgid "Apple calendar"
|
||||
msgstr "Apple Kalender"
|
||||
|
||||
#: project/templates/_macros.html:1596
|
||||
#: project/templates/_macros.html:1564
|
||||
msgid "Yahoo calendar"
|
||||
msgstr "Yahoo Kalender"
|
||||
|
||||
#: project/templates/_macros.html:1597
|
||||
#: project/templates/_macros.html:1565
|
||||
msgid "Other calendar"
|
||||
msgstr "Anderer Kalender"
|
||||
|
||||
#: project/templates/_macros.html:1802
|
||||
#: project/templates/_macros.html:1750
|
||||
msgid "Remove event date"
|
||||
msgstr "Termin entfernen"
|
||||
|
||||
#: project/templates/_macros.html:1831 project/templates/event/create.html:176
|
||||
#: project/templates/event/update.html:99
|
||||
#: project/templates/_macros.html:1783 project/templates/event/create.html:180
|
||||
#: project/templates/event/update.html:103
|
||||
#: project/templates/event_date/list.html:446
|
||||
#: project/templates/widget/event_suggestion/create.html:129
|
||||
msgid "Enter organizer"
|
||||
msgstr "Veranstalter eingeben"
|
||||
|
||||
#: project/templates/_macros.html:1855
|
||||
#: project/templates/_macros.html:1811
|
||||
msgid "Enter list name"
|
||||
msgstr "Listenname eingeben"
|
||||
|
||||
@ -1586,7 +1604,7 @@ msgstr "Listenname eingeben"
|
||||
msgid "Manage"
|
||||
msgstr "Verwaltung"
|
||||
|
||||
#: project/templates/home.html:37 project/templates/layout.html:163
|
||||
#: project/templates/home.html:37 project/templates/layout.html:173
|
||||
#: project/templates/manage/admin_units.html:28
|
||||
#: project/templates/manage/verification_requests_outgoing.html:13
|
||||
#: project/templates/security/login_user.html:21
|
||||
@ -1598,7 +1616,7 @@ msgstr "Doku"
|
||||
msgid "Features"
|
||||
msgstr "Features"
|
||||
|
||||
#: project/templates/layout.html:157 project/templates/layout.html:205
|
||||
#: project/templates/layout.html:167 project/templates/layout.html:215
|
||||
#: project/templates/manage/events.html:6
|
||||
#: project/templates/manage/events.html:54
|
||||
#: project/templates/manage/events_vue.html:4
|
||||
@ -1608,18 +1626,18 @@ msgstr "Veranstaltungen"
|
||||
#: project/templates/admin/admin.html:19
|
||||
#: project/templates/admin/admin_units.html:4
|
||||
#: project/templates/admin/admin_units.html:11
|
||||
#: project/templates/layout.html:158 project/templates/layout.html:171
|
||||
#: project/templates/layout.html:168 project/templates/layout.html:181
|
||||
#: project/templates/manage/admin_units.html:3
|
||||
#: project/templates/manage/admin_units.html:26
|
||||
#: project/templates/organization/main.html:4
|
||||
msgid "Organizations"
|
||||
msgstr "Organisationen"
|
||||
|
||||
#: project/templates/layout.html:159
|
||||
#: project/templates/layout.html:169
|
||||
msgid "Planing"
|
||||
msgstr "Planung"
|
||||
|
||||
#: project/templates/layout.html:172 project/templates/layout.html:265
|
||||
#: project/templates/layout.html:182 project/templates/layout.html:275
|
||||
#: project/templates/oauth2_client/list.html:10
|
||||
#: project/templates/oauth2_client/read.html:10
|
||||
#: project/templates/oauth2_token/list.html:10 project/templates/profile.html:4
|
||||
@ -1632,87 +1650,87 @@ msgstr "Profil"
|
||||
#: project/templates/admin/email.html:65
|
||||
#: project/templates/admin/newsletter.html:92
|
||||
#: project/templates/admin/settings.html:10
|
||||
#: project/templates/admin/users.html:10 project/templates/layout.html:176
|
||||
#: project/templates/admin/users.html:10 project/templates/layout.html:186
|
||||
msgid "Admin"
|
||||
msgstr "Administration"
|
||||
|
||||
#: project/templates/layout.html:180
|
||||
#: project/templates/layout.html:190
|
||||
msgid "Logout"
|
||||
msgstr "Ausloggen"
|
||||
|
||||
#: project/templates/layout.html:211
|
||||
#: project/templates/layout.html:221
|
||||
msgid "Show events"
|
||||
msgstr "Veranstaltungen anzeigen"
|
||||
|
||||
#: project/templates/event/create.html:5
|
||||
#: project/templates/event/create.html:221 project/templates/layout.html:212
|
||||
#: project/templates/event/create.html:225 project/templates/layout.html:222
|
||||
#: project/templates/manage/events.html:55
|
||||
#: project/templates/manage/organizers.html:38
|
||||
msgid "Create event"
|
||||
msgstr "Veranstaltung erstellen"
|
||||
|
||||
#: project/templates/layout.html:213
|
||||
#: project/templates/layout.html:223
|
||||
msgid "Import event"
|
||||
msgstr "Veranstaltung imporierten"
|
||||
|
||||
#: project/templates/layout.html:215
|
||||
#: project/templates/layout.html:225
|
||||
#: project/templates/manage/event_lists.html:4
|
||||
msgid "Event lists"
|
||||
msgstr "Veranstaltungslisten"
|
||||
|
||||
#: project/templates/layout.html:218
|
||||
#: project/templates/layout.html:228
|
||||
msgid "Review suggestions"
|
||||
msgstr "Vorschläge prüfen"
|
||||
|
||||
#: project/templates/layout.html:228
|
||||
#: project/templates/layout.html:238
|
||||
#: project/templates/manage/references_incoming.html:5
|
||||
#: project/templates/manage/references_outgoing.html:5
|
||||
msgid "References"
|
||||
msgstr "Empfehlungen"
|
||||
|
||||
#: project/templates/layout.html:234
|
||||
#: project/templates/layout.html:244
|
||||
#: project/templates/manage/references_incoming.html:9
|
||||
msgid "Incoming references"
|
||||
msgstr "Eingehende Empfehlungen"
|
||||
|
||||
#: project/templates/layout.html:235
|
||||
#: project/templates/layout.html:245
|
||||
#: project/templates/manage/references_outgoing.html:9
|
||||
msgid "Outgoing references"
|
||||
msgstr "Ausgehende Empfehlungen"
|
||||
|
||||
#: project/templates/layout.html:237
|
||||
#: project/templates/layout.html:247
|
||||
#: project/templates/manage/reference_requests_incoming.html:9
|
||||
msgid "Incoming reference requests"
|
||||
msgstr "Eingehende Empfehlungsanfragen"
|
||||
|
||||
#: project/templates/layout.html:242
|
||||
#: project/templates/layout.html:252
|
||||
#: project/templates/manage/reference_requests_outgoing.html:9
|
||||
msgid "Outgoing reference requests"
|
||||
msgstr "Ausgehende Empfehlungsanfragen"
|
||||
|
||||
#: project/templates/layout.html:250 project/templates/manage/organizers.html:5
|
||||
#: project/templates/layout.html:260 project/templates/manage/organizers.html:5
|
||||
#: project/templates/manage/organizers.html:10
|
||||
#: project/templates/organizer/main.html:4
|
||||
msgid "Organizers"
|
||||
msgstr "Veranstalter"
|
||||
|
||||
#: project/templates/event_place/list.html:3
|
||||
#: project/templates/event_place/list.html:7 project/templates/layout.html:251
|
||||
#: project/templates/event_place/list.html:7 project/templates/layout.html:261
|
||||
#: project/templates/manage/places.html:5
|
||||
#: project/templates/manage/places.html:10
|
||||
msgid "Places"
|
||||
msgstr "Orte"
|
||||
|
||||
#: project/templates/layout.html:253 project/templates/manage/members.html:5
|
||||
#: project/templates/layout.html:263 project/templates/manage/members.html:5
|
||||
#: project/templates/manage/members.html:28
|
||||
msgid "Members"
|
||||
msgstr "Mitglieder"
|
||||
|
||||
#: project/templates/layout.html:254 project/templates/manage/relations.html:4
|
||||
#: project/templates/layout.html:264 project/templates/manage/relations.html:4
|
||||
msgid "Relations"
|
||||
msgstr "Beziehungen"
|
||||
|
||||
#: project/templates/layout.html:256
|
||||
#: project/templates/layout.html:266
|
||||
#: project/templates/manage/admin_units.html:17
|
||||
#: project/templates/manage/organization_invitations.html:4
|
||||
#: project/templates/user/organization_invitations.html:4
|
||||
@ -1724,34 +1742,34 @@ msgstr "Organisationseinladungen"
|
||||
#: project/templates/admin/settings.html:11
|
||||
#: project/templates/admin_unit/update.html:6
|
||||
#: project/templates/admin_unit/update.html:30
|
||||
#: project/templates/layout.html:259 project/templates/manage/widgets.html:11
|
||||
#: project/templates/layout.html:269 project/templates/manage/widgets.html:11
|
||||
#: project/templates/manage/widgets.html:15 project/templates/profile.html:32
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: project/templates/layout.html:260 project/templates/manage/export.html:4
|
||||
#: project/templates/manage/export.html:65
|
||||
#: project/templates/layout.html:270 project/templates/manage/export.html:3
|
||||
#: project/templates/manage/export.html:63
|
||||
msgid "Export"
|
||||
msgstr "Export"
|
||||
|
||||
#: project/templates/layout.html:262
|
||||
#: project/templates/layout.html:272
|
||||
#: project/templates/manage/custom_widgets.html:13
|
||||
msgid "Custom widgets"
|
||||
msgstr "Custom widgets"
|
||||
|
||||
#: project/templates/layout.html:263 project/templates/manage/reviews.html:10
|
||||
#: project/templates/layout.html:273 project/templates/manage/reviews.html:10
|
||||
#: project/templates/manage/widgets.html:5
|
||||
#: project/templates/manage/widgets.html:9
|
||||
msgid "Widgets"
|
||||
msgstr "Widgets"
|
||||
|
||||
#: project/templates/layout.html:275
|
||||
#: project/templates/layout.html:285
|
||||
msgid "Switch organization"
|
||||
msgstr "Organisation wechseln"
|
||||
|
||||
#: project/templates/developer/read.html:4
|
||||
#: project/templates/developer/read.html:8 project/templates/layout.html:322
|
||||
#: project/templates/profile.html:46
|
||||
#: project/templates/developer/read.html:8 project/templates/layout.html:332
|
||||
#: project/templates/profile.html:45
|
||||
msgid "Developer"
|
||||
msgstr "Entwickler"
|
||||
|
||||
@ -1778,7 +1796,7 @@ msgstr "Apps"
|
||||
#: project/templates/oauth2_client/list.html:4
|
||||
#: project/templates/oauth2_client/list.html:11
|
||||
#: project/templates/oauth2_client/read.html:11
|
||||
#: project/templates/profile.html:50
|
||||
#: project/templates/profile.html:49
|
||||
msgid "OAuth2 clients"
|
||||
msgstr "OAuth2 Clients"
|
||||
|
||||
@ -1788,7 +1806,7 @@ msgid "Users"
|
||||
msgstr "Nutzer"
|
||||
|
||||
#: project/templates/admin/admin_units.html:35
|
||||
#: project/templates/manage/events.html:115
|
||||
#: project/templates/manage/events.html:117
|
||||
#: project/templates/manage/organizers.html:32
|
||||
#: project/templates/manage/references_incoming.html:19
|
||||
#: project/templates/manage/references_outgoing.html:19
|
||||
@ -1797,13 +1815,13 @@ msgstr "Anzeigen"
|
||||
|
||||
#: project/templates/admin/admin_units.html:37
|
||||
#: project/templates/admin/users.html:37
|
||||
#: project/templates/manage/events.html:117
|
||||
#: project/templates/manage/events.html:119
|
||||
#: project/templates/manage/members.html:21
|
||||
#: project/templates/manage/members.html:36
|
||||
#: project/templates/manage/organizers.html:34
|
||||
#: project/templates/manage/places.html:32
|
||||
#: project/templates/manage/references_incoming.html:21
|
||||
#: project/templates/oauth2_client/list.html:35
|
||||
#: project/templates/oauth2_client/list.html:33
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
@ -1838,8 +1856,8 @@ msgstr "Akzeptanz der Nutzungsbedingungen und des Datenschutzes zurücksetzen"
|
||||
|
||||
#: project/templates/admin_unit/create.html:58
|
||||
#: project/templates/admin_unit/update.html:66
|
||||
#: project/templates/event/create.html:347
|
||||
#: project/templates/event/update.html:204
|
||||
#: project/templates/event/create.html:351
|
||||
#: project/templates/event/update.html:208
|
||||
#: project/templates/event_place/create.html:57
|
||||
#: project/templates/event_place/update.html:57
|
||||
#: project/templates/organizer/create.html:56
|
||||
@ -1876,18 +1894,18 @@ msgstr "Die Organisation ist zur Löschung vorgesehen."
|
||||
msgid "Verification requests"
|
||||
msgstr "Verifizierungsanfragen"
|
||||
|
||||
#: project/templates/developer/read.html:16
|
||||
#: project/templates/manage/export.html:67
|
||||
#: project/templates/developer/read.html:25
|
||||
#: project/templates/manage/export.html:65
|
||||
msgid "Download"
|
||||
msgstr "Download"
|
||||
|
||||
#: project/templates/developer/read.html:20
|
||||
#: project/templates/manage/export.html:71
|
||||
#: project/templates/developer/read.html:29
|
||||
#: project/templates/manage/export.html:69
|
||||
msgid "All data"
|
||||
msgstr "Alle Daten"
|
||||
|
||||
#: project/templates/developer/read.html:22
|
||||
#: project/templates/manage/export.html:73
|
||||
#: project/templates/developer/read.html:31
|
||||
#: project/templates/manage/export.html:71
|
||||
msgid "No files available"
|
||||
msgstr "Keine Dateien vorhanden"
|
||||
|
||||
@ -2092,7 +2110,7 @@ msgstr "Zeige alle Veranstaltungen von %(admin_unit_name)s"
|
||||
|
||||
#: project/templates/event/actions.html:74 project/templates/event/read.html:32
|
||||
#: project/templates/event_date/read.html:34
|
||||
#: project/templates/manage/events.html:151
|
||||
#: project/templates/manage/events.html:153
|
||||
msgid "Add event to list"
|
||||
msgstr "Veranstaltung zu Liste hinzufügen"
|
||||
|
||||
@ -2102,31 +2120,31 @@ msgstr "Veranstaltung zu Liste hinzufügen"
|
||||
msgid "Enter place or address"
|
||||
msgstr "Orte oder Adresse eingeben"
|
||||
|
||||
#: project/templates/event/create.html:240
|
||||
#: project/templates/event/update.html:132
|
||||
#: project/templates/event/create.html:244
|
||||
#: project/templates/event/update.html:136
|
||||
msgid "Event dates"
|
||||
msgstr "Termine"
|
||||
|
||||
#: project/templates/event/create.html:247
|
||||
#: project/templates/event/update.html:139
|
||||
#: project/templates/event/create.html:251
|
||||
#: project/templates/event/update.html:143
|
||||
msgid "Add event date"
|
||||
msgstr "Termin hinzufügen"
|
||||
|
||||
#: project/templates/event/create.html:274
|
||||
#: project/templates/event/create.html:278
|
||||
msgid "Switch to organizer search"
|
||||
msgstr "Zur Veranstaltersuche wechseln"
|
||||
|
||||
#: project/templates/event/create.html:309
|
||||
#: project/templates/event/create.html:313
|
||||
msgid "Switch to place search"
|
||||
msgstr "Zur Ortssuche wechseln"
|
||||
|
||||
#: project/templates/event/create.html:320
|
||||
#: project/templates/event/update.html:177
|
||||
#: project/templates/event/create.html:324
|
||||
#: project/templates/event/update.html:181
|
||||
msgid "Access"
|
||||
msgstr "Zugang"
|
||||
|
||||
#: project/templates/event/create.html:334
|
||||
#: project/templates/event/update.html:191
|
||||
#: project/templates/event/create.html:338
|
||||
#: project/templates/event/update.html:195
|
||||
msgid "Target group"
|
||||
msgstr "Zielgruppe"
|
||||
|
||||
@ -2149,11 +2167,32 @@ msgstr "Veranstaltung \"%(name)s\" empfehlen"
|
||||
msgid "Request reference for event \"%(name)s\""
|
||||
msgstr "Empfehlung anfragen für Veranstaltung \"%(name)s\""
|
||||
|
||||
#: project/templates/event_date/list.html:301
|
||||
msgid "Search"
|
||||
msgstr "Suchen"
|
||||
#: project/templates/event_date/list.html:249
|
||||
msgid "Own events cannot be referenced"
|
||||
msgstr "Eigene Veranstaltungen können nicht empfohlen werden"
|
||||
|
||||
#: project/templates/event_date/list.html:302
|
||||
#: project/templates/event_date/list.html:249
|
||||
msgid "Own event"
|
||||
msgstr "Eigene Veranstaltung"
|
||||
|
||||
#: project/templates/event_date/list.html:251
|
||||
msgid "Not referenced"
|
||||
msgstr "Nicht empfohlen"
|
||||
|
||||
#: project/templates/event_date/list.html:253
|
||||
msgid "Referenced"
|
||||
msgstr "Empfohlen"
|
||||
|
||||
#: project/templates/event_date/list.html:416
|
||||
msgid "Enter organization"
|
||||
msgstr "Organisation eingeben"
|
||||
|
||||
#: project/templates/event_date/list.html:492
|
||||
#: project/templates/manage/events.html:93
|
||||
msgid "More filters"
|
||||
msgstr "Weitere Filter"
|
||||
|
||||
#: project/templates/event_date/list.html:493
|
||||
msgid "Map view"
|
||||
msgstr "Kartenansicht"
|
||||
|
||||
@ -2218,25 +2257,21 @@ msgstr ""
|
||||
msgid "Verify organization"
|
||||
msgstr "Organisation verifizieren"
|
||||
|
||||
#: project/templates/manage/events.html:91
|
||||
msgid "More filters"
|
||||
msgstr "Mehr Filter"
|
||||
|
||||
#: project/templates/manage/events.html:105
|
||||
#: project/templates/manage/events.html:140
|
||||
#: project/templates/manage/events.html:107
|
||||
#: project/templates/manage/events.html:142
|
||||
msgid "Number of references"
|
||||
msgstr "Anzahl an Empfehlungen"
|
||||
|
||||
#: project/templates/manage/events.html:105
|
||||
#: project/templates/manage/events.html:140
|
||||
#: project/templates/manage/events.html:107
|
||||
#: project/templates/manage/events.html:142
|
||||
msgid "Number of reference requests."
|
||||
msgstr "Anzahl an Empfehlungsanfragen"
|
||||
|
||||
#: project/templates/manage/events.html:118
|
||||
#: project/templates/manage/events.html:120
|
||||
msgid "Duplicate"
|
||||
msgstr "Duplizieren"
|
||||
|
||||
#: project/templates/manage/export.html:79
|
||||
#: project/templates/manage/export.html:77
|
||||
msgid "Create export files"
|
||||
msgstr "Export-Dateien erstellen"
|
||||
|
||||
@ -2287,7 +2322,7 @@ msgstr "Link, um Veranstaltungen vorzuschlagen"
|
||||
|
||||
#: project/templates/oauth2_client/create.html:4
|
||||
#: project/templates/oauth2_client/create.html:8
|
||||
#: project/templates/oauth2_client/list.html:17
|
||||
#: project/templates/oauth2_client/list.html:16
|
||||
msgid "Create OAuth2 client"
|
||||
msgstr "OAuth2 Client hinzufügen"
|
||||
|
||||
@ -2562,23 +2597,23 @@ msgstr "Veranstaltungsvorschlag erfolgreich abgelehnt"
|
||||
msgid "Event review status updated"
|
||||
msgstr "Prüfungsstatus aktualisiert"
|
||||
|
||||
#: project/views/js.py:28
|
||||
#: project/views/js.py:30
|
||||
msgid "Short name is already taken"
|
||||
msgstr "Der Kurzname ist bereits vergeben"
|
||||
|
||||
#: project/views/js.py:45
|
||||
#: project/views/js.py:47
|
||||
msgid "Name is already taken"
|
||||
msgstr "Der Name ist bereits vergeben"
|
||||
|
||||
#: project/views/js.py:59
|
||||
#: project/views/js.py:61
|
||||
msgid "An account already exists with this email."
|
||||
msgstr "Mit dieser E-Mail existiert bereits ein Account."
|
||||
|
||||
#: project/views/js.py:103
|
||||
#: project/views/js.py:105
|
||||
msgid "Places of organization"
|
||||
msgstr "Orte der Organisation"
|
||||
|
||||
#: project/views/js.py:111
|
||||
#: project/views/js.py:113
|
||||
msgid "Places of Google Maps"
|
||||
msgstr "Orte von Google Maps"
|
||||
|
||||
@ -2596,19 +2631,19 @@ msgstr ""
|
||||
msgid "Organization successfully left"
|
||||
msgstr "Organisation erfolgreich verlassen"
|
||||
|
||||
#: project/views/oauth2_client.py:37
|
||||
#: project/views/oauth2_client.py:36
|
||||
msgid "OAuth2 client successfully created"
|
||||
msgstr "OAuth2 Client erfolgreich erstellt"
|
||||
|
||||
#: project/views/oauth2_client.py:62
|
||||
#: project/views/oauth2_client.py:60
|
||||
msgid "OAuth2 client successfully updated"
|
||||
msgstr "OAuth2 Client erfolgreich aktualisiert"
|
||||
|
||||
#: project/views/oauth2_client.py:85
|
||||
#: project/views/oauth2_client.py:82
|
||||
msgid "Entered name does not match OAuth2 client name"
|
||||
msgstr "Der eingegebene Name entspricht nicht dem Namen des OAuth2 Clients"
|
||||
|
||||
#: project/views/oauth2_client.py:90
|
||||
#: project/views/oauth2_client.py:87
|
||||
msgid "OAuth2 client successfully deleted"
|
||||
msgstr "OAuth2 Client erfolgreich gelöscht\""
|
||||
|
||||
@ -2698,7 +2733,7 @@ msgstr "Die eingegebene Email entspricht nicht deiner Email"
|
||||
msgid "User deletion requested"
|
||||
msgstr "Löschung des Nutzers beantragt"
|
||||
|
||||
#: project/views/utils.py:71
|
||||
#: project/views/utils.py:91
|
||||
msgid ""
|
||||
"An entry with the entered values already exists. Duplicate entries are "
|
||||
"not allowed."
|
||||
@ -2706,20 +2741,20 @@ msgstr ""
|
||||
"Ein Eintrag mit den eingegebenen Werten existiert bereits. Doppelte "
|
||||
"Einträge sind nicht erlaubt."
|
||||
|
||||
#: project/views/utils.py:122
|
||||
#: project/views/utils.py:142
|
||||
#, python-format
|
||||
msgid "Error in the %s field - %s"
|
||||
msgstr "Fehler im Feld %s: %s"
|
||||
|
||||
#: project/views/utils.py:129
|
||||
#: project/views/utils.py:149
|
||||
msgid "Show"
|
||||
msgstr "Anzeigen"
|
||||
|
||||
#: project/views/utils.py:137
|
||||
#: project/views/utils.py:157
|
||||
msgid "You do not have permission for this action"
|
||||
msgstr "Du hast keine Berechtigung für diese Aktion"
|
||||
|
||||
#: project/views/utils.py:258
|
||||
#: project/views/utils.py:278
|
||||
msgid ""
|
||||
"The invitation was issued to another user. Sign in with the email address"
|
||||
" the invitation was sent to."
|
||||
@ -2813,3 +2848,6 @@ msgstr "Neue Veranstaltung zu prüfen"
|
||||
#~ msgid "Assistents"
|
||||
#~ msgstr "Assistenten"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Suchen"
|
||||
|
||||
|
||||
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-05-11 11:19+0200\n"
|
||||
"POT-Creation-Date: 2023-05-30 14:22+0200\n"
|
||||
"PO-Revision-Date: 2021-04-30 15:04+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: en\n"
|
||||
@ -171,14 +171,18 @@ msgid "Scope_eventlist:write"
|
||||
msgstr "Create, update and delete event lists"
|
||||
|
||||
#: project/i10n.py:53
|
||||
msgid "Scope_eventreference:write"
|
||||
msgstr ""
|
||||
|
||||
#: project/i10n.py:54
|
||||
msgid "Scope_organization:read"
|
||||
msgstr "Read organizations"
|
||||
|
||||
#: project/i10n.py:54
|
||||
#: project/i10n.py:55
|
||||
msgid "Scope_organization:write"
|
||||
msgstr "Create, update and delete organizations"
|
||||
|
||||
#: project/i10n.py:55
|
||||
#: project/i10n.py:56
|
||||
msgid "There must be no self-reference."
|
||||
msgstr ""
|
||||
|
||||
@ -194,29 +198,29 @@ msgstr ""
|
||||
msgid "message"
|
||||
msgstr ""
|
||||
|
||||
#: project/api/organization/resources.py:401
|
||||
#: project/api/organization/resources.py:423
|
||||
#: project/views/admin_unit_member_invitation.py:89
|
||||
msgid "You have received an invitation"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:11 project/templates/layout.html:305
|
||||
#: project/forms/admin.py:11 project/templates/layout.html:315
|
||||
#: project/views/root.py:55
|
||||
msgid "Terms of service"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:12 project/templates/layout.html:310
|
||||
#: project/forms/admin.py:12 project/templates/layout.html:320
|
||||
#: project/views/root.py:67
|
||||
msgid "Legal notice"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:13 project/templates/_macros.html:1473
|
||||
#: project/templates/layout.html:314
|
||||
#: project/forms/admin.py:13 project/templates/_macros.html:1441
|
||||
#: project/templates/layout.html:324
|
||||
#: project/templates/widget/event_suggestion/create.html:204
|
||||
#: project/views/admin_unit.py:83 project/views/root.py:75
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:14 project/templates/layout.html:318
|
||||
#: project/forms/admin.py:14 project/templates/layout.html:328
|
||||
#: project/views/root.py:83
|
||||
msgid "Privacy"
|
||||
msgstr ""
|
||||
@ -257,7 +261,7 @@ msgstr ""
|
||||
#: project/forms/admin_unit_member.py:30 project/forms/event.py:107
|
||||
#: project/forms/event_suggestion.py:38 project/forms/organizer.py:33
|
||||
#: project/forms/user.py:18 project/forms/user.py:23
|
||||
#: project/templates/_macros.html:237 project/templates/_macros.html:1569
|
||||
#: project/templates/_macros.html:237 project/templates/_macros.html:1537
|
||||
#: project/templates/admin/admin.html:27 project/templates/admin/email.html:4
|
||||
#: project/templates/admin/email.html:66 project/templates/admin/users.html:19
|
||||
#: project/templates/manage/organizers.html:21
|
||||
@ -328,7 +332,7 @@ msgstr ""
|
||||
#: project/templates/event_place/list.html:19
|
||||
#: project/templates/manage/organizers.html:18
|
||||
#: project/templates/manage/places.html:18
|
||||
#: project/templates/oauth2_client/list.html:25
|
||||
#: project/templates/oauth2_client/list.html:23
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
@ -362,7 +366,8 @@ msgid "Street"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin_unit.py:18 project/forms/event.py:453
|
||||
#: project/forms/event_place.py:16 project/forms/organizer.py:16
|
||||
#: project/forms/event_date.py:56 project/forms/event_place.py:16
|
||||
#: project/forms/organizer.py:16
|
||||
msgid "Postal code"
|
||||
msgstr ""
|
||||
|
||||
@ -394,7 +399,7 @@ msgstr ""
|
||||
msgid "The short name is used to create a unique identifier for your events"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin_unit.py:46 project/templates/_macros.html:1611
|
||||
#: project/forms/admin_unit.py:46 project/templates/_macros.html:1579
|
||||
msgid "Short name must contain only letters numbers or underscore"
|
||||
msgstr ""
|
||||
|
||||
@ -496,7 +501,7 @@ msgstr ""
|
||||
msgid "Cancel deletion"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin_unit.py:151 project/templates/layout.html:276
|
||||
#: project/forms/admin_unit.py:151 project/templates/layout.html:286
|
||||
#: project/templates/manage/delete_membership.html:6
|
||||
msgid "Leave organization"
|
||||
msgstr ""
|
||||
@ -612,7 +617,7 @@ msgstr ""
|
||||
msgid "100 km"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:38 project/templates/manage/events.html:100
|
||||
#: project/forms/event.py:38 project/templates/manage/events.html:102
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
@ -634,16 +639,16 @@ msgstr ""
|
||||
msgid "All-day"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:54 project/templates/_macros.html:1801
|
||||
#: project/forms/event.py:54 project/templates/_macros.html:1749
|
||||
#: project/templates/widget/event_suggestion/create.html:240
|
||||
msgid "Recurring event"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:61 project/templates/_macros.html:1330
|
||||
#: project/forms/event.py:61 project/templates/_macros.html:1298
|
||||
msgid "The start must be before the end."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:67 project/templates/_macros.html:1347
|
||||
#: project/forms/event.py:67 project/templates/_macros.html:1315
|
||||
msgid "An event can last a maximum of 14 days."
|
||||
msgstr ""
|
||||
|
||||
@ -797,8 +802,8 @@ msgid "Choose how people can attend the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:225 project/forms/event_place.py:33
|
||||
#: project/templates/manage/events.html:104
|
||||
#: project/templates/manage/events.html:139
|
||||
#: project/templates/manage/events.html:106
|
||||
#: project/templates/manage/events.html:141
|
||||
#: project/templates/manage/places.html:21
|
||||
#: project/templates/manage/places.html:39
|
||||
#: project/templates/widget/event_suggestion/create.html:258
|
||||
@ -830,8 +835,8 @@ msgstr ""
|
||||
|
||||
#: project/forms/event.py:255 project/forms/reference.py:14
|
||||
#: project/forms/reference.py:27 project/forms/reference_request.py:76
|
||||
#: project/templates/event/create.html:359
|
||||
#: project/templates/event/update.html:216
|
||||
#: project/templates/event/create.html:363
|
||||
#: project/templates/event/update.html:220
|
||||
msgid "Rating"
|
||||
msgstr ""
|
||||
|
||||
@ -859,12 +864,12 @@ msgstr ""
|
||||
#: project/forms/event.py:286 project/forms/event.py:295
|
||||
#: project/forms/event.py:368 project/forms/event.py:442
|
||||
#: project/forms/event_suggestion.py:50 project/templates/_macros.html:438
|
||||
#: project/templates/_macros.html:604 project/templates/event/create.html:284
|
||||
#: project/templates/event/update.html:166
|
||||
#: project/templates/_macros.html:604 project/templates/event/create.html:288
|
||||
#: project/templates/event/update.html:170
|
||||
#: project/templates/event_place/create.html:31
|
||||
#: project/templates/event_place/delete.html:13
|
||||
#: project/templates/event_place/update.html:31
|
||||
#: project/templates/manage/events.html:103
|
||||
#: project/templates/manage/events.html:105
|
||||
msgid "Place"
|
||||
msgstr ""
|
||||
|
||||
@ -878,10 +883,11 @@ msgstr ""
|
||||
|
||||
#: project/forms/event.py:302 project/forms/event.py:311
|
||||
#: project/forms/event.py:376 project/forms/event.py:439
|
||||
#: project/forms/event_suggestion.py:60 project/templates/_macros.html:475
|
||||
#: project/templates/_macros.html:647 project/templates/event/create.html:253
|
||||
#: project/templates/event/update.html:156
|
||||
#: project/templates/manage/events.html:102
|
||||
#: project/forms/event_date.py:44 project/forms/event_suggestion.py:60
|
||||
#: project/templates/_macros.html:475 project/templates/_macros.html:647
|
||||
#: project/templates/event/create.html:257
|
||||
#: project/templates/event/update.html:160
|
||||
#: project/templates/manage/events.html:104
|
||||
#: project/templates/organizer/create.html:27
|
||||
#: project/templates/organizer/delete.html:13
|
||||
#: project/templates/organizer/update.html:27
|
||||
@ -924,7 +930,7 @@ msgid ""
|
||||
" Organizers."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:385 project/templates/event/update.html:145
|
||||
#: project/forms/event.py:385 project/templates/event/update.html:149
|
||||
#: project/templates/oauth2_token/list.html:21
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
@ -974,11 +980,11 @@ msgid "Select the public status of the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:407 project/templates/event/update.html:5
|
||||
#: project/templates/event/update.html:113
|
||||
#: project/templates/event/update.html:117
|
||||
msgid "Update event"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:423 project/templates/_macros.html:1287
|
||||
#: project/forms/event.py:423 project/templates/_macros.html:1255
|
||||
#: project/templates/event/actions.html:66
|
||||
#: project/templates/event/delete.html:6
|
||||
msgid "Delete event"
|
||||
@ -1003,7 +1009,7 @@ msgstr ""
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:446 project/forms/event_date.py:24
|
||||
#: project/forms/event.py:446 project/forms/event_date.py:30
|
||||
#: project/forms/planing.py:22 project/templates/_macros.html:305
|
||||
#: project/templates/admin_unit/create.html:38
|
||||
#: project/templates/admin_unit/update.html:46
|
||||
@ -1016,16 +1022,37 @@ msgstr ""
|
||||
msgid "Location"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:448 project/forms/event_date.py:26
|
||||
#: project/forms/event.py:448 project/forms/event_date.py:32
|
||||
#: project/forms/planing.py:24
|
||||
msgid "Distance"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:455
|
||||
#: project/forms/event.py:455 project/forms/event_date.py:53
|
||||
msgid "Exclude recurring events"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:459 project/forms/event_date.py:58
|
||||
msgid "Find events"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_date.py:39 project/forms/planing.py:36
|
||||
#: project/forms/event_date.py:39 project/forms/reference.py:11
|
||||
#: project/forms/reference_request.py:16 project/templates/_macros.html:491
|
||||
#: project/templates/_macros.html:664
|
||||
#: project/templates/admin/delete_admin_unit.html:13
|
||||
#: project/templates/admin_unit/cancel_deletion.html:13
|
||||
#: project/templates/admin_unit/create.html:28
|
||||
#: project/templates/admin_unit/request_deletion.html:15
|
||||
#: project/templates/admin_unit/update.html:36
|
||||
#: project/templates/layout.html:257
|
||||
#: project/templates/manage/delete_membership.html:13
|
||||
msgid "Organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_date.py:49
|
||||
msgid "Show unreferenced events only"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_date.py:67 project/forms/planing.py:36
|
||||
#: project/templates/widget/event_date/list.html:82
|
||||
msgid "Find"
|
||||
msgstr ""
|
||||
@ -1066,13 +1093,13 @@ msgstr ""
|
||||
msgid "I would like to be notified by email after the review"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_suggestion.py:52 project/templates/event/create.html:289
|
||||
#: project/forms/event_suggestion.py:52 project/templates/event/create.html:293
|
||||
msgid ""
|
||||
"Choose where the event takes place. If the venue is not yet in the list, "
|
||||
"just enter it."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_suggestion.py:62 project/templates/event/create.html:257
|
||||
#: project/forms/event_suggestion.py:62 project/templates/event/create.html:261
|
||||
msgid ""
|
||||
"Select the organizer. If the organizer is not yet on the list, just enter"
|
||||
" it."
|
||||
@ -1153,18 +1180,6 @@ msgstr ""
|
||||
msgid "Weekdays"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/reference.py:11 project/forms/reference_request.py:16
|
||||
#: project/templates/_macros.html:491 project/templates/_macros.html:664
|
||||
#: project/templates/admin/delete_admin_unit.html:13
|
||||
#: project/templates/admin_unit/cancel_deletion.html:13
|
||||
#: project/templates/admin_unit/create.html:28
|
||||
#: project/templates/admin_unit/request_deletion.html:15
|
||||
#: project/templates/admin_unit/update.html:36
|
||||
#: project/templates/layout.html:247
|
||||
#: project/templates/manage/delete_membership.html:13
|
||||
msgid "Organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/reference.py:22
|
||||
msgid "Save reference"
|
||||
msgstr ""
|
||||
@ -1173,7 +1188,8 @@ msgstr ""
|
||||
msgid "Update reference"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/reference.py:39 project/templates/reference/delete.html:6
|
||||
#: project/forms/reference.py:39 project/templates/event_date/list.html:253
|
||||
#: project/templates/reference/delete.html:6
|
||||
#: project/templates/reference/read.html:20
|
||||
msgid "Delete reference"
|
||||
msgstr ""
|
||||
@ -1186,7 +1202,7 @@ msgstr ""
|
||||
msgid "Delete request"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/reference_request.py:28 project/templates/_macros.html:1485
|
||||
#: project/forms/reference_request.py:28 project/templates/_macros.html:1453
|
||||
#: project/templates/event_suggestion/review_status.html:18
|
||||
#: project/templates/reference_request/review_status.html:12
|
||||
msgid "Review status"
|
||||
@ -1311,9 +1327,9 @@ msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:387 project/templates/_macros.html:557
|
||||
#: project/templates/event/actions.html:25
|
||||
#: project/templates/event/create.html:230
|
||||
#: project/templates/event/update.html:122
|
||||
#: project/templates/manage/events.html:101
|
||||
#: project/templates/event/create.html:234
|
||||
#: project/templates/event/update.html:126
|
||||
#: project/templates/manage/events.html:103
|
||||
#: project/templates/widget/event_suggestion/create.html:229
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
@ -1323,12 +1339,12 @@ msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:420 project/templates/_macros.html:579
|
||||
#: project/templates/_macros.html:1554 project/templates/event/actions.html:51
|
||||
#: project/templates/_macros.html:1522 project/templates/event/actions.html:51
|
||||
msgid "Share"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:424 project/templates/_macros.html:583
|
||||
#: project/templates/_macros.html:1584
|
||||
#: project/templates/_macros.html:1552
|
||||
msgid "Add to calendar"
|
||||
msgstr ""
|
||||
|
||||
@ -1349,7 +1365,7 @@ msgstr ""
|
||||
msgid "The event takes place both offline and online."
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:587 project/templates/layout.html:173
|
||||
#: project/templates/_macros.html:587 project/templates/layout.html:183
|
||||
#: project/templates/user/favorite_events.html:4
|
||||
msgid "Favorite events"
|
||||
msgstr ""
|
||||
@ -1358,12 +1374,12 @@ msgstr ""
|
||||
#: project/templates/_macros.html:765
|
||||
#: project/templates/admin/admin_units.html:36
|
||||
#: project/templates/admin/users.html:36
|
||||
#: project/templates/manage/events.html:116
|
||||
#: project/templates/manage/events.html:118
|
||||
#: project/templates/manage/members.html:35
|
||||
#: project/templates/manage/organizers.html:33
|
||||
#: project/templates/manage/places.html:31
|
||||
#: project/templates/manage/references_incoming.html:20
|
||||
#: project/templates/oauth2_client/list.html:34
|
||||
#: project/templates/oauth2_client/list.html:32
|
||||
#: project/templates/oauth2_client/read.html:17
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
@ -1372,9 +1388,10 @@ msgstr ""
|
||||
msgid "Referenced by"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:703 project/templates/_macros.html:1297
|
||||
#: project/templates/_macros.html:703 project/templates/_macros.html:1265
|
||||
#: project/templates/event/actions.html:38
|
||||
#: project/templates/manage/events.html:123
|
||||
#: project/templates/event_date/list.html:251
|
||||
#: project/templates/manage/events.html:125
|
||||
#: project/templates/manage/references_incoming.html:10
|
||||
msgid "Reference event"
|
||||
msgstr ""
|
||||
@ -1385,14 +1402,14 @@ msgstr ""
|
||||
msgid "Reference requests"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:723 project/templates/_macros.html:1294
|
||||
#: project/templates/_macros.html:723 project/templates/_macros.html:1262
|
||||
#: project/templates/event/actions.html:32
|
||||
#: project/templates/manage/events.html:121
|
||||
#: project/templates/manage/events.html:123
|
||||
msgid "Request reference"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:731 project/templates/event_date/list.html:5
|
||||
#: project/templates/event_date/list.html:299
|
||||
#: project/templates/_macros.html:731 project/templates/event_date/list.html:6
|
||||
#: project/templates/event_date/list.html:461
|
||||
#: project/templates/reference_request/review.html:32
|
||||
msgid "Event Dates"
|
||||
msgstr ""
|
||||
@ -1407,12 +1424,12 @@ msgid "%(count)d event dates"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:919 project/templates/_macros.html:921
|
||||
#: project/templates/event_date/list.html:321
|
||||
#: project/templates/event_date/list.html:510
|
||||
msgid "First"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:924 project/templates/_macros.html:926
|
||||
#: project/templates/event_date/list.html:322
|
||||
#: project/templates/event_date/list.html:511
|
||||
#: project/templates/widget/event_suggestion/create.html:193
|
||||
#: project/templates/widget/event_suggestion/create.html:218
|
||||
#: project/templates/widget/event_suggestion/create.html:247
|
||||
@ -1428,7 +1445,7 @@ msgid "Page %(page)d of %(pages)d (%(total)d total)"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:930 project/templates/_macros.html:932
|
||||
#: project/templates/event_date/list.html:324
|
||||
#: project/templates/event_date/list.html:513
|
||||
#: project/templates/widget/event_suggestion/create.html:194
|
||||
#: project/templates/widget/event_suggestion/create.html:219
|
||||
#: project/templates/widget/event_suggestion/create.html:248
|
||||
@ -1438,7 +1455,7 @@ msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:935 project/templates/_macros.html:937
|
||||
#: project/templates/event_date/list.html:325
|
||||
#: project/templates/event_date/list.html:514
|
||||
msgid "Last"
|
||||
msgstr ""
|
||||
|
||||
@ -1446,88 +1463,89 @@ msgstr ""
|
||||
msgid "Radius"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1216
|
||||
#: project/templates/_macros.html:1184
|
||||
msgid "Edit image"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1237
|
||||
#: project/templates/_macros.html:1205
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1238
|
||||
#: project/templates/_macros.html:1206
|
||||
msgid "Okay"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1250
|
||||
#: project/templates/_macros.html:1218
|
||||
msgid "Choose image file"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1286 project/templates/event/actions.html:65
|
||||
#: project/templates/_macros.html:1254 project/templates/event/actions.html:65
|
||||
#: project/templates/event/delete.html:12
|
||||
msgid "Edit event"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1290 project/templates/event/actions.html:58
|
||||
#: project/templates/_macros.html:1258 project/templates/event/actions.html:58
|
||||
msgid "Duplicate event"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1301 project/templates/event/actions.html:44
|
||||
#: project/templates/manage/events.html:127
|
||||
#: project/templates/_macros.html:1269 project/templates/event/actions.html:44
|
||||
#: project/templates/manage/events.html:129
|
||||
msgid "Add to list"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1304 project/templates/manage/events.html:130
|
||||
#: project/templates/_macros.html:1272 project/templates/manage/events.html:132
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1351
|
||||
#: project/templates/_macros.html:1319
|
||||
msgid "Please enter a valid time, between 00:00 and 23:59."
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1379
|
||||
#: project/templates/_macros.html:1347
|
||||
#, python-format
|
||||
msgid "Just use %(term)s"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1445
|
||||
#: project/templates/_macros.html:1413
|
||||
msgid "Event suggestion"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1563
|
||||
#: project/templates/_macros.html:1531
|
||||
msgid "Link copied"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1563
|
||||
#: project/templates/_macros.html:1531
|
||||
msgid "Copy link"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1593
|
||||
#: project/templates/_macros.html:1561
|
||||
msgid "Google calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1595
|
||||
#: project/templates/_macros.html:1563
|
||||
msgid "Apple calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1596
|
||||
#: project/templates/_macros.html:1564
|
||||
msgid "Yahoo calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1597
|
||||
#: project/templates/_macros.html:1565
|
||||
msgid "Other calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1802
|
||||
#: project/templates/_macros.html:1750
|
||||
msgid "Remove event date"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1831 project/templates/event/create.html:176
|
||||
#: project/templates/event/update.html:99
|
||||
#: project/templates/_macros.html:1783 project/templates/event/create.html:180
|
||||
#: project/templates/event/update.html:103
|
||||
#: project/templates/event_date/list.html:446
|
||||
#: project/templates/widget/event_suggestion/create.html:129
|
||||
msgid "Enter organizer"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1855
|
||||
#: project/templates/_macros.html:1811
|
||||
msgid "Enter list name"
|
||||
msgstr ""
|
||||
|
||||
@ -1535,7 +1553,7 @@ msgstr ""
|
||||
msgid "Manage"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/home.html:37 project/templates/layout.html:163
|
||||
#: project/templates/home.html:37 project/templates/layout.html:173
|
||||
#: project/templates/manage/admin_units.html:28
|
||||
#: project/templates/manage/verification_requests_outgoing.html:13
|
||||
#: project/templates/security/login_user.html:21
|
||||
@ -1547,7 +1565,7 @@ msgstr ""
|
||||
msgid "Features"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:157 project/templates/layout.html:205
|
||||
#: project/templates/layout.html:167 project/templates/layout.html:215
|
||||
#: project/templates/manage/events.html:6
|
||||
#: project/templates/manage/events.html:54
|
||||
#: project/templates/manage/events_vue.html:4
|
||||
@ -1557,18 +1575,18 @@ msgstr ""
|
||||
#: project/templates/admin/admin.html:19
|
||||
#: project/templates/admin/admin_units.html:4
|
||||
#: project/templates/admin/admin_units.html:11
|
||||
#: project/templates/layout.html:158 project/templates/layout.html:171
|
||||
#: project/templates/layout.html:168 project/templates/layout.html:181
|
||||
#: project/templates/manage/admin_units.html:3
|
||||
#: project/templates/manage/admin_units.html:26
|
||||
#: project/templates/organization/main.html:4
|
||||
msgid "Organizations"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:159
|
||||
#: project/templates/layout.html:169
|
||||
msgid "Planing"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:172 project/templates/layout.html:265
|
||||
#: project/templates/layout.html:182 project/templates/layout.html:275
|
||||
#: project/templates/oauth2_client/list.html:10
|
||||
#: project/templates/oauth2_client/read.html:10
|
||||
#: project/templates/oauth2_token/list.html:10 project/templates/profile.html:4
|
||||
@ -1581,87 +1599,87 @@ msgstr ""
|
||||
#: project/templates/admin/email.html:65
|
||||
#: project/templates/admin/newsletter.html:92
|
||||
#: project/templates/admin/settings.html:10
|
||||
#: project/templates/admin/users.html:10 project/templates/layout.html:176
|
||||
#: project/templates/admin/users.html:10 project/templates/layout.html:186
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:180
|
||||
#: project/templates/layout.html:190
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:211
|
||||
#: project/templates/layout.html:221
|
||||
msgid "Show events"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:5
|
||||
#: project/templates/event/create.html:221 project/templates/layout.html:212
|
||||
#: project/templates/event/create.html:225 project/templates/layout.html:222
|
||||
#: project/templates/manage/events.html:55
|
||||
#: project/templates/manage/organizers.html:38
|
||||
msgid "Create event"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:213
|
||||
#: project/templates/layout.html:223
|
||||
msgid "Import event"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:215
|
||||
#: project/templates/layout.html:225
|
||||
#: project/templates/manage/event_lists.html:4
|
||||
msgid "Event lists"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:218
|
||||
#: project/templates/layout.html:228
|
||||
msgid "Review suggestions"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:228
|
||||
#: project/templates/layout.html:238
|
||||
#: project/templates/manage/references_incoming.html:5
|
||||
#: project/templates/manage/references_outgoing.html:5
|
||||
msgid "References"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:234
|
||||
#: project/templates/layout.html:244
|
||||
#: project/templates/manage/references_incoming.html:9
|
||||
msgid "Incoming references"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:235
|
||||
#: project/templates/layout.html:245
|
||||
#: project/templates/manage/references_outgoing.html:9
|
||||
msgid "Outgoing references"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:237
|
||||
#: project/templates/layout.html:247
|
||||
#: project/templates/manage/reference_requests_incoming.html:9
|
||||
msgid "Incoming reference requests"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:242
|
||||
#: project/templates/layout.html:252
|
||||
#: project/templates/manage/reference_requests_outgoing.html:9
|
||||
msgid "Outgoing reference requests"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:250 project/templates/manage/organizers.html:5
|
||||
#: project/templates/layout.html:260 project/templates/manage/organizers.html:5
|
||||
#: project/templates/manage/organizers.html:10
|
||||
#: project/templates/organizer/main.html:4
|
||||
msgid "Organizers"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_place/list.html:3
|
||||
#: project/templates/event_place/list.html:7 project/templates/layout.html:251
|
||||
#: project/templates/event_place/list.html:7 project/templates/layout.html:261
|
||||
#: project/templates/manage/places.html:5
|
||||
#: project/templates/manage/places.html:10
|
||||
msgid "Places"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:253 project/templates/manage/members.html:5
|
||||
#: project/templates/layout.html:263 project/templates/manage/members.html:5
|
||||
#: project/templates/manage/members.html:28
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:254 project/templates/manage/relations.html:4
|
||||
#: project/templates/layout.html:264 project/templates/manage/relations.html:4
|
||||
msgid "Relations"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:256
|
||||
#: project/templates/layout.html:266
|
||||
#: project/templates/manage/admin_units.html:17
|
||||
#: project/templates/manage/organization_invitations.html:4
|
||||
#: project/templates/user/organization_invitations.html:4
|
||||
@ -1673,34 +1691,34 @@ msgstr ""
|
||||
#: project/templates/admin/settings.html:11
|
||||
#: project/templates/admin_unit/update.html:6
|
||||
#: project/templates/admin_unit/update.html:30
|
||||
#: project/templates/layout.html:259 project/templates/manage/widgets.html:11
|
||||
#: project/templates/layout.html:269 project/templates/manage/widgets.html:11
|
||||
#: project/templates/manage/widgets.html:15 project/templates/profile.html:32
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:260 project/templates/manage/export.html:4
|
||||
#: project/templates/manage/export.html:65
|
||||
#: project/templates/layout.html:270 project/templates/manage/export.html:3
|
||||
#: project/templates/manage/export.html:63
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:262
|
||||
#: project/templates/layout.html:272
|
||||
#: project/templates/manage/custom_widgets.html:13
|
||||
msgid "Custom widgets"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:263 project/templates/manage/reviews.html:10
|
||||
#: project/templates/layout.html:273 project/templates/manage/reviews.html:10
|
||||
#: project/templates/manage/widgets.html:5
|
||||
#: project/templates/manage/widgets.html:9
|
||||
msgid "Widgets"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:275
|
||||
#: project/templates/layout.html:285
|
||||
msgid "Switch organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/developer/read.html:4
|
||||
#: project/templates/developer/read.html:8 project/templates/layout.html:322
|
||||
#: project/templates/profile.html:46
|
||||
#: project/templates/developer/read.html:8 project/templates/layout.html:332
|
||||
#: project/templates/profile.html:45
|
||||
msgid "Developer"
|
||||
msgstr ""
|
||||
|
||||
@ -1727,7 +1745,7 @@ msgstr ""
|
||||
#: project/templates/oauth2_client/list.html:4
|
||||
#: project/templates/oauth2_client/list.html:11
|
||||
#: project/templates/oauth2_client/read.html:11
|
||||
#: project/templates/profile.html:50
|
||||
#: project/templates/profile.html:49
|
||||
msgid "OAuth2 clients"
|
||||
msgstr ""
|
||||
|
||||
@ -1737,7 +1755,7 @@ msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/admin/admin_units.html:35
|
||||
#: project/templates/manage/events.html:115
|
||||
#: project/templates/manage/events.html:117
|
||||
#: project/templates/manage/organizers.html:32
|
||||
#: project/templates/manage/references_incoming.html:19
|
||||
#: project/templates/manage/references_outgoing.html:19
|
||||
@ -1746,13 +1764,13 @@ msgstr ""
|
||||
|
||||
#: project/templates/admin/admin_units.html:37
|
||||
#: project/templates/admin/users.html:37
|
||||
#: project/templates/manage/events.html:117
|
||||
#: project/templates/manage/events.html:119
|
||||
#: project/templates/manage/members.html:21
|
||||
#: project/templates/manage/members.html:36
|
||||
#: project/templates/manage/organizers.html:34
|
||||
#: project/templates/manage/places.html:32
|
||||
#: project/templates/manage/references_incoming.html:21
|
||||
#: project/templates/oauth2_client/list.html:35
|
||||
#: project/templates/oauth2_client/list.html:33
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
@ -1787,8 +1805,8 @@ msgstr ""
|
||||
|
||||
#: project/templates/admin_unit/create.html:58
|
||||
#: project/templates/admin_unit/update.html:66
|
||||
#: project/templates/event/create.html:347
|
||||
#: project/templates/event/update.html:204
|
||||
#: project/templates/event/create.html:351
|
||||
#: project/templates/event/update.html:208
|
||||
#: project/templates/event_place/create.html:57
|
||||
#: project/templates/event_place/update.html:57
|
||||
#: project/templates/organizer/create.html:56
|
||||
@ -1823,18 +1841,18 @@ msgstr ""
|
||||
msgid "Verification requests"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/developer/read.html:16
|
||||
#: project/templates/manage/export.html:67
|
||||
#: project/templates/developer/read.html:25
|
||||
#: project/templates/manage/export.html:65
|
||||
msgid "Download"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/developer/read.html:20
|
||||
#: project/templates/manage/export.html:71
|
||||
#: project/templates/developer/read.html:29
|
||||
#: project/templates/manage/export.html:69
|
||||
msgid "All data"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/developer/read.html:22
|
||||
#: project/templates/manage/export.html:73
|
||||
#: project/templates/developer/read.html:31
|
||||
#: project/templates/manage/export.html:71
|
||||
msgid "No files available"
|
||||
msgstr ""
|
||||
|
||||
@ -2035,7 +2053,7 @@ msgstr ""
|
||||
|
||||
#: project/templates/event/actions.html:74 project/templates/event/read.html:32
|
||||
#: project/templates/event_date/read.html:34
|
||||
#: project/templates/manage/events.html:151
|
||||
#: project/templates/manage/events.html:153
|
||||
msgid "Add event to list"
|
||||
msgstr ""
|
||||
|
||||
@ -2045,31 +2063,31 @@ msgstr ""
|
||||
msgid "Enter place or address"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:240
|
||||
#: project/templates/event/update.html:132
|
||||
#: project/templates/event/create.html:244
|
||||
#: project/templates/event/update.html:136
|
||||
msgid "Event dates"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:247
|
||||
#: project/templates/event/update.html:139
|
||||
#: project/templates/event/create.html:251
|
||||
#: project/templates/event/update.html:143
|
||||
msgid "Add event date"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:274
|
||||
#: project/templates/event/create.html:278
|
||||
msgid "Switch to organizer search"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:309
|
||||
#: project/templates/event/create.html:313
|
||||
msgid "Switch to place search"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:320
|
||||
#: project/templates/event/update.html:177
|
||||
#: project/templates/event/create.html:324
|
||||
#: project/templates/event/update.html:181
|
||||
msgid "Access"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:334
|
||||
#: project/templates/event/update.html:191
|
||||
#: project/templates/event/create.html:338
|
||||
#: project/templates/event/update.html:195
|
||||
msgid "Target group"
|
||||
msgstr ""
|
||||
|
||||
@ -2089,11 +2107,32 @@ msgstr ""
|
||||
msgid "Request reference for event \"%(name)s\""
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:301
|
||||
msgid "Search"
|
||||
#: project/templates/event_date/list.html:249
|
||||
msgid "Own events cannot be referenced"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:302
|
||||
#: project/templates/event_date/list.html:249
|
||||
msgid "Own event"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:251
|
||||
msgid "Not referenced"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:253
|
||||
msgid "Referenced"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:416
|
||||
msgid "Enter organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:492
|
||||
#: project/templates/manage/events.html:93
|
||||
msgid "More filters"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_date/list.html:493
|
||||
msgid "Map view"
|
||||
msgstr ""
|
||||
|
||||
@ -2156,25 +2195,21 @@ msgstr ""
|
||||
msgid "Verify organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/manage/events.html:91
|
||||
msgid "More filters"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/manage/events.html:105
|
||||
#: project/templates/manage/events.html:140
|
||||
#: project/templates/manage/events.html:107
|
||||
#: project/templates/manage/events.html:142
|
||||
msgid "Number of references"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/manage/events.html:105
|
||||
#: project/templates/manage/events.html:140
|
||||
#: project/templates/manage/events.html:107
|
||||
#: project/templates/manage/events.html:142
|
||||
msgid "Number of reference requests."
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/manage/events.html:118
|
||||
#: project/templates/manage/events.html:120
|
||||
msgid "Duplicate"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/manage/export.html:79
|
||||
#: project/templates/manage/export.html:77
|
||||
msgid "Create export files"
|
||||
msgstr ""
|
||||
|
||||
@ -2223,7 +2258,7 @@ msgstr ""
|
||||
|
||||
#: project/templates/oauth2_client/create.html:4
|
||||
#: project/templates/oauth2_client/create.html:8
|
||||
#: project/templates/oauth2_client/list.html:17
|
||||
#: project/templates/oauth2_client/list.html:16
|
||||
msgid "Create OAuth2 client"
|
||||
msgstr ""
|
||||
|
||||
@ -2493,23 +2528,23 @@ msgstr ""
|
||||
msgid "Event review status updated"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:28
|
||||
#: project/views/js.py:30
|
||||
msgid "Short name is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:45
|
||||
#: project/views/js.py:47
|
||||
msgid "Name is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:59
|
||||
#: project/views/js.py:61
|
||||
msgid "An account already exists with this email."
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:103
|
||||
#: project/views/js.py:105
|
||||
msgid "Places of organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:111
|
||||
#: project/views/js.py:113
|
||||
msgid "Places of Google Maps"
|
||||
msgstr ""
|
||||
|
||||
@ -2525,19 +2560,19 @@ msgstr ""
|
||||
msgid "Organization successfully left"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/oauth2_client.py:37
|
||||
#: project/views/oauth2_client.py:36
|
||||
msgid "OAuth2 client successfully created"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/oauth2_client.py:62
|
||||
#: project/views/oauth2_client.py:60
|
||||
msgid "OAuth2 client successfully updated"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/oauth2_client.py:85
|
||||
#: project/views/oauth2_client.py:82
|
||||
msgid "Entered name does not match OAuth2 client name"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/oauth2_client.py:90
|
||||
#: project/views/oauth2_client.py:87
|
||||
msgid "OAuth2 client successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
@ -2621,26 +2656,26 @@ msgstr ""
|
||||
msgid "User deletion requested"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/utils.py:71
|
||||
#: project/views/utils.py:91
|
||||
msgid ""
|
||||
"An entry with the entered values already exists. Duplicate entries are "
|
||||
"not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: project/views/utils.py:122
|
||||
#: project/views/utils.py:142
|
||||
#, python-format
|
||||
msgid "Error in the %s field - %s"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/utils.py:129
|
||||
#: project/views/utils.py:149
|
||||
msgid "Show"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/utils.py:137
|
||||
#: project/views/utils.py:157
|
||||
msgid "You do not have permission for this action"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/utils.py:258
|
||||
#: project/views/utils.py:278
|
||||
msgid ""
|
||||
"The invitation was issued to another user. Sign in with the email address"
|
||||
" the invitation was sent to."
|
||||
@ -2725,3 +2760,6 @@ msgstr ""
|
||||
#~ msgid "Assistents"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr ""
|
||||
|
||||
|
||||
@ -1,11 +1,12 @@
|
||||
from flask import render_template, request, url_for
|
||||
from flask.wrappers import Response
|
||||
|
||||
from project import app
|
||||
from project import app, db
|
||||
from project.access import can_read_event_or_401
|
||||
from project.dateutils import create_icalendar
|
||||
from project.forms.event_date import FindEventDateForm
|
||||
from project.jsonld import get_sd_for_event_date
|
||||
from project.models import AdminUnit, EventOrganizer
|
||||
from project.services.event import (
|
||||
create_ical_event_for_date,
|
||||
get_event_date_with_details_or_404,
|
||||
@ -26,6 +27,28 @@ def prepare_event_date_form(form):
|
||||
form.category_id.choices.insert(0, (0, ""))
|
||||
form.location.choices = []
|
||||
|
||||
organizer = None
|
||||
admin_unit = None
|
||||
|
||||
if form.organizer_id.data and form.organizer_id.data > 0:
|
||||
organizer = db.session.get(EventOrganizer, form.organizer_id.data)
|
||||
|
||||
if organizer:
|
||||
form.organizer_id.choices = [(organizer.id, organizer.name)]
|
||||
admin_unit = organizer.adminunit
|
||||
|
||||
if not admin_unit and form.admin_unit_id.data and form.admin_unit_id.data > 0:
|
||||
admin_unit = db.session.get(AdminUnit, form.admin_unit_id.data)
|
||||
|
||||
if admin_unit:
|
||||
form.admin_unit_id.choices = [(admin_unit.id, admin_unit.name)]
|
||||
|
||||
if not form.admin_unit_id.choices:
|
||||
form.admin_unit_id.choices = []
|
||||
|
||||
if not form.organizer_id.choices:
|
||||
form.organizer_id.choices = []
|
||||
|
||||
|
||||
@app.route("/eventdates")
|
||||
def event_dates():
|
||||
|
||||
@ -27,14 +27,18 @@ def set_current_admin_unit(admin_unit):
|
||||
setattr(g, "manage_admin_unit", admin_unit)
|
||||
|
||||
|
||||
def get_current_admin_unit(fallback=True):
|
||||
def get_current_admin_unit(fallback=True, use_cookies=True, use_headers=False):
|
||||
admin_unit = getattr(g, "manage_admin_unit", None)
|
||||
|
||||
if admin_unit:
|
||||
return admin_unit
|
||||
|
||||
if current_user and current_user.is_authenticated:
|
||||
admin_unit = get_current_admin_unit_from_cookies()
|
||||
if use_cookies:
|
||||
admin_unit = get_current_admin_unit_from_cookies()
|
||||
|
||||
if not admin_unit and use_headers:
|
||||
admin_unit = get_current_admin_unit_from_headers()
|
||||
|
||||
if not admin_unit and fallback:
|
||||
admin_units = get_admin_units_for_manage()
|
||||
@ -48,6 +52,10 @@ def get_current_admin_unit(fallback=True):
|
||||
return admin_unit
|
||||
|
||||
|
||||
def get_current_admin_unit_for_api():
|
||||
return get_current_admin_unit(fallback=False, use_cookies=False, use_headers=True)
|
||||
|
||||
|
||||
def get_current_admin_unit_from_cookies():
|
||||
try:
|
||||
if request and request.cookies and "manage_admin_unit_id" in request.cookies:
|
||||
@ -60,6 +68,18 @@ def get_current_admin_unit_from_cookies():
|
||||
return None
|
||||
|
||||
|
||||
def get_current_admin_unit_from_headers():
|
||||
try:
|
||||
if request and request.headers and "X-OrganizationId" in request.headers:
|
||||
manage_admin_unit_id_str = request.headers["X-OrganizationId"]
|
||||
manage_admin_unit_id = int(manage_admin_unit_id_str)
|
||||
return get_admin_unit_for_manage(manage_admin_unit_id)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def handleSqlError(e: SQLAlchemyError) -> str:
|
||||
if not e.orig:
|
||||
return str(e)
|
||||
|
||||
@ -11,7 +11,7 @@ from project.access import (
|
||||
get_admin_unit_members_with_permission,
|
||||
)
|
||||
from project.dateutils import get_next_full_hour
|
||||
from project.forms.event_date import FindEventDateForm
|
||||
from project.forms.event_date import FindEventDateWidgetForm
|
||||
from project.forms.event_suggestion import CreateEventSuggestionForm
|
||||
from project.jsonld import get_sd_for_event_date
|
||||
from project.models import AdminUnit, EventOrganizer, EventReviewStatus, EventSuggestion
|
||||
@ -23,7 +23,6 @@ from project.services.event_search import EventSearchParams
|
||||
from project.services.event_suggestion import insert_event_suggestion
|
||||
from project.services.place import get_event_places
|
||||
from project.views.event import get_event_category_choices
|
||||
from project.views.event_date import prepare_event_date_form
|
||||
from project.views.utils import (
|
||||
flash_errors,
|
||||
flash_message,
|
||||
@ -44,8 +43,9 @@ def widget_event_dates(au_short_name):
|
||||
params = EventSearchParams()
|
||||
params.set_default_date_range()
|
||||
|
||||
form = FindEventDateForm(formdata=request.args, obj=params)
|
||||
prepare_event_date_form(form)
|
||||
form = FindEventDateWidgetForm(formdata=request.args, obj=params)
|
||||
form.category_id.choices = get_event_category_choices()
|
||||
form.category_id.choices.insert(0, (0, ""))
|
||||
|
||||
if form.validate():
|
||||
form.populate_obj(params)
|
||||
|
||||
@ -90,9 +90,18 @@ def test_search(client, seeder: Seeder, utils: UtilActions, app, db):
|
||||
url = utils.get_url("api_v1_event_date_search", event_place_id=event_place_id)
|
||||
response = utils.get_json_ok(url)
|
||||
|
||||
url = utils.get_url("api_v1_event_date_search", admin_unit_id=admin_unit_id)
|
||||
response = utils.get_json_ok(url)
|
||||
|
||||
url = utils.get_url("api_v1_event_date_search", organization_id=admin_unit_id)
|
||||
response = utils.get_json_ok(url)
|
||||
|
||||
url = utils.get_url("api_v1_event_date_search", exclude_recurring="y")
|
||||
response = utils.get_json_ok(url)
|
||||
|
||||
url = utils.get_url("api_v1_event_date_search", postal_code="38640,38690")
|
||||
response = utils.get_json_ok(url)
|
||||
|
||||
listed_event_id = seeder.create_event(admin_unit_id)
|
||||
event_list_id = seeder.create_event_list(admin_unit_id, listed_event_id)
|
||||
url = utils.get_url("api_v1_event_date_search", event_list_id=event_list_id)
|
||||
@ -148,3 +157,27 @@ def test_search_is_favored(client, seeder: Seeder, utils: UtilActions):
|
||||
assert len(response.json["items"]) == 1
|
||||
assert response.json["items"][0]["event"]["id"] == event_id
|
||||
assert response.json["items"][0]["event"]["is_favored"]
|
||||
|
||||
|
||||
def test_search_reference_id(client, seeder: Seeder, utils: UtilActions):
|
||||
user_id, admin_unit_id = seeder.setup_api_access()
|
||||
(
|
||||
other_user_id,
|
||||
other_admin_unit_id,
|
||||
event_id,
|
||||
reference_id,
|
||||
) = seeder.create_any_reference(admin_unit_id)
|
||||
|
||||
url = utils.get_url("api_v1_event_date_search")
|
||||
response = utils.get_json_ok(url, headers={"X-OrganizationId": str(admin_unit_id)})
|
||||
assert len(response.json["items"]) == 1
|
||||
assert response.json["items"][0]["event"]["id"] == event_id
|
||||
assert response.json["items"][0]["event"]["reference_id"] == reference_id
|
||||
|
||||
response = utils.get_json_ok(url, headers={"X-OrganizationId": "Quatsch"})
|
||||
assert len(response.json["items"]) == 1
|
||||
assert response.json["items"][0]["event"]["id"] == event_id
|
||||
assert not response.json["items"][0]["event"]["reference_id"]
|
||||
|
||||
url = utils.get_url("api_v1_event_date_search", not_referenced="y")
|
||||
response = utils.get_json_ok(url, headers={"X-OrganizationId": str(admin_unit_id)})
|
||||
|
||||
@ -13,3 +13,23 @@ def test_read(client, seeder: Seeder, utils: UtilActions):
|
||||
|
||||
url = utils.get_url("api_v1_event_reference", id=reference_id)
|
||||
utils.get_json_ok(url)
|
||||
|
||||
|
||||
def test_delete(client, app, db, seeder: Seeder, utils: UtilActions):
|
||||
user_id, admin_unit_id = seeder.setup_api_access()
|
||||
(
|
||||
other_user_id,
|
||||
other_admin_unit_id,
|
||||
event_id,
|
||||
reference_id,
|
||||
) = seeder.create_any_reference(admin_unit_id)
|
||||
|
||||
url = utils.get_url("api_v1_event_reference", id=reference_id)
|
||||
response = utils.delete(url)
|
||||
utils.assert_response_no_content(response)
|
||||
|
||||
with app.app_context():
|
||||
from project.models import EventReference
|
||||
|
||||
reference = db.session.get(EventReference, reference_id)
|
||||
assert reference is None
|
||||
|
||||
@ -119,6 +119,9 @@ def test_organizers(client, seeder: Seeder, utils: UtilActions):
|
||||
user_id, admin_unit_id = seeder.setup_api_access(user_access=False)
|
||||
seeder.upsert_default_event_organizer(admin_unit_id)
|
||||
|
||||
url = utils.get_url("api_v1_organization_organizer_list", id=admin_unit_id)
|
||||
utils.get_json_ok(url)
|
||||
|
||||
url = utils.get_url(
|
||||
"api_v1_organization_organizer_list", id=admin_unit_id, name="crew"
|
||||
)
|
||||
@ -410,6 +413,51 @@ def test_references_incoming(client, seeder: Seeder, utils: UtilActions):
|
||||
utils.get_json_ok(url)
|
||||
|
||||
|
||||
def test_references_incoming_post(client, app, seeder: Seeder, utils: UtilActions, db):
|
||||
user_id, admin_unit_id = seeder.setup_api_access()
|
||||
other_admin_unit_id = seeder.create_admin_unit(user_id, "Other Crew")
|
||||
event_id = seeder.create_event(other_admin_unit_id)
|
||||
|
||||
url = utils.get_url(
|
||||
"api_v1_organization_incoming_event_reference_list",
|
||||
id=admin_unit_id,
|
||||
)
|
||||
data = {
|
||||
"event": {"id": event_id},
|
||||
}
|
||||
|
||||
response = utils.post_json(url, data)
|
||||
utils.assert_response_created(response)
|
||||
assert "id" in response.json
|
||||
|
||||
with app.app_context():
|
||||
from project.models import EventReference
|
||||
|
||||
reference = db.session.get(EventReference, int(response.json["id"]))
|
||||
assert reference is not None
|
||||
assert reference.admin_unit_id == admin_unit_id
|
||||
assert reference.event_id == event_id
|
||||
assert reference.rating == 50
|
||||
|
||||
|
||||
def test_references_incoming_post_selfReference(
|
||||
client, app, seeder: Seeder, utils: UtilActions, db
|
||||
):
|
||||
user_id, admin_unit_id = seeder.setup_api_access()
|
||||
event_id = seeder.create_event(admin_unit_id)
|
||||
|
||||
url = utils.get_url(
|
||||
"api_v1_organization_incoming_event_reference_list",
|
||||
id=admin_unit_id,
|
||||
)
|
||||
data = {
|
||||
"event": {"id": event_id},
|
||||
}
|
||||
|
||||
response = utils.post_json(url, data)
|
||||
utils.assert_response_bad_request(response)
|
||||
|
||||
|
||||
def test_references_outgoing(client, seeder: Seeder, utils: UtilActions):
|
||||
user_id, admin_unit_id = seeder.setup_api_access(user_access=False)
|
||||
event_id = seeder.create_event(admin_unit_id)
|
||||
|
||||
@ -633,8 +633,9 @@ class Seeder(object):
|
||||
return reference_id
|
||||
|
||||
def create_any_reference(self, admin_unit_id):
|
||||
other_user_id = self.create_user("other@test.de")
|
||||
other_admin_unit_id = self.create_admin_unit(other_user_id, "Other Crew")
|
||||
(other_user_id, other_admin_unit_id) = self.setup_base(
|
||||
email="other@test.de", name="Other Crew", log_in=False
|
||||
)
|
||||
event_id = self.create_event(other_admin_unit_id)
|
||||
reference_id = self.create_reference(event_id, admin_unit_id)
|
||||
return (other_user_id, other_admin_unit_id, event_id, reference_id)
|
||||
|
||||
@ -155,14 +155,19 @@ class UtilActions(object):
|
||||
print(response.data)
|
||||
print(response.json)
|
||||
|
||||
def get_json(self, url):
|
||||
def get_json(self, url, **kwargs):
|
||||
self.log_request(url)
|
||||
response = self._client.get(url, headers=self.get_headers())
|
||||
headers = self.get_headers()
|
||||
|
||||
if "headers" in kwargs:
|
||||
headers.update(kwargs["headers"])
|
||||
|
||||
response = self._client.get(url, headers=headers)
|
||||
self.log_response(response)
|
||||
return response
|
||||
|
||||
def get_json_ok(self, url):
|
||||
response = self.get_json(url)
|
||||
def get_json_ok(self, url, **kwargs):
|
||||
response = self.get_json(url, **kwargs)
|
||||
self.assert_response_ok(response)
|
||||
return response
|
||||
|
||||
|
||||
@ -1,4 +1,8 @@
|
||||
def test_read(client, seeder, utils):
|
||||
from tests.seeder import Seeder
|
||||
from tests.utils import UtilActions
|
||||
|
||||
|
||||
def test_read(client, seeder: Seeder, utils: UtilActions):
|
||||
user_id, admin_unit_id = seeder.setup_base(log_in=False)
|
||||
seeder.create_event(admin_unit_id, end=seeder.get_now_by_minute())
|
||||
|
||||
@ -18,7 +22,7 @@ def test_read(client, seeder, utils):
|
||||
response = utils.get(url)
|
||||
|
||||
|
||||
def test_ical(client, seeder, utils):
|
||||
def test_ical(client, seeder: Seeder, utils: UtilActions):
|
||||
from project.dateutils import create_berlin_date
|
||||
|
||||
user_id, admin_unit_id = seeder.setup_base(log_in=False)
|
||||
@ -70,9 +74,10 @@ def test_ical(client, seeder, utils):
|
||||
utils.assert_response_contains(response, "DTEND;VALUE=DATE:20200104")
|
||||
|
||||
|
||||
def test_list(client, seeder, utils):
|
||||
def test_list(client, seeder: Seeder, utils: UtilActions):
|
||||
user_id, admin_unit_id = seeder.setup_base()
|
||||
seeder.create_event(admin_unit_id)
|
||||
organizer_id = seeder.upsert_default_event_organizer(admin_unit_id)
|
||||
|
||||
url = utils.get_url("event_dates")
|
||||
utils.get_ok(url)
|
||||
@ -82,3 +87,9 @@ def test_list(client, seeder, utils):
|
||||
|
||||
url = utils.get_url("event_dates", category_id=2000)
|
||||
utils.get_ok(url)
|
||||
|
||||
url = utils.get_url("event_dates", admin_unit_id=admin_unit_id)
|
||||
utils.get_ok(url)
|
||||
|
||||
url = utils.get_url("event_dates", organizer_id=organizer_id)
|
||||
utils.get_ok(url)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user