in moderator/moderate/views.py [0:0]
def edit_event(request, slug=None):
"""Creates a new event."""
user = request.user
query_args = []
user_can_edit = False
if not user.is_superuser:
query_args = [Q(moderators=user)]
event = get_object_or_404(Event, *query_args, slug=slug) if slug else None
# if there is an event or no slug, the user can edit
if event or not slug:
user_can_edit = True
event_form = EventForm(request.POST or None, instance=event, user=user)
if event_form.is_valid():
e = event_form.save(commit=False)
if not event:
e.created_by = user
e.save()
event_form.save_m2m()
if slug:
msg = "Event successfully edited."
else:
msg = "Event successfully created."
messages.success(request, msg)
if e.archived:
return redirect(reverse("archive"))
return redirect(reverse("main"))
ctx = {
"slug": event.slug if event else None,
"event_form": event_form,
"event": event,
"profile": user.userprofile,
"user_can_edit": user_can_edit,
}
return render(request, "create_event.jinja", ctx)