00af109e2f
* add flake8 to pre-commit config, and fixup many things to make flake8 happy * add isort and sort all imports, add to pre-commit and requirements
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
from django.contrib import messages
|
|
from django.contrib.auth.mixins import LoginRequiredMixin
|
|
from django.http import HttpResponseRedirect
|
|
from django.urls import reverse
|
|
from django.views.generic import CreateView
|
|
|
|
from camps.mixins import CampViewMixin
|
|
from tokens.models import Token
|
|
|
|
from .models import Feedback
|
|
|
|
|
|
class FeedbackCreate(LoginRequiredMixin, CampViewMixin, CreateView):
|
|
model = Feedback
|
|
fields = ["feedback"]
|
|
|
|
def form_valid(self, form):
|
|
feedback = form.save(commit=False)
|
|
feedback.user = self.request.user
|
|
feedback.camp = self.camp
|
|
feedback.save()
|
|
thanks_message = "Thank you! Your feedback is highly appreciated!"
|
|
try:
|
|
token = Token.objects.get(camp=self.camp, description="Feedback thanks")
|
|
thanks_message += " And for your efforts, here is a token: {}".format(
|
|
token.token
|
|
)
|
|
except Token.DoesNotExist:
|
|
pass
|
|
|
|
messages.success(self.request, thanks_message)
|
|
|
|
return HttpResponseRedirect(
|
|
reverse("feedback", kwargs={"camp_slug": self.camp.slug})
|
|
)
|