mirror of
https://github.com/lucaspalomodevelop/eventcally.git
synced 2026-03-20 11:06:09 +00:00
Delete event
This commit is contained in:
parent
af56a9ea03
commit
21e96ecbf6
32
app.py
32
app.py
@ -662,6 +662,9 @@ def can_create_event():
|
||||
def can_update_event(event):
|
||||
return can_create_event()
|
||||
|
||||
def can_delete_event(event):
|
||||
return can_update_event(event)
|
||||
|
||||
def can_create_place():
|
||||
return can_create_event()
|
||||
|
||||
@ -1288,7 +1291,7 @@ def api_events():
|
||||
result['event'] = structured_events
|
||||
return jsonify(result)
|
||||
|
||||
from forms.event import CreateEventForm, UpdateEventForm
|
||||
from forms.event import CreateEventForm, UpdateEventForm, DeleteEventForm
|
||||
from forms.event_suggestion import CreateEventSuggestionForm
|
||||
from forms.place import CreatePlaceForm, UpdatePlaceForm
|
||||
from forms.organization import CreateOrganizationForm, UpdateOrganizationForm
|
||||
@ -1364,6 +1367,33 @@ def event_update(event_id):
|
||||
form=form,
|
||||
event=event)
|
||||
|
||||
@app.route('/event/<int:event_id>/delete', methods=('GET', 'POST'))
|
||||
def event_delete(event_id):
|
||||
event = Event.query.get_or_404(event_id)
|
||||
|
||||
if not can_delete_event(event):
|
||||
abort(401)
|
||||
|
||||
form = DeleteEventForm()
|
||||
|
||||
if form.validate_on_submit():
|
||||
if form.name.data != event.name:
|
||||
flash(gettext('Entered name does not match event name'), 'danger')
|
||||
else:
|
||||
try:
|
||||
db.session.delete(event)
|
||||
db.session.commit()
|
||||
flash(gettext('Event successfully deleted'), 'success')
|
||||
return redirect(url_for('events'))
|
||||
except SQLAlchemyError as e:
|
||||
flash(handleSqlError(e), 'danger')
|
||||
else:
|
||||
flash_errors(form)
|
||||
|
||||
return render_template('event/delete.html',
|
||||
form=form,
|
||||
event=event)
|
||||
|
||||
@app.route("/events/rrule", methods=['POST'])
|
||||
def event_rrule():
|
||||
year = request.json['year']
|
||||
|
||||
@ -99,4 +99,8 @@ class CreateEventForm(FlaskForm):
|
||||
return True
|
||||
|
||||
class UpdateEventForm(CreateEventForm):
|
||||
submit = SubmitField(lazy_gettext("Update event"))
|
||||
submit = SubmitField(lazy_gettext("Update event"))
|
||||
|
||||
class DeleteEventForm(FlaskForm):
|
||||
submit = SubmitField(lazy_gettext("Delete event"))
|
||||
name = StringField(lazy_gettext('Name'), validators=[DataRequired()])
|
||||
24
templates/event/delete.html
Normal file
24
templates/event/delete.html
Normal file
@ -0,0 +1,24 @@
|
||||
{% extends "layout.html" %}
|
||||
{% from "_macros.html" import render_datepicker_js, render_field_with_errors, render_field %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h1>{{ _('Delete event') }} "{{ event.name }}"</h1>
|
||||
|
||||
<form action="{{ url_for('event_delete', event_id=event.id) }}" method="POST">
|
||||
{{ form.hidden_tag() }}
|
||||
|
||||
<div class="card mb-4">
|
||||
<div class="card-header">
|
||||
{{ _('Event') }}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{{ render_field_with_errors(form.name) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ render_field(form.submit) }}
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
@ -29,6 +29,7 @@
|
||||
{% if can_update_event %}
|
||||
<div class="my-4">
|
||||
<a class="btn btn-primary my-1" href="{{ url_for('event_update', event_id=event.id) }}" role="button"><i class="fa fa-edit"></i> {{ _('Update event') }}</a>
|
||||
<a class="btn btn-danger my-1" href="{{ url_for('event_delete', event_id=event.id) }}" role="button"><i class="fa fa-trash"></i> {{ _('Delete event') }}...</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user