Added Hosting Order model, Created Billing Address Model , Method to create a customer using Stripe API , Created Customer Stripe profile to store for further charges , Method in order to charge an amount to a customer
This commit is contained in:
		
					parent
					
						
							
								f5978a7da9
							
						
					
				
			
			
				commit
				
					
						bf334a38d4
					
				
			
		
					 17 changed files with 281 additions and 42 deletions
				
			
		|  | @ -3,7 +3,8 @@ import json | |||
| from django.db import models | ||||
| from django.utils.translation import ugettext_lazy as _ | ||||
| from django.core import serializers | ||||
| from membership.models import CustomUser | ||||
| from membership.models import StripeCustomer | ||||
| from utils.models import BillingAddress | ||||
| 
 | ||||
| 
 | ||||
| class RailsBetaUser(models.Model): | ||||
|  | @ -78,13 +79,36 @@ class VirtualMachinePlan(models.Model): | |||
|     memory = models.IntegerField() | ||||
|     disk_size = models.IntegerField() | ||||
|     vm_type = models.ForeignKey(VirtualMachineType) | ||||
|     client = models.ManyToManyField(CustomUser) | ||||
|     price = models.FloatField() | ||||
| 
 | ||||
|     @classmethod | ||||
|     def create(cls, data, user): | ||||
|         instance = cls.objects.create(**data) | ||||
|         instance.client.add(user) | ||||
|         return instance | ||||
| 
 | ||||
| 
 | ||||
| class HostingOrder(models.Model): | ||||
|     VMPlan = models.OneToOneField(VirtualMachinePlan) | ||||
|     customer = models.ForeignKey(StripeCustomer) | ||||
|     billing_address = models.ForeignKey(BillingAddress) | ||||
|     created_at = models.DateTimeField(auto_now_add=True) | ||||
|     approved = models.BooleanField(default=False) | ||||
|     stripe_charge_id = models.CharField(max_length=100, null=True) | ||||
| 
 | ||||
|     @classmethod | ||||
|     def create(cls, VMPlan=None, customer=None, billing_address=None): | ||||
|         instance = cls.objects.create(VMPlan=VMPlan, customer=customer, | ||||
|                                       billing_address=billing_address) | ||||
|         return instance | ||||
| 
 | ||||
|     def set_approved(self): | ||||
|         self.approved = True | ||||
|         self.save() | ||||
| 
 | ||||
|     def set_stripe_charge(self, stripe_charge): | ||||
|         self.stripe_charge_id = stripe_charge.id | ||||
|         self.save() | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue