From ddb822d3584752fb53dd783d30e15adc24147901 Mon Sep 17 00:00:00 2001 From: Daniel Grams Date: Fri, 6 Aug 2021 09:15:43 +0200 Subject: [PATCH 1/3] Optimize reference request review #246 --- .coveragerc | 2 +- .github/workflows/cypress.yml | 5 +- .../{home_page_spec.js => index.js} | 0 .../integration/{login_spec.js => login.js} | 0 cypress/integration/manage.js | 10 + .../{profile_spec.js => profile.js} | 0 cypress/integration/reference_request.js | 28 ++ .../{register_spec.js => register.js} | 0 cypress/support/commands.js | 29 +- messages.pot | 273 ++++++++++-------- project/__init__.py | 5 +- project/cli/database.py | 49 ---- project/cli/test.py | 188 ++++++++++++ project/forms/reference_request.py | 7 +- project/templates/_macros.html | 9 + .../templates/reference_request/review.html | 117 +++++++- .../translations/de/LC_MESSAGES/messages.mo | Bin 28156 -> 28570 bytes .../translations/de/LC_MESSAGES/messages.po | 251 +++++++++------- .../translations/en/LC_MESSAGES/messages.mo | Bin 3153 -> 3225 bytes .../translations/en/LC_MESSAGES/messages.po | 273 ++++++++++-------- 20 files changed, 818 insertions(+), 428 deletions(-) rename cypress/integration/{home_page_spec.js => index.js} (100%) rename cypress/integration/{login_spec.js => login.js} (100%) create mode 100644 cypress/integration/manage.js rename cypress/integration/{profile_spec.js => profile.js} (100%) create mode 100644 cypress/integration/reference_request.js rename cypress/integration/{register_spec.js => register.js} (100%) delete mode 100644 project/cli/database.py create mode 100644 project/cli/test.py diff --git a/.coveragerc b/.coveragerc index b7c0f63..9cd4d42 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,3 +1,3 @@ [run] omit = - project/cli/database.py \ No newline at end of file + project/cli/test.py \ No newline at end of file diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index d0a7995..974c7c2 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -54,8 +54,8 @@ jobs: - name: Start server run: | - flask database create-all - flask database seed + flask test create-all + flask test seed gunicorn -b 127.0.0.1:5001 -w 1 project:app --daemon env: DATABASE_URL: postgresql://postgres:postgres@localhost/gsevpt_tests @@ -69,6 +69,7 @@ jobs: config: baseUrl=http://127.0.0.1:5001 env: DATABASE_URL: postgresql://postgres:postgres@localhost/gsevpt_tests + TEST: 1 CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/cypress/integration/home_page_spec.js b/cypress/integration/index.js similarity index 100% rename from cypress/integration/home_page_spec.js rename to cypress/integration/index.js diff --git a/cypress/integration/login_spec.js b/cypress/integration/login.js similarity index 100% rename from cypress/integration/login_spec.js rename to cypress/integration/login.js diff --git a/cypress/integration/manage.js b/cypress/integration/manage.js new file mode 100644 index 0000000..8346509 --- /dev/null +++ b/cypress/integration/manage.js @@ -0,0 +1,10 @@ +describe('Manage', () => { + it('manage', () => { + cy.login() + cy.createAdminUnit().then(function(adminUnitId) { + cy.createEvent(adminUnitId).then(function(eventId) { + cy.visit('/manage/admin_unit/' + adminUnitId) + }) + }) + }) + }) \ No newline at end of file diff --git a/cypress/integration/profile_spec.js b/cypress/integration/profile.js similarity index 100% rename from cypress/integration/profile_spec.js rename to cypress/integration/profile.js diff --git a/cypress/integration/reference_request.js b/cypress/integration/reference_request.js new file mode 100644 index 0000000..adb1217 --- /dev/null +++ b/cypress/integration/reference_request.js @@ -0,0 +1,28 @@ +describe('Reference Request', () => { + it('reference request', () => { + cy.login() + cy.createAdminUnit().then(function(adminUnitId) { + cy.createIncomingReferenceRequest(adminUnitId).then(function(referenceRequestId) { + + // Reject + cy.visit('/reference_request/' + referenceRequestId + '/review') + cy.get('.decision-container .btn-danger').click() + cy.get('#rejectFormModal select[name=rejection_reason]').select('Nicht relevant').should('have.value', '4') + cy.screenshot() + cy.get('#rejectFormModal .btn-danger').click() + cy.url().should('include', '/reference_requests/incoming') + cy.get('div.alert').should('contain', 'Empfehlungsanfrage erfolgreich aktualisiert') + cy.get('main .badge-pill').should('contain', 'Abgelehnt') + + // Accept + cy.visit('/reference_request/' + referenceRequestId + '/review') + cy.get('.decision-container .btn-success').click() + cy.get('#acceptFormModal select[name=rating]').select('6').should('have.value', '60') + cy.screenshot() + cy.get('#acceptFormModal .btn-success').click() + cy.url().should('include', '/reference_requests/incoming') + cy.get('div.alert').should('contain', 'Empfehlung erfolgreich erstellt') + }) + }) + }) + }) \ No newline at end of file diff --git a/cypress/integration/register_spec.js b/cypress/integration/register.js similarity index 100% rename from cypress/integration/register_spec.js rename to cypress/integration/register.js diff --git a/cypress/support/commands.js b/cypress/support/commands.js index cfcc692..17fad94 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -1,19 +1,42 @@ Cypress.Commands.add('logexec', (command) => { - cy.exec(command, { failOnNonZeroExit: false }).then(result => { + return cy.exec(command, { failOnNonZeroExit: false }).then(function(result) { if (result.code) { throw new Error(`Execution of "${command}" failed Exit code: ${result.code} Stdout:\n${result.stdout} - Stderr:\n${result.stderr}`); + Stderr:\n${result.stderr}`) } + + return result; }) }) Cypress.Commands.add('setup', () => { - cy.logexec('flask database reset --seed') + cy.logexec('flask test reset --seed') cy.logexec('flask user create test@test.de password --confirm') }) +Cypress.Commands.add('createAdminUnit', (userEmail = 'test@test.de', name = 'Meine Crew') => { + return cy.logexec('flask test admin-unit-create ' + userEmail + ' "' + name + '"').then(function(result) { + let json = JSON.parse(result.stdout) + return json.admin_unit_id + }) +}) + +Cypress.Commands.add('createEvent', (adminUnitId) => { + return cy.logexec('flask test event-create ' + adminUnitId).then(function(result) { + let json = JSON.parse(result.stdout) + return json.event_id + }) +}) + +Cypress.Commands.add('createIncomingReferenceRequest', (adminUnitId) => { + return cy.logexec('flask test reference-request-create-incoming ' + adminUnitId).then(function(result) { + let json = JSON.parse(result.stdout) + return json.reference_request_id + }) +}) + Cypress.Commands.add('assertValid', (fieldId) => { cy.get('#' + fieldId).should('have.class', 'is-valid') cy.get('#' + fieldId + '-error').should('be.empty') diff --git a/messages.pot b/messages.pot index bb5cadb..213a833 100644 --- a/messages.pot +++ b/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-07-30 15:18+0200\n" +"POT-Creation-Date: 2021-08-06 08:22+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -175,7 +175,7 @@ msgstr "" msgid "Legal notice" msgstr "" -#: project/forms/admin.py:12 project/templates/_macros.html:1271 +#: project/forms/admin.py:12 project/templates/_macros.html:1280 #: project/templates/layout.html:267 #: project/templates/widget/event_suggestion/create.html:172 #: project/views/admin_unit.py:36 project/views/root.py:58 @@ -247,12 +247,12 @@ msgid "Longitude" msgstr "" #: project/forms/admin_unit.py:28 project/forms/event.py:35 -#: project/forms/event.py:64 project/forms/event.py:358 +#: project/forms/event.py:64 project/forms/event.py:362 #: project/forms/event_place.py:25 project/forms/event_place.py:50 #: project/forms/event_suggestion.py:26 project/forms/oauth2_client.py:66 #: project/forms/organizer.py:25 project/forms/organizer.py:52 #: project/forms/reference.py:40 project/forms/reference_request.py:22 -#: project/templates/_macros.html:126 +#: project/templates/_macros.html:135 #: project/templates/admin/admin_units.html:19 #: project/templates/event_place/list.html:19 #: project/templates/oauth2_client/list.html:25 @@ -268,7 +268,7 @@ msgstr "" msgid "The short name is used to create a unique identifier for your events" msgstr "" -#: project/forms/admin_unit.py:40 project/templates/_macros.html:1401 +#: project/forms/admin_unit.py:40 project/templates/_macros.html:1410 msgid "Short name must contain only letters numbers or underscore" msgstr "" @@ -281,19 +281,19 @@ msgstr "" #: project/forms/admin_unit.py:47 project/forms/admin_unit_member.py:11 #: project/forms/admin_unit_member.py:23 project/forms/admin_unit_member.py:28 #: project/forms/event.py:57 project/forms/event_suggestion.py:38 -#: project/forms/organizer.py:27 project/templates/_macros.html:253 -#: project/templates/_macros.html:1361 project/templates/admin/users.html:19 +#: project/forms/organizer.py:27 project/templates/_macros.html:262 +#: project/templates/_macros.html:1370 project/templates/admin/users.html:19 msgid "Email" msgstr "" #: project/forms/admin_unit.py:48 project/forms/event.py:58 #: project/forms/event_suggestion.py:31 project/forms/organizer.py:28 -#: project/templates/_macros.html:296 +#: project/templates/_macros.html:305 msgid "Phone" msgstr "" #: project/forms/admin_unit.py:49 project/forms/event.py:59 -#: project/forms/organizer.py:29 project/templates/_macros.html:304 +#: project/forms/organizer.py:29 project/templates/_macros.html:313 msgid "Fax" msgstr "" @@ -490,7 +490,7 @@ msgstr "" msgid "Enter a link where tickets can be purchased." msgstr "" -#: project/forms/event.py:105 project/templates/_macros.html:235 +#: project/forms/event.py:105 project/templates/_macros.html:244 msgid "Tags" msgstr "" @@ -540,7 +540,7 @@ msgstr "" msgid "If the participants needs to register for the event." msgstr "" -#: project/forms/event.py:139 project/templates/_macros.html:267 +#: project/forms/event.py:139 project/templates/_macros.html:276 #: project/templates/layout.html:157 msgid "Booked up" msgstr "" @@ -620,16 +620,16 @@ msgid "" " course it works without it." msgstr "" -#: project/forms/event.py:206 project/templates/_macros.html:1184 +#: project/forms/event.py:206 project/templates/_macros.html:1193 msgid "The start must be before the end." msgstr "" -#: project/forms/event.py:212 project/templates/_macros.html:1201 +#: project/forms/event.py:212 project/templates/_macros.html:1210 msgid "An event can last a maximum of 14 days." msgstr "" -#: project/forms/event.py:220 project/templates/_macros.html:414 -#: project/templates/_macros.html:573 +#: project/forms/event.py:220 project/templates/_macros.html:423 +#: project/templates/_macros.html:582 msgid "Previous start date" msgstr "" @@ -646,23 +646,23 @@ msgid "Choose categories that fit the event." msgstr "" #: project/forms/event.py:233 project/forms/reference.py:14 -#: project/forms/reference.py:27 project/forms/reference_request.py:70 -#: project/templates/event/create.html:318 +#: project/forms/reference.py:27 project/forms/reference_request.py:75 +#: project/templates/event/create.html:323 #: project/templates/event/update.html:183 msgid "Rating" msgstr "" #: project/forms/event.py:237 project/forms/reference.py:18 -#: project/forms/reference.py:31 project/forms/reference_request.py:74 +#: project/forms/reference.py:31 project/forms/reference_request.py:79 msgid "" "Choose how relevant the event is to your organization. The value is not " "visible and is used for sorting." msgstr "" #: project/forms/event.py:245 project/forms/event.py:254 -#: project/forms/event.py:314 project/forms/event_suggestion.py:50 -#: project/templates/_macros.html:453 project/templates/_macros.html:609 -#: project/templates/event/create.html:243 +#: project/forms/event.py:318 project/forms/event_suggestion.py:50 +#: project/templates/_macros.html:462 project/templates/_macros.html:618 +#: project/templates/event/create.html:248 #: project/templates/event/update.html:133 #: project/templates/event_place/create.html:21 #: project/templates/event_place/delete.html:13 @@ -679,9 +679,9 @@ msgid "Enter new place" msgstr "" #: project/forms/event.py:261 project/forms/event.py:270 -#: project/forms/event.py:322 project/forms/event.py:372 -#: project/forms/event_suggestion.py:60 project/templates/_macros.html:491 -#: project/templates/_macros.html:646 project/templates/event/create.html:218 +#: project/forms/event.py:326 project/forms/event.py:376 +#: project/forms/event_suggestion.py:60 project/templates/_macros.html:500 +#: project/templates/_macros.html:655 project/templates/event/create.html:223 #: project/templates/event/update.html:124 #: project/templates/organizer/create.html:17 #: project/templates/organizer/delete.html:13 @@ -698,101 +698,101 @@ msgid "Enter new organizer" msgstr "" #: project/forms/event.py:276 project/templates/event/create.html:4 -#: project/templates/event/create.html:190 +#: project/templates/event/create.html:195 #: project/templates/manage/events.html:12 #: project/templates/manage/organizers.html:21 msgid "Create event" msgstr "" -#: project/forms/event.py:300 +#: project/forms/event.py:302 msgid "Select existing place or enter new place" msgstr "" -#: project/forms/event.py:305 +#: project/forms/event.py:309 msgid "Select existing organizer or enter new organizer" msgstr "" -#: project/forms/event.py:317 +#: project/forms/event.py:321 msgid "" "Choose where the event takes place. You can add and modify places at " "Manage > Places." msgstr "" -#: project/forms/event.py:325 +#: project/forms/event.py:329 msgid "" "Select the organizer. You can add and modify organizers at Manage > " "Organizers." msgstr "" -#: project/forms/event.py:331 project/templates/event/update.html:114 +#: project/forms/event.py:335 project/templates/event/update.html:114 #: project/templates/oauth2_token/list.html:21 msgid "Status" msgstr "" -#: project/forms/event.py:334 +#: project/forms/event.py:338 msgid "EventStatus.scheduled" msgstr "" -#: project/forms/event.py:335 project/templates/layout.html:111 +#: project/forms/event.py:339 project/templates/layout.html:111 #: project/templates/layout.html:126 msgid "EventStatus.cancelled" msgstr "" -#: project/forms/event.py:336 project/templates/layout.html:114 +#: project/forms/event.py:340 project/templates/layout.html:114 #: project/templates/layout.html:129 msgid "EventStatus.movedOnline" msgstr "" -#: project/forms/event.py:337 project/templates/layout.html:117 +#: project/forms/event.py:341 project/templates/layout.html:117 #: project/templates/layout.html:132 msgid "EventStatus.postponed" msgstr "" -#: project/forms/event.py:338 project/templates/layout.html:120 +#: project/forms/event.py:342 project/templates/layout.html:120 #: project/templates/layout.html:135 msgid "EventStatus.rescheduled" msgstr "" -#: project/forms/event.py:340 +#: project/forms/event.py:344 msgid "Select the status of the event." msgstr "" -#: project/forms/event.py:343 project/templates/event/update.html:4 +#: project/forms/event.py:347 project/templates/event/update.html:4 #: project/templates/event/update.html:86 msgid "Update event" msgstr "" -#: project/forms/event.py:357 project/templates/_macros.html:1156 +#: project/forms/event.py:361 project/templates/_macros.html:1165 #: project/templates/event/actions.html:47 #: project/templates/event/delete.html:6 msgid "Delete event" msgstr "" -#: project/forms/event.py:365 project/forms/event_date.py:15 +#: project/forms/event.py:369 project/forms/event_date.py:15 #: project/forms/planing.py:14 msgid "From" msgstr "" -#: project/forms/event.py:366 project/forms/event_date.py:16 +#: project/forms/event.py:370 project/forms/event_date.py:16 #: project/forms/planing.py:15 msgid "to" msgstr "" -#: project/forms/event.py:367 project/forms/event_date.py:17 +#: project/forms/event.py:371 project/forms/event_date.py:17 msgid "Keyword" msgstr "" -#: project/forms/event.py:369 project/forms/event_date.py:19 -#: project/forms/planing.py:17 project/templates/_macros.html:377 +#: project/forms/event.py:373 project/forms/event_date.py:19 +#: project/forms/planing.py:17 project/templates/_macros.html:386 msgid "Category" msgstr "" -#: project/forms/event.py:375 +#: project/forms/event.py:379 msgid "Find events" msgstr "" #: project/forms/event_date.py:22 project/forms/planing.py:20 -#: project/templates/_macros.html:128 project/templates/_macros.html:311 +#: project/templates/_macros.html:137 project/templates/_macros.html:320 #: project/templates/admin_unit/create.html:29 #: project/templates/admin_unit/update.html:30 #: project/templates/event_place/create.html:30 @@ -846,13 +846,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:248 +#: project/forms/event_suggestion.py:52 project/templates/event/create.html:253 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:222 +#: project/forms/event_suggestion.py:62 project/templates/event/create.html:227 msgid "" "Select the organizer. If the organizer is not yet on the list, just enter" " it." @@ -864,7 +864,7 @@ msgstr "" msgid "Create event suggestion" msgstr "" -#: project/forms/event_suggestion.py:116 project/forms/reference_request.py:46 +#: project/forms/event_suggestion.py:116 project/forms/reference_request.py:47 msgid "Rejection reason" msgstr "" @@ -926,7 +926,7 @@ msgid "Weekdays" msgstr "" #: project/forms/reference.py:11 project/forms/reference_request.py:15 -#: project/templates/_macros.html:512 project/templates/_macros.html:672 +#: project/templates/_macros.html:521 project/templates/_macros.html:681 #: project/templates/admin_unit/create.html:19 #: project/templates/admin_unit/update.html:20 msgid "Organization" @@ -953,7 +953,7 @@ msgstr "" msgid "Delete request" msgstr "" -#: project/forms/reference_request.py:27 project/templates/_macros.html:1283 +#: project/forms/reference_request.py:27 project/templates/_macros.html:1292 #: project/templates/event_suggestion/review_status.html:18 #: project/templates/reference_request/review_status.html:12 msgid "Review status" @@ -971,23 +971,35 @@ msgstr "" msgid "EventReferenceRequestReviewStatus.rejected" msgstr "" +#: project/forms/reference_request.py:43 +msgid "Choose the result of your review." +msgstr "" + #: project/forms/reference_request.py:52 -msgid "EventReferenceRequestRejectionReason.duplicate" +msgid "EventReferenceRequestRejectionReason.noreason" msgstr "" #: project/forms/reference_request.py:56 -msgid "EventReferenceRequestRejectionReason.untrustworthy" +msgid "EventReferenceRequestRejectionReason.duplicate" msgstr "" #: project/forms/reference_request.py:60 -msgid "EventReferenceRequestRejectionReason.irrelevant" +msgid "EventReferenceRequestRejectionReason.untrustworthy" msgstr "" #: project/forms/reference_request.py:64 +msgid "EventReferenceRequestRejectionReason.irrelevant" +msgstr "" + +#: project/forms/reference_request.py:68 msgid "EventReferenceRequestRejectionReason.illegal" msgstr "" -#: project/forms/reference_request.py:78 +#: project/forms/reference_request.py:71 +msgid "Choose why you rejected the request." +msgstr "" + +#: project/forms/reference_request.py:83 msgid "Save review" msgstr "" @@ -1003,50 +1015,50 @@ msgstr "" msgid "This field is required." msgstr "" -#: project/templates/_macros.html:125 project/templates/_macros.html:400 -#: project/templates/_macros.html:407 project/templates/_macros.html:852 +#: project/templates/_macros.html:134 project/templates/_macros.html:409 +#: project/templates/_macros.html:416 project/templates/_macros.html:861 msgid "Date" msgstr "" -#: project/templates/_macros.html:127 +#: project/templates/_macros.html:136 msgid "Host" msgstr "" -#: project/templates/_macros.html:149 +#: project/templates/_macros.html:158 msgid "Show all events" msgstr "" -#: project/templates/_macros.html:165 +#: project/templates/_macros.html:174 msgid "Show on Google Maps" msgstr "" -#: project/templates/_macros.html:244 +#: project/templates/_macros.html:253 msgid "Link" msgstr "" -#: project/templates/_macros.html:354 -#, python-format -msgid "Created at %(created_at)s by %(created_by)s." -msgstr "" - -#: project/templates/_macros.html:356 -#, python-format -msgid "Created at %(created_at)s." -msgstr "" - -#: project/templates/_macros.html:361 -#, python-format -msgid "Last updated at %(updated_at)s by %(updated_by)s." -msgstr "" - #: project/templates/_macros.html:363 #, python-format +msgid "Created at %(created_at)s by %(created_by)s." +msgstr "" + +#: project/templates/_macros.html:365 +#, python-format +msgid "Created at %(created_at)s." +msgstr "" + +#: project/templates/_macros.html:370 +#, python-format +msgid "Last updated at %(updated_at)s by %(updated_by)s." +msgstr "" + +#: project/templates/_macros.html:372 +#, python-format msgid "Last updated at %(updated_at)s." msgstr "" -#: project/templates/_macros.html:393 project/templates/_macros.html:569 +#: project/templates/_macros.html:402 project/templates/_macros.html:578 #: project/templates/event/actions.html:12 -#: project/templates/event/create.html:197 +#: project/templates/event/create.html:202 #: project/templates/event/delete.html:13 #: project/templates/event/update.html:93 #: project/templates/reference/delete.html:13 @@ -1054,45 +1066,45 @@ msgstr "" msgid "Event" msgstr "" -#: project/templates/_macros.html:403 project/templates/_macros.html:555 +#: project/templates/_macros.html:412 project/templates/_macros.html:564 #, python-format msgid "%(count)d event dates" msgstr "" -#: project/templates/_macros.html:436 project/templates/_macros.html:591 -#: project/templates/_macros.html:1346 project/templates/event/actions.html:32 +#: project/templates/_macros.html:445 project/templates/_macros.html:600 +#: project/templates/_macros.html:1355 project/templates/event/actions.html:32 msgid "Share" msgstr "" -#: project/templates/_macros.html:440 project/templates/_macros.html:595 -#: project/templates/_macros.html:1376 +#: project/templates/_macros.html:449 project/templates/_macros.html:604 +#: project/templates/_macros.html:1385 msgid "Add to calendar" msgstr "" -#: project/templates/_macros.html:474 project/templates/_macros.html:628 +#: project/templates/_macros.html:483 project/templates/_macros.html:637 msgid "Show directions" msgstr "" -#: project/templates/_macros.html:479 project/templates/_macros.html:633 +#: project/templates/_macros.html:488 project/templates/_macros.html:642 msgid "The event takes place online." msgstr "" -#: project/templates/_macros.html:481 project/templates/_macros.html:635 +#: project/templates/_macros.html:490 project/templates/_macros.html:644 msgid "The event takes place both offline and online." msgstr "" -#: project/templates/_macros.html:696 project/templates/event_date/list.html:4 +#: project/templates/_macros.html:705 project/templates/event_date/list.html:4 #: project/templates/event_date/list.html:258 #: project/templates/event_date/search.html:3 -#: project/templates/reference_request/review.html:30 +#: project/templates/reference_request/review.html:55 msgid "Event Dates" msgstr "" -#: project/templates/_macros.html:769 +#: project/templates/_macros.html:778 msgid "Search location on Google" msgstr "" -#: project/templates/_macros.html:802 project/templates/_macros.html:804 +#: project/templates/_macros.html:811 project/templates/_macros.html:813 #: project/templates/event_date/list.html:279 #: project/templates/widget/event_suggestion/create.html:161 #: project/templates/widget/event_suggestion/create.html:186 @@ -1103,12 +1115,12 @@ msgstr "" msgid "Previous" msgstr "" -#: project/templates/_macros.html:806 +#: project/templates/_macros.html:815 #, python-format msgid "Page %(page)d of %(pages)d (%(total)d total)" msgstr "" -#: project/templates/_macros.html:808 project/templates/_macros.html:810 +#: project/templates/_macros.html:817 project/templates/_macros.html:819 #: project/templates/event_date/list.html:281 #: project/templates/widget/event_suggestion/create.html:162 #: project/templates/widget/event_suggestion/create.html:187 @@ -1118,59 +1130,59 @@ msgstr "" msgid "Next" msgstr "" -#: project/templates/_macros.html:875 +#: project/templates/_macros.html:884 msgid "Radius" msgstr "" -#: project/templates/_macros.html:1085 +#: project/templates/_macros.html:1094 msgid "Edit image" msgstr "" -#: project/templates/_macros.html:1106 +#: project/templates/_macros.html:1115 msgid "Close" msgstr "" -#: project/templates/_macros.html:1107 +#: project/templates/_macros.html:1116 msgid "Okay" msgstr "" -#: project/templates/_macros.html:1119 +#: project/templates/_macros.html:1128 msgid "Choose image file" msgstr "" -#: project/templates/_macros.html:1155 project/templates/event/actions.html:46 +#: project/templates/_macros.html:1164 project/templates/event/actions.html:46 msgid "Edit event" msgstr "" -#: project/templates/_macros.html:1158 project/templates/manage/events.html:30 +#: project/templates/_macros.html:1167 project/templates/manage/events.html:30 msgid "More" msgstr "" -#: project/templates/_macros.html:1243 +#: project/templates/_macros.html:1252 msgid "Event suggestion" msgstr "" -#: project/templates/_macros.html:1355 +#: project/templates/_macros.html:1364 msgid "Link copied" msgstr "" -#: project/templates/_macros.html:1355 +#: project/templates/_macros.html:1364 msgid "Copy link" msgstr "" -#: project/templates/_macros.html:1384 +#: project/templates/_macros.html:1393 msgid "Google calendar" msgstr "" -#: project/templates/_macros.html:1385 +#: project/templates/_macros.html:1394 msgid "Apple calendar" msgstr "" -#: project/templates/_macros.html:1386 +#: project/templates/_macros.html:1395 msgid "Yahoo calendar" msgstr "" -#: project/templates/_macros.html:1387 +#: project/templates/_macros.html:1396 msgid "Other calendar" msgstr "" @@ -1178,7 +1190,7 @@ msgstr "" msgid "Manage" msgstr "" -#: project/templates/home.html:29 project/templates/security/login_user.html:23 +#: project/templates/home.html:29 project/templates/security/login_user.html:35 #: project/views/widget.py:179 msgid "Register for free" msgstr "" @@ -1333,7 +1345,7 @@ msgstr "" #: project/templates/admin_unit/create.html:49 #: project/templates/admin_unit/update.html:50 -#: project/templates/event/create.html:306 +#: project/templates/event/create.html:311 #: project/templates/event/update.html:171 #: project/templates/event_place/create.html:47 #: project/templates/event_place/update.html:47 @@ -1449,21 +1461,21 @@ msgstr "" msgid "Just use %(term)s" msgstr "" -#: project/templates/event/create.html:207 +#: project/templates/event/create.html:212 #: project/templates/event/update.html:103 msgid "Event date" msgstr "" -#: project/templates/event/create.html:268 +#: project/templates/event/create.html:273 msgid "Switch to place search" msgstr "" -#: project/templates/event/create.html:279 +#: project/templates/event/create.html:284 #: project/templates/event/update.html:144 msgid "Access" msgstr "" -#: project/templates/event/create.html:293 +#: project/templates/event/create.html:298 #: project/templates/event/update.html:158 msgid "Target group" msgstr "" @@ -1630,10 +1642,27 @@ msgstr "" msgid "Update reference to event \"%(name)s\"" msgstr "" -#: project/templates/reference_request/review.html:8 +#: project/templates/reference_request/review.html:46 msgid "Review event reference request" msgstr "" +#: project/templates/reference_request/review.html:66 +#: project/templates/reference_request/review.html:74 +#: project/templates/reference_request/review.html:92 +msgid "Accept reference request" +msgstr "" + +#: project/templates/reference_request/review.html:67 +#: project/templates/reference_request/review.html:102 +#: project/templates/reference_request/review.html:119 +msgid "Reject reference request" +msgstr "" + +#: project/templates/reference_request/review.html:91 +#: project/templates/reference_request/review.html:118 +msgid "Cancel" +msgstr "" + #: project/templates/security/authorize.html:10 #, python-format msgid "\"%(client_name)s\" wants to access your account" @@ -1644,7 +1673,7 @@ msgstr "" msgid "This will allow \"%(client_name)s\" to:" msgstr "" -#: project/templates/security/login_user.html:21 +#: project/templates/security/login_user.html:33 msgid "You do not have an account yet? Not a problem!" msgstr "" @@ -1730,23 +1759,23 @@ msgstr "" msgid "Invitation successfully deleted" msgstr "" -#: project/views/event.py:167 +#: project/views/event.py:168 msgid "Event successfully created" msgstr "" -#: project/views/event.py:207 +#: project/views/event.py:208 msgid "Event successfully updated" msgstr "" -#: project/views/event.py:230 project/views/reference.py:162 +#: project/views/event.py:231 project/views/reference.py:162 msgid "Entered name does not match event name" msgstr "" -#: project/views/event.py:236 +#: project/views/event.py:237 msgid "Event successfully deleted" msgstr "" -#: project/views/event.py:379 +#: project/views/event.py:380 msgid "Referenced event changed" msgstr "" @@ -1775,19 +1804,19 @@ msgstr "" msgid "Event review status updated" msgstr "" -#: project/views/js.py:27 +#: project/views/js.py:26 msgid "Short name is already taken" msgstr "" -#: project/views/js.py:41 +#: project/views/js.py:40 msgid "An account already exists with this email." msgstr "" -#: project/views/js.py:66 +#: project/views/js.py:65 msgid "Places of organization" msgstr "" -#: project/views/js.py:74 +#: project/views/js.py:73 msgid "Places of Google Maps" msgstr "" diff --git a/project/__init__.py b/project/__init__.py index eefaf70..e9a97f7 100644 --- a/project/__init__.py +++ b/project/__init__.py @@ -154,10 +154,13 @@ import project.api # Command line import project.cli.cache -import project.cli.database import project.cli.dump import project.cli.event import project.cli.seo + +if os.getenv("TESTING", False): # pragma: no cover + import project.cli.test + import project.cli.user from project import i10n, init_data, jinja_filters diff --git a/project/cli/database.py b/project/cli/database.py deleted file mode 100644 index ec09cdc..0000000 --- a/project/cli/database.py +++ /dev/null @@ -1,49 +0,0 @@ -import click -from flask.cli import AppGroup -from sqlalchemy import MetaData - -from project import app, db -from project.init_data import create_initial_data - -database_cli = AppGroup("database") - - -@database_cli.command("reset") -@click.option("--seed/--no-seed", default=False) -def reset(seed): - meta = MetaData(bind=db.engine, reflect=True) - con = db.engine.connect() - trans = con.begin() - - for table in meta.sorted_tables: - con.execute(f'ALTER TABLE "{table.name}" DISABLE TRIGGER ALL;') - con.execute(table.delete()) - con.execute(f'ALTER TABLE "{table.name}" ENABLE TRIGGER ALL;') - - trans.commit() - - if seed: - create_initial_data() - - click.echo("Reset done.") - - -@database_cli.command("drop-all") -def drop_all(): - db.drop_all() - click.echo("Drop all done.") - - -@database_cli.command("create-all") -def create_all(): - db.create_all() - click.echo("Create all done.") - - -@database_cli.command("seed") -def seed(): - create_initial_data() - click.echo("Seed done.") - - -app.cli.add_command(database_cli) diff --git a/project/cli/test.py b/project/cli/test.py new file mode 100644 index 0000000..b6139a5 --- /dev/null +++ b/project/cli/test.py @@ -0,0 +1,188 @@ +import json + +import click +from flask.cli import AppGroup +from flask_security.confirmable import confirm_user +from sqlalchemy import MetaData + +from project import app, db +from project.init_data import create_initial_data +from project.models import ( + AdminUnit, + Event, + EventAttendanceMode, + EventReferenceRequest, + EventReferenceRequestReviewStatus, + Location, +) +from project.services.admin_unit import get_admin_unit_by_id, insert_admin_unit_for_user +from project.services.event import insert_event, upsert_event_category +from project.services.organizer import get_event_organizer +from project.services.place import get_event_places +from project.services.user import create_user, find_user_by_email, get_user + +test_cli = AppGroup("test") + + +def _get_now_by_minute(): + from datetime import datetime + + from project.dateutils import get_now + + now = get_now() + return datetime( + now.year, now.month, now.day, now.hour, now.minute, tzinfo=now.tzinfo + ) + + +def _create_user( + email="test@test.de", password="MeinPasswortIstDasBeste", confirm=True +): + user = create_user(email, password) + + if confirm: + confirm_user(user) + + db.session.commit() + return user.id + + +@test_cli.command("reset") +@click.option("--seed/--no-seed", default=False) +def reset(seed): + meta = MetaData(bind=db.engine, reflect=True) + con = db.engine.connect() + trans = con.begin() + + for table in meta.sorted_tables: + con.execute(f'ALTER TABLE "{table.name}" DISABLE TRIGGER ALL;') + con.execute(table.delete()) + con.execute(f'ALTER TABLE "{table.name}" ENABLE TRIGGER ALL;') + + trans.commit() + + if seed: + create_initial_data() + + click.echo("Reset done.") + + +@test_cli.command("drop-all") +def drop_all(): + db.drop_all() + click.echo("Drop all done.") + + +@test_cli.command("create-all") +def create_all(): + db.create_all() + click.echo("Create all done.") + + +@test_cli.command("seed") +def seed(): + create_initial_data() + click.echo("Seed done.") + + +def _create_admin_unit(user_id, name): + user = get_user(user_id) + + admin_unit = AdminUnit() + admin_unit.name = name + admin_unit.short_name = name.lower().replace(" ", "") + admin_unit.incoming_reference_requests_allowed = True + admin_unit.location = Location() + admin_unit.location.postalCode = "38640" + admin_unit.location.city = "Goslar" + insert_admin_unit_for_user(admin_unit, user) + db.session.commit() + + return admin_unit.id + + +@test_cli.command("admin-unit-create") +@click.argument("user_email") +@click.argument("name", default="Meine Crew") +def create_admin_unit(user_email, name): + user = find_user_by_email(user_email) + admin_unit_id = _create_admin_unit(user.id, name) + result = {"admin_unit_id": admin_unit_id} + click.echo(json.dumps(result)) + + +def _create_event(admin_unit_id): + admin_unit = get_admin_unit_by_id(admin_unit_id) + + event = Event() + event.admin_unit_id = admin_unit_id + event.categories = [upsert_event_category("Other")] + event.name = "Name" + event.description = "Beschreibung" + event.start = _get_now_by_minute() + event.event_place_id = get_event_places(admin_unit_id, limit=1)[0].id + event.organizer_id = get_event_organizer(admin_unit_id, admin_unit.name).id + event.ticket_link = "" + event.tags = "" + event.price_info = "" + event.attendance_mode = EventAttendanceMode.offline + insert_event(event) + db.session.commit() + + return event.id + + +@test_cli.command("event-create") +@click.argument("admin_unit_id") +def create_event(admin_unit_id): + event_id = _create_event(admin_unit_id) + result = {"event_id": event_id} + click.echo(json.dumps(result)) + + +def _create_reference_request(event_id, admin_unit_id): + reference_request = EventReferenceRequest() + reference_request.event_id = event_id + reference_request.admin_unit_id = admin_unit_id + reference_request.review_status = EventReferenceRequestReviewStatus.inbox + db.session.add(reference_request) + db.session.commit() + return reference_request.id + + +@test_cli.command("reference-request-create") +@click.argument("event_id") +@click.argument("admin_unit_id") +def create_reference_request(event_id, admin_unit_id): + reference_request_id = _create_reference_request(event_id, admin_unit_id) + result = {"reference_request_id": reference_request_id} + click.echo(json.dumps(result)) + + +def _create_incoming_reference_request(admin_unit_id): + other_user_id = _create_user("other@test.de") + other_admin_unit_id = _create_admin_unit(other_user_id, "Other Crew") + event_id = _create_event(other_admin_unit_id) + reference_request_id = _create_reference_request(event_id, admin_unit_id) + return (other_user_id, other_admin_unit_id, event_id, reference_request_id) + + +@test_cli.command("reference-request-create-incoming") +@click.argument("admin_unit_id") +def create_incoming_reference_request(admin_unit_id): + ( + other_user_id, + other_admin_unit_id, + event_id, + reference_request_id, + ) = _create_incoming_reference_request(admin_unit_id) + result = { + "other_user_id": other_user_id, + "other_admin_unit_id": other_admin_unit_id, + "event_id": event_id, + "reference_request_id": reference_request_id, + } + click.echo(json.dumps(result)) + + +app.cli.add_command(test_cli) diff --git a/project/forms/reference_request.py b/project/forms/reference_request.py index 1807e36..fcd5e35 100644 --- a/project/forms/reference_request.py +++ b/project/forms/reference_request.py @@ -40,13 +40,17 @@ class ReferenceRequestReviewForm(FlaskForm): lazy_gettext("EventReferenceRequestReviewStatus.rejected"), ), ], + description=lazy_gettext("Choose the result of your review."), ) rejection_reason = SelectField( lazy_gettext("Rejection reason"), coerce=int, choices=[ - (0, ""), + ( + 0, + lazy_gettext("EventReferenceRequestRejectionReason.noreason"), + ), ( int(EventReferenceRequestRejectionReason.duplicate), lazy_gettext("EventReferenceRequestRejectionReason.duplicate"), @@ -64,6 +68,7 @@ class ReferenceRequestReviewForm(FlaskForm): lazy_gettext("EventReferenceRequestRejectionReason.illegal"), ), ], + description=lazy_gettext("Choose why you rejected the request."), ) rating = SelectField( diff --git a/project/templates/_macros.html b/project/templates/_macros.html index e19d42d..a76d8d0 100644 --- a/project/templates/_macros.html +++ b/project/templates/_macros.html @@ -56,6 +56,15 @@ {{ field(class="custom-control-input") }} + {% elif 'ri' in kwargs and kwargs['ri'] == 'radio-buttons' %} +
+ {% for choice in field %} + {% set color = kwargs['colors'][loop.index0] if 'colors' in kwargs else 'secondary' %} + + {% endfor %} +
{% else %} {% if 'class' in kwargs %} {% set _dummy=kwargs.pop('class') %} diff --git a/project/templates/reference_request/review.html b/project/templates/reference_request/review.html index 0938020..f278c8f 100644 --- a/project/templates/reference_request/review.html +++ b/project/templates/reference_request/review.html @@ -1,25 +1,50 @@ {% extends "layout.html" %} -{% from "_macros.html" import render_radio_buttons, render_phone_prop, render_email_prop, render_string_prop, render_field_with_errors, render_field, render_event_props, render_image_with_link, render_place, render_link_prop %} +{% from "_macros.html" import render_jquery_steps_header, render_phone_prop, render_email_prop, render_string_prop, render_field_with_errors, render_field, render_event_props, render_image_with_link, render_place, render_link_prop %} {%- block title -%} {{ event.name }} {%- endblock -%} +{% block header_before_site_js %} +{{ render_jquery_steps_header() }} + +{% endblock %} {% block content %}

{{ _('Review event reference request') }}

-
- {{ form.hidden_tag() }} - - {{ render_field_with_errors(form.review_status) }} - {{ render_field_with_errors(form.rejection_reason) }} - - {% if form.rating.choices|length > 1 %} - {{ render_field_with_errors(form.rating) }} - {% endif %} - - {{ render_field(form.submit) }} -
-
{{ render_event_props(event, event.start, event.end, dates) }} @@ -29,14 +54,74 @@ - {% endif %} +
+ + +
+ + + + +
{% endblock %} \ No newline at end of file diff --git a/project/translations/de/LC_MESSAGES/messages.mo b/project/translations/de/LC_MESSAGES/messages.mo index c314d124fe9ee2db1a4db25f10bb08bf7d11262c..506d2c49b17fe3e6faafb8848ae8c7c93e0a93a3 100644 GIT binary patch delta 6913 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 SrmyptM+UkfG!;)<-|D|)aZ9fN delta 6632 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\n" "Language: de\n" @@ -176,7 +176,7 @@ msgstr "Nutzungsbedingungen" msgid "Legal notice" msgstr "Impressum" -#: project/forms/admin.py:12 project/templates/_macros.html:1271 +#: project/forms/admin.py:12 project/templates/_macros.html:1280 #: project/templates/layout.html:267 #: project/templates/widget/event_suggestion/create.html:172 #: project/views/admin_unit.py:36 project/views/root.py:58 @@ -250,12 +250,12 @@ msgid "Longitude" msgstr "Längengrad" #: project/forms/admin_unit.py:28 project/forms/event.py:35 -#: project/forms/event.py:64 project/forms/event.py:358 +#: project/forms/event.py:64 project/forms/event.py:362 #: project/forms/event_place.py:25 project/forms/event_place.py:50 #: project/forms/event_suggestion.py:26 project/forms/oauth2_client.py:66 #: project/forms/organizer.py:25 project/forms/organizer.py:52 #: project/forms/reference.py:40 project/forms/reference_request.py:22 -#: project/templates/_macros.html:126 +#: project/templates/_macros.html:135 #: project/templates/admin/admin_units.html:19 #: project/templates/event_place/list.html:19 #: project/templates/oauth2_client/list.html:25 @@ -274,7 +274,7 @@ msgstr "" "eindeutig zu identifizieren. Der Kurzname darf nur Buchstaben, Nummern " "und Unterstriche enthalten." -#: project/forms/admin_unit.py:40 project/templates/_macros.html:1401 +#: project/forms/admin_unit.py:40 project/templates/_macros.html:1410 msgid "Short name must contain only letters numbers or underscore" msgstr "Der Kurzname darf nur Buchstaben, Nummern und Unterstriche enthalten" @@ -287,19 +287,19 @@ msgstr "Link URL" #: project/forms/admin_unit.py:47 project/forms/admin_unit_member.py:11 #: project/forms/admin_unit_member.py:23 project/forms/admin_unit_member.py:28 #: project/forms/event.py:57 project/forms/event_suggestion.py:38 -#: project/forms/organizer.py:27 project/templates/_macros.html:253 -#: project/templates/_macros.html:1361 project/templates/admin/users.html:19 +#: project/forms/organizer.py:27 project/templates/_macros.html:262 +#: project/templates/_macros.html:1370 project/templates/admin/users.html:19 msgid "Email" msgstr "Email" #: project/forms/admin_unit.py:48 project/forms/event.py:58 #: project/forms/event_suggestion.py:31 project/forms/organizer.py:28 -#: project/templates/_macros.html:296 +#: project/templates/_macros.html:305 msgid "Phone" msgstr "Telefon" #: project/forms/admin_unit.py:49 project/forms/event.py:59 -#: project/forms/organizer.py:29 project/templates/_macros.html:304 +#: project/forms/organizer.py:29 project/templates/_macros.html:313 msgid "Fax" msgstr "Fax" @@ -506,7 +506,7 @@ msgstr "Ticket Link" msgid "Enter a link where tickets can be purchased." msgstr "Gib einen Link ein, über den Tickets gekauft werden können." -#: project/forms/event.py:105 project/templates/_macros.html:235 +#: project/forms/event.py:105 project/templates/_macros.html:244 msgid "Tags" msgstr "Stichworte" @@ -559,7 +559,7 @@ msgstr "Anmeldung erforderlich" msgid "If the participants needs to register for the event." msgstr "Wenn sich die Teilnehmer für die Veranstaltung anmelden müssen." -#: project/forms/event.py:139 project/templates/_macros.html:267 +#: project/forms/event.py:139 project/templates/_macros.html:276 #: project/templates/layout.html:157 msgid "Booked up" msgstr "Ausgebucht" @@ -645,16 +645,16 @@ msgstr "" "Wir empfehlen dir, ein Foto für die Veranstaltung hochzuladen. Es macht " "schon deutlich mehr her, aber es geht natürlich auch ohne." -#: project/forms/event.py:206 project/templates/_macros.html:1184 +#: project/forms/event.py:206 project/templates/_macros.html:1193 msgid "The start must be before the end." msgstr "Der Start muss vor dem Ende sein." -#: project/forms/event.py:212 project/templates/_macros.html:1201 +#: project/forms/event.py:212 project/templates/_macros.html:1210 msgid "An event can last a maximum of 14 days." msgstr "Eine Veranstaltung darf maximal 14 Tage dauern." -#: project/forms/event.py:220 project/templates/_macros.html:414 -#: project/templates/_macros.html:573 +#: project/forms/event.py:220 project/templates/_macros.html:423 +#: project/templates/_macros.html:582 msgid "Previous start date" msgstr "Vorheriges Startdatum" @@ -673,14 +673,14 @@ msgid "Choose categories that fit the event." msgstr "Wähle Kategorien, die zur Veranstaltung passen." #: project/forms/event.py:233 project/forms/reference.py:14 -#: project/forms/reference.py:27 project/forms/reference_request.py:70 -#: project/templates/event/create.html:318 +#: project/forms/reference.py:27 project/forms/reference_request.py:75 +#: project/templates/event/create.html:323 #: project/templates/event/update.html:183 msgid "Rating" msgstr "Bewertung" #: project/forms/event.py:237 project/forms/reference.py:18 -#: project/forms/reference.py:31 project/forms/reference_request.py:74 +#: project/forms/reference.py:31 project/forms/reference_request.py:79 msgid "" "Choose how relevant the event is to your organization. The value is not " "visible and is used for sorting." @@ -689,9 +689,9 @@ msgstr "" " Wert ist nicht sichtbar und dient der Sortierung." #: project/forms/event.py:245 project/forms/event.py:254 -#: project/forms/event.py:314 project/forms/event_suggestion.py:50 -#: project/templates/_macros.html:453 project/templates/_macros.html:609 -#: project/templates/event/create.html:243 +#: project/forms/event.py:318 project/forms/event_suggestion.py:50 +#: project/templates/_macros.html:462 project/templates/_macros.html:618 +#: project/templates/event/create.html:248 #: project/templates/event/update.html:133 #: project/templates/event_place/create.html:21 #: project/templates/event_place/delete.html:13 @@ -708,9 +708,9 @@ msgid "Enter new place" msgstr "Neuen Ort eingeben" #: project/forms/event.py:261 project/forms/event.py:270 -#: project/forms/event.py:322 project/forms/event.py:372 -#: project/forms/event_suggestion.py:60 project/templates/_macros.html:491 -#: project/templates/_macros.html:646 project/templates/event/create.html:218 +#: project/forms/event.py:326 project/forms/event.py:376 +#: project/forms/event_suggestion.py:60 project/templates/_macros.html:500 +#: project/templates/_macros.html:655 project/templates/event/create.html:223 #: project/templates/event/update.html:124 #: project/templates/organizer/create.html:17 #: project/templates/organizer/delete.html:13 @@ -727,21 +727,21 @@ msgid "Enter new organizer" msgstr "Neuen Veranstalter eingeben" #: project/forms/event.py:276 project/templates/event/create.html:4 -#: project/templates/event/create.html:190 +#: project/templates/event/create.html:195 #: project/templates/manage/events.html:12 #: project/templates/manage/organizers.html:21 msgid "Create event" msgstr "Veranstaltung erstellen" -#: project/forms/event.py:300 +#: project/forms/event.py:302 msgid "Select existing place or enter new place" msgstr "Existierenden Ort wählen oder neuen Ort eingeben" -#: project/forms/event.py:305 +#: project/forms/event.py:309 msgid "Select existing organizer or enter new organizer" msgstr "Wähle einen vorhandenen Veranstalter oder gib einen neuen Veranstalter ein" -#: project/forms/event.py:317 +#: project/forms/event.py:321 msgid "" "Choose where the event takes place. You can add and modify places at " "Manage > Places." @@ -749,7 +749,7 @@ msgstr "" "Wähle, wo die Veranstaltung stattfindet. Du kannst Orte unter Verwaltung " "> Orte hinzufügen und ändern." -#: project/forms/event.py:325 +#: project/forms/event.py:329 msgid "" "Select the organizer. You can add and modify organizers at Manage > " "Organizers." @@ -757,75 +757,75 @@ msgstr "" "Wähle den Veranstalter. Du kannst Veranstalter unter Verwaltung > " "Veranstalter hinzufügen und ändern." -#: project/forms/event.py:331 project/templates/event/update.html:114 +#: project/forms/event.py:335 project/templates/event/update.html:114 #: project/templates/oauth2_token/list.html:21 msgid "Status" msgstr "Status" -#: project/forms/event.py:334 +#: project/forms/event.py:338 msgid "EventStatus.scheduled" msgstr "Geplant" -#: project/forms/event.py:335 project/templates/layout.html:111 +#: project/forms/event.py:339 project/templates/layout.html:111 #: project/templates/layout.html:126 msgid "EventStatus.cancelled" msgstr "Abgesagt" -#: project/forms/event.py:336 project/templates/layout.html:114 +#: project/forms/event.py:340 project/templates/layout.html:114 #: project/templates/layout.html:129 msgid "EventStatus.movedOnline" msgstr "Online verschoben" -#: project/forms/event.py:337 project/templates/layout.html:117 +#: project/forms/event.py:341 project/templates/layout.html:117 #: project/templates/layout.html:132 msgid "EventStatus.postponed" msgstr "Verschoben" -#: project/forms/event.py:338 project/templates/layout.html:120 +#: project/forms/event.py:342 project/templates/layout.html:120 #: project/templates/layout.html:135 msgid "EventStatus.rescheduled" msgstr "Neu angesetzt" -#: project/forms/event.py:340 +#: project/forms/event.py:344 msgid "Select the status of the event." msgstr "Wähle den Status der Veranstaltung." -#: project/forms/event.py:343 project/templates/event/update.html:4 +#: project/forms/event.py:347 project/templates/event/update.html:4 #: project/templates/event/update.html:86 msgid "Update event" msgstr "Veranstaltung aktualisieren" -#: project/forms/event.py:357 project/templates/_macros.html:1156 +#: project/forms/event.py:361 project/templates/_macros.html:1165 #: project/templates/event/actions.html:47 #: project/templates/event/delete.html:6 msgid "Delete event" msgstr "Veranstaltung löschen" -#: project/forms/event.py:365 project/forms/event_date.py:15 +#: project/forms/event.py:369 project/forms/event_date.py:15 #: project/forms/planing.py:14 msgid "From" msgstr "Von" -#: project/forms/event.py:366 project/forms/event_date.py:16 +#: project/forms/event.py:370 project/forms/event_date.py:16 #: project/forms/planing.py:15 msgid "to" msgstr "bis" -#: project/forms/event.py:367 project/forms/event_date.py:17 +#: project/forms/event.py:371 project/forms/event_date.py:17 msgid "Keyword" msgstr "Stichwort" -#: project/forms/event.py:369 project/forms/event_date.py:19 -#: project/forms/planing.py:17 project/templates/_macros.html:377 +#: project/forms/event.py:373 project/forms/event_date.py:19 +#: project/forms/planing.py:17 project/templates/_macros.html:386 msgid "Category" msgstr "Kategorie" -#: project/forms/event.py:375 +#: project/forms/event.py:379 msgid "Find events" msgstr "Veranstaltungen finden" #: project/forms/event_date.py:22 project/forms/planing.py:20 -#: project/templates/_macros.html:128 project/templates/_macros.html:311 +#: project/templates/_macros.html:137 project/templates/_macros.html:320 #: project/templates/admin_unit/create.html:29 #: project/templates/admin_unit/update.html:30 #: project/templates/event_place/create.html:30 @@ -879,7 +879,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:248 +#: project/forms/event_suggestion.py:52 project/templates/event/create.html:253 msgid "" "Choose where the event takes place. If the venue is not yet in the list, " "just enter it." @@ -887,7 +887,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:222 +#: project/forms/event_suggestion.py:62 project/templates/event/create.html:227 msgid "" "Select the organizer. If the organizer is not yet on the list, just enter" " it." @@ -901,7 +901,7 @@ msgstr "" msgid "Create event suggestion" msgstr "Veranstaltung vorschlagen" -#: project/forms/event_suggestion.py:116 project/forms/reference_request.py:46 +#: project/forms/event_suggestion.py:116 project/forms/reference_request.py:47 msgid "Rejection reason" msgstr "Ablehnungsgrund" @@ -963,7 +963,7 @@ msgid "Weekdays" msgstr "Wochentage" #: project/forms/reference.py:11 project/forms/reference_request.py:15 -#: project/templates/_macros.html:512 project/templates/_macros.html:672 +#: project/templates/_macros.html:521 project/templates/_macros.html:681 #: project/templates/admin_unit/create.html:19 #: project/templates/admin_unit/update.html:20 msgid "Organization" @@ -990,7 +990,7 @@ msgstr "Anfrage speichern" msgid "Delete request" msgstr "Anfrage löschen" -#: project/forms/reference_request.py:27 project/templates/_macros.html:1283 +#: project/forms/reference_request.py:27 project/templates/_macros.html:1292 #: project/templates/event_suggestion/review_status.html:18 #: project/templates/reference_request/review_status.html:12 msgid "Review status" @@ -1008,23 +1008,35 @@ msgstr "Verifiziert" msgid "EventReferenceRequestReviewStatus.rejected" msgstr "Abgelehnt" +#: project/forms/reference_request.py:43 +msgid "Choose the result of your review." +msgstr "Wähle das Ergebnis deiner Prüfung." + #: project/forms/reference_request.py:52 +msgid "EventReferenceRequestRejectionReason.noreason" +msgstr "Ohne Grund" + +#: project/forms/reference_request.py:56 msgid "EventReferenceRequestRejectionReason.duplicate" msgstr "Duplikat" -#: project/forms/reference_request.py:56 +#: project/forms/reference_request.py:60 msgid "EventReferenceRequestRejectionReason.untrustworthy" msgstr "Unseriös" -#: project/forms/reference_request.py:60 +#: project/forms/reference_request.py:64 msgid "EventReferenceRequestRejectionReason.irrelevant" msgstr "Nicht relevant" -#: project/forms/reference_request.py:64 +#: project/forms/reference_request.py:68 msgid "EventReferenceRequestRejectionReason.illegal" msgstr "Unzulässig" -#: project/forms/reference_request.py:78 +#: project/forms/reference_request.py:71 +msgid "Choose why you rejected the request." +msgstr "Wähle aus, warum du die Anfrage abgelehnt hast." + +#: project/forms/reference_request.py:83 msgid "Save review" msgstr "Prüfung speichern" @@ -1040,50 +1052,50 @@ msgstr "Ablehnen" msgid "This field is required." msgstr "Dieses Feld ist erforderlich." -#: project/templates/_macros.html:125 project/templates/_macros.html:400 -#: project/templates/_macros.html:407 project/templates/_macros.html:852 +#: project/templates/_macros.html:134 project/templates/_macros.html:409 +#: project/templates/_macros.html:416 project/templates/_macros.html:861 msgid "Date" msgstr "Datum" -#: project/templates/_macros.html:127 +#: project/templates/_macros.html:136 msgid "Host" msgstr "Veranstalter" -#: project/templates/_macros.html:149 +#: project/templates/_macros.html:158 msgid "Show all events" msgstr "Alle Veranstaltungen anzeigen" -#: project/templates/_macros.html:165 +#: project/templates/_macros.html:174 msgid "Show on Google Maps" msgstr "Auf Google Maps anzeigen" -#: project/templates/_macros.html:244 +#: project/templates/_macros.html:253 msgid "Link" msgstr "Link" -#: project/templates/_macros.html:354 +#: project/templates/_macros.html:363 #, python-format msgid "Created at %(created_at)s by %(created_by)s." msgstr "Erstellt am %(created_at)s von %(created_by)s." -#: project/templates/_macros.html:356 +#: project/templates/_macros.html:365 #, python-format msgid "Created at %(created_at)s." msgstr "Erstellt am %(created_at)s." -#: project/templates/_macros.html:361 +#: project/templates/_macros.html:370 #, python-format msgid "Last updated at %(updated_at)s by %(updated_by)s." msgstr "Zuletzt aktualisiert am %(updated_at)s von %(updated_by)s." -#: project/templates/_macros.html:363 +#: project/templates/_macros.html:372 #, python-format msgid "Last updated at %(updated_at)s." msgstr "Zuletzt aktualisiert am %(updated_at)s." -#: project/templates/_macros.html:393 project/templates/_macros.html:569 +#: project/templates/_macros.html:402 project/templates/_macros.html:578 #: project/templates/event/actions.html:12 -#: project/templates/event/create.html:197 +#: project/templates/event/create.html:202 #: project/templates/event/delete.html:13 #: project/templates/event/update.html:93 #: project/templates/reference/delete.html:13 @@ -1091,47 +1103,47 @@ msgstr "Zuletzt aktualisiert am %(updated_at)s." msgid "Event" msgstr "Veranstaltung" -#: project/templates/_macros.html:403 project/templates/_macros.html:555 +#: project/templates/_macros.html:412 project/templates/_macros.html:564 #, python-format msgid "%(count)d event dates" msgstr "%(count)d Termine" -#: project/templates/_macros.html:436 project/templates/_macros.html:591 -#: project/templates/_macros.html:1346 project/templates/event/actions.html:32 +#: project/templates/_macros.html:445 project/templates/_macros.html:600 +#: project/templates/_macros.html:1355 project/templates/event/actions.html:32 msgid "Share" msgstr "Teilen" -#: project/templates/_macros.html:440 project/templates/_macros.html:595 -#: project/templates/_macros.html:1376 +#: project/templates/_macros.html:449 project/templates/_macros.html:604 +#: project/templates/_macros.html:1385 msgid "Add to calendar" msgstr "Zum Kalender" -#: project/templates/_macros.html:474 project/templates/_macros.html:628 +#: project/templates/_macros.html:483 project/templates/_macros.html:637 msgid "Show directions" msgstr "Anreise planen" -#: project/templates/_macros.html:479 project/templates/_macros.html:633 +#: project/templates/_macros.html:488 project/templates/_macros.html:642 msgid "The event takes place online." msgstr "Die Veranstaltung findet online statt." -#: project/templates/_macros.html:481 project/templates/_macros.html:635 +#: project/templates/_macros.html:490 project/templates/_macros.html:644 msgid "The event takes place both offline and online." msgstr "" "Die Veranstaltung findet sowohl als Präsenzveranstaltung als auch online " "statt." -#: project/templates/_macros.html:696 project/templates/event_date/list.html:4 +#: project/templates/_macros.html:705 project/templates/event_date/list.html:4 #: project/templates/event_date/list.html:258 #: project/templates/event_date/search.html:3 -#: project/templates/reference_request/review.html:30 +#: project/templates/reference_request/review.html:55 msgid "Event Dates" msgstr "Termine" -#: project/templates/_macros.html:769 +#: project/templates/_macros.html:778 msgid "Search location on Google" msgstr "Ort bei Google suchen" -#: project/templates/_macros.html:802 project/templates/_macros.html:804 +#: project/templates/_macros.html:811 project/templates/_macros.html:813 #: project/templates/event_date/list.html:279 #: project/templates/widget/event_suggestion/create.html:161 #: project/templates/widget/event_suggestion/create.html:186 @@ -1142,12 +1154,12 @@ msgstr "Ort bei Google suchen" msgid "Previous" msgstr "Zurück" -#: project/templates/_macros.html:806 +#: project/templates/_macros.html:815 #, python-format msgid "Page %(page)d of %(pages)d (%(total)d total)" msgstr "Seite %(page)d von %(pages)d (%(total)d insgesamt)" -#: project/templates/_macros.html:808 project/templates/_macros.html:810 +#: project/templates/_macros.html:817 project/templates/_macros.html:819 #: project/templates/event_date/list.html:281 #: project/templates/widget/event_suggestion/create.html:162 #: project/templates/widget/event_suggestion/create.html:187 @@ -1157,59 +1169,59 @@ msgstr "Seite %(page)d von %(pages)d (%(total)d insgesamt)" msgid "Next" msgstr "Weiter" -#: project/templates/_macros.html:875 +#: project/templates/_macros.html:884 msgid "Radius" msgstr "Umkreis" -#: project/templates/_macros.html:1085 +#: project/templates/_macros.html:1094 msgid "Edit image" msgstr "Bild bearbeiten" -#: project/templates/_macros.html:1106 +#: project/templates/_macros.html:1115 msgid "Close" msgstr "Schließen" -#: project/templates/_macros.html:1107 +#: project/templates/_macros.html:1116 msgid "Okay" msgstr "OK" -#: project/templates/_macros.html:1119 +#: project/templates/_macros.html:1128 msgid "Choose image file" msgstr "Bild-Datei auswählen" -#: project/templates/_macros.html:1155 project/templates/event/actions.html:46 +#: project/templates/_macros.html:1164 project/templates/event/actions.html:46 msgid "Edit event" msgstr "Veranstaltung bearbeiten" -#: project/templates/_macros.html:1158 project/templates/manage/events.html:30 +#: project/templates/_macros.html:1167 project/templates/manage/events.html:30 msgid "More" msgstr "Mehr" -#: project/templates/_macros.html:1243 +#: project/templates/_macros.html:1252 msgid "Event suggestion" msgstr "Veranstaltungsvorschlag" -#: project/templates/_macros.html:1355 +#: project/templates/_macros.html:1364 msgid "Link copied" msgstr "Link kopiert" -#: project/templates/_macros.html:1355 +#: project/templates/_macros.html:1364 msgid "Copy link" msgstr "Link kopieren" -#: project/templates/_macros.html:1384 +#: project/templates/_macros.html:1393 msgid "Google calendar" msgstr "Google Kalender" -#: project/templates/_macros.html:1385 +#: project/templates/_macros.html:1394 msgid "Apple calendar" msgstr "Apple Kalender" -#: project/templates/_macros.html:1386 +#: project/templates/_macros.html:1395 msgid "Yahoo calendar" msgstr "Yahoo Kalender" -#: project/templates/_macros.html:1387 +#: project/templates/_macros.html:1396 msgid "Other calendar" msgstr "Anderer Kalender" @@ -1217,7 +1229,7 @@ msgstr "Anderer Kalender" msgid "Manage" msgstr "Verwaltung" -#: project/templates/home.html:29 project/templates/security/login_user.html:23 +#: project/templates/home.html:29 project/templates/security/login_user.html:35 #: project/views/widget.py:179 msgid "Register for free" msgstr "Kostenlos registrieren" @@ -1372,7 +1384,7 @@ msgstr "Bearbeiten" #: project/templates/admin_unit/create.html:49 #: project/templates/admin_unit/update.html:50 -#: project/templates/event/create.html:306 +#: project/templates/event/create.html:311 #: project/templates/event/update.html:171 #: project/templates/event_place/create.html:47 #: project/templates/event_place/update.html:47 @@ -1490,21 +1502,21 @@ msgstr "Orte oder Adresse eingeben" msgid "Just use %(term)s" msgstr "Verwende einfach %(term)s" -#: project/templates/event/create.html:207 +#: project/templates/event/create.html:212 #: project/templates/event/update.html:103 msgid "Event date" msgstr "Termin" -#: project/templates/event/create.html:268 +#: project/templates/event/create.html:273 msgid "Switch to place search" msgstr "Zur Ortssuche wechseln" -#: project/templates/event/create.html:279 +#: project/templates/event/create.html:284 #: project/templates/event/update.html:144 msgid "Access" msgstr "Zugang" -#: project/templates/event/create.html:293 +#: project/templates/event/create.html:298 #: project/templates/event/update.html:158 msgid "Target group" msgstr "Zielgruppe" @@ -1671,10 +1683,27 @@ msgstr "Empfehlung bearbeiten" msgid "Update reference to event \"%(name)s\"" msgstr "Empfehlung aktualisieren für Veranstaltung \"%(name)s\"" -#: project/templates/reference_request/review.html:8 +#: project/templates/reference_request/review.html:46 msgid "Review event reference request" msgstr "Empfehlungsanfrage prüfen" +#: project/templates/reference_request/review.html:66 +#: project/templates/reference_request/review.html:74 +#: project/templates/reference_request/review.html:92 +msgid "Accept reference request" +msgstr "Anfrage akzeptieren" + +#: project/templates/reference_request/review.html:67 +#: project/templates/reference_request/review.html:102 +#: project/templates/reference_request/review.html:119 +msgid "Reject reference request" +msgstr "Anfrage ablehnen" + +#: project/templates/reference_request/review.html:91 +#: project/templates/reference_request/review.html:118 +msgid "Cancel" +msgstr "Abbrechen" + #: project/templates/security/authorize.html:10 #, python-format msgid "\"%(client_name)s\" wants to access your account" @@ -1685,7 +1714,7 @@ msgstr "\"%(client_name)s\" möchte auf deinen Account zugreifen" msgid "This will allow \"%(client_name)s\" to:" msgstr "Dies ermöglicht \"%(client_name)s\":" -#: project/templates/security/login_user.html:21 +#: project/templates/security/login_user.html:33 msgid "You do not have an account yet? Not a problem!" msgstr "Du hast noch keinen Account? Kein Problem!" @@ -1774,23 +1803,23 @@ msgstr "Die eingegebene Email passt nicht zur Email der Einladung" msgid "Invitation successfully deleted" msgstr "Einladung erfolgreich gelöscht" -#: project/views/event.py:167 +#: project/views/event.py:168 msgid "Event successfully created" msgstr "Veranstaltung erfolgreich erstellt" -#: project/views/event.py:207 +#: project/views/event.py:208 msgid "Event successfully updated" msgstr "Veranstaltung erfolgreich aktualisiert" -#: project/views/event.py:230 project/views/reference.py:162 +#: project/views/event.py:231 project/views/reference.py:162 msgid "Entered name does not match event name" msgstr "Der eingegebene Name entspricht nicht dem Namen der Veranstaltung" -#: project/views/event.py:236 +#: project/views/event.py:237 msgid "Event successfully deleted" msgstr "Veranstaltung erfolgreich gelöscht" -#: project/views/event.py:379 +#: project/views/event.py:380 msgid "Referenced event changed" msgstr "Empfohlene Veranstaltung wurde geändert" @@ -1819,19 +1848,19 @@ msgstr "Veranstaltungsvorschlag erfolgreich abgelehnt" msgid "Event review status updated" msgstr "Prüfungsstatus aktualisiert" -#: project/views/js.py:27 +#: project/views/js.py:26 msgid "Short name is already taken" msgstr "Der Kurzname ist bereits vergeben" -#: project/views/js.py:41 +#: project/views/js.py:40 msgid "An account already exists with this email." msgstr "Mit dieser E-Mail existiert bereits ein Account." -#: project/views/js.py:66 +#: project/views/js.py:65 msgid "Places of organization" msgstr "Orte der Organisation" -#: project/views/js.py:74 +#: project/views/js.py:73 msgid "Places of Google Maps" msgstr "Orte von Google Maps" diff --git a/project/translations/en/LC_MESSAGES/messages.mo b/project/translations/en/LC_MESSAGES/messages.mo index 94518329d3a0fc7178b5256c9e7ad668ab0b9393..1125b8555f1bf43cfc381653602af6bc1df77cfb 100644 GIT binary patch delta 991 zcmYMyO-NK>6vpv0&21X*I9WE8mew@{LmacA;u00;Dn@Vf0)*>p~2uVc|)H3M*;DLsj`Mu}7=l#6*b;HfZ%5r@$YkXpU zP5eG46#f6)Nt!hh-o>4`fIDyrJMjm0U~^!$4~v+`2`u14Y{L)Oj>+|FcH%Cxik+gN zg~xFZ&f<1_f?DX6`wh1er&4SEO{n;Q$3>3^Q5zk{-FO{Y$mX#ImoUUnSj+mhN@Ej= zKbXbT2D1$2uofd!f8OI`xRJOQRp0Lpd;dk$_$hZ9>xgfo>gPPas66Z2a~hiP9csZ9 zFZhKT@E5h?OxkQSZbQ}WMcu$b&-bG0&)^mu!D~Fu3f2>6nM4PPkh9u;tmsN&8mwVG z$k&SeDSr|*;aTMN?L0DARkSK=)RUD>i1 zd__I`-LlGrsU1gcPhXs=+#^3?MmLn5PZqBLOIbO5e^MeL%NuQOOy@{8suMA5)vaPzrX7P9_~G#^F06O|9Z|^{(DnYY6w=0tDk=} z{~rlOXV*fdS)Ona3-|#q;a9wdCG5gXVAg{n_Te*Z$2Zu4o9+Q#CN7*S&lg$9Lo114 zY{ZwS36|YYc#(L^+e;oFd7Q2~ZEr&@FvJ#ojGAZ$&*KUvaUIk65wjMVedZxUVhdCF z%M13(1!jLdwraCl+B2y7X14=1-~g)sJ@+Bj5s#wkCp|yw`FX5mep}^11HAWw7}enm zYQ@`FkH1lM`=}H7=lM*{X?+Xk$amu+uW=9?h\n" "Language: en\n" @@ -176,7 +176,7 @@ msgstr "" msgid "Legal notice" msgstr "" -#: project/forms/admin.py:12 project/templates/_macros.html:1271 +#: project/forms/admin.py:12 project/templates/_macros.html:1280 #: project/templates/layout.html:267 #: project/templates/widget/event_suggestion/create.html:172 #: project/views/admin_unit.py:36 project/views/root.py:58 @@ -248,12 +248,12 @@ msgid "Longitude" msgstr "" #: project/forms/admin_unit.py:28 project/forms/event.py:35 -#: project/forms/event.py:64 project/forms/event.py:358 +#: project/forms/event.py:64 project/forms/event.py:362 #: project/forms/event_place.py:25 project/forms/event_place.py:50 #: project/forms/event_suggestion.py:26 project/forms/oauth2_client.py:66 #: project/forms/organizer.py:25 project/forms/organizer.py:52 #: project/forms/reference.py:40 project/forms/reference_request.py:22 -#: project/templates/_macros.html:126 +#: project/templates/_macros.html:135 #: project/templates/admin/admin_units.html:19 #: project/templates/event_place/list.html:19 #: project/templates/oauth2_client/list.html:25 @@ -269,7 +269,7 @@ msgstr "" msgid "The short name is used to create a unique identifier for your events" msgstr "" -#: project/forms/admin_unit.py:40 project/templates/_macros.html:1401 +#: project/forms/admin_unit.py:40 project/templates/_macros.html:1410 msgid "Short name must contain only letters numbers or underscore" msgstr "" @@ -282,19 +282,19 @@ msgstr "" #: project/forms/admin_unit.py:47 project/forms/admin_unit_member.py:11 #: project/forms/admin_unit_member.py:23 project/forms/admin_unit_member.py:28 #: project/forms/event.py:57 project/forms/event_suggestion.py:38 -#: project/forms/organizer.py:27 project/templates/_macros.html:253 -#: project/templates/_macros.html:1361 project/templates/admin/users.html:19 +#: project/forms/organizer.py:27 project/templates/_macros.html:262 +#: project/templates/_macros.html:1370 project/templates/admin/users.html:19 msgid "Email" msgstr "" #: project/forms/admin_unit.py:48 project/forms/event.py:58 #: project/forms/event_suggestion.py:31 project/forms/organizer.py:28 -#: project/templates/_macros.html:296 +#: project/templates/_macros.html:305 msgid "Phone" msgstr "" #: project/forms/admin_unit.py:49 project/forms/event.py:59 -#: project/forms/organizer.py:29 project/templates/_macros.html:304 +#: project/forms/organizer.py:29 project/templates/_macros.html:313 msgid "Fax" msgstr "" @@ -491,7 +491,7 @@ msgstr "" msgid "Enter a link where tickets can be purchased." msgstr "" -#: project/forms/event.py:105 project/templates/_macros.html:235 +#: project/forms/event.py:105 project/templates/_macros.html:244 msgid "Tags" msgstr "" @@ -541,7 +541,7 @@ msgstr "" msgid "If the participants needs to register for the event." msgstr "" -#: project/forms/event.py:139 project/templates/_macros.html:267 +#: project/forms/event.py:139 project/templates/_macros.html:276 #: project/templates/layout.html:157 msgid "Booked up" msgstr "" @@ -621,16 +621,16 @@ msgid "" " course it works without it." msgstr "" -#: project/forms/event.py:206 project/templates/_macros.html:1184 +#: project/forms/event.py:206 project/templates/_macros.html:1193 msgid "The start must be before the end." msgstr "" -#: project/forms/event.py:212 project/templates/_macros.html:1201 +#: project/forms/event.py:212 project/templates/_macros.html:1210 msgid "An event can last a maximum of 14 days." msgstr "" -#: project/forms/event.py:220 project/templates/_macros.html:414 -#: project/templates/_macros.html:573 +#: project/forms/event.py:220 project/templates/_macros.html:423 +#: project/templates/_macros.html:582 msgid "Previous start date" msgstr "" @@ -647,23 +647,23 @@ msgid "Choose categories that fit the event." msgstr "" #: project/forms/event.py:233 project/forms/reference.py:14 -#: project/forms/reference.py:27 project/forms/reference_request.py:70 -#: project/templates/event/create.html:318 +#: project/forms/reference.py:27 project/forms/reference_request.py:75 +#: project/templates/event/create.html:323 #: project/templates/event/update.html:183 msgid "Rating" msgstr "" #: project/forms/event.py:237 project/forms/reference.py:18 -#: project/forms/reference.py:31 project/forms/reference_request.py:74 +#: project/forms/reference.py:31 project/forms/reference_request.py:79 msgid "" "Choose how relevant the event is to your organization. The value is not " "visible and is used for sorting." msgstr "" #: project/forms/event.py:245 project/forms/event.py:254 -#: project/forms/event.py:314 project/forms/event_suggestion.py:50 -#: project/templates/_macros.html:453 project/templates/_macros.html:609 -#: project/templates/event/create.html:243 +#: project/forms/event.py:318 project/forms/event_suggestion.py:50 +#: project/templates/_macros.html:462 project/templates/_macros.html:618 +#: project/templates/event/create.html:248 #: project/templates/event/update.html:133 #: project/templates/event_place/create.html:21 #: project/templates/event_place/delete.html:13 @@ -680,9 +680,9 @@ msgid "Enter new place" msgstr "" #: project/forms/event.py:261 project/forms/event.py:270 -#: project/forms/event.py:322 project/forms/event.py:372 -#: project/forms/event_suggestion.py:60 project/templates/_macros.html:491 -#: project/templates/_macros.html:646 project/templates/event/create.html:218 +#: project/forms/event.py:326 project/forms/event.py:376 +#: project/forms/event_suggestion.py:60 project/templates/_macros.html:500 +#: project/templates/_macros.html:655 project/templates/event/create.html:223 #: project/templates/event/update.html:124 #: project/templates/organizer/create.html:17 #: project/templates/organizer/delete.html:13 @@ -699,101 +699,101 @@ msgid "Enter new organizer" msgstr "" #: project/forms/event.py:276 project/templates/event/create.html:4 -#: project/templates/event/create.html:190 +#: project/templates/event/create.html:195 #: project/templates/manage/events.html:12 #: project/templates/manage/organizers.html:21 msgid "Create event" msgstr "" -#: project/forms/event.py:300 +#: project/forms/event.py:302 msgid "Select existing place or enter new place" msgstr "" -#: project/forms/event.py:305 +#: project/forms/event.py:309 msgid "Select existing organizer or enter new organizer" msgstr "" -#: project/forms/event.py:317 +#: project/forms/event.py:321 msgid "" "Choose where the event takes place. You can add and modify places at " "Manage > Places." msgstr "" -#: project/forms/event.py:325 +#: project/forms/event.py:329 msgid "" "Select the organizer. You can add and modify organizers at Manage > " "Organizers." msgstr "" -#: project/forms/event.py:331 project/templates/event/update.html:114 +#: project/forms/event.py:335 project/templates/event/update.html:114 #: project/templates/oauth2_token/list.html:21 msgid "Status" msgstr "" -#: project/forms/event.py:334 +#: project/forms/event.py:338 msgid "EventStatus.scheduled" msgstr "Scheduled" -#: project/forms/event.py:335 project/templates/layout.html:111 +#: project/forms/event.py:339 project/templates/layout.html:111 #: project/templates/layout.html:126 msgid "EventStatus.cancelled" msgstr "Cancelled" -#: project/forms/event.py:336 project/templates/layout.html:114 +#: project/forms/event.py:340 project/templates/layout.html:114 #: project/templates/layout.html:129 msgid "EventStatus.movedOnline" msgstr "Moved online" -#: project/forms/event.py:337 project/templates/layout.html:117 +#: project/forms/event.py:341 project/templates/layout.html:117 #: project/templates/layout.html:132 msgid "EventStatus.postponed" msgstr "Postponed" -#: project/forms/event.py:338 project/templates/layout.html:120 +#: project/forms/event.py:342 project/templates/layout.html:120 #: project/templates/layout.html:135 msgid "EventStatus.rescheduled" msgstr "Rescheduled" -#: project/forms/event.py:340 +#: project/forms/event.py:344 msgid "Select the status of the event." msgstr "" -#: project/forms/event.py:343 project/templates/event/update.html:4 +#: project/forms/event.py:347 project/templates/event/update.html:4 #: project/templates/event/update.html:86 msgid "Update event" msgstr "" -#: project/forms/event.py:357 project/templates/_macros.html:1156 +#: project/forms/event.py:361 project/templates/_macros.html:1165 #: project/templates/event/actions.html:47 #: project/templates/event/delete.html:6 msgid "Delete event" msgstr "" -#: project/forms/event.py:365 project/forms/event_date.py:15 +#: project/forms/event.py:369 project/forms/event_date.py:15 #: project/forms/planing.py:14 msgid "From" msgstr "" -#: project/forms/event.py:366 project/forms/event_date.py:16 +#: project/forms/event.py:370 project/forms/event_date.py:16 #: project/forms/planing.py:15 msgid "to" msgstr "" -#: project/forms/event.py:367 project/forms/event_date.py:17 +#: project/forms/event.py:371 project/forms/event_date.py:17 msgid "Keyword" msgstr "" -#: project/forms/event.py:369 project/forms/event_date.py:19 -#: project/forms/planing.py:17 project/templates/_macros.html:377 +#: project/forms/event.py:373 project/forms/event_date.py:19 +#: project/forms/planing.py:17 project/templates/_macros.html:386 msgid "Category" msgstr "" -#: project/forms/event.py:375 +#: project/forms/event.py:379 msgid "Find events" msgstr "" #: project/forms/event_date.py:22 project/forms/planing.py:20 -#: project/templates/_macros.html:128 project/templates/_macros.html:311 +#: project/templates/_macros.html:137 project/templates/_macros.html:320 #: project/templates/admin_unit/create.html:29 #: project/templates/admin_unit/update.html:30 #: project/templates/event_place/create.html:30 @@ -847,13 +847,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:248 +#: project/forms/event_suggestion.py:52 project/templates/event/create.html:253 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:222 +#: project/forms/event_suggestion.py:62 project/templates/event/create.html:227 msgid "" "Select the organizer. If the organizer is not yet on the list, just enter" " it." @@ -865,7 +865,7 @@ msgstr "" msgid "Create event suggestion" msgstr "" -#: project/forms/event_suggestion.py:116 project/forms/reference_request.py:46 +#: project/forms/event_suggestion.py:116 project/forms/reference_request.py:47 msgid "Rejection reason" msgstr "" @@ -927,7 +927,7 @@ msgid "Weekdays" msgstr "" #: project/forms/reference.py:11 project/forms/reference_request.py:15 -#: project/templates/_macros.html:512 project/templates/_macros.html:672 +#: project/templates/_macros.html:521 project/templates/_macros.html:681 #: project/templates/admin_unit/create.html:19 #: project/templates/admin_unit/update.html:20 msgid "Organization" @@ -954,7 +954,7 @@ msgstr "" msgid "Delete request" msgstr "" -#: project/forms/reference_request.py:27 project/templates/_macros.html:1283 +#: project/forms/reference_request.py:27 project/templates/_macros.html:1292 #: project/templates/event_suggestion/review_status.html:18 #: project/templates/reference_request/review_status.html:12 msgid "Review status" @@ -972,23 +972,35 @@ msgstr "Verified" msgid "EventReferenceRequestReviewStatus.rejected" msgstr "Rejected" +#: project/forms/reference_request.py:43 +msgid "Choose the result of your review." +msgstr "" + #: project/forms/reference_request.py:52 +msgid "EventReferenceRequestRejectionReason.noreason" +msgstr "No reason" + +#: project/forms/reference_request.py:56 msgid "EventReferenceRequestRejectionReason.duplicate" msgstr "Duplicate" -#: project/forms/reference_request.py:56 +#: project/forms/reference_request.py:60 msgid "EventReferenceRequestRejectionReason.untrustworthy" msgstr "Untrustworthy" -#: project/forms/reference_request.py:60 +#: project/forms/reference_request.py:64 msgid "EventReferenceRequestRejectionReason.irrelevant" msgstr "Irrelevant" -#: project/forms/reference_request.py:64 +#: project/forms/reference_request.py:68 msgid "EventReferenceRequestRejectionReason.illegal" msgstr "Illegal" -#: project/forms/reference_request.py:78 +#: project/forms/reference_request.py:71 +msgid "Choose why you rejected the request." +msgstr "" + +#: project/forms/reference_request.py:83 msgid "Save review" msgstr "" @@ -1004,50 +1016,50 @@ msgstr "" msgid "This field is required." msgstr "" -#: project/templates/_macros.html:125 project/templates/_macros.html:400 -#: project/templates/_macros.html:407 project/templates/_macros.html:852 +#: project/templates/_macros.html:134 project/templates/_macros.html:409 +#: project/templates/_macros.html:416 project/templates/_macros.html:861 msgid "Date" msgstr "" -#: project/templates/_macros.html:127 +#: project/templates/_macros.html:136 msgid "Host" msgstr "" -#: project/templates/_macros.html:149 +#: project/templates/_macros.html:158 msgid "Show all events" msgstr "" -#: project/templates/_macros.html:165 +#: project/templates/_macros.html:174 msgid "Show on Google Maps" msgstr "" -#: project/templates/_macros.html:244 +#: project/templates/_macros.html:253 msgid "Link" msgstr "" -#: project/templates/_macros.html:354 -#, python-format -msgid "Created at %(created_at)s by %(created_by)s." -msgstr "" - -#: project/templates/_macros.html:356 -#, python-format -msgid "Created at %(created_at)s." -msgstr "" - -#: project/templates/_macros.html:361 -#, python-format -msgid "Last updated at %(updated_at)s by %(updated_by)s." -msgstr "" - #: project/templates/_macros.html:363 #, python-format +msgid "Created at %(created_at)s by %(created_by)s." +msgstr "" + +#: project/templates/_macros.html:365 +#, python-format +msgid "Created at %(created_at)s." +msgstr "" + +#: project/templates/_macros.html:370 +#, python-format +msgid "Last updated at %(updated_at)s by %(updated_by)s." +msgstr "" + +#: project/templates/_macros.html:372 +#, python-format msgid "Last updated at %(updated_at)s." msgstr "" -#: project/templates/_macros.html:393 project/templates/_macros.html:569 +#: project/templates/_macros.html:402 project/templates/_macros.html:578 #: project/templates/event/actions.html:12 -#: project/templates/event/create.html:197 +#: project/templates/event/create.html:202 #: project/templates/event/delete.html:13 #: project/templates/event/update.html:93 #: project/templates/reference/delete.html:13 @@ -1055,45 +1067,45 @@ msgstr "" msgid "Event" msgstr "" -#: project/templates/_macros.html:403 project/templates/_macros.html:555 +#: project/templates/_macros.html:412 project/templates/_macros.html:564 #, python-format msgid "%(count)d event dates" msgstr "" -#: project/templates/_macros.html:436 project/templates/_macros.html:591 -#: project/templates/_macros.html:1346 project/templates/event/actions.html:32 +#: project/templates/_macros.html:445 project/templates/_macros.html:600 +#: project/templates/_macros.html:1355 project/templates/event/actions.html:32 msgid "Share" msgstr "" -#: project/templates/_macros.html:440 project/templates/_macros.html:595 -#: project/templates/_macros.html:1376 +#: project/templates/_macros.html:449 project/templates/_macros.html:604 +#: project/templates/_macros.html:1385 msgid "Add to calendar" msgstr "" -#: project/templates/_macros.html:474 project/templates/_macros.html:628 +#: project/templates/_macros.html:483 project/templates/_macros.html:637 msgid "Show directions" msgstr "" -#: project/templates/_macros.html:479 project/templates/_macros.html:633 +#: project/templates/_macros.html:488 project/templates/_macros.html:642 msgid "The event takes place online." msgstr "" -#: project/templates/_macros.html:481 project/templates/_macros.html:635 +#: project/templates/_macros.html:490 project/templates/_macros.html:644 msgid "The event takes place both offline and online." msgstr "" -#: project/templates/_macros.html:696 project/templates/event_date/list.html:4 +#: project/templates/_macros.html:705 project/templates/event_date/list.html:4 #: project/templates/event_date/list.html:258 #: project/templates/event_date/search.html:3 -#: project/templates/reference_request/review.html:30 +#: project/templates/reference_request/review.html:55 msgid "Event Dates" msgstr "" -#: project/templates/_macros.html:769 +#: project/templates/_macros.html:778 msgid "Search location on Google" msgstr "" -#: project/templates/_macros.html:802 project/templates/_macros.html:804 +#: project/templates/_macros.html:811 project/templates/_macros.html:813 #: project/templates/event_date/list.html:279 #: project/templates/widget/event_suggestion/create.html:161 #: project/templates/widget/event_suggestion/create.html:186 @@ -1104,12 +1116,12 @@ msgstr "" msgid "Previous" msgstr "" -#: project/templates/_macros.html:806 +#: project/templates/_macros.html:815 #, python-format msgid "Page %(page)d of %(pages)d (%(total)d total)" msgstr "" -#: project/templates/_macros.html:808 project/templates/_macros.html:810 +#: project/templates/_macros.html:817 project/templates/_macros.html:819 #: project/templates/event_date/list.html:281 #: project/templates/widget/event_suggestion/create.html:162 #: project/templates/widget/event_suggestion/create.html:187 @@ -1119,59 +1131,59 @@ msgstr "" msgid "Next" msgstr "" -#: project/templates/_macros.html:875 +#: project/templates/_macros.html:884 msgid "Radius" msgstr "" -#: project/templates/_macros.html:1085 +#: project/templates/_macros.html:1094 msgid "Edit image" msgstr "" -#: project/templates/_macros.html:1106 +#: project/templates/_macros.html:1115 msgid "Close" msgstr "" -#: project/templates/_macros.html:1107 +#: project/templates/_macros.html:1116 msgid "Okay" msgstr "" -#: project/templates/_macros.html:1119 +#: project/templates/_macros.html:1128 msgid "Choose image file" msgstr "" -#: project/templates/_macros.html:1155 project/templates/event/actions.html:46 +#: project/templates/_macros.html:1164 project/templates/event/actions.html:46 msgid "Edit event" msgstr "" -#: project/templates/_macros.html:1158 project/templates/manage/events.html:30 +#: project/templates/_macros.html:1167 project/templates/manage/events.html:30 msgid "More" msgstr "" -#: project/templates/_macros.html:1243 +#: project/templates/_macros.html:1252 msgid "Event suggestion" msgstr "" -#: project/templates/_macros.html:1355 +#: project/templates/_macros.html:1364 msgid "Link copied" msgstr "" -#: project/templates/_macros.html:1355 +#: project/templates/_macros.html:1364 msgid "Copy link" msgstr "" -#: project/templates/_macros.html:1384 +#: project/templates/_macros.html:1393 msgid "Google calendar" msgstr "" -#: project/templates/_macros.html:1385 +#: project/templates/_macros.html:1394 msgid "Apple calendar" msgstr "" -#: project/templates/_macros.html:1386 +#: project/templates/_macros.html:1395 msgid "Yahoo calendar" msgstr "" -#: project/templates/_macros.html:1387 +#: project/templates/_macros.html:1396 msgid "Other calendar" msgstr "" @@ -1179,7 +1191,7 @@ msgstr "" msgid "Manage" msgstr "" -#: project/templates/home.html:29 project/templates/security/login_user.html:23 +#: project/templates/home.html:29 project/templates/security/login_user.html:35 #: project/views/widget.py:179 msgid "Register for free" msgstr "" @@ -1334,7 +1346,7 @@ msgstr "" #: project/templates/admin_unit/create.html:49 #: project/templates/admin_unit/update.html:50 -#: project/templates/event/create.html:306 +#: project/templates/event/create.html:311 #: project/templates/event/update.html:171 #: project/templates/event_place/create.html:47 #: project/templates/event_place/update.html:47 @@ -1450,21 +1462,21 @@ msgstr "" msgid "Just use %(term)s" msgstr "" -#: project/templates/event/create.html:207 +#: project/templates/event/create.html:212 #: project/templates/event/update.html:103 msgid "Event date" msgstr "" -#: project/templates/event/create.html:268 +#: project/templates/event/create.html:273 msgid "Switch to place search" msgstr "" -#: project/templates/event/create.html:279 +#: project/templates/event/create.html:284 #: project/templates/event/update.html:144 msgid "Access" msgstr "" -#: project/templates/event/create.html:293 +#: project/templates/event/create.html:298 #: project/templates/event/update.html:158 msgid "Target group" msgstr "" @@ -1631,10 +1643,27 @@ msgstr "" msgid "Update reference to event \"%(name)s\"" msgstr "" -#: project/templates/reference_request/review.html:8 +#: project/templates/reference_request/review.html:46 msgid "Review event reference request" msgstr "" +#: project/templates/reference_request/review.html:66 +#: project/templates/reference_request/review.html:74 +#: project/templates/reference_request/review.html:92 +msgid "Accept reference request" +msgstr "" + +#: project/templates/reference_request/review.html:67 +#: project/templates/reference_request/review.html:102 +#: project/templates/reference_request/review.html:119 +msgid "Reject reference request" +msgstr "" + +#: project/templates/reference_request/review.html:91 +#: project/templates/reference_request/review.html:118 +msgid "Cancel" +msgstr "" + #: project/templates/security/authorize.html:10 #, python-format msgid "\"%(client_name)s\" wants to access your account" @@ -1645,7 +1674,7 @@ msgstr "" msgid "This will allow \"%(client_name)s\" to:" msgstr "" -#: project/templates/security/login_user.html:21 +#: project/templates/security/login_user.html:33 msgid "You do not have an account yet? Not a problem!" msgstr "" @@ -1731,23 +1760,23 @@ msgstr "" msgid "Invitation successfully deleted" msgstr "" -#: project/views/event.py:167 +#: project/views/event.py:168 msgid "Event successfully created" msgstr "" -#: project/views/event.py:207 +#: project/views/event.py:208 msgid "Event successfully updated" msgstr "" -#: project/views/event.py:230 project/views/reference.py:162 +#: project/views/event.py:231 project/views/reference.py:162 msgid "Entered name does not match event name" msgstr "" -#: project/views/event.py:236 +#: project/views/event.py:237 msgid "Event successfully deleted" msgstr "" -#: project/views/event.py:379 +#: project/views/event.py:380 msgid "Referenced event changed" msgstr "" @@ -1776,19 +1805,19 @@ msgstr "" msgid "Event review status updated" msgstr "" -#: project/views/js.py:27 +#: project/views/js.py:26 msgid "Short name is already taken" msgstr "" -#: project/views/js.py:41 +#: project/views/js.py:40 msgid "An account already exists with this email." msgstr "" -#: project/views/js.py:66 +#: project/views/js.py:65 msgid "Places of organization" msgstr "" -#: project/views/js.py:74 +#: project/views/js.py:73 msgid "Places of Google Maps" msgstr "" From 91eda78b637c55456bec6eb141683597de1c2a61 Mon Sep 17 00:00:00 2001 From: Daniel Grams Date: Fri, 6 Aug 2021 09:31:45 +0200 Subject: [PATCH 2/3] Optimize reference request review #246 --- .github/workflows/cypress.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index 974c7c2..c3129ab 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -59,6 +59,7 @@ jobs: gunicorn -b 127.0.0.1:5001 -w 1 project:app --daemon env: DATABASE_URL: postgresql://postgres:postgres@localhost/gsevpt_tests + TEST: 1 - name: Cypress run uses: cypress-io/github-action@v2 From 0f20dbc0e3a314ad29e5b7490a59842bb70301c6 Mon Sep 17 00:00:00 2001 From: Daniel Grams Date: Fri, 6 Aug 2021 09:57:30 +0200 Subject: [PATCH 3/3] Optimize reference request review #246 --- .github/workflows/cypress.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index c3129ab..d8a2bd9 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -59,7 +59,7 @@ jobs: gunicorn -b 127.0.0.1:5001 -w 1 project:app --daemon env: DATABASE_URL: postgresql://postgres:postgres@localhost/gsevpt_tests - TEST: 1 + TESTING: 1 - name: Cypress run uses: cypress-io/github-action@v2 @@ -70,7 +70,7 @@ jobs: config: baseUrl=http://127.0.0.1:5001 env: DATABASE_URL: postgresql://postgres:postgres@localhost/gsevpt_tests - TEST: 1 + TESTING: 1 CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}