def home(request): slides = Slide.objects.all() if request.method == 'POST': if ('contato' in request.POST): contato = Contato() contato.nome = request.POST['nome'] contato.email = request.POST['email'] contato.mensagem = request.POST['mensagem'] contato.save() # send_mail('[Email]',contato.mensagem,contato.email,['*****@*****.**']) send_mail( '[Contato Site] '+contato.nome, contato.mensagem+ "\n\n\n[E-mail para contato: "+contato.email+" ]", contato.email, ['*****@*****.**'], ) if ('newsletter' in request.POST): newsletter = Newsletter() newsletter.nome_news = request.POST['nomenews'] newsletter.email_news = request.POST['emailnews'] newsletter.save() return render(request,'index.html',locals())
def newsletter(request): latest_news = NewsItem.objects.all()[0] if request.method == 'POST': #Attempting to register form = NewsletterForm(request.POST) if form.is_valid(): signup = Newsletter(name = form.cleaned_data['name'], email = form.cleaned_data['email']) signup.save() return redirect('/newsletter/signup-successful/') else: form = NewsletterForm() return render_to_response('newsletter.html', {'form': form, 'latest_news': latest_news}, context_instance=RequestContext(request))
def newsletter(request): if request.is_ajax(): response_message = "success" try: if Newsletter.objects.filter(news_email=request.GET['email']).count(): response_message = "already_signed" else: nowy_email = Newsletter(news_email=request.GET['email'], news_kod=kod_newsletter()) nowy_email.save() except ValueError: response_message = "site_error" except KeyError: raise Http404 return HttpResponse(response_message) else: raise Http404
def newsletter_subscription(): form = NewsletterForm(request.form) if form.validate_on_submit(): # check if email is unique email = Newsletter.query.filter_by(email=form.email.data).first() if not email: # save email email = Newsletter(email=form.email.data) email.save() flash("Thank you for subscribing to our newsletter", "success") else: flash("You are already subscribed to our newsletter", "error") else: for errors in form.errors.values(): for error in errors: flash(f'{error}', "error") break break return redirect(url_for('.index'))
def newsletter(request): if request.is_ajax(): if request.POST: useremail = request.POST.get('email') match = re.search(r'[\w.-]+@[\w.-]+.\w+', useremail) if match: signup = Newsletter(email=useremail, created=datetime.utcnow()) signup.save() news_list = News.objects.order_by('-created') article_list = Article.objects.order_by('-created') jobs_list = Job.objects.order_by('-created') training_list = Training.objects.order_by('-created') context = {'news_list': news_list, 'article_list': article_list, 'jobs_list': jobs_list, 'training_list': training_list} return render(request, 'index.html', context) else: news_list = News.objects.order_by('-created') article_list = Article.objects.order_by('-created') jobs_list = Job.objects.order_by('-created') training_list = Training.objects.order_by('-created') context = {'news_list': news_list, 'article_list': article_list, 'jobs_list': jobs_list, 'training_list': training_list} return render(request, 'index.html', context)
def send(request): if request.method == "POST": subject = request.POST['subject'] message = request.POST['newsletter'] provider = ServiceProvider.objects.get(name=request.user.service_provider.name) # inform the subscribers, according to some criteria number_of_coupons = request.POST['coupons'] number_of_reservations = request.POST['reservations'] if number_of_coupons == "low": low_coupons = 0 high_coupons = 20 elif number_of_coupons == "medium": low_coupons = 21 high_coupons = 40 elif number_of_coupons == "high": low_coupons = 41 high_coupons = sys.maxint if number_of_reservations == "low": low_reservations = 0 high_reservations = 20 elif number_of_reservations == "medium": low_reservations = 21 high_reservations = 40 elif number_of_reservations == "high": low_reservations = 41 high_reservations = sys.maxint if number_of_coupons == "any" and number_of_reservations == "any": subscribers = provider.subscribers.all() elif number_of_coupons == "any": subscribers = provider.subscribers.filter( reservations__range=(low_reservations, high_reservations)) elif number_of_reservations == "any": subscribers = provider.subscribers.filter( coupons__range=(low_coupons, high_coupons)) else: subscribers = provider.subscribers.filter( reservations__range=(low_reservations, high_reservations), coupons__range=(low_coupons, high_coupons)) emails = [user.email for user in subscribers] try: send_mail(subject, message, request.user.email, emails, fail_silently=False) except BadHeaderError: return HttpResponse('Invalid header found.') # save the message in the db # subject, message, provider, number_of_subscribers newsletter = Newsletter( provider=request.user.service_provider, date_sent=timezone.now(), subject=subject, message=message, number_of_subscribers=len(subscribers) ) newsletter.save() return render(request, 'newsletter/mynewsletter.html', {'message': _('Your message has been sent to all of your subscribers.')}) else: return render(request, 'newsletter/post.html', {'message': _('You should use the form at \'Send a newsletter\' to send newsletters.')})