def ajax_feedback(request): data = request.POST.copy() res = { 'status': 'NODATA', 'errors': None, } feedback_form = FeedbackForm(data=data) if feedback_form.is_bound: if feedback_form.is_valid(): feedback = feedback_form.save(commit=False) feedback.site = sites_models.Site.objects.get_current() if request.user.id: feedback.user = request.user feedback.save() res = { 'status': 'OK', 'errors': None, } else: res = { 'status': 'NOK', 'errors': feedback_form.errors, } return HttpResponse(simplejson.dumps(res), content_type='text/json')
def create(request): error = '' if request.method == 'POST': yesterday = timezone.now() - timezone.timedelta(minutes=1) if Feedback.objects.filter(user=request.user, creation_time__gt=yesterday).exists(): raise PermissionDenied() form = FeedbackForm(request.POST, request.FILES) if form.is_valid(): feedback = form.save(commit=False) feedback.user = request.user feedback.save() email = EmailMessage( subject=feedback.title, body=feedback.description, to=[a[1] for a in MANAGERS], reply_to=[feedback.user.email] ) if request.FILES: path_to_file = os.path.join(MEDIA_ROOT, feedback.attachment.name) email.attach_file(path_to_file) email.send() return redirect('success') else: error = 'Incorrect form!!' else: form = FeedbackForm() context = { 'form': form, 'error': error } return render(request, "feedback/create.html", context)
def index(request): if request.method == 'POST': f = FeedbackForm(data=request.POST) if f.is_valid(): f.instance.create_date = datetime.datetime.now() f.save() mail_template = MailTemplate.objects.get(code__exact='FEEDBACK') body = mail_template.body.replace('###hostname###', request.get_host()) body = body.replace('###email###', f.instance.email) body = body.replace('###user_name###', f.instance.user_name) body = body.replace('###subject###', f.instance.subject.title) body = body.replace('###body###', f.instance.body) body = body.replace('###is_answer_needed###', u'Да' if f.instance.is_answer_needed else u'Нет') email = EmailMessage( mail_template.subject, body, mail_template.from_email, [mail_template.admin_email, ], [mail_template.copy_emails, ], headers={'Reply-To': mail_template.from_email, 'From': mail_template.from_name} ) email.content_subtype = "html" email.send() messages.add_message(request, messages.SUCCESS, _("Message sent successfully!")) return redirect('feedback_success') else: f = FeedbackForm() return render(request, 'feedback/index.html', {'form': f})
def submitFeedback(request): if request.method == 'POST': form = FeedbackForm(request.POST) if form.is_valid(): user = request.user feedback_message = form.cleaned_data['feedback_message'] feedback = Feedback.objects.create( user=user, feedback_message=feedback_message) feedback_message_email = "From: %s <%s>\nFeedback:\n\n%s" % ( user.get_full_name(), user.email, feedback_message) send_mail( 'Student Explorer Feedback (%s, id: %s)' % (user.email, feedback.id), feedback_message_email, settings.FEEDBACK_EMAIL, (settings.FEEDBACK_EMAIL, ), fail_silently=False, ) messages.add_message(request, messages.SUCCESS, 'Thank you for submitting your feedback!') return HttpResponseRedirect('/') else: form = FeedbackForm() return render(request, 'feedback/feedback.html', {'form': form})
def feedback(request): """ Add feedback """ if request.method == 'POST': form = FeedbackForm(request.POST) if form.is_valid(): new_fb = form.save(commit=False) new_fb.user_agent = request.META['HTTP_USER_AGENT'] new_fb.save() #admin = User.objects.filter(pk=settings.ADMINS) # Send an email to the admin letting them know that feedback was submitted subject = render_to_string('feedback/email_subject.txt') message = render_to_string('feedback/email_body.txt', { 'feedback': form.cleaned_data['feedback'], 'user_agent':request.META['HTTP_USER_AGENT']}) recipients = [settings.ADMINS] send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, recipients) return HttpResponseRedirect('/feedback-thanks/') else: form = FeedbackForm() return render_to_response('feedback/feedback_form.html', { 'form':form, }, context_instance=RequestContext(request))
def index(request): form = FeedbackForm() msg = None if request.method=='POST': form = FeedbackForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] email = form.cleaned_data['email'] feedback = form.cleaned_data['feedback'] #save to database and email to group new_obj = form.save(commit=False) new_obj.date_sub = datetime.now() new_obj.save() form.save_m2m() subject = '[Website Feedback] Feedback from %s'%(name) html_content = 'Hello Team.<br /> Following is a feedback on EDC website from <strong>%s</strong>. Concerned authority should reply to this feedback at <strong>%s</strong> as soon as possible. <br /><br /><span style="border:2px;border-style:solid;width:800px;display:block;"><p style="margin-left:20px;">%s</p></span><hr /><span style="color:grey;">You have received this message because the Website feedbacks have been programmed to be sent automatically to the EDC group. If you do not want to receive feedbacks on group, please hire another python programmer. </span><br /><br />Regards,<br/>Webmaster'%(name,email,feedback) from_email = '*****@*****.**' mail = EmailMessage(subject, html_content, "*****@*****.**", ["*****@*****.**"]) mail.content_subtype = "html" # Main content is now text/html mail.send() msg = 'Your feedback was recorded successfully. Thanks much! We shall get back to you soon.' return render_to_response('feedback/feedback.html',{'name':'Feedback','list':menu,'form':form,'msg':msg},context_instance=RequestContext(request))
def post(self, request, *args, **kwargs): form = FeedbackForm(request.POST) if form.is_valid(): return self.form_valid(form) else: # Form isn't valid, return generic 400 return http.HttpResponseBadRequest()
def getFeedback(request, templateName): if request.method == 'POST': form = FeedbackForm(request.POST) if form.is_valid(): clean = form.cleaned_data if request.user.is_authenticated(): no = request.user.last_name else: no = '匿名' Feedback.objects.create( netid = no, content = clean['content'], campus = clean['campus'], name = clean['name'], phone = clean['phone'], email = clean['email'], ) else: print form.errors return HttpResponseRedirect('/feedback/') else: form = FeedbackForm() return render_to_response(templateName, { 'form' : form, }, context_instance = RequestContext(request))
def post(self, request): cek_session(request) elder = None if request.session.get('active_elder') is not None and request.session[ 'active_elder'] != 0: elder = Elder.objects.get(pk=request.session.get('active_elder')) elders = Elder.get_cared_elder(user=CareGiver.objects.get( user=request.user)) feedback = Feedback.objects.filter(owner=request.user) form = FeedbackForm(request.POST) if form.is_valid(): new = form.save(commit=False) new.status = 's' new.owner = request.user new.save() feedback = Feedback.objects.filter(owner=request.user) return render( request, 'feedback.html', { 'elders': elders, 'success': 'Feedback berhasil ditambahkan', 'active_elder': elder, 'feedback': feedback }) else: return render( request, 'feedback.html', { 'elders': elders, 'error': form.errors, 'active_elder': elder, 'feedback': feedback })
def leave_feedback(request, template_name='feedback/feedback_form.html'): if request.method == "GET": nexturl = request.GET.get('next') else: nexturl = request.POST.get('next') if request.user.is_authenticated(): form = FeedbackForm(request.POST or None) else: form = AnonymousFeedbackForm(request.POST or None) if form.is_valid(): feedback = form.save(commit=False) if request.user.is_anonymous(): feedback.user = None else: feedback.user = request.user feedback.save() messages.add_message(request, messages.SUCCESS, 'Your feedback was submitted.') return HttpResponseRedirect(nexturl) return render_to_response( template_name, { 'feedback_form': form, 'next': nexturl }, context_instance=RequestContext(request))
def test_form(self): form_file_data = dict() form_data = dict( description='Test description', ) form = FeedbackForm(form_data, form_file_data) self.assertTrue(form.is_valid())
def leave_feedback(request, template_name='feedback/feedback_form.html'): ''' Generate and manage the form for feedback, and ulterior AJAX exchanges Only respond to Ajax call. Will return Http404 in case of non-xhr request Parameters ---------- request : HttpRequest user request sent by browser template_url : string Url of the template to use for rendering ''' if request.is_ajax(): # Create Form if request.user.is_authenticated(): form = FeedbackForm(request.POST or None) elif getattr(settings, 'ALLOW_ANONYMOUS_FEEDBACK', False): form = AnonymousFeedbackForm(request.POST or None) else: raise Http404 # POST if request.method == 'POST': if form.is_valid(): feedback = form.save(commit=False) if request.user.is_anonymous(): feedback.user = None else: feedback.user = request.user try: feedback.context_url = request.META['HTTP_REFERER'] feedback.browser = request.META['HTTP_USER_AGENT'] except KeyError: pass feedback.save() data = { 'success': _('Your feedback has been sent to us! Thanks a lot.') } else: data = { 'success': False, 'errors': dict([(k, [unicode(e) for e in v]) for k, v in form.errors.items()]) } return JSONResponse(request, data) else: context = { 'feedback_form': form, } return render(request, template_name, context) else: raise Http404
def leave_feedback(request, template_name='feedback/feedback_form.html'): form = FeedbackForm(request.POST or None) if form.is_valid(): feedback = form.save(commit=False) feedback.user = request.user feedback.save() request.user.message_set.create(message=_("Your feedback has been saved successfully.")) return HttpResponseRedirect(request.POST.get('next', request.META.get('HTTP_REFERER', '/'))) return render_to_response(template_name, {'feedback_form': form}, context_instance=RequestContext(request))
def post(self, request, *args, **kwargs): form = FeedbackForm(request.POST) result = {"success":False,"message":"Something in the form submission failed, we're looking into it"} if form.is_valid(): feedback = form.save(commit=False) feedback.user = request.user feedback.save() result = {"success":True,"message":"Thank You"} return HttpResponse(simplejson.dumps(result), mimetype='application/json')
def leave_feedback(request, template_name='feedback/feedback_form.html'): form = FeedbackForm(request.POST or None, initial={ 'next': getattr(settings, 'FEEDBACK_REDIRECT_URL', request.get_full_path()) }) if form.is_valid(): feedback = form.save(commit=False) feedback.user = request.user feedback.save() messages.success(request, _("Your feedback has been saved successfully.")) return HttpResponseRedirect(form.cleaned_data.get('next', request.META.get('HTTP_REFERER', '/'))) return render_to_response(template_name, {'feedback_form': form}, context_instance=RequestContext(request))
def submit_bug(request): # if the request is a POST request if request.method == 'POST': form = FeedbackForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('/bugs/merci') # if the request is a GET request else: form = FeedbackForm() return render(request, "feedback/submit.html", { 'form' : form })
def leave_feedback(request): if request.method == 'POST': form = FeedbackForm(request.POST) if form.is_valid(): feedback = form.save() if feedback.user: request.user.message_set.create(message="Your feedback has been saved successfully.") return HttpResponseRedirect(request.POST.get('next', request.META.get('HTTP_REFERER', '/'))) else: form = FeedbackForm(request.GET) return render_to_response('feedback/feedback_form.html', {'form': form}, context_instance=RequestContext(request))
def feedback_ajax(request): form = FeedbackForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] message = form.cleaned_data['message'] Feedback(email=email, message=message, type="gen", status=1).save() return { 'status': 201, 'message': _('Success! Thanks for taking the time to write.')} else: return { 'status': 400, 'message': _(u"Not valid data")}
def leave_feedback(request, template_name='feedback/feedback_form.html'): """ returns a feedback form if GET and validates,saves it if POST redirects back after save """ form = FeedbackForm(request.POST or None) if form.is_valid(): feedback = form.save(commit=False) feedback.save() messages.add_message(request, messages.SUCCESS, "Your feedback was submitted.") #redirecting back return HttpResponseRedirect(request.POST.get('next', request.META.get('HTTP_REFERER', '/'))) return render_to_response(template_name, {'feedback_form': form}, context_instance=RequestContext(request))
def leave_feedback(request, template_name='feedback/feedback_form.html'): form = FeedbackForm(request.POST or None) if form.is_valid(): feedback = form.save(commit=False) feedback.user = request.user feedback.site = sites_models.Site.objects.get_current() feedback.save() request.user.message_set.create( message=_("Your feedback has been saved successfully.")) return HttpResponseRedirect( request.POST.get('next', request.META.get('HTTP_REFERER', '/'))) return render_to_response(template_name, {'feedback_form': form}, context_instance=RequestContext(request))
def contacts(request): c = get_common_context(request) c.update({'content': Page.get('contacts', c['lang'])['content']}) if request.method == 'GET': c.update({'form': FeedbackForm()}) elif request.method == 'POST': form = FeedbackForm(request.POST) if form.is_valid(): form.save() form = FeedbackForm() c['feedback_ok'] = True c.update({'form': form}) return render_to_response('contacts.html', c, context_instance=RequestContext(request))
def contacts(request): c = get_common_context(request) c.update({"p": Page.get_by_slug("contacts")}) if request.method == "GET": c.update({"form": FeedbackForm()}) return render_to_response("contacts.html", c, context_instance=RequestContext(request)) elif request.method == "POST": form = FeedbackForm(request.POST) if form.is_valid(): form.save() form = FeedbackForm() c.update({"form": form}) return render_to_response("contacts.html", c, context_instance=RequestContext(request))
def leave_feedback(request, message='Thanks for your feedback!', message_level=messages.SUCCESS): form = FeedbackForm(request.POST or None) if form.is_valid(): feedback = form.save(commit=False) feedback.page = request.POST.get('next', request.META.get('HTTP_REFERER', '/')) if request.user.is_authenticated(): feedback.user = request.user messages.add_message(request, message_level, message) feedback.save() if settings.FEEDBACK_SENDS_EMAIL: feedback.send_feedback_email() return HttpResponseRedirect(feedback.page) return render_to_response('feedback/feedback_form.html', {'form': form}, context_instance=RequestContext(request))
def show_feedback_form(request): if request.POST: form = FeedbackForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('success_post.html') else: form = FeedbackForm() context = RequestContext(request) context.update({'active_menu':'feedback'}) return render_to_response('submit_feedback.html', {'form':form}, context_instance=context)
def leave_feedback(request, template_name='feedback/feedback_form.html'): ''' Generate and manage the form for feedback, and ulterior AJAX exchanges Only respond to Ajax call. Will return Http404 in case of non-xhr request Parameters ---------- request : HttpRequest user request sent by browser template_url : string Url of the template to use for rendering ''' if request.is_ajax(): # Create Form if request.user.is_authenticated(): form = FeedbackForm(request.POST or None) elif getattr(settings, 'ALLOW_ANONYMOUS_FEEDBACK', False): form = AnonymousFeedbackForm(request.POST or None) else: raise Http404 # POST if request.method == 'POST': if form.is_valid(): feedback = form.save(commit=False) if request.user.is_anonymous(): feedback.user = None else: feedback.user = request.user try: feedback.context_url = request.META['HTTP_REFERER'] feedback.browser = request.META['HTTP_USER_AGENT'] except KeyError: pass feedback.save() data = {'success': _('Your feedback has been sent to us! Thanks a lot.')} else: data = { 'success': False, 'errors': dict([(k, [unicode(e) for e in v]) for k,v in form.errors.items()])} return JSONResponse(request, data) else : context = { 'feedback_form':form, } return render(request, template_name, context) else : raise Http404
def show_feedback_form(request): if request.POST: form = FeedbackForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('success_post.html') else: form = FeedbackForm() context = RequestContext(request) context.update({'active_menu': 'feedback'}) return render_to_response('submit_feedback.html', {'form': form}, context_instance=context)
def test_form_no_description(self): form_file_data = dict( screenshot=SimpleUploadedFile('screenshot.png', b' '), blackbox=SimpleUploadedFile('blackbox.tar', b' '), system_logs=SimpleUploadedFile('system_logs.zip', b' '), attached_file=SimpleUploadedFile('attach.zip', b' '), ) form_data = dict( email='*****@*****.**', page_url='http://url.com/', ) form = FeedbackForm(form_data, form_file_data) self.assertFalse(form.is_valid())
def feedback(request): if request.method == 'POST': form = FeedbackForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] message = form.cleaned_data['message'] Feedback(email=email, message=message, type="gen", status=1).save() return HttpResponseRedirect(reverse('feedback_completed')) return render_to_response('feedback_completed.html', {}, request) else: form = FeedbackForm() return render_to_response('feedback.html', { 'form': form}, request)
def feedback(request): items = Feedback.objects.all() if request.method == "POST": form = FeedbackForm(request.POST) if form.is_valid(): item = form.save(commit=False) item.save() else: form = FeedbackForm() return render(request, 'feedback/feedback.html', { 'items': items, 'form': form, 'title': 'Feedback', })
def leave_feedback(request, template_name='feedback/feedback_form.html'): if request.user.is_authenticated(): form = FeedbackForm(request.POST or None) else: form = AnonymousFeedbackForm(request.POST or None) if form.is_valid(): feedback = form.save(commit=False) if request.user.is_anonymous(): feedback.user = None else: feedback.user = request.user feedback.save() messages.add_message(request, messages.SUCCESS, "Your feedback was submitted.") return HttpResponseRedirect(request.POST.get('next', request.META.get('HTTP_REFERER', '/'))) return render_to_response(template_name, {'feedback_form': form}, context_instance=RequestContext(request))
def contacts(request): c = get_common_context(request) c['title'] = u'Контакты' c['content'] = Page.get_by_slug('contacts').content form = FeedbackForm() if request.method == 'POST': if request.POST['action'] == 'feedback': form = FeedbackForm(request.POST) if form.is_valid(): form.save() c['form_send'] = True c['form'] = form return render_to_response('contacts.html', c, context_instance=RequestContext(request))
def contacts(request): reset_catalog(request) c = get_common_context(request) if request.method == 'GET': c['form'] = FeedbackForm() else: form = FeedbackForm(request.POST) if form.is_valid(): form.save() form = FeedbackForm() c['msg_sent'] = u'Ваш отзыв отправлен. Спасибо.' else: c['request_form'] = form c['form'] = form return render_to_response('contacts.html', c, context_instance=RequestContext(request))
def list_feedbacks(request): if request.method == 'POST': form = FeedbackForm(request.POST) if form.is_valid(): feedback = form.save(commit=False) feedback.author = request.user feedback.save() feedbacks = Feedback.objects.all().order_by('-published') feedback_list = [] for feedback in feedbacks: feedback_list.append({'feedback':feedback, 'commentform': CommentForm(initial={'feedback':feedback})}) new_feedback = FeedbackForm() return render('feedback/feedback_list.html', {'feedback':feedback_list, 'form':new_feedback}, request)
def post(self, request): data = {} feedback = Feedback(ip=get_client_ip(request)) form = FeedbackForm(request.POST, request.FILES, instance=feedback) if form.is_valid(): form.save(); response = HttpResponse("1") message = ugettext("Your feedback is sent. " "We will work on that as soon as possible.") response['messages'] = json.dumps({"success": [message]}) return response data['form'] = form return TemplateResponse(request, self.template_name, data)
def audiobook(request): c = get_common_context(request) c["text_6"] = TextBlock.get_by_id(6) form = FeedbackForm() if request.method == "POST": form = FeedbackForm(request.POST) if form.is_valid(): f = form.save(commit=False) f.type = u"Получение аудиокниги" f.save() c["form_send"] = True jc_send(f.name.encode("utf-8"), f.email.encode("utf-8")) f.send() c["form"] = form return render_to_response("audiobook.html", c, context_instance=RequestContext(request))
def post(self, request, *args, **kwargs): form = FeedbackForm(request.POST) result = { "success": False, "message": "Something in the form submission failed, we're looking into it" } if form.is_valid(): feedback = form.save(commit=False) feedback.user = request.user feedback.save() result = {"success": True, "message": "Thank You"} return HttpResponse(simplejson.dumps(result), mimetype='application/json')
def test_form(self): form_file_data = dict( screenshot=SimpleUploadedFile('screenshot.png', content=open(IMG_FILE, 'rb').read()), blackbox=SimpleUploadedFile('blackbox.tar', b' '), system_logs=SimpleUploadedFile('system_logs.zip', b' ' * 2), attached_file=SimpleUploadedFile('attach.zip', b' ' * 3), ) form_data = dict(description='Test description', ) form = FeedbackForm(form_data, form_file_data) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data['screenshot_size'], 88) self.assertEqual(form.cleaned_data['blackbox_size'], 1) self.assertEqual(form.cleaned_data['system_logs_size'], 2) self.assertEqual(form.cleaned_data['attached_file_size'], 3)
def leave_feedback(request, template_name='contacts.html'): contacts = FlatPage.objects.get(url=request.path) form = FeedbackForm(request.POST or None) if form.is_valid(): feedback = form.save(commit=False) feedback.save() message = "Your feedback was submitted." cd = form.cleaned_data send_mail( '%s(%s)'%(cd['name'], cd['phone']), cd['message'], cd.get('email', '*****@*****.**'), ['*****@*****.**']) #redirecting back return HttpResponseRedirect(request.POST.get('next', request.META.get('HTTP_REFERER', '/'))) # return render_to_response(template_name, {'next' : request.GET.get('next', '/'), 'feedback_form': FeedbackForm(None), 'mes':message}, context_instance=RequestContext(request)) return render_to_response(template_name, {'feedback_form': form, 'contacts': contacts}, context_instance=RequestContext(request))
def test_form(self): form_file_data = dict( screenshot=SimpleUploadedFile('screenshot.png', content=open(IMG_FILE, 'rb').read()), blackbox=SimpleUploadedFile('blackbox.tar', b' '), system_logs=SimpleUploadedFile('system_logs.zip', b' '*2), attached_file=SimpleUploadedFile('attach.zip', b' '*3), ) form_data = dict( description='Test description', ) form = FeedbackForm(form_data, form_file_data) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data['screenshot_size'], 88) self.assertEqual(form.cleaned_data['blackbox_size'], 1) self.assertEqual(form.cleaned_data['system_logs_size'], 2) self.assertEqual(form.cleaned_data['attached_file_size'], 3)
def contacts(request): c = get_common_context(request) c.update({'p': Page.get_by_slug('contacts')}) if request.method == 'GET': c.update({'form': FeedbackForm()}) return render_to_response('contacts.html', c, context_instance=RequestContext(request)) elif request.method == 'POST': form = FeedbackForm(request.POST) if form.is_valid(): form.save() form = FeedbackForm() c.update({'form': form}) return render_to_response('contacts.html', c, context_instance=RequestContext(request))
def submit_feedback(request): submitted = False feedback_form = FeedbackForm(data=request.POST) if request.method == 'POST': if feedback_form.is_valid(): f = feedback_form.save(commit=False) f.save() submitted = True return render_to_response( 'feedback/feedback.html', {'submitted':submitted,}, RequestContext(request))
def leave_feedback(request, template_name='feedback/feedback_form.html'): form = FeedbackForm(request.POST or None, initial={ 'next': getattr(settings, 'FEEDBACK_REDIRECT_URL', request.get_full_path()) }) if form.is_valid(): feedback = form.save(commit=False) feedback.user = request.user feedback.save() messages.success(request, _("Your feedback has been saved successfully.")) return HttpResponseRedirect( form.cleaned_data.get('next', request.META.get('HTTP_REFERER', '/'))) return render_to_response(template_name, {'feedback_form': form}, context_instance=RequestContext(request))
def leave_feedback(request, template_name='feedback/feedback_form.html'): if request.user.is_authenticated(): form = FeedbackForm(request.POST or None) else: form = AnonymousFeedbackForm(request.POST or None) if form.is_valid(): feedback = form.save(commit=False) if request.user.is_anonymous(): feedback.user = None else: feedback.user = request.user feedback.save() messages.add_message(request, messages.SUCCESS, "Your feedback was submitted.") return HttpResponseRedirect( request.POST.get('next', request.META.get('HTTP_REFERER', '/'))) return render_to_response(template_name, {'feedback_form': form}, context_instance=RequestContext(request))
def feedback_view(request): if request.method == "POST": form = FeedbackForm(request.POST) if form.is_valid(): form.save() messages.success( request, "Thanks for your feedback! {}".format(SIGNATURE)) return redirect('feedback') else: messages.error( request, "Thanks, but your feedback couldn't be accepted " "due to errors. {}".format(SIGNATURE)) pass # fallthrough to render else: # GET form = FeedbackForm() return render(request, 'feedback.html', {'subject': settings.FEEDBACK_SUBJECT, 'form': form})
def submit(request): if request.method == 'POST': f_form = FeedbackForm(request.POST) if f_form.is_valid(): f_obj = f_form.save() send_mail( 'Feedback Submitted', 'Thanks for submitting your suggestion.', settings.DEFAULT_FROM_EMAIL, [f_obj.feedback_email], ) return HttpResponse('Thanks for submitting your suggestion.') else: error_fields = f_form.errors.keys() for each_field in error_fields: f_form.fields[each_field].widget.attrs['class'] = 'textbox_error' else: f_form = FeedbackForm() return render_to_response('feedback_form.html', locals(), context_instance = RequestContext( request ))
def index(request): if request.method == 'POST': f = FeedbackForm(user=request.user, data=request.POST) if f.is_valid(): if request.user.is_authenticated(): f.instance.user = request.user f.save() # отправляем письмо с данными учетной записи пользователю mail_template = MailTemplate.objects.get( code__exact='USERFEEDBACK') body = mail_template.body.replace('###hostname###', request.get_host()) body = body.replace('###author_email###', f.instance.author_email) body = body.replace('###subject###', f.instance.subject) body = body.replace('###body###', f.instance.body) email = EmailMessage(mail_template.subject, body, mail_template.from_email, [ mail_template.admin_email, ], mail_template.copy_emails.split(';'), headers={ 'Reply-To': mail_template.from_email, 'From': mail_template.from_name }) email.content_subtype = "html" email.send() messages.add_message(request, messages.SUCCESS, "Сообщение успешно отправлено!") return redirect('feedback_index') else: f = FeedbackForm() return render(request, 'feedback/index.html', {'form': f})
def index(request): if request.method == 'POST': f = FeedbackForm(data=request.POST) if f.is_valid(): f.instance.create_date = datetime.datetime.now() f.save() mail_template = MailTemplate.objects.get(code__exact='FEEDBACK') body = mail_template.body.replace('###hostname###', request.get_host()) body = body.replace('###email###', f.instance.email) body = body.replace('###user_name###', f.instance.user_name) body = body.replace('###subject###', f.instance.subject.title) body = body.replace('###body###', f.instance.body) body = body.replace( '###is_answer_needed###', u'Да' if f.instance.is_answer_needed else u'Нет') email = EmailMessage(mail_template.subject, body, mail_template.from_email, [ mail_template.admin_email, ], [ mail_template.copy_emails, ], headers={ 'Reply-To': mail_template.from_email, 'From': mail_template.from_name }) email.content_subtype = "html" email.send() messages.add_message(request, messages.SUCCESS, _("Message sent successfully!")) return redirect('feedback_success') else: f = FeedbackForm() return render(request, 'feedback/index.html', {'form': f})
def post(self, request): context = {} form = FeedbackForm(request.POST) if form.is_valid(): form.save() context['data'] = form.cleaned_data value = form.cleaned_data['gender'] if value == 1: context['data']['gender'] = 'Мужской' else: context['data']['gender'] = 'Женский' value = form.cleaned_data['service'] if value == 1: context['data']['service'] = "Покупка квартиры" elif value == 2: context['data']['service'] = "Работа персонала" elif value == 3: context['data']['service'] = "Использование сайта" elif value == 4: context['data']['service'] = "Прочее" return render(request, "feedback.html", context)
def feedback_process(request): User = get_object_or_404(Profile, pk=request.user.pk) contact_template = 'feedback/feedback_contact.html' # sucess_template = 'thanks.html' # if this is a POST request we need to process the form data if request.method == 'POST': # create a form instance and populate it with data from the request: form = FeedbackForm(request.POST) # check whether it's valid: if form.is_valid(): receiver_email = settings.EMAIL_HOST_USER subject = form.subject(User.role) message = form.cleaned_data['message'] # handle email eceptions try: send_mail(subject, message, request.user.email, [receiver_email]) except Exception as ex: data = messages.add_message(request, messages.ERROR,'An error occurred. {}'.format(str(ex))) else: feedback_form = form.save(commit=False) # feedback_form.receiver_email = receiver_email feedback_form.user = User feedback_form.save() data = messages.add_message(request, messages.INFO, 'Thanks for sending a feedback.') # render thank you message return render(request, contact_template, {'message': data}) # if a GET (or any other method) we'll create a blank form else: form = FeedbackForm(user=User.user) return render(request, contact_template, {'form': form})
def feedback(request): """ Страница с формой обратной связи """ initial = {} if request.user.is_authenticated() and request.user.profile: initial = { 'name': request.user.profile.name, 'phone': request.user.profile.get_phone(), 'email': request.user.email } feedback_form = FeedbackForm(request.POST or None, initial=initial) feedback_form_sending = False if request.method == 'POST' and request.POST.get('action') == FeedbackForm.action_text and feedback_form.is_valid(): feedback_form.save() feedback_form = FeedbackForm() feedback_form_sending = True return { 'feedback_form': feedback_form, 'feedback_form_sending': feedback_form_sending, }
def test_form(self): form_file_data = dict() form_data = dict(description='Test description', ) form = FeedbackForm(form_data, form_file_data) self.assertTrue(form.is_valid())
def main(request): if request.user.is_authenticated(): profile = request.user.get_profile() acc = Accounts.objects.filter(profile__id=profile.id).exclude( email=None) emails = [i.email for i in acc] emails = set(emails) current_site = DjangoSite.objects.get_current() feedback_msg = request.session.get('feedback_msg', '') request.session['feedback_msg'] = '' if request.POST: referer = request.session.get('ref') request.session['ref'] = '' form = FeedbackForm(request.POST) if form.is_valid(): email = request.POST.get('emails') if not email: email = form.cleaned_data['email'] create_account(profile, email, None, email=email) msg = form.cleaned_data['msg'] msg = u'%s\n(Пользователь %s [Отправлено со страницы %s])' % ( msg, email, referer) # [email protected] # [email protected] if current_site.domain == 'kinoinfo.ru': send_mail('Обратная связь kinoinfo.ru', msg, '', ['*****@*****.**']) elif current_site.domain == 'kinoafisha.in.ua': send_mail('Обратная связь kinoafisha.in.ua', msg, '', ['*****@*****.**']) elif current_site.domain == 'umru.net': send_mail('Обратная связь umru.net', msg, '', ['*****@*****.**']) request.session['feedback_msg'] = u'Спасибо за сообщение!' return HttpResponseRedirect(reverse("feedback_main")) else: try: request.session['ref'] = request.META['HTTP_REFERER'] except KeyError: pass form = FeedbackForm() if current_site.domain == 'kinoinfo.ru': template = 'feedback/feedback.html' elif current_site.domain == 'umru.net': template = 'feedback/umrunet_feedback.html' elif current_site.domain == 'kinoafisha.in.ua': template = 'feedback/kua_feedback.html' return render_to_response(template, { 'form': form, 'feedback_msg': feedback_msg, 'feedback': 'feedback', 'emails': emails }, context_instance=RequestContext(request)) else: return HttpResponseRedirect(reverse("main"))