|
@@ -9,6 +9,9 @@ class AbstractItem(models.Model):
|
|
|
name = models.CharField(max_length=130)
|
|
|
description = models.TextField(blank=True)
|
|
|
|
|
|
+ def __str__(self):
|
|
|
+ return self.name
|
|
|
+
|
|
|
class Meta:
|
|
|
abstract = True
|
|
|
|
|
@@ -16,7 +19,10 @@ class AbstractItem(models.Model):
|
|
|
class Cost(AbstractItem):
|
|
|
""" A monthtly cost we have to pay
|
|
|
"""
|
|
|
- price = models.PositiveIntegerField()
|
|
|
+ price = models.PositiveIntegerField(help_text="Coût mensuel")
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ verbose_name = 'Coût'
|
|
|
|
|
|
def used(self):
|
|
|
sharing_costs = CostUse.objects.filter(resource=self)
|
|
@@ -33,6 +39,9 @@ class Good(AbstractItem):
|
|
|
provisioning_duration = models.DurationField(
|
|
|
choices=settings.PROVISIONING_DURATIONS)
|
|
|
|
|
|
+ class Meta:
|
|
|
+ verbose_name = 'Bien'
|
|
|
+
|
|
|
|
|
|
class AbstractUse(models.Model):
|
|
|
share = models.FloatField(validators=[less_than_one])
|
|
@@ -42,9 +51,10 @@ class AbstractUse(models.Model):
|
|
|
abstract = True
|
|
|
|
|
|
def clean(self):
|
|
|
- if (self.resource.used() + self.share) > 1:
|
|
|
- raise ValidationError(
|
|
|
- "Cannot use more than 100% of {})".format(self.resource))
|
|
|
+ if hasattr(self, 'resource'):
|
|
|
+ if (self.resource.used() + self.share) > 1:
|
|
|
+ raise ValidationError(
|
|
|
+ "Cannot use more than 100% of {})".format(self.resource))
|
|
|
|
|
|
|
|
|
class CostUse(AbstractUse):
|