def form_valid(self, form): flag_type = form.cleaned_data['flag_type'] extra_comments = form.cleaned_data['extra_comments'] flagger = self.request.user content = self._get_content() flag = Flag.create_flag(content, flag_type, flagger, extra_comments) if flag: messages.success(self.request, "You have successfully flagged the content.") else: messages.warning(self.request, "You have already flagged this content.") return redirect(self._get_redirect_path())
def get(self, request, *args, **kwargs): # Check to see if the user has already flagged this content if Flag.flagged(self._get_content(), flagger=request.user): return self.content_already_flagged(request, *args, **kwargs) return super(FlagView, self).get(request, *args, **kwargs)