Merge branch 'master' into 5151/gdpr_modal
This commit is contained in:
		
				commit
				
					
						1feacc1770
					
				
			
		
					 39 changed files with 1391 additions and 390 deletions
				
			
		| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
import decimal
 | 
			
		||||
import logging
 | 
			
		||||
import subprocess
 | 
			
		||||
 | 
			
		||||
from oca.pool import WrongIdError
 | 
			
		||||
 | 
			
		||||
from datacenterlight.models import VMPricing
 | 
			
		||||
| 
						 | 
				
			
			@ -80,7 +81,7 @@ def get_vm_price(cpu, memory, disk_size, hdd_size=0, pricing_name='default'):
 | 
			
		|||
             (decimal.Decimal(hdd_size) * pricing.hdd_unit_price))
 | 
			
		||||
    cents = decimal.Decimal('.01')
 | 
			
		||||
    price = price.quantize(cents, decimal.ROUND_HALF_UP)
 | 
			
		||||
    return float(price)
 | 
			
		||||
    return round(float(price), 2)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_vm_price_with_vat(cpu, memory, ssd_size, hdd_size=0,
 | 
			
		||||
| 
						 | 
				
			
			@ -126,9 +127,10 @@ def get_vm_price_with_vat(cpu, memory, ssd_size, hdd_size=0,
 | 
			
		|||
    vat = vat.quantize(cents, decimal.ROUND_HALF_UP)
 | 
			
		||||
    discount = {
 | 
			
		||||
        'name': pricing.discount_name,
 | 
			
		||||
        'amount': float(pricing.discount_amount),
 | 
			
		||||
        'amount': round(float(pricing.discount_amount), 2)
 | 
			
		||||
    }
 | 
			
		||||
    return float(price), float(vat), float(vat_percent), discount
 | 
			
		||||
    return (round(float(price), 2), round(float(vat), 2),
 | 
			
		||||
            round(float(vat_percent), 2), discount)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def ping_ok(host_ipv6):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -291,7 +291,8 @@ class StripeUtils(object):
 | 
			
		|||
        return charge
 | 
			
		||||
 | 
			
		||||
    @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
 | 
			
		||||
        `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 app: The application to which the stripe plan belongs
 | 
			
		||||
        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`
 | 
			
		||||
        """
 | 
			
		||||
        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(
 | 
			
		||||
            app=app,
 | 
			
		||||
            version=version,
 | 
			
		||||
            plan=dcl_plan_string)
 | 
			
		||||
        return stripe_plan_id_string
 | 
			
		||||
            plan=dcl_plan_string
 | 
			
		||||
        )
 | 
			
		||||
        if price is not None:
 | 
			
		||||
            stripe_plan_id_string_with_price = '{}-{}chf'.format(
 | 
			
		||||
                stripe_plan_id_string,
 | 
			
		||||
                round(price, 2)
 | 
			
		||||
            )
 | 
			
		||||
            return stripe_plan_id_string_with_price
 | 
			
		||||
        else:
 | 
			
		||||
            return stripe_plan_id_string
 | 
			
		||||
 | 
			
		||||
    @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
 | 
			
		||||
        :return:
 | 
			
		||||
        """
 | 
			
		||||
        return "{cpu} Cores, {memory} GB RAM, {disk_size} GB SSD".format(
 | 
			
		||||
            cpu=cpu,
 | 
			
		||||
            memory=memory,
 | 
			
		||||
            disk_size=disk_size)
 | 
			
		||||
        return "{cpu} Cores, {memory} GB RAM, {disk_size} GB SSD, " \
 | 
			
		||||
               "{price} CHF".format(
 | 
			
		||||
                    cpu=cpu,
 | 
			
		||||
                    memory=memory,
 | 
			
		||||
                    disk_size=disk_size,
 | 
			
		||||
                    price=round(price, 2)
 | 
			
		||||
                )
 | 
			
		||||
 | 
			
		||||
    @handleStripeError
 | 
			
		||||
    def set_subscription_meta_data(self, subscription_id, meta_data):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue