class ComplaintUpdate(TemplateView): form = None template_name = "complaint_edit.html" def get(self, request, *args, **kwargs): self.form = ComplaintForm(instance=Complaint.objects.get( pk=self.kwargs["complaint_id"])) return super(ComplaintUpdate, self).get(request, *args, **kwargs) def get_context_data(self, **kwargs): context = super(ComplaintUpdate, self).get_context_data(**kwargs) context["complaint"] = Complaint.objects.get( pk=self.kwargs["complaint_id"]) context["form"] = self.form return context def post(self, request, *args, **kwargs): complaint = Complaint.objects.get(pk=self.kwargs["complaint_id"]) self.form = ComplaintForm(request.POST, request.FILES, instance=complaint) print(self.form.errors) if self.form.is_valid(): self.form.save() messages.add_message(request, messages.SUCCESS, "Жалоба успешно обновлена!") return redirect("index", group_id=complaint.group.id) else: messages.add_message( request, messages.ERROR, "Ошибка обновления! {}".format(self.form.errors)) return super(ComplaintUpdate, self).get(request, *args, **kwargs)
def post(self, request, *args, **kwargs): self.form = ComplaintForm(request.POST, request.FILES) if self.form.is_valid(): messages.add_message(request, messages.SUCCESS, "Жалоба успешно добавлена!") obj = self.form.save(commit=False) users = User.objects.filter(groups=obj.group) emails = [] for user in users: emails.append(user.email) if not emails: emails.append('*****@*****.**') send_mail( 'НОВАЯ ЖАЛОБА ОТ : {}'.format(obj.fio), 'Номер жалобы: {} \nФИО: {}\nСодержание обращения: {} \nСсылка: https://192.168.10.21/complaints/' .format(obj.name, obj.fio, obj.description), settings.EMAIL_HOST_USER, emails, fail_silently=False) self.form.save() return redirect("index") else: messages.add_message( request, messages.ERROR, "Ошибка добавления! {}".format(self.form.errors)) return super(ComplaintCreate, self).get(request, *args, **kwargs)
def post(self, request, *args, **kwargs): complaint = Complaint.objects.get(pk=self.kwargs["complaint_id"]) self.form = ComplaintForm(request.POST, request.FILES, instance=complaint) print(self.form.errors) if self.form.is_valid(): self.form.save() messages.add_message(request, messages.SUCCESS, "Жалоба успешно обновлена!") return redirect("index", group_id=complaint.group.id) else: messages.add_message( request, messages.ERROR, "Ошибка обновления! {}".format(self.form.errors)) return super(ComplaintUpdate, self).get(request, *args, **kwargs)
def edit(request, complaint_id=None): if complaint_id is not None: try: complaint = Complaint.objects.pluggable_object(request).get(pk=complaint_id) except Complaint.DoesNotExist: raise Http404 else: complaint = None if request.method == 'POST': form = ComplaintForm(request.POST, instance=complaint) if form.is_valid(): complaint = form.save(request) return HttpResponseRedirect(pluggable_reverse(request, 'complaints_index')) else: form = ComplaintForm(instance=complaint) return render_to_response(request.pluggable.config.get('template', 'complaints/edit.html'), { 'form': form, 'base_template': request.pluggable.config.get('base_template', 'base.html'), }, context_instance=RequestContext(request))
def edit(request, complaint_id=None): if complaint_id is not None: try: complaint = Complaint.objects.pluggable_object(request).get( pk=complaint_id) except Complaint.DoesNotExist: raise Http404 else: complaint = None if request.method == 'POST': form = ComplaintForm(request.POST, instance=complaint) if form.is_valid(): complaint = form.save(request) return HttpResponseRedirect( pluggable_reverse(request, 'complaints_index')) else: form = ComplaintForm(instance=complaint) return render_to_response(request.pluggable.config.get( 'template', 'complaints/edit.html'), { 'form': form, 'base_template': request.pluggable.config.get('base_template', 'base.html'), }, context_instance=RequestContext(request))
def index(request): complaints = Complaint.objects.pluggable_object(request) form = ComplaintForm() return render_to_response(request.pluggable.config.get( 'template', 'complaints/index.html'), { 'complaints': complaints, 'form': form, 'base_template': request.pluggable.config.get('base_template', 'base.html'), }, context_instance=RequestContext(request))
def get(self, request, *args, **kwargs): self.form = ComplaintForm(instance=Complaint.objects.get( pk=self.kwargs["complaint_id"])) return super(ComplaintUpdate, self).get(request, *args, **kwargs)
def get(self, request, *args, **kwargs): self.form = ComplaintForm() return super(ComplaintCreate, self).get(request, *args, **kwargs)