Merge pull request #274 from DanielGrams/issue/273

Introduce switch suggestions_enabled for Organizations #273
This commit is contained in:
Daniel Grams 2021-08-20 10:08:10 +02:00 committed by GitHub
commit 2471268553
23 changed files with 270 additions and 357 deletions

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-08-15 14:50+0200\n"
"POT-Creation-Date: 2021-08-20 08:42+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"
@ -165,24 +165,24 @@ msgstr ""
msgid "."
msgstr ""
#: project/forms/admin.py:10 project/templates/layout.html:331
#: project/forms/admin.py:10 project/templates/layout.html:335
#: project/views/root.py:42
msgid "Terms of service"
msgstr ""
#: project/forms/admin.py:11 project/templates/layout.html:335
#: project/forms/admin.py:11 project/templates/layout.html:339
#: project/views/root.py:50
msgid "Legal notice"
msgstr ""
#: project/forms/admin.py:12 project/templates/_macros.html:1328
#: project/templates/layout.html:339
#: project/templates/layout.html:343
#: project/templates/widget/event_suggestion/create.html:199
#: project/views/admin_unit.py:36 project/views/root.py:58
msgid "Contact"
msgstr ""
#: project/forms/admin.py:13 project/templates/layout.html:343
#: project/forms/admin.py:13 project/templates/layout.html:347
#: project/views/root.py:66
msgid "Privacy"
msgstr ""
@ -211,7 +211,15 @@ msgid ""
"event."
msgstr ""
#: project/forms/admin.py:31 project/templates/admin/update_admin_unit.html:4
#: project/forms/admin.py:32
msgid "Suggestions enabled"
msgstr ""
#: project/forms/admin.py:33
msgid "If set, the organization can work with suggestions."
msgstr ""
#: project/forms/admin.py:36 project/templates/admin/update_admin_unit.html:4
#: project/templates/admin/update_admin_unit.html:8
msgid "Update organization"
msgstr ""
@ -268,7 +276,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:1458
#: project/forms/admin_unit.py:40 project/templates/_macros.html:1464
msgid "Short name must contain only letters numbers or underscore"
msgstr ""
@ -282,7 +290,7 @@ msgstr ""
#: project/forms/admin_unit_member.py:23 project/forms/admin_unit_member.py:28
#: project/forms/event.py:58 project/forms/event_suggestion.py:38
#: project/forms/organizer.py:27 project/templates/_macros.html:262
#: project/templates/_macros.html:1418 project/templates/admin/users.html:19
#: project/templates/_macros.html:1424 project/templates/admin/users.html:19
msgid "Email"
msgstr ""
@ -642,7 +650,7 @@ msgstr ""
#: project/forms/event.py:231 project/forms/reference.py:14
#: project/forms/reference.py:27 project/forms/reference_request.py:75
#: project/templates/event/create.html:358
#: project/templates/event/update.html:214
#: project/templates/event/update.html:215
msgid "Rating"
msgstr ""
@ -657,7 +665,7 @@ msgstr ""
#: project/forms/event.py:321 project/forms/event_suggestion.py:50
#: project/templates/_macros.html:468 project/templates/_macros.html:624
#: project/templates/event/create.html:283
#: project/templates/event/update.html:164
#: project/templates/event/update.html:165
#: project/templates/event_place/create.html:21
#: project/templates/event_place/delete.html:13
#: project/templates/event_place/update.html:21
@ -676,7 +684,7 @@ msgstr ""
#: project/forms/event.py:329 project/forms/event.py:389
#: project/forms/event_suggestion.py:60 project/templates/_macros.html:506
#: project/templates/_macros.html:661 project/templates/event/create.html:254
#: project/templates/event/update.html:155
#: project/templates/event/update.html:156
#: project/templates/organizer/create.html:17
#: project/templates/organizer/delete.html:13
#: project/templates/organizer/update.html:17
@ -818,7 +826,7 @@ msgid "Distance"
msgstr ""
#: project/forms/event_date.py:30 project/forms/planing.py:34
#: project/templates/widget/event_date/list.html:42
#: project/templates/widget/event_date/list.html:53
msgid "Find"
msgstr ""
@ -946,7 +954,7 @@ msgstr ""
#: project/templates/_macros.html:527 project/templates/_macros.html:687
#: project/templates/admin_unit/create.html:19
#: project/templates/admin_unit/update.html:20
#: project/templates/layout.html:286
#: project/templates/layout.html:289
msgid "Organization"
msgstr ""
@ -1090,12 +1098,12 @@ msgid "%(count)d event dates"
msgstr ""
#: project/templates/_macros.html:451 project/templates/_macros.html:606
#: project/templates/_macros.html:1403 project/templates/event/actions.html:32
#: project/templates/_macros.html:1409 project/templates/event/actions.html:32
msgid "Share"
msgstr ""
#: project/templates/_macros.html:455 project/templates/_macros.html:610
#: project/templates/_macros.html:1433
#: project/templates/_macros.html:1439
msgid "Add to calendar"
msgstr ""
@ -1189,27 +1197,27 @@ msgstr ""
msgid "Event suggestion"
msgstr ""
#: project/templates/_macros.html:1412
#: project/templates/_macros.html:1418
msgid "Link copied"
msgstr ""
#: project/templates/_macros.html:1412
#: project/templates/_macros.html:1418
msgid "Copy link"
msgstr ""
#: project/templates/_macros.html:1441
#: project/templates/_macros.html:1447
msgid "Google calendar"
msgstr ""
#: project/templates/_macros.html:1442
#: project/templates/_macros.html:1448
msgid "Apple calendar"
msgstr ""
#: project/templates/_macros.html:1443
#: project/templates/_macros.html:1449
msgid "Yahoo calendar"
msgstr ""
#: project/templates/_macros.html:1444
#: project/templates/_macros.html:1450
msgid "Other calendar"
msgstr ""
@ -1218,12 +1226,12 @@ msgid "Manage"
msgstr ""
#: project/templates/home.html:29 project/templates/security/login_user.html:35
#: project/views/widget.py:180
#: project/views/widget.py:165
msgid "Register for free"
msgstr ""
#: project/templates/event_place/read.html:22 project/templates/layout.html:206
#: project/templates/layout.html:249 project/templates/manage/events.html:5
#: project/templates/layout.html:250 project/templates/manage/events.html:5
#: project/templates/manage/events.html:9
msgid "Events"
msgstr ""
@ -1264,60 +1272,60 @@ msgstr ""
msgid "Logout"
msgstr ""
#: project/templates/layout.html:255
#: project/templates/layout.html:256
msgid "Show events"
msgstr ""
#: project/templates/event/create.html:4
#: project/templates/event/create.html:221 project/templates/layout.html:256
#: project/templates/event/create.html:221 project/templates/layout.html:257
#: project/templates/manage/events.html:12
#: project/templates/manage/organizers.html:21
msgid "Create event"
msgstr ""
#: project/templates/layout.html:258
#: project/templates/layout.html:260
msgid "Review suggestions"
msgstr ""
#: project/templates/layout.html:267
#: project/templates/layout.html:270
#: project/templates/manage/references_incoming.html:5
#: project/templates/manage/references_outgoing.html:5
msgid "References"
msgstr ""
#: project/templates/layout.html:273
#: project/templates/layout.html:276
#: project/templates/manage/references_incoming.html:9
msgid "Incoming references"
msgstr ""
#: project/templates/layout.html:274
#: project/templates/layout.html:277
#: project/templates/manage/references_outgoing.html:9
msgid "Outgoing references"
msgstr ""
#: project/templates/layout.html:276
#: project/templates/layout.html:279
#: project/templates/manage/reference_requests_incoming.html:9
msgid "Incoming reference requests"
msgstr ""
#: project/templates/layout.html:281
#: project/templates/layout.html:284
#: project/templates/manage/reference_requests_outgoing.html:9
msgid "Outgoing reference requests"
msgstr ""
#: project/templates/layout.html:289 project/templates/manage/organizers.html:5
#: project/templates/layout.html:292 project/templates/manage/organizers.html:5
#: project/templates/manage/organizers.html:9
msgid "Organizers"
msgstr ""
#: project/templates/event_place/list.html:3
#: project/templates/event_place/list.html:7 project/templates/layout.html:290
#: project/templates/event_place/list.html:7 project/templates/layout.html:293
#: project/templates/manage/places.html:5
#: project/templates/manage/places.html:9
msgid "Places"
msgstr ""
#: project/templates/layout.html:292 project/templates/manage/members.html:5
#: project/templates/layout.html:295 project/templates/manage/members.html:5
#: project/templates/manage/members.html:28
msgid "Members"
msgstr ""
@ -1326,22 +1334,22 @@ msgstr ""
#: project/templates/admin/settings.html:4
#: project/templates/admin/settings.html:8
#: project/templates/admin_unit/update.html:14
#: project/templates/layout.html:293 project/templates/manage/widgets.html:12
#: project/templates/layout.html:296 project/templates/manage/widgets.html:12
#: project/templates/profile.html:19
msgid "Settings"
msgstr ""
#: project/templates/layout.html:294 project/templates/manage/reviews.html:10
#: project/templates/layout.html:297 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:304
#: project/templates/layout.html:307
msgid "Switch organization"
msgstr ""
#: project/templates/developer/read.html:4 project/templates/layout.html:353
#: project/templates/developer/read.html:4 project/templates/layout.html:357
#: project/templates/profile.html:29
msgid "Developer"
msgstr ""
@ -1382,7 +1390,7 @@ msgstr ""
#: project/templates/admin_unit/create.html:49
#: project/templates/admin_unit/update.html:50
#: project/templates/event/create.html:346
#: project/templates/event/update.html:202
#: project/templates/event/update.html:203
#: project/templates/event_place/create.html:47
#: project/templates/event_place/update.html:47
#: project/templates/organizer/create.html:46
@ -1513,12 +1521,12 @@ msgid "Switch to place search"
msgstr ""
#: project/templates/event/create.html:319
#: project/templates/event/update.html:175
#: project/templates/event/update.html:176
msgid "Access"
msgstr ""
#: project/templates/event/create.html:333
#: project/templates/event/update.html:189
#: project/templates/event/update.html:190
msgid "Target group"
msgstr ""
@ -1627,14 +1635,10 @@ msgstr ""
msgid "Veranstaltungen als iFrame einbetten"
msgstr ""
#: project/templates/manage/widgets.html:32
#: project/templates/manage/widgets.html:33
msgid "Link, um Veranstaltungen vorzuschlagen"
msgstr ""
#: project/templates/manage/widgets.html:36
msgid "URL für Infoscreen"
msgstr ""
#: project/templates/oauth2_client/create.html:4
#: project/templates/oauth2_client/create.html:8
#: project/templates/oauth2_client/list.html:17
@ -1729,7 +1733,7 @@ msgstr ""
msgid "Widget"
msgstr ""
#: project/templates/widget/event_date/list.html:105
#: project/templates/widget/event_date/list.html:116
msgid "Print"
msgstr ""
@ -1749,7 +1753,7 @@ msgstr ""
msgid "Organization successfully updated"
msgstr ""
#: project/views/admin.py:68 project/views/manage.py:260
#: project/views/admin.py:68 project/views/manage.py:270
msgid "Settings successfully updated"
msgstr ""
@ -1961,17 +1965,17 @@ msgstr ""
msgid "You do not have permission for this action"
msgstr ""
#: project/views/widget.py:172
#: project/views/widget.py:157
msgid "Thank you so much! The event is being verified."
msgstr ""
#: project/views/widget.py:176
#: project/views/widget.py:161
msgid ""
"For more options and your own calendar of events, you can register for "
"free."
msgstr ""
#: project/views/widget.py:239
#: project/views/widget.py:224
msgid "New event review"
msgstr ""

View File

@ -0,0 +1,31 @@
"""empty message
Revision ID: 924071080036
Revises: 6893de0cb15b
Create Date: 2021-08-20 08:15:53.480243
"""
import sqlalchemy as sa
import sqlalchemy_utils
from alembic import op
from project import dbtypes
# revision identifiers, used by Alembic.
revision = "924071080036"
down_revision = "6893de0cb15b"
branch_labels = None
depends_on = None
def upgrade():
op.add_column(
"adminunit",
sa.Column(
"suggestions_enabled", sa.Boolean(), nullable=False, server_default="0"
),
)
def downgrade():
op.drop_column("adminunit", "suggestions_enabled")

14
package-lock.json generated
View File

@ -9,7 +9,7 @@
"version": "1.0.0",
"license": "ISC",
"devDependencies": {
"cypress": "^8.1.0"
"cypress": "^8.3.0"
}
},
"node_modules/@cypress/request": {
@ -498,9 +498,9 @@
}
},
"node_modules/cypress": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-8.1.0.tgz",
"integrity": "sha512-GXjlqPjY/6HPbQwAp3AvlA1Mk/NoJTAmqVSUhQsuM/1xDpd/FQHkxVuq5h6O6RrAoCXSgpZPXFsVtdqE+FwEJw==",
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-8.3.0.tgz",
"integrity": "sha512-zA5Rcq8AZIfRfPXU0CCcauofF+YpaU9HYbfqkunFTmFV0Kdlo14tNjH2E3++MkjXKFnv3/pXq+HgxWtw8CSe8Q==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@ -2209,9 +2209,9 @@
}
},
"cypress": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-8.1.0.tgz",
"integrity": "sha512-GXjlqPjY/6HPbQwAp3AvlA1Mk/NoJTAmqVSUhQsuM/1xDpd/FQHkxVuq5h6O6RrAoCXSgpZPXFsVtdqE+FwEJw==",
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-8.3.0.tgz",
"integrity": "sha512-zA5Rcq8AZIfRfPXU0CCcauofF+YpaU9HYbfqkunFTmFV0Kdlo14tNjH2E3++MkjXKFnv3/pXq+HgxWtw8CSe8Q==",
"dev": true,
"requires": {
"@cypress/request": "^2.88.5",

View File

@ -22,6 +22,6 @@
},
"homepage": "https://github.com/DanielGrams/gsevpt#readme",
"devDependencies": {
"cypress": "^8.1.0"
"cypress": "^8.3.0"
}
}

View File

@ -171,6 +171,11 @@ def get_admin_unit_for_manage_or_404(admin_unit_id):
return admin_unit
def admin_unit_suggestions_enabled_or_404(admin_unit: AdminUnit):
if not admin_unit.suggestions_enabled:
abort(404)
def can_create_admin_unit():
if not current_user.is_authenticated: # pragma: no cover
return False

View File

@ -103,6 +103,7 @@ def _create_admin_unit(user_id, name):
admin_unit.name = name
admin_unit.short_name = name.lower().replace(" ", "")
admin_unit.incoming_reference_requests_allowed = True
admin_unit.suggestions_enabled = True
admin_unit.location = Location()
admin_unit.location.postalCode = "38640"
admin_unit.location.city = "Goslar"

View File

@ -28,4 +28,9 @@ class UpdateAdminUnitForm(FlaskForm):
),
validators=[Optional()],
)
suggestions_enabled = BooleanField(
lazy_gettext("Suggestions enabled"),
description=lazy_gettext("If set, the organization can work with suggestions."),
validators=[Optional()],
)
submit = SubmitField(lazy_gettext("Update organization"))

View File

@ -323,6 +323,14 @@ class AdminUnit(db.Model, TrackableMixin):
widget_primary_color = deferred(Column(ColorType), group="widget")
widget_link_color = deferred(Column(ColorType), group="widget")
incoming_reference_requests_allowed = deferred(Column(Boolean()))
suggestions_enabled = deferred(
Column(
Boolean(),
nullable=False,
default=False,
server_default="0",
)
)
@listens_for(AdminUnit, "before_insert")

View File

@ -1,44 +0,0 @@
html, body {
width: 100vw;
height: 100vh;
max-height: -webkit-fill-available;
margin: 0;
font-size: 2.5vmin;
}
.body-content {
width: 100vw;
height: 100vh;
max-height: -webkit-fill-available;
padding: 0;
}
h1 {
font-size: 1.8rem;
margin: 0;
}
h2 {
margin: 0.4rem 0 0rem;
}
h3 {
font-size: 1.4rem;
margin: 0rem 0 1rem;
}
h4 {
font-size: 1.1rem;
}
/* Add an extra .carousel parent class to increase specificity
avoiding the use of !important flag. */
.carousel .carousel-indicators li {
background-color: #fff;
background-color: rgba(70, 70, 70, 0.25);
}
.carousel .carousel-indicators .active {
background-color: #444;
}

View File

@ -16,6 +16,7 @@
</div>
<div class="card-body">
{{ render_field_with_errors(form.incoming_reference_requests_allowed, ri="switch") }}
{{ render_field_with_errors(form.suggestions_enabled, ri="switch") }}
</div>
</div>

View File

@ -255,12 +255,14 @@
<div class="dropdown-menu" aria-labelledby="navbarAdminUnitEventsDropdown">
<a class="dropdown-item" href="{{ url_for('manage_admin_unit_events', id=current_admin_unit.id) }}">{{ _('Show events') }}</a>
<a class="dropdown-item" href="{{ url_for('event_create_for_admin_unit_id', id=current_admin_unit.id) }}">{{ _('Create event') }}</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="{{ url_for('manage_admin_unit_event_reviews', id=current_admin_unit.id) }}">{{ _('Review suggestions') }}
{% if menu_options['reviews_badge'] > 0 %}
<span class="badge badge-secondary badge-pill">{{ menu_options['reviews_badge'] }}</span>
{% endif %}
</a>
{% if current_admin_unit.suggestions_enabled %}
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="{{ url_for('manage_admin_unit_event_reviews', id=current_admin_unit.id) }}">{{ _('Review suggestions') }}
{% if menu_options['reviews_badge'] > 0 %}
<span class="badge badge-secondary badge-pill">{{ menu_options['reviews_badge'] }}</span>
{% endif %}
</a>
{% endif %}
</div>
</li>
<li class="nav-item dropdown">

View File

@ -29,13 +29,11 @@
<iframe src="{{ url_for('widget_event_dates', au_short_name=admin_unit.short_name) }}" allowtransparency="true" style="display: block; width: 90vw; height: 40vh; max-width: 100%;"></iframe>
</div>
{% if admin_unit.suggestions_enabled %}
<h2>{{ _('Link, um Veranstaltungen vorzuschlagen') }}</h2>
<input class="form-control" value="{{ url_for('event_suggestion_create_for_admin_unit', au_short_name=admin_unit.short_name, _external=True) }}" />
<p><a class="btn btn-outline-info my-2" href="{{ url_for('event_suggestion_create_for_admin_unit', au_short_name=admin_unit.short_name, _external=True) }}" target="_blank" rel="noopener noreferrer">Vorschau <i class="fa fa-external-link-alt"></i></a></p>
<h2>{{ _('URL für Infoscreen') }}</h2>
<input class="form-control" value="{{ url_for('widget_infoscreen', au_short_name=admin_unit.short_name, _external=True) }}" />
<p><a class="btn btn-outline-info my-2" href="{{ url_for('widget_infoscreen', au_short_name=admin_unit.short_name, _external=True) }}" target="_blank" rel="noopener noreferrer">Vorschau <i class="fa fa-external-link-alt"></i></a></p>
{% endif %}
{% endblock %}

View File

@ -1,104 +0,0 @@
{% extends "layout_widget.html" %}
{% from "_macros.html" import render_location, render_location_prop, render_logo, render_pagination, render_event_warning_pills, render_place, render_events_sub_menu %}
{%- block title -%}
{{ admin_unit.name }} Infoscreen
{%- endblock -%}
{% block styles %}
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='infoscreen.css')}}" />
{{ super() }}
{% endblock %}
{% block navbar %}
{% endblock %}
{% block managebar %}
{% endblock %}
{% block metas %}
<meta http-equiv="refresh" content="600"/>
<meta name="apple-mobile-web-app-capable" content="yes">
{% endblock %}
{% block content_container_attribs %}class="h-100"{% endblock %}
{% block content %}
<div class="container-fluid d-flex h-100 flex-column p-0">
<div class="container-fluid m-0 bg-light" style="overflow:hidden;padding: 0.8rem;">
<div class="row h-100">
<div class="col-auto h-100">
{% if admin_unit.logo_id %}
<img src="{{ url_for_image(admin_unit.logo) }}" class="img-fluid"
style="max-height:10vmin;" />
{% endif %}
</div>
<div class="col h-100">
<h1>Veranstaltungen</h1>
<h2>{{ admin_unit.name }}</h2>
</div>
</div>
</div>
<div class="flex-fill d-flex justify-content-start" style="overflow:hidden;padding:0;">
<div id="carousel" class="carousel slide h-100 w-100" data-ride="carousel" data-interval="20000" data-keyboard="false" data-pause="false">
<ol class="carousel-indicators">
{% for date in dates %}
<li data-target="#carousel" data-slide-to="{{loop.index}}"
{%if loop.first %}class="active" {% endif %}></li>
{% endfor %}
</ol>
<div class="carousel-inner">
{% for date in dates %}
<div class="carousel-item {%if loop.first %}active{% endif %}">
<div class="container-fluid h-100">
<div class="row">
{% if date.event.photo_id %}
<div class="col-auto h-100" style="padding:1rem">
<img src="{{ url_for_image(date.event.photo) }}" class="img-fluid" style="object-fit: cover; max-width:20vmin;" />
</div>
{% endif %}
<div class="col" style="padding:1rem">
<h3>{{ date.event.name }}{{ render_event_warning_pills(date.event) }}</h3>
<p>{{ date.event.description | truncate(300) }}</p>
</div>
</div>
<div class="row">
<div class="col-auto h-100" style="padding:1rem">
<img src="{{ qrcode(url_for('event_date', id=date.id, src='is', _external=True)) }}" style="width:20vmin;">
</div>
<div class="col" style="padding:1rem">
<h4><i class="fa fa-calendar"></i> {{ date.start | dateformat('EEEE') }}, {{ date.start | dateformat('medium') }} {{ date.start | timeformat('short') }} Uhr</h4>
{% if date.event.admin_unit_id != params.admin_unit_id %}
<h4><i class="fa fa-database"></i> {{ date.event.admin_unit.name }}</h4>
{% endif %}
<h4><i class="fa fa-map-marker"></i> {{ date.event.event_place.name }}, {{ render_location(date.event.event_place.location) }}</h4>
<h4><i class="fa fa-arrow-left"></i> Scanne den QR-Code mit deinem Handy für mehr Infos!</h4>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
<div class="container-fluid m-0 bg-light" style="overflow:hidden;padding: 0.8rem;">
<div class="row h-100">
<div class="col-auto h-100">
<img src="{{ url_for('static', filename='img/landing-page/machmit.jpg')}}"
class="img-fluid rounded-circle" style="max-height:15vmin;" />
</div>
<div class="col my-auto">
<div style="font-size: 1.2rem;">
<em>MachMit!</em> und trage die Veranstaltungen deines Vereins oder Unternehmens ein! Scanne den QR-Code mit deinem Handy!
<i class="fa fa-arrow-right"></i>
</div>
</div>
<div class="col-auto h-100">
<img src="{{ qrcode(url_for('home', src='is', _external=True)) }}" style="max-height:15vmin;">
</div>
</div>
</div>
</div>
{% endblock %}
{% block footer %}
{% endblock %}

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-08-15 14:50+0200\n"
"POT-Creation-Date: 2021-08-20 08:42+0200\n"
"PO-Revision-Date: 2020-06-07 18:51+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: de\n"
@ -166,24 +166,24 @@ msgstr "Event_"
msgid "."
msgstr "."
#: project/forms/admin.py:10 project/templates/layout.html:331
#: project/forms/admin.py:10 project/templates/layout.html:335
#: project/views/root.py:42
msgid "Terms of service"
msgstr "Nutzungsbedingungen"
#: project/forms/admin.py:11 project/templates/layout.html:335
#: project/forms/admin.py:11 project/templates/layout.html:339
#: project/views/root.py:50
msgid "Legal notice"
msgstr "Impressum"
#: project/forms/admin.py:12 project/templates/_macros.html:1328
#: project/templates/layout.html:339
#: project/templates/layout.html:343
#: project/templates/widget/event_suggestion/create.html:199
#: project/views/admin_unit.py:36 project/views/root.py:58
msgid "Contact"
msgstr "Kontakt"
#: project/forms/admin.py:13 project/templates/layout.html:343
#: project/forms/admin.py:13 project/templates/layout.html:347
#: project/views/root.py:66
msgid "Privacy"
msgstr "Datenschutz"
@ -214,7 +214,15 @@ msgstr ""
"Wenn gesetzt, können andere Organisationen diese Organisation bitten, "
"deren Veranstaltungen zu empfehlen."
#: project/forms/admin.py:31 project/templates/admin/update_admin_unit.html:4
#: project/forms/admin.py:32
msgid "Suggestions enabled"
msgstr "Vorschläge aktiv"
#: project/forms/admin.py:33
msgid "If set, the organization can work with suggestions."
msgstr "Wenn gesetzt, kann die Organisation mit Vorschlägen arbeiten."
#: project/forms/admin.py:36 project/templates/admin/update_admin_unit.html:4
#: project/templates/admin/update_admin_unit.html:8
msgid "Update organization"
msgstr "Organisation aktualisieren"
@ -274,7 +282,7 @@ msgstr ""
"eindeutig zu identifizieren. Der Kurzname darf nur Buchstaben, Nummern "
"und Unterstriche enthalten."
#: project/forms/admin_unit.py:40 project/templates/_macros.html:1458
#: project/forms/admin_unit.py:40 project/templates/_macros.html:1464
msgid "Short name must contain only letters numbers or underscore"
msgstr "Der Kurzname darf nur Buchstaben, Nummern und Unterstriche enthalten"
@ -288,7 +296,7 @@ msgstr "Link URL"
#: project/forms/admin_unit_member.py:23 project/forms/admin_unit_member.py:28
#: project/forms/event.py:58 project/forms/event_suggestion.py:38
#: project/forms/organizer.py:27 project/templates/_macros.html:262
#: project/templates/_macros.html:1418 project/templates/admin/users.html:19
#: project/templates/_macros.html:1424 project/templates/admin/users.html:19
msgid "Email"
msgstr "Email"
@ -666,7 +674,7 @@ msgstr "Wähle Kategorien, die zur Veranstaltung passen."
#: project/forms/event.py:231 project/forms/reference.py:14
#: project/forms/reference.py:27 project/forms/reference_request.py:75
#: project/templates/event/create.html:358
#: project/templates/event/update.html:214
#: project/templates/event/update.html:215
msgid "Rating"
msgstr "Bewertung"
@ -683,7 +691,7 @@ msgstr ""
#: project/forms/event.py:321 project/forms/event_suggestion.py:50
#: project/templates/_macros.html:468 project/templates/_macros.html:624
#: project/templates/event/create.html:283
#: project/templates/event/update.html:164
#: project/templates/event/update.html:165
#: project/templates/event_place/create.html:21
#: project/templates/event_place/delete.html:13
#: project/templates/event_place/update.html:21
@ -702,7 +710,7 @@ msgstr "Neuen Ort eingeben"
#: project/forms/event.py:329 project/forms/event.py:389
#: project/forms/event_suggestion.py:60 project/templates/_macros.html:506
#: project/templates/_macros.html:661 project/templates/event/create.html:254
#: project/templates/event/update.html:155
#: project/templates/event/update.html:156
#: project/templates/organizer/create.html:17
#: project/templates/organizer/delete.html:13
#: project/templates/organizer/update.html:17
@ -848,7 +856,7 @@ msgid "Distance"
msgstr "Distanz"
#: project/forms/event_date.py:30 project/forms/planing.py:34
#: project/templates/widget/event_date/list.html:42
#: project/templates/widget/event_date/list.html:53
msgid "Find"
msgstr "Finden"
@ -980,7 +988,7 @@ msgstr "Wochentage"
#: project/templates/_macros.html:527 project/templates/_macros.html:687
#: project/templates/admin_unit/create.html:19
#: project/templates/admin_unit/update.html:20
#: project/templates/layout.html:286
#: project/templates/layout.html:289
msgid "Organization"
msgstr "Organisation"
@ -1124,12 +1132,12 @@ msgid "%(count)d event dates"
msgstr "%(count)d Termine"
#: project/templates/_macros.html:451 project/templates/_macros.html:606
#: project/templates/_macros.html:1403 project/templates/event/actions.html:32
#: project/templates/_macros.html:1409 project/templates/event/actions.html:32
msgid "Share"
msgstr "Teilen"
#: project/templates/_macros.html:455 project/templates/_macros.html:610
#: project/templates/_macros.html:1433
#: project/templates/_macros.html:1439
msgid "Add to calendar"
msgstr "Zum Kalender"
@ -1225,27 +1233,27 @@ msgstr "Verwende einfach %(term)s"
msgid "Event suggestion"
msgstr "Veranstaltungsvorschlag"
#: project/templates/_macros.html:1412
#: project/templates/_macros.html:1418
msgid "Link copied"
msgstr "Link kopiert"
#: project/templates/_macros.html:1412
#: project/templates/_macros.html:1418
msgid "Copy link"
msgstr "Link kopieren"
#: project/templates/_macros.html:1441
#: project/templates/_macros.html:1447
msgid "Google calendar"
msgstr "Google Kalender"
#: project/templates/_macros.html:1442
#: project/templates/_macros.html:1448
msgid "Apple calendar"
msgstr "Apple Kalender"
#: project/templates/_macros.html:1443
#: project/templates/_macros.html:1449
msgid "Yahoo calendar"
msgstr "Yahoo Kalender"
#: project/templates/_macros.html:1444
#: project/templates/_macros.html:1450
msgid "Other calendar"
msgstr "Anderer Kalender"
@ -1254,12 +1262,12 @@ msgid "Manage"
msgstr "Verwaltung"
#: project/templates/home.html:29 project/templates/security/login_user.html:35
#: project/views/widget.py:180
#: project/views/widget.py:165
msgid "Register for free"
msgstr "Kostenlos registrieren"
#: project/templates/event_place/read.html:22 project/templates/layout.html:206
#: project/templates/layout.html:249 project/templates/manage/events.html:5
#: project/templates/layout.html:250 project/templates/manage/events.html:5
#: project/templates/manage/events.html:9
msgid "Events"
msgstr "Veranstaltungen"
@ -1300,60 +1308,60 @@ msgstr "Administration"
msgid "Logout"
msgstr "Ausloggen"
#: project/templates/layout.html:255
#: project/templates/layout.html:256
msgid "Show events"
msgstr "Veranstaltungen anzeigen"
#: project/templates/event/create.html:4
#: project/templates/event/create.html:221 project/templates/layout.html:256
#: project/templates/event/create.html:221 project/templates/layout.html:257
#: project/templates/manage/events.html:12
#: project/templates/manage/organizers.html:21
msgid "Create event"
msgstr "Veranstaltung erstellen"
#: project/templates/layout.html:258
#: project/templates/layout.html:260
msgid "Review suggestions"
msgstr "Vorschläge prüfen"
#: project/templates/layout.html:267
#: project/templates/layout.html:270
#: project/templates/manage/references_incoming.html:5
#: project/templates/manage/references_outgoing.html:5
msgid "References"
msgstr "Empfehlungen"
#: project/templates/layout.html:273
#: project/templates/layout.html:276
#: project/templates/manage/references_incoming.html:9
msgid "Incoming references"
msgstr "Eingehende Empfehlungen"
#: project/templates/layout.html:274
#: project/templates/layout.html:277
#: project/templates/manage/references_outgoing.html:9
msgid "Outgoing references"
msgstr "Ausgehende Empfehlungen"
#: project/templates/layout.html:276
#: project/templates/layout.html:279
#: project/templates/manage/reference_requests_incoming.html:9
msgid "Incoming reference requests"
msgstr "Eingehende Empfehlungsanfragen"
#: project/templates/layout.html:281
#: project/templates/layout.html:284
#: project/templates/manage/reference_requests_outgoing.html:9
msgid "Outgoing reference requests"
msgstr "Ausgehende Empfehlungsanfragen"
#: project/templates/layout.html:289 project/templates/manage/organizers.html:5
#: project/templates/layout.html:292 project/templates/manage/organizers.html:5
#: project/templates/manage/organizers.html:9
msgid "Organizers"
msgstr "Veranstalter"
#: project/templates/event_place/list.html:3
#: project/templates/event_place/list.html:7 project/templates/layout.html:290
#: project/templates/event_place/list.html:7 project/templates/layout.html:293
#: project/templates/manage/places.html:5
#: project/templates/manage/places.html:9
msgid "Places"
msgstr "Orte"
#: project/templates/layout.html:292 project/templates/manage/members.html:5
#: project/templates/layout.html:295 project/templates/manage/members.html:5
#: project/templates/manage/members.html:28
msgid "Members"
msgstr "Mitglieder"
@ -1362,22 +1370,22 @@ msgstr "Mitglieder"
#: project/templates/admin/settings.html:4
#: project/templates/admin/settings.html:8
#: project/templates/admin_unit/update.html:14
#: project/templates/layout.html:293 project/templates/manage/widgets.html:12
#: project/templates/layout.html:296 project/templates/manage/widgets.html:12
#: project/templates/profile.html:19
msgid "Settings"
msgstr "Einstellungen"
#: project/templates/layout.html:294 project/templates/manage/reviews.html:10
#: project/templates/layout.html:297 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:304
#: project/templates/layout.html:307
msgid "Switch organization"
msgstr "Organisation wechseln"
#: project/templates/developer/read.html:4 project/templates/layout.html:353
#: project/templates/developer/read.html:4 project/templates/layout.html:357
#: project/templates/profile.html:29
msgid "Developer"
msgstr "Entwickler"
@ -1418,7 +1426,7 @@ msgstr "Bearbeiten"
#: project/templates/admin_unit/create.html:49
#: project/templates/admin_unit/update.html:50
#: project/templates/event/create.html:346
#: project/templates/event/update.html:202
#: project/templates/event/update.html:203
#: project/templates/event_place/create.html:47
#: project/templates/event_place/update.html:47
#: project/templates/organizer/create.html:46
@ -1551,12 +1559,12 @@ msgid "Switch to place search"
msgstr "Zur Ortssuche wechseln"
#: project/templates/event/create.html:319
#: project/templates/event/update.html:175
#: project/templates/event/update.html:176
msgid "Access"
msgstr "Zugang"
#: project/templates/event/create.html:333
#: project/templates/event/update.html:189
#: project/templates/event/update.html:190
msgid "Target group"
msgstr "Zielgruppe"
@ -1665,14 +1673,10 @@ msgstr "Prüfungen"
msgid "Veranstaltungen als iFrame einbetten"
msgstr "Veranstaltungen als iFrame einbetten"
#: project/templates/manage/widgets.html:32
#: project/templates/manage/widgets.html:33
msgid "Link, um Veranstaltungen vorzuschlagen"
msgstr "Link, um Veranstaltungen vorzuschlagen"
#: project/templates/manage/widgets.html:36
msgid "URL für Infoscreen"
msgstr "URL für Infoscreen"
#: project/templates/oauth2_client/create.html:4
#: project/templates/oauth2_client/create.html:8
#: project/templates/oauth2_client/list.html:17
@ -1767,7 +1771,7 @@ msgstr "Du hast noch keinen Account? Kein Problem!"
msgid "Widget"
msgstr "Widget"
#: project/templates/widget/event_date/list.html:105
#: project/templates/widget/event_date/list.html:116
msgid "Print"
msgstr "Drucken"
@ -1787,7 +1791,7 @@ msgstr "Vorschau"
msgid "Organization successfully updated"
msgstr "Organisation erfolgreich aktualisiert"
#: project/views/admin.py:68 project/views/manage.py:260
#: project/views/admin.py:68 project/views/manage.py:270
msgid "Settings successfully updated"
msgstr "Einstellungen erfolgreich aktualisiert"
@ -2006,11 +2010,11 @@ msgstr "Anzeigen"
msgid "You do not have permission for this action"
msgstr "Du hast keine Berechtigung für diese Aktion"
#: project/views/widget.py:172
#: project/views/widget.py:157
msgid "Thank you so much! The event is being verified."
msgstr "Vielen Dank! Die Veranstaltung wird geprüft."
#: project/views/widget.py:176
#: project/views/widget.py:161
msgid ""
"For more options and your own calendar of events, you can register for "
"free."
@ -2018,7 +2022,7 @@ msgstr ""
"Für mehr Optionen und einen eigenen Veranstaltungskalender, kannst du "
"dich kostenlos registrieren."
#: project/views/widget.py:239
#: project/views/widget.py:224
msgid "New event review"
msgstr "Neue Veranstaltung zu prüfen"
@ -2053,3 +2057,6 @@ msgstr "Neue Veranstaltung zu prüfen"
#~ msgid "Draft"
#~ msgstr "Entwurf"
#~ msgid "URL für Infoscreen"
#~ msgstr "URL für Infoscreen"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-08-15 14:50+0200\n"
"POT-Creation-Date: 2021-08-20 08:42+0200\n"
"PO-Revision-Date: 2021-04-30 15:04+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@ -166,24 +166,24 @@ msgstr ""
msgid "."
msgstr ""
#: project/forms/admin.py:10 project/templates/layout.html:331
#: project/forms/admin.py:10 project/templates/layout.html:335
#: project/views/root.py:42
msgid "Terms of service"
msgstr ""
#: project/forms/admin.py:11 project/templates/layout.html:335
#: project/forms/admin.py:11 project/templates/layout.html:339
#: project/views/root.py:50
msgid "Legal notice"
msgstr ""
#: project/forms/admin.py:12 project/templates/_macros.html:1328
#: project/templates/layout.html:339
#: project/templates/layout.html:343
#: project/templates/widget/event_suggestion/create.html:199
#: project/views/admin_unit.py:36 project/views/root.py:58
msgid "Contact"
msgstr ""
#: project/forms/admin.py:13 project/templates/layout.html:343
#: project/forms/admin.py:13 project/templates/layout.html:347
#: project/views/root.py:66
msgid "Privacy"
msgstr ""
@ -212,7 +212,15 @@ msgid ""
"event."
msgstr ""
#: project/forms/admin.py:31 project/templates/admin/update_admin_unit.html:4
#: project/forms/admin.py:32
msgid "Suggestions enabled"
msgstr ""
#: project/forms/admin.py:33
msgid "If set, the organization can work with suggestions."
msgstr ""
#: project/forms/admin.py:36 project/templates/admin/update_admin_unit.html:4
#: project/templates/admin/update_admin_unit.html:8
msgid "Update organization"
msgstr ""
@ -269,7 +277,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:1458
#: project/forms/admin_unit.py:40 project/templates/_macros.html:1464
msgid "Short name must contain only letters numbers or underscore"
msgstr ""
@ -283,7 +291,7 @@ msgstr ""
#: project/forms/admin_unit_member.py:23 project/forms/admin_unit_member.py:28
#: project/forms/event.py:58 project/forms/event_suggestion.py:38
#: project/forms/organizer.py:27 project/templates/_macros.html:262
#: project/templates/_macros.html:1418 project/templates/admin/users.html:19
#: project/templates/_macros.html:1424 project/templates/admin/users.html:19
msgid "Email"
msgstr ""
@ -643,7 +651,7 @@ msgstr ""
#: project/forms/event.py:231 project/forms/reference.py:14
#: project/forms/reference.py:27 project/forms/reference_request.py:75
#: project/templates/event/create.html:358
#: project/templates/event/update.html:214
#: project/templates/event/update.html:215
msgid "Rating"
msgstr ""
@ -658,7 +666,7 @@ msgstr ""
#: project/forms/event.py:321 project/forms/event_suggestion.py:50
#: project/templates/_macros.html:468 project/templates/_macros.html:624
#: project/templates/event/create.html:283
#: project/templates/event/update.html:164
#: project/templates/event/update.html:165
#: project/templates/event_place/create.html:21
#: project/templates/event_place/delete.html:13
#: project/templates/event_place/update.html:21
@ -677,7 +685,7 @@ msgstr ""
#: project/forms/event.py:329 project/forms/event.py:389
#: project/forms/event_suggestion.py:60 project/templates/_macros.html:506
#: project/templates/_macros.html:661 project/templates/event/create.html:254
#: project/templates/event/update.html:155
#: project/templates/event/update.html:156
#: project/templates/organizer/create.html:17
#: project/templates/organizer/delete.html:13
#: project/templates/organizer/update.html:17
@ -819,7 +827,7 @@ msgid "Distance"
msgstr ""
#: project/forms/event_date.py:30 project/forms/planing.py:34
#: project/templates/widget/event_date/list.html:42
#: project/templates/widget/event_date/list.html:53
msgid "Find"
msgstr ""
@ -947,7 +955,7 @@ msgstr ""
#: project/templates/_macros.html:527 project/templates/_macros.html:687
#: project/templates/admin_unit/create.html:19
#: project/templates/admin_unit/update.html:20
#: project/templates/layout.html:286
#: project/templates/layout.html:289
msgid "Organization"
msgstr ""
@ -1091,12 +1099,12 @@ msgid "%(count)d event dates"
msgstr ""
#: project/templates/_macros.html:451 project/templates/_macros.html:606
#: project/templates/_macros.html:1403 project/templates/event/actions.html:32
#: project/templates/_macros.html:1409 project/templates/event/actions.html:32
msgid "Share"
msgstr ""
#: project/templates/_macros.html:455 project/templates/_macros.html:610
#: project/templates/_macros.html:1433
#: project/templates/_macros.html:1439
msgid "Add to calendar"
msgstr ""
@ -1190,27 +1198,27 @@ msgstr ""
msgid "Event suggestion"
msgstr ""
#: project/templates/_macros.html:1412
#: project/templates/_macros.html:1418
msgid "Link copied"
msgstr ""
#: project/templates/_macros.html:1412
#: project/templates/_macros.html:1418
msgid "Copy link"
msgstr ""
#: project/templates/_macros.html:1441
#: project/templates/_macros.html:1447
msgid "Google calendar"
msgstr ""
#: project/templates/_macros.html:1442
#: project/templates/_macros.html:1448
msgid "Apple calendar"
msgstr ""
#: project/templates/_macros.html:1443
#: project/templates/_macros.html:1449
msgid "Yahoo calendar"
msgstr ""
#: project/templates/_macros.html:1444
#: project/templates/_macros.html:1450
msgid "Other calendar"
msgstr ""
@ -1219,12 +1227,12 @@ msgid "Manage"
msgstr ""
#: project/templates/home.html:29 project/templates/security/login_user.html:35
#: project/views/widget.py:180
#: project/views/widget.py:165
msgid "Register for free"
msgstr ""
#: project/templates/event_place/read.html:22 project/templates/layout.html:206
#: project/templates/layout.html:249 project/templates/manage/events.html:5
#: project/templates/layout.html:250 project/templates/manage/events.html:5
#: project/templates/manage/events.html:9
msgid "Events"
msgstr ""
@ -1265,60 +1273,60 @@ msgstr ""
msgid "Logout"
msgstr ""
#: project/templates/layout.html:255
#: project/templates/layout.html:256
msgid "Show events"
msgstr ""
#: project/templates/event/create.html:4
#: project/templates/event/create.html:221 project/templates/layout.html:256
#: project/templates/event/create.html:221 project/templates/layout.html:257
#: project/templates/manage/events.html:12
#: project/templates/manage/organizers.html:21
msgid "Create event"
msgstr ""
#: project/templates/layout.html:258
#: project/templates/layout.html:260
msgid "Review suggestions"
msgstr ""
#: project/templates/layout.html:267
#: project/templates/layout.html:270
#: project/templates/manage/references_incoming.html:5
#: project/templates/manage/references_outgoing.html:5
msgid "References"
msgstr ""
#: project/templates/layout.html:273
#: project/templates/layout.html:276
#: project/templates/manage/references_incoming.html:9
msgid "Incoming references"
msgstr ""
#: project/templates/layout.html:274
#: project/templates/layout.html:277
#: project/templates/manage/references_outgoing.html:9
msgid "Outgoing references"
msgstr ""
#: project/templates/layout.html:276
#: project/templates/layout.html:279
#: project/templates/manage/reference_requests_incoming.html:9
msgid "Incoming reference requests"
msgstr ""
#: project/templates/layout.html:281
#: project/templates/layout.html:284
#: project/templates/manage/reference_requests_outgoing.html:9
msgid "Outgoing reference requests"
msgstr ""
#: project/templates/layout.html:289 project/templates/manage/organizers.html:5
#: project/templates/layout.html:292 project/templates/manage/organizers.html:5
#: project/templates/manage/organizers.html:9
msgid "Organizers"
msgstr ""
#: project/templates/event_place/list.html:3
#: project/templates/event_place/list.html:7 project/templates/layout.html:290
#: project/templates/event_place/list.html:7 project/templates/layout.html:293
#: project/templates/manage/places.html:5
#: project/templates/manage/places.html:9
msgid "Places"
msgstr ""
#: project/templates/layout.html:292 project/templates/manage/members.html:5
#: project/templates/layout.html:295 project/templates/manage/members.html:5
#: project/templates/manage/members.html:28
msgid "Members"
msgstr ""
@ -1327,22 +1335,22 @@ msgstr ""
#: project/templates/admin/settings.html:4
#: project/templates/admin/settings.html:8
#: project/templates/admin_unit/update.html:14
#: project/templates/layout.html:293 project/templates/manage/widgets.html:12
#: project/templates/layout.html:296 project/templates/manage/widgets.html:12
#: project/templates/profile.html:19
msgid "Settings"
msgstr ""
#: project/templates/layout.html:294 project/templates/manage/reviews.html:10
#: project/templates/layout.html:297 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:304
#: project/templates/layout.html:307
msgid "Switch organization"
msgstr ""
#: project/templates/developer/read.html:4 project/templates/layout.html:353
#: project/templates/developer/read.html:4 project/templates/layout.html:357
#: project/templates/profile.html:29
msgid "Developer"
msgstr ""
@ -1383,7 +1391,7 @@ msgstr ""
#: project/templates/admin_unit/create.html:49
#: project/templates/admin_unit/update.html:50
#: project/templates/event/create.html:346
#: project/templates/event/update.html:202
#: project/templates/event/update.html:203
#: project/templates/event_place/create.html:47
#: project/templates/event_place/update.html:47
#: project/templates/organizer/create.html:46
@ -1514,12 +1522,12 @@ msgid "Switch to place search"
msgstr ""
#: project/templates/event/create.html:319
#: project/templates/event/update.html:175
#: project/templates/event/update.html:176
msgid "Access"
msgstr ""
#: project/templates/event/create.html:333
#: project/templates/event/update.html:189
#: project/templates/event/update.html:190
msgid "Target group"
msgstr ""
@ -1628,14 +1636,10 @@ msgstr ""
msgid "Veranstaltungen als iFrame einbetten"
msgstr ""
#: project/templates/manage/widgets.html:32
#: project/templates/manage/widgets.html:33
msgid "Link, um Veranstaltungen vorzuschlagen"
msgstr ""
#: project/templates/manage/widgets.html:36
msgid "URL für Infoscreen"
msgstr ""
#: project/templates/oauth2_client/create.html:4
#: project/templates/oauth2_client/create.html:8
#: project/templates/oauth2_client/list.html:17
@ -1730,7 +1734,7 @@ msgstr ""
msgid "Widget"
msgstr ""
#: project/templates/widget/event_date/list.html:105
#: project/templates/widget/event_date/list.html:116
msgid "Print"
msgstr ""
@ -1750,7 +1754,7 @@ msgstr ""
msgid "Organization successfully updated"
msgstr ""
#: project/views/admin.py:68 project/views/manage.py:260
#: project/views/admin.py:68 project/views/manage.py:270
msgid "Settings successfully updated"
msgstr ""
@ -1962,17 +1966,17 @@ msgstr ""
msgid "You do not have permission for this action"
msgstr ""
#: project/views/widget.py:172
#: project/views/widget.py:157
msgid "Thank you so much! The event is being verified."
msgstr ""
#: project/views/widget.py:176
#: project/views/widget.py:161
msgid ""
"For more options and your own calendar of events, you can register for "
"free."
msgstr ""
#: project/views/widget.py:239
#: project/views/widget.py:224
msgid "New event review"
msgstr ""
@ -2002,3 +2006,6 @@ msgstr ""
#~ msgid "Draft"
#~ msgstr ""
#~ msgid "URL für Infoscreen"
#~ msgstr ""

