Fixed blling form goes out of background image, Fixed billing address page "amount" field seems broken, Changed authentication page fonts
Added new DG login.html, Fixed DG login contact footer, Added new DG login form, Added DG login, Added DG signup, Added DG reset password, Added DG confirm reset password, Added DG membership payment view Please enter the commit message for your changes. Lines starting
This commit is contained in:
parent
1470caee89
commit
f56f294205
23 changed files with 1512 additions and 140 deletions
|
|
@ -1,11 +1,14 @@
|
|||
import json
|
||||
import datetime
|
||||
|
||||
from django.conf import settings
|
||||
from django.shortcuts import get_object_or_404, render
|
||||
from django.forms import ModelForm
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.core.urlresolvers import reverse_lazy
|
||||
from django.core.urlresolvers import reverse_lazy, reverse
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.views.generic import TemplateView
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
from django.utils.translation import get_language
|
||||
from djangocms_blog.models import Post
|
||||
from django.contrib import messages
|
||||
|
|
@ -16,11 +19,117 @@ from .models import Supporter
|
|||
from utils.forms import ContactUsForm
|
||||
from django.views.generic.edit import FormView
|
||||
from membership.calendar.calendar import BookCalendar
|
||||
from membership.models import Calendar as CalendarModel
|
||||
import json
|
||||
from django.contrib.auth import logout
|
||||
from membership.models import Calendar as CalendarModel, CustomUser, StripeCustomer
|
||||
|
||||
|
||||
from utils.views import LoginViewMixin, SignupViewMixin, \
|
||||
PasswordResetViewMixin, PasswordResetConfirmViewMixin
|
||||
from utils.forms import PasswordResetRequestForm
|
||||
from utils.stripe_utils import StripeUtils
|
||||
|
||||
|
||||
from .forms import LoginForm, SignupForm, MembershipBillingForm
|
||||
from .models import MembershipType
|
||||
|
||||
|
||||
class IndexView(TemplateView):
|
||||
template_name = "digitalglarus/old_index.html"
|
||||
|
||||
|
||||
class LoginView(LoginViewMixin):
|
||||
template_name = "digitalglarus/login.html"
|
||||
form_class = LoginForm
|
||||
success_url = reverse_lazy('digitalglarus:landing')
|
||||
|
||||
|
||||
class SignupView(SignupViewMixin):
|
||||
template_name = "digitalglarus/signup.html"
|
||||
form_class = SignupForm
|
||||
success_url = reverse_lazy('digitalglarus:login')
|
||||
|
||||
|
||||
class PasswordResetView(PasswordResetViewMixin):
|
||||
template_name = 'digitalglarus/reset_password.html'
|
||||
success_url = reverse_lazy('digitalglarus:login')
|
||||
form_class = PasswordResetRequestForm
|
||||
template_email_path = 'digitalglarus/emails/'
|
||||
|
||||
|
||||
class PasswordResetConfirmView(PasswordResetConfirmViewMixin):
|
||||
template_name = 'digitalglarus/confirm_reset_password.html'
|
||||
success_url = reverse_lazy('digitalglarus:login')
|
||||
|
||||
|
||||
class HistoryView(TemplateView):
|
||||
template_name = "digitalglarus/history.html"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(HistoryView, self).get_context_data(**kwargs)
|
||||
supporters = Supporter.objects.all()
|
||||
context.update({
|
||||
'supporters': supporters
|
||||
})
|
||||
return context
|
||||
|
||||
|
||||
class MembershipPaymentView(LoginRequiredMixin, FormView):
|
||||
template_name = "digitalglarus/membership_payment.html"
|
||||
login_url = reverse_lazy('digitalglarus:login')
|
||||
form_class = MembershipBillingForm
|
||||
|
||||
def get_form_kwargs(self):
|
||||
membership_type = MembershipType.objects.get(name='standard')
|
||||
form_kwargs = super(MembershipPaymentView, self).get_form_kwargs()
|
||||
form_kwargs.update({
|
||||
'initial': {'membership_type': membership_type.id}
|
||||
})
|
||||
return form_kwargs
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(MembershipPaymentView, self).get_context_data(**kwargs)
|
||||
context.update({
|
||||
'stripe_key': settings.STRIPE_API_PUBLIC_KEY
|
||||
})
|
||||
return context
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
import pdb;pdb.set_trace()
|
||||
form = self.get_form()
|
||||
|
||||
if form.is_valid():
|
||||
data = form.cleaned_data
|
||||
context = self.get_context_data()
|
||||
token = data.get('token')
|
||||
membership_type = data.get('membership_type')
|
||||
|
||||
# Get or create stripe customer
|
||||
customer = StripeCustomer.get_or_create(email=self.request.user.email,
|
||||
token=token)
|
||||
if not customer:
|
||||
form.add_error("__all__", "Invalid credit card")
|
||||
return self.render_to_response(self.get_context_data(form=form))
|
||||
|
||||
# Make stripe charge to a customer
|
||||
stripe_utils = StripeUtils()
|
||||
charge_response = stripe_utils.make_charge(amount=membership_type.price,
|
||||
customer=customer.stripe_id)
|
||||
charge = charge_response.get('response_object')
|
||||
|
||||
# Check if the payment was approved
|
||||
if not charge:
|
||||
context.update({
|
||||
'paymentError': charge_response.get('error'),
|
||||
'form': form
|
||||
})
|
||||
return render(request, self.template_name, context)
|
||||
|
||||
charge = charge_response.get('response_object')
|
||||
else:
|
||||
return self.form_invalid(form)
|
||||
|
||||
|
||||
|
||||
############## OLD VIEWS
|
||||
class CalendarApi(View):
|
||||
def get(self,request,month,year):
|
||||
calendar = BookCalendar(request.user,requested_month=month).formatmonth(int(year),int(month))
|
||||
|
|
@ -46,21 +155,6 @@ class ContactView(FormView):
|
|||
return super(ContactView, self).form_valid(form)
|
||||
|
||||
|
||||
class IndexView(TemplateView):
|
||||
template_name = "digitalglarus/old_index.html"
|
||||
|
||||
|
||||
class HistoryView(TemplateView):
|
||||
template_name = "digitalglarus/history.html"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(HistoryView, self).get_context_data(**kwargs)
|
||||
supporters = Supporter.objects.all()
|
||||
context.update({
|
||||
'supporters': supporters
|
||||
})
|
||||
return context
|
||||
|
||||
|
||||
class AboutView(TemplateView):
|
||||
template_name = "digitalglarus/about.html"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue