Adapt recurring price of VM and Matrix to new scheme
This commit is contained in:
parent
14f59430bb
commit
f5897ed4b1
2 changed files with 6 additions and 15 deletions
|
@ -15,11 +15,9 @@ class MatrixServiceProduct(Product):
|
||||||
)
|
)
|
||||||
domain = models.CharField(max_length=255, default='domain.tld')
|
domain = models.CharField(max_length=255, default='domain.tld')
|
||||||
|
|
||||||
def recurring_price(self, recurring_period=RecurringPeriod.PER_MONTH):
|
# Default recurring price is PER_MONT, see Product class.
|
||||||
if recurring_period == RecurringPeriod.PER_MONTH:
|
def recurring_price(self):
|
||||||
return self.monthly_managment_fee
|
return self.monthly_managment_fee
|
||||||
else:
|
|
||||||
raise Exception('Invalid recurring period for VM Product pricing.')
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def base_image():
|
def base_image():
|
||||||
|
|
|
@ -71,16 +71,9 @@ class VMProduct(Product):
|
||||||
|
|
||||||
primary_disk = models.ForeignKey('VMDiskProduct', on_delete=models.CASCADE, null=True)
|
primary_disk = models.ForeignKey('VMDiskProduct', on_delete=models.CASCADE, null=True)
|
||||||
|
|
||||||
def recurring_price(self, recurring_period=RecurringPeriod.PER_MONTH):
|
# Default recurring price is PER_MONTH, see uncloud_pay.models.Product.
|
||||||
# TODO: move magic numbers in variables
|
def recurring_price(self):
|
||||||
if recurring_period == RecurringPeriod.PER_MONTH:
|
return self.cores * 3 + self.ram_in_gb * 4
|
||||||
return self.cores * 3 + self.ram_in_gb * 4
|
|
||||||
elif recurring_period == RecurringPeriod.PER_HOUR:
|
|
||||||
return self.cores * 4.0/(30 * 24) + self.ram_in_gb * 4.5/(30* 24)
|
|
||||||
elif recurring_period == RecurringPeriod.PER_YEAR:
|
|
||||||
return (self.cores * 2.5 + self.ram_in_gb * 3.5) * 12
|
|
||||||
else:
|
|
||||||
raise Exception('Invalid recurring period for VM Product pricing.')
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "VM {} ({}): {} cores {} gb ram".format(self.uuid,
|
return "VM {} ({}): {} cores {} gb ram".format(self.uuid,
|
||||||
|
|
Loading…
Reference in a new issue