make lifetime a specific attribute of each material part

v1-0-stable
Schlabonski 9 years ago
parent 0f02570657
commit 1b815ec4fe

@ -15,8 +15,8 @@ class OwnershipInline(admin.StackedInline):
class MaterialAdmin(admin.ModelAdmin): class MaterialAdmin(admin.ModelAdmin):
"""Edit view of a MaterialPart""" """Edit view of a MaterialPart"""
fields = ['name', 'buy_date'] fields = ['name', 'buy_date', 'lifetime']
list_display = ('name', 'buy_date', 'should_be_replaced') list_display = ('name', 'buy_date', 'lifetime', 'should_be_replaced')
inlines = [OwnershipInline] inlines = [OwnershipInline]
admin.site.register(MaterialPart, MaterialAdmin) admin.site.register(MaterialPart, MaterialAdmin)

@ -14,7 +14,8 @@ class MaterialPart(models.Model):
members of the association (Ownership) members of the association (Ownership)
""" """
name = models.CharField(max_length=30) name = models.CharField(max_length=30)
buy_date = models.DateField('purchase date') buy_date = models.DateField('purchase date', editable=True)
lifetime = models.DecimalField('lifetime (years)', decimal_places=0, max_digits=3)
def __str__(self): def __str__(self):
"""String representation""" """String representation"""
@ -24,7 +25,7 @@ class MaterialPart(models.Model):
"""Returns wether the part should be replaced cause of age""" """Returns wether the part should be replaced cause of age"""
buy_time = timezone.make_aware(datetime.combine(self.buy_date, buy_time = timezone.make_aware(datetime.combine(self.buy_date,
datetime.min.time())) datetime.min.time()))
return yearsago(MAX_TIME_MATERIAL) >= buy_time return yearsago(self.lifetime) >= buy_time
should_be_replaced.admin_order_field = 'buy_date' should_be_replaced.admin_order_field = 'buy_date'
should_be_replaced.boolean = True should_be_replaced.boolean = True

Loading…
Cancel
Save