forked from uncloud/uncloud
Make VM order-able again
This commit is contained in:
parent
cec4263621
commit
a15952862a
3 changed files with 132 additions and 100 deletions
|
|
@ -72,6 +72,7 @@ class VMProduct(Product):
|
|||
primary_disk = models.ForeignKey('VMDiskProduct', on_delete=models.CASCADE, null=True)
|
||||
|
||||
# Default recurring price is PER_MONTH, see uncloud_pay.models.Product.
|
||||
@property
|
||||
def recurring_price(self):
|
||||
return self.cores * 3 + self.ram_in_gb * 4
|
||||
|
||||
|
|
@ -153,17 +154,9 @@ class VMDiskProduct(Product):
|
|||
def description(self):
|
||||
return "Disk for VM '{}': {}GB".format(self.vm.name, self.size_in_gb)
|
||||
|
||||
# TODO: move magic numbers in variables
|
||||
def recurring_price(self, recurring_period=RecurringPeriod.PER_MONTH):
|
||||
# TODO: move magic numbers in variables
|
||||
if recurring_period == RecurringPeriod.PER_MONTH:
|
||||
return (self.size_in_gb / 10) * 3.5
|
||||
if recurring_period == RecurringPeriod.PER_YEAR:
|
||||
return recurring_price(self, recurring_period.PER_MONTH) * 12
|
||||
if recurring_period == RecurringPeriod.PER_HOUR:
|
||||
return recurring_price(self, recurring_period.PER_MONTH) / 25
|
||||
else:
|
||||
raise Exception('Invalid recurring period for VM Disk Product pricing.')
|
||||
@property
|
||||
def recurring_price(self):
|
||||
return (self.size_in_gb / 10) * 3.5
|
||||
|
||||
# Sample code for clean method
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue