From b28a89af2eae44db5334175863109fe0647b683e Mon Sep 17 00:00:00 2001 From: Aizizi Yigaimu Date: Mon, 4 Nov 2019 14:35:51 -0500 Subject: [PATCH 01/40] Add newsletter subscription form functionality --- BlocPowerWebsite/urls.py | 3 +- marketing/forms.py | 9 +++++- marketing/templates/marketing/base.html | 40 +++++++++++++++++++++--- marketing/templates/marketing/blogs.html | 21 +++++++++---- marketing/views.py | 29 +++++++++++++++-- static/marketing/css/styles.css | 16 ++++++++++ 6 files changed, 102 insertions(+), 16 deletions(-) diff --git a/BlocPowerWebsite/urls.py b/BlocPowerWebsite/urls.py index 4292372..f1d8cf8 100644 --- a/BlocPowerWebsite/urls.py +++ b/BlocPowerWebsite/urls.py @@ -29,9 +29,8 @@ urlpatterns = [ url(r'^blogs/$', views.Blogs.as_view(), name='blog'), url(r'^contact/$', views.Contact.as_view(), name='contact'), url(r'^gtb/$', views.GTB.as_view(), name='gtb'), - # url(r'^/blog/(?\d+)/$', views.Blog), path('blog//', views.Blog.as_view(), name='blog'), - # url(r'^blog/11/', views.Blog.as_view(), name='blog'), + path('newsletter/', views.NewsLetter.as_view(), name='newsletter'), path('admin/', admin.site.urls), url(r'^', include('cms.urls')), ] diff --git a/marketing/forms.py b/marketing/forms.py index 27825a9..17b2e2a 100644 --- a/marketing/forms.py +++ b/marketing/forms.py @@ -1,7 +1,7 @@ from django.db import models from django import forms from django.forms import ModelForm -from marketing.models import ContactMessage +from marketing.models import ContactMessage, NewsletterSubscription class ContactMessagesForm(ModelForm): @@ -9,3 +9,10 @@ class ContactMessagesForm(ModelForm): class Meta: model = ContactMessage fields = ['full_name', 'email', 'content', 'post_date'] + + +class NewsletterForm(ModelForm): + email = forms.EmailField() + class Meta: + model = NewsletterSubscription + fields = ['full_name', 'email', 'subscribe_date'] diff --git a/marketing/templates/marketing/base.html b/marketing/templates/marketing/base.html index c125461..a705511 100644 --- a/marketing/templates/marketing/base.html +++ b/marketing/templates/marketing/base.html @@ -14,7 +14,7 @@ - + @@ -36,8 +36,38 @@ $(".blog-see-all-categories").hide(); $(".blog-rest-all-categories").show(); }); + + $("#newsletterForm").on('submit', function (event) { + event.preventDefault(); + $.ajax({ + type: "POST", + url: "/newsletter/", + data: { + 'csrfmiddlewaretoken': '{{ csrf_token }}', + 'full_name': $('#newsletter_fullname').val(), // from form + 'email': $('#newsletter_email').val() // from form + }, + success: function (data) { + if (data.result.is_valid) { + // $('#newsletter_fullname').val(''); + // $('#newsletter_email').val(''); + $('#newsletterForm').hide(); + $('.subscribe-newsletter-success-message').html(data.result.message); + } else { + $('#newsletter_fullname').val(''); + $('#newsletter_email').val(''); + $('.subscribe-newsletter-error-message').html(data.result.message); + } + }, + failure: function(data) { + alert('There\'s some error in the form.'); + } + }); + return false; + }); }); +