Use price in stripe plan name too
This commit is contained in:
		
					parent
					
						
							
								5f19a85a28
							
						
					
				
			
			
				commit
				
					
						8a30100488
					
				
			
		
					 4 changed files with 51 additions and 25 deletions
				
			
		| 
						 | 
					@ -105,7 +105,8 @@ class CeleryTaskTestCase(TestCase):
 | 
				
			||||||
                                            disk_size=disk_size)
 | 
					                                            disk_size=disk_size)
 | 
				
			||||||
        plan_name = StripeUtils.get_stripe_plan_name(cpu=cpu,
 | 
					        plan_name = StripeUtils.get_stripe_plan_name(cpu=cpu,
 | 
				
			||||||
                                                     memory=memory,
 | 
					                                                     memory=memory,
 | 
				
			||||||
                                                     disk_size=disk_size)
 | 
					                                                     disk_size=disk_size,
 | 
				
			||||||
 | 
					                                                     price=amount_to_be_charged)
 | 
				
			||||||
        stripe_plan_id = StripeUtils.get_stripe_plan_id(cpu=cpu,
 | 
					        stripe_plan_id = StripeUtils.get_stripe_plan_id(cpu=cpu,
 | 
				
			||||||
                                                        ram=memory,
 | 
					                                                        ram=memory,
 | 
				
			||||||
                                                        ssd=disk_size,
 | 
					                                                        ssd=disk_size,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -508,14 +508,20 @@ class OrderConfirmationView(DetailView):
 | 
				
			||||||
        memory = specs.get('memory')
 | 
					        memory = specs.get('memory')
 | 
				
			||||||
        disk_size = specs.get('disk_size')
 | 
					        disk_size = specs.get('disk_size')
 | 
				
			||||||
        amount_to_be_charged = specs.get('total_price')
 | 
					        amount_to_be_charged = specs.get('total_price')
 | 
				
			||||||
        plan_name = StripeUtils.get_stripe_plan_name(cpu=cpu,
 | 
					        plan_name = StripeUtils.get_stripe_plan_name(
 | 
				
			||||||
 | 
					            cpu=cpu,
 | 
				
			||||||
            memory=memory,
 | 
					            memory=memory,
 | 
				
			||||||
                                                     disk_size=disk_size)
 | 
					            disk_size=disk_size,
 | 
				
			||||||
        stripe_plan_id = StripeUtils.get_stripe_plan_id(cpu=cpu,
 | 
					            price=amount_to_be_charged
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					        stripe_plan_id = StripeUtils.get_stripe_plan_id(
 | 
				
			||||||
 | 
					            cpu=cpu,
 | 
				
			||||||
            ram=memory,
 | 
					            ram=memory,
 | 
				
			||||||
            ssd=disk_size,
 | 
					            ssd=disk_size,
 | 
				
			||||||
            version=1,
 | 
					            version=1,
 | 
				
			||||||
                                                        app='dcl')
 | 
					            app='dcl',
 | 
				
			||||||
 | 
					            price=amount_to_be_charged
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
        stripe_plan = stripe_utils.get_or_create_stripe_plan(
 | 
					        stripe_plan = stripe_utils.get_or_create_stripe_plan(
 | 
				
			||||||
            amount=amount_to_be_charged,
 | 
					            amount=amount_to_be_charged,
 | 
				
			||||||
            name=plan_name,
 | 
					            name=plan_name,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1032,14 +1032,20 @@ class OrdersHostingDetailView(LoginRequiredMixin, DetailView):
 | 
				
			||||||
        memory = specs.get('memory')
 | 
					        memory = specs.get('memory')
 | 
				
			||||||
        disk_size = specs.get('disk_size')
 | 
					        disk_size = specs.get('disk_size')
 | 
				
			||||||
        amount_to_be_charged = specs.get('total_price')
 | 
					        amount_to_be_charged = specs.get('total_price')
 | 
				
			||||||
        plan_name = StripeUtils.get_stripe_plan_name(cpu=cpu,
 | 
					        plan_name = StripeUtils.get_stripe_plan_name(
 | 
				
			||||||
 | 
					            cpu=cpu,
 | 
				
			||||||
            memory=memory,
 | 
					            memory=memory,
 | 
				
			||||||
                                                     disk_size=disk_size)
 | 
					            disk_size=disk_size,
 | 
				
			||||||
        stripe_plan_id = StripeUtils.get_stripe_plan_id(cpu=cpu,
 | 
					            price=amount_to_be_charged
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					        stripe_plan_id = StripeUtils.get_stripe_plan_id(
 | 
				
			||||||
 | 
					            cpu=cpu,
 | 
				
			||||||
            ram=memory,
 | 
					            ram=memory,
 | 
				
			||||||
            ssd=disk_size,
 | 
					            ssd=disk_size,
 | 
				
			||||||
            version=1,
 | 
					            version=1,
 | 
				
			||||||
                                                        app='dcl')
 | 
					            app='dcl',
 | 
				
			||||||
 | 
					            price=amount_to_be_charged
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
        stripe_plan = stripe_utils.get_or_create_stripe_plan(
 | 
					        stripe_plan = stripe_utils.get_or_create_stripe_plan(
 | 
				
			||||||
            amount=amount_to_be_charged,
 | 
					            amount=amount_to_be_charged,
 | 
				
			||||||
            name=plan_name,
 | 
					            name=plan_name,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -291,7 +291,8 @@ class StripeUtils(object):
 | 
				
			||||||
        return charge
 | 
					        return charge
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @staticmethod
 | 
					    @staticmethod
 | 
				
			||||||
    def get_stripe_plan_id(cpu, ram, ssd, version, app='dcl', hdd=None):
 | 
					    def get_stripe_plan_id(cpu, ram, ssd, version, app='dcl', hdd=None,
 | 
				
			||||||
 | 
					                           price=None):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        Returns the Stripe plan id string of the form
 | 
					        Returns the Stripe plan id string of the form
 | 
				
			||||||
        `dcl-v1-cpu-2-ram-5gb-ssd-10gb` based on the input parameters
 | 
					        `dcl-v1-cpu-2-ram-5gb-ssd-10gb` based on the input parameters
 | 
				
			||||||
| 
						 | 
					@ -303,6 +304,7 @@ class StripeUtils(object):
 | 
				
			||||||
        :param version: The version of the Stripe plans
 | 
					        :param version: The version of the Stripe plans
 | 
				
			||||||
        :param app: The application to which the stripe plan belongs
 | 
					        :param app: The application to which the stripe plan belongs
 | 
				
			||||||
        to. By default it is 'dcl'
 | 
					        to. By default it is 'dcl'
 | 
				
			||||||
 | 
					        :param price: The price for this plan
 | 
				
			||||||
        :return: A string of the form `dcl-v1-cpu-2-ram-5gb-ssd-10gb`
 | 
					        :return: A string of the form `dcl-v1-cpu-2-ram-5gb-ssd-10gb`
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        dcl_plan_string = 'cpu-{cpu}-ram-{ram}gb-ssd-{ssd}gb'.format(cpu=cpu,
 | 
					        dcl_plan_string = 'cpu-{cpu}-ram-{ram}gb-ssd-{ssd}gb'.format(cpu=cpu,
 | 
				
			||||||
| 
						 | 
					@ -314,19 +316,30 @@ class StripeUtils(object):
 | 
				
			||||||
        stripe_plan_id_string = '{app}-v{version}-{plan}'.format(
 | 
					        stripe_plan_id_string = '{app}-v{version}-{plan}'.format(
 | 
				
			||||||
            app=app,
 | 
					            app=app,
 | 
				
			||||||
            version=version,
 | 
					            version=version,
 | 
				
			||||||
            plan=dcl_plan_string)
 | 
					            plan=dcl_plan_string
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					        if price is not None:
 | 
				
			||||||
 | 
					            stripe_plan_id_string_with_price = '{}-{}chf'.format(
 | 
				
			||||||
 | 
					                stripe_plan_id_string,
 | 
				
			||||||
 | 
					                price
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            return stripe_plan_id_string_with_price
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
            return stripe_plan_id_string
 | 
					            return stripe_plan_id_string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @staticmethod
 | 
					    @staticmethod
 | 
				
			||||||
    def get_stripe_plan_name(cpu, memory, disk_size):
 | 
					    def get_stripe_plan_name(cpu, memory, disk_size, price):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        Returns the Stripe plan name
 | 
					        Returns the Stripe plan name
 | 
				
			||||||
        :return:
 | 
					        :return:
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        return "{cpu} Cores, {memory} GB RAM, {disk_size} GB SSD".format(
 | 
					        return "{cpu} Cores, {memory} GB RAM, {disk_size} GB SSD " \
 | 
				
			||||||
 | 
					               "@ {price} CHF".format(
 | 
				
			||||||
                    cpu=cpu,
 | 
					                    cpu=cpu,
 | 
				
			||||||
                    memory=memory,
 | 
					                    memory=memory,
 | 
				
			||||||
            disk_size=disk_size)
 | 
					                    disk_size=disk_size,
 | 
				
			||||||
 | 
					                    price=price
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @handleStripeError
 | 
					    @handleStripeError
 | 
				
			||||||
    def set_subscription_meta_data(self, subscription_id, meta_data):
 | 
					    def set_subscription_meta_data(self, subscription_id, meta_data):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue