Merge pull request #54 from levivm/feature/vm_pricing
Added redirect urls after signup/login
This commit is contained in:
		
				commit
				
					
						9db711d686
					
				
			
		
					 2 changed files with 14 additions and 9 deletions
				
			
		| 
						 | 
					@ -16,5 +16,6 @@ class ProcessVMSelectionMixin(object):
 | 
				
			||||||
        request.session['vm_specs'] = vm_specs
 | 
					        request.session['vm_specs'] = vm_specs
 | 
				
			||||||
        if not request.user.is_authenticated():
 | 
					        if not request.user.is_authenticated():
 | 
				
			||||||
            request.session['vm_specs'] = vm_specs
 | 
					            request.session['vm_specs'] = vm_specs
 | 
				
			||||||
 | 
					            request.session['next'] = reverse('hosting:payment')
 | 
				
			||||||
            return redirect(reverse('hosting:login'))
 | 
					            return redirect(reverse('hosting:login'))
 | 
				
			||||||
        return redirect(reverse('hosting:payment'))
 | 
					        return redirect(reverse('hosting:payment'))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -110,13 +110,16 @@ class LoginView(FormView):
 | 
				
			||||||
    form_class = HostingUserLoginForm
 | 
					    form_class = HostingUserLoginForm
 | 
				
			||||||
    moodel = CustomUser
 | 
					    moodel = CustomUser
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def get_success_url(self):
 | 
				
			||||||
 | 
					        next_url = self.request.session.get('next', self.success_url)
 | 
				
			||||||
 | 
					        return next_url
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def form_valid(self, form):
 | 
					    def form_valid(self, form):
 | 
				
			||||||
        email = form.cleaned_data.get('email')
 | 
					        email = form.cleaned_data.get('email')
 | 
				
			||||||
        password = form.cleaned_data.get('password')
 | 
					        password = form.cleaned_data.get('password')
 | 
				
			||||||
        auth_user = authenticate(email=email, password=password)
 | 
					        auth_user = authenticate(email=email, password=password)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if auth_user:
 | 
					        if auth_user:
 | 
				
			||||||
 | 
					 | 
				
			||||||
            login(self.request, auth_user)
 | 
					            login(self.request, auth_user)
 | 
				
			||||||
            return HttpResponseRedirect(self.get_success_url())
 | 
					            return HttpResponseRedirect(self.get_success_url())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -129,7 +132,8 @@ class SignupView(CreateView):
 | 
				
			||||||
    moodel = CustomUser
 | 
					    moodel = CustomUser
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_success_url(self):
 | 
					    def get_success_url(self):
 | 
				
			||||||
        return reverse_lazy('hosting:signup')
 | 
					        next_url = self.request.session.get('next', reverse_lazy('hosting:signup'))
 | 
				
			||||||
 | 
					        return next_url
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def form_valid(self, form):
 | 
					    def form_valid(self, form):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -190,14 +194,14 @@ class PaymentVMView(FormView):
 | 
				
			||||||
            # Make stripe charge to a customer
 | 
					            # Make stripe charge to a customer
 | 
				
			||||||
            stripe_utils = StripeUtils()
 | 
					            stripe_utils = StripeUtils()
 | 
				
			||||||
            charge_response = stripe_utils.make_charge(amount=final_price,
 | 
					            charge_response = stripe_utils.make_charge(amount=final_price,
 | 
				
			||||||
                                              customer=customer.stripe_id)
 | 
					                                                       customer=customer.stripe_id)
 | 
				
			||||||
            charge = charge_response.get('response_object')
 | 
					            charge = charge_response.get('response_object')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Check if the payment was approved 
 | 
					            # Check if the payment was approved
 | 
				
			||||||
            if not charge:
 | 
					            if not charge:
 | 
				
			||||||
                context.update({
 | 
					                context.update({
 | 
				
			||||||
                    'paymentError': charge_response.get('error'),
 | 
					                    'paymentError': charge_response.get('error'),
 | 
				
			||||||
                    'form':form
 | 
					                    'form': form
 | 
				
			||||||
                })
 | 
					                })
 | 
				
			||||||
                return render(request, self.template_name, context)
 | 
					                return render(request, self.template_name, context)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -209,14 +213,15 @@ class PaymentVMView(FormView):
 | 
				
			||||||
            # If the Stripe payment was successed, set order status approved
 | 
					            # If the Stripe payment was successed, set order status approved
 | 
				
			||||||
            order.set_approved()
 | 
					            order.set_approved()
 | 
				
			||||||
            request.session.update({
 | 
					            request.session.update({
 | 
				
			||||||
                'charge':charge,
 | 
					                'charge': charge,
 | 
				
			||||||
                'order':order.id,
 | 
					                'order': order.id,
 | 
				
			||||||
                'billing_address':billing_address.id
 | 
					                'billing_address': billing_address.id
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
            return HttpResponseRedirect(reverse('hosting:invoice'))
 | 
					            return HttpResponseRedirect(reverse('hosting:invoice'))
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            return self.form_invalid(form)
 | 
					            return self.form_invalid(form)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class InvoiceVMView(LoginRequiredMixin, View):
 | 
					class InvoiceVMView(LoginRequiredMixin, View):
 | 
				
			||||||
    template_name = "hosting/invoice.html"
 | 
					    template_name = "hosting/invoice.html"
 | 
				
			||||||
    login_url = reverse_lazy('hosting:login')
 | 
					    login_url = reverse_lazy('hosting:login')
 | 
				
			||||||
| 
						 | 
					@ -242,7 +247,6 @@ class InvoiceVMView(LoginRequiredMixin, View):
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        return context
 | 
					        return context
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    def get(self, request, *args, **kwargs):
 | 
					    def get(self, request, *args, **kwargs):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        context = self.get_context_data()
 | 
					        context = self.get_context_data()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue