mirror of
https://github.com/lucaspalomodevelop/eventcally.git
synced 2026-03-13 00:07:22 +00:00
Ort löschen
This commit is contained in:
parent
b0f57ef44b
commit
60f9e3f382
@ -37,6 +37,10 @@ class UpdateEventPlaceForm(BaseEventPlaceForm):
|
||||
public = BooleanField(lazy_gettext('Other organizers can use this location'), validators=[Optional()])
|
||||
submit = SubmitField(lazy_gettext("Update place"))
|
||||
|
||||
class DeleteEventPlaceForm(FlaskForm):
|
||||
submit = SubmitField(lazy_gettext("Delete place"))
|
||||
name = StringField(lazy_gettext('Name'), validators=[DataRequired()])
|
||||
|
||||
class FindEventPlaceForm(FlaskForm):
|
||||
class Meta:
|
||||
csrf = False
|
||||
|
||||
24
templates/event_place/delete.html
Normal file
24
templates/event_place/delete.html
Normal file
@ -0,0 +1,24 @@
|
||||
{% extends "layout.html" %}
|
||||
{% from "_macros.html" import render_field_with_errors, render_field %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h1>{{ _('Delete place') }} "{{ place.name }}"</h1>
|
||||
|
||||
<form action="" method="POST">
|
||||
{{ form.hidden_tag() }}
|
||||
|
||||
<div class="card mb-4">
|
||||
<div class="card-header">
|
||||
{{ _('Place') }}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{{ render_field_with_errors(form.name) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ render_field(form.submit) }}
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
@ -32,6 +32,7 @@
|
||||
<button class="btn btn-link dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{ place.name }}</button>
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="{{ url_for('event_place_update', id=place.id) }}">{{ _('Edit') }}</a>
|
||||
<a class="dropdown-item" href="{{ url_for('event_place_delete', id=place.id) }}">{{ _('Delete') }}...</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2020-10-04 12:59+0200\n"
|
||||
"POT-Creation-Date: 2020-10-04 13:28+0200\n"
|
||||
"PO-Revision-Date: 2020-06-07 18:51+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: de\n"
|
||||
@ -142,11 +142,11 @@ msgid "Longitude"
|
||||
msgstr "Längengrad"
|
||||
|
||||
#: forms/admin_unit.py:19 forms/event.py:18 forms/event.py:36 forms/event.py:41
|
||||
#: forms/event.py:118 forms/event_place.py:20 forms/organizer.py:19
|
||||
#: forms/organizer.py:41 forms/reference.py:18 forms/reference_request.py:14
|
||||
#: templates/_macros.html:97 templates/admin/admin_units.html:18
|
||||
#: templates/event_place/list.html:19 templates/profile.html:16
|
||||
#: templates/profile.html:36
|
||||
#: forms/event.py:118 forms/event_place.py:20 forms/event_place.py:42
|
||||
#: forms/organizer.py:19 forms/organizer.py:41 forms/reference.py:18
|
||||
#: forms/reference_request.py:14 templates/_macros.html:97
|
||||
#: templates/admin/admin_units.html:18 templates/event_place/list.html:19
|
||||
#: templates/profile.html:16 templates/profile.html:36
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
@ -278,7 +278,7 @@ msgstr "Vorheriges Startdatum"
|
||||
msgid "Tags"
|
||||
msgstr "Stichworte"
|
||||
|
||||
#: forms/event.py:51 forms/event.py:141 forms/event_place.py:44
|
||||
#: forms/event.py:51 forms/event.py:141 forms/event_place.py:48
|
||||
#: templates/_macros.html:363 templates/event/create.html:59
|
||||
#: templates/event/update.html:46 templates/manage/events.html:17
|
||||
#: templates/manage/places.html:17 templates/organizer/create.html:16
|
||||
@ -351,7 +351,7 @@ msgstr "Bewertung"
|
||||
#: forms/event.py:73 forms/event.py:74 forms/event.py:105
|
||||
#: templates/_macros.html:333 templates/event/create.html:84
|
||||
#: templates/event/update.html:55 templates/event_place/create.html:20
|
||||
#: templates/event_place/update.html:20
|
||||
#: templates/event_place/delete.html:13 templates/event_place/update.html:20
|
||||
msgid "Place"
|
||||
msgstr "Ort"
|
||||
|
||||
@ -475,7 +475,11 @@ msgstr "Ort hinzufügen"
|
||||
msgid "Update place"
|
||||
msgstr "Ort aktualisieren"
|
||||
|
||||
#: forms/event_place.py:43
|
||||
#: forms/event_place.py:41 templates/event_place/delete.html:6
|
||||
msgid "Delete place"
|
||||
msgstr "Ort löschen"
|
||||
|
||||
#: forms/event_place.py:47
|
||||
msgid "Find places"
|
||||
msgstr "Orte finden"
|
||||
|
||||
@ -845,7 +849,7 @@ msgstr "Bearbeiten"
|
||||
|
||||
#: templates/manage/events.html:47 templates/manage/members.html:21
|
||||
#: templates/manage/members.html:36 templates/manage/organizers.html:23
|
||||
#: templates/manage/references_incoming.html:20
|
||||
#: templates/manage/places.html:35 templates/manage/references_incoming.html:20
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
@ -980,6 +984,14 @@ msgstr "Ort erfolgreich erstellt"
|
||||
msgid "Place successfully updated"
|
||||
msgstr "Ort erfolgreich aktualisiert"
|
||||
|
||||
#: views/event_place.py:70
|
||||
msgid "Entered name does not match place name"
|
||||
msgstr "Der eingegebene Name entspricht nicht dem Namen des Ortes"
|
||||
|
||||
#: views/event_place.py:75
|
||||
msgid "Place successfully deleted"
|
||||
msgstr "Ort erfolgreich gelöscht"
|
||||
|
||||
#: views/event_review.py:55 views/reference_request_review.py:76
|
||||
msgid "Event review status updated"
|
||||
msgstr "Prüfungsstatus aktualisiert"
|
||||
|
||||
@ -4,7 +4,7 @@ from flask import render_template, flash, url_for, redirect, request, jsonify
|
||||
from flask_babelex import gettext
|
||||
from flask_security import auth_required
|
||||
from access import has_access, access_or_401, get_admin_unit_for_manage_or_404
|
||||
from forms.event_place import UpdateEventPlaceForm, CreateEventPlaceForm
|
||||
from forms.event_place import UpdateEventPlaceForm, CreateEventPlaceForm, DeleteEventPlaceForm
|
||||
from .utils import flash_errors, upsert_image_with_data, send_mail, handleSqlError
|
||||
from sqlalchemy.sql import asc, func
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
@ -57,6 +57,34 @@ def event_place_update(id):
|
||||
form=form,
|
||||
place=place)
|
||||
|
||||
@app.route('/event_place/<int:id>/delete', methods=('GET', 'POST'))
|
||||
@auth_required()
|
||||
def event_place_delete(id):
|
||||
place = EventPlace.query.get_or_404(id)
|
||||
access_or_401(place.adminunit, 'place:delete')
|
||||
|
||||
form = DeleteEventPlaceForm()
|
||||
|
||||
if form.validate_on_submit():
|
||||
if form.name.data != place.name:
|
||||
flash(gettext('Entered name does not match place name'), 'danger')
|
||||
else:
|
||||
try:
|
||||
organizer_id=place.organizer.id
|
||||
db.session.delete(place)
|
||||
db.session.commit()
|
||||
flash(gettext('Place successfully deleted'), 'success')
|
||||
return redirect(url_for('manage_organizer_event_places', organizer_id=organizer_id))
|
||||
except SQLAlchemyError as e:
|
||||
db.session.rollback()
|
||||
flash(handleSqlError(e), 'danger')
|
||||
else:
|
||||
flash_errors(form)
|
||||
|
||||
return render_template('event_place/delete.html',
|
||||
form=form,
|
||||
place=place)
|
||||
|
||||
def update_event_place_with_form(place, form):
|
||||
form.populate_obj(place)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user