View File

@ -6,6 +6,7 @@ from sqlalchemy.sql import desc, func
from project import app, db
from project.access import (
admin_unit_suggestions_enabled_or_404,
get_admin_unit_for_manage,
get_admin_unit_for_manage_or_404,
get_admin_units_for_manage,
@ -101,6 +102,7 @@ def manage_admin_unit(id):
@auth_required()
def manage_admin_unit_event_reviews(id):
admin_unit = get_admin_unit_for_manage_or_404(id)
admin_unit_suggestions_enabled_or_404(admin_unit)
event_suggestions_paginate = (
get_event_reviews_query(admin_unit)

View File

@ -7,7 +7,11 @@ from sqlalchemy.exc import SQLAlchemyError
from sqlalchemy.sql import func
from project import app, db
from project.access import can_read_event_or_401, has_admin_unit_member_permission
from project.access import (
admin_unit_suggestions_enabled_or_404,
can_read_event_or_401,
has_admin_unit_member_permission,
)
from project.dateutils import get_next_full_hour
from project.forms.event_date import FindEventDateForm
from project.forms.event_suggestion import CreateEventSuggestionForm
@ -74,6 +78,7 @@ def widget_event_date(au_short_name, id):
admin_unit = AdminUnit.query.filter(
AdminUnit.short_name == au_short_name
).first_or_404()
event_date = get_event_date_with_details_or_404(id)
can_read_event_or_401(event_date.event)
structured_data = json.dumps(
@ -94,27 +99,6 @@ def widget_event_date(au_short_name, id):
)
@app.route("/<string:au_short_name>/widget/infoscreen")
def widget_infoscreen(au_short_name):
admin_unit = AdminUnit.query.filter(
AdminUnit.short_name == au_short_name
).first_or_404()
params = EventSearchParams()
params.load_from_request()
params.admin_unit_id = admin_unit.id
dates = get_event_dates_query(params).paginate(max_per_page=5)
return render_template(
"widget/infoscreen/read.html",
admin_unit=admin_unit,
params=params,
styles=get_styles(admin_unit),
dates=dates.items,
)
@app.route(
"/<string:au_short_name>/widget/event_suggestions/create", methods=("GET", "POST")
)
@ -122,6 +106,7 @@ def event_suggestion_create_for_admin_unit(au_short_name):
admin_unit = AdminUnit.query.filter(
AdminUnit.short_name == au_short_name
).first_or_404()
admin_unit_suggestions_enabled_or_404(admin_unit)
form = CreateEventSuggestionForm()

View File

@ -57,3 +57,7 @@ def test_search(client, seeder, utils):
"api_v1_event_date_search", coordinate="51.9077888,10.4333312", distance=500
)
response = utils.get_ok(url)
organizer_id = seeder.upsert_default_event_organizer(admin_unit_id)
url = utils.get_url("api_v1_event_date_search", organizer_id=organizer_id)
response = utils.get_ok(url)

View File

@ -44,7 +44,7 @@ class Seeder(object):
return user_id
def create_admin_unit(self, user_id, name="Meine Crew"):
def create_admin_unit(self, user_id, name="Meine Crew", suggestions_enabled=True):
from project.models import AdminUnit
from project.services.admin_unit import insert_admin_unit_for_user
from project.services.user import get_user
@ -55,6 +55,7 @@ class Seeder(object):
admin_unit.name = name
admin_unit.short_name = name.lower().replace(" ", "")
admin_unit.incoming_reference_requests_allowed = True
admin_unit.suggestions_enabled = suggestions_enabled
insert_admin_unit_for_user(admin_unit, user)
self._db.session.commit()
admin_unit_id = admin_unit.id

View File

@ -118,6 +118,7 @@ def test_admin_admin_unit_update(client, seeder, utils, app, mocker, db, db_erro
admin_unit = AdminUnit.query.get_or_404(admin_unit_id)
admin_unit.incoming_reference_requests_allowed = False
admin_unit.suggestions_enabled = False
db.session.commit()
url = utils.get_url("admin_admin_unit_update", id=admin_unit_id)
@ -131,6 +132,7 @@ def test_admin_admin_unit_update(client, seeder, utils, app, mocker, db, db_erro
response,
{
"incoming_reference_requests_allowed": "y",
"suggestions_enabled": "y",
},
)
@ -145,3 +147,4 @@ def test_admin_admin_unit_update(client, seeder, utils, app, mocker, db, db_erro
admin_unit = AdminUnit.query.get_or_404(admin_unit_id)
assert admin_unit.incoming_reference_requests_allowed
assert admin_unit.suggestions_enabled

View File

@ -69,21 +69,6 @@ def test_event_date(client, seeder, utils, app, db):
utils.assert_response_unauthorized(response)
def test_infoscreen(client, seeder, utils):
user_id, admin_unit_id = seeder.setup_base()
seeder.create_event(admin_unit_id)
au_short_name = "meinecrew"
url = utils.get_url("widget_infoscreen", au_short_name=au_short_name)
utils.get_ok(url)
organizer_id = seeder.upsert_default_event_organizer(admin_unit_id)
url = utils.get_url(
"widget_infoscreen", au_short_name=au_short_name, organizer_id=organizer_id
)
utils.get_ok(url)
def get_create_data():
return {
"accept_tos": "y",
@ -225,3 +210,15 @@ def test_event_suggestion_create_for_admin_unit_invalidEventPlaceId(
data,
)
assert response.status_code == 302
def test_event_suggestion_create_for_admin_unit_notEnabled(client, app, seeder, utils):
user_id = seeder.create_user()
seeder.create_admin_unit(user_id, "Meine Crew", suggestions_enabled=False)
au_short_name = "meinecrew"
url = utils.get_url(
"event_suggestion_create_for_admin_unit", au_short_name=au_short_name
)
response = utils.get(url)
utils.assert_response_notFound(response)