From 1b815ec4fed499e5a29683158704d976549af207 Mon Sep 17 00:00:00 2001 From: Schlabonski Date: Wed, 19 Oct 2016 20:02:02 +0200 Subject: [PATCH] make lifetime a specific attribute of each material part --- jdav_web/material/admin.py | 4 ++-- jdav_web/material/models.py | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/jdav_web/material/admin.py b/jdav_web/material/admin.py index 9f435b3..2879af2 100644 --- a/jdav_web/material/admin.py +++ b/jdav_web/material/admin.py @@ -15,8 +15,8 @@ class OwnershipInline(admin.StackedInline): class MaterialAdmin(admin.ModelAdmin): """Edit view of a MaterialPart""" - fields = ['name', 'buy_date'] - list_display = ('name', 'buy_date', 'should_be_replaced') + fields = ['name', 'buy_date', 'lifetime'] + list_display = ('name', 'buy_date', 'lifetime', 'should_be_replaced') inlines = [OwnershipInline] admin.site.register(MaterialPart, MaterialAdmin) diff --git a/jdav_web/material/models.py b/jdav_web/material/models.py index 5749e97..2cbc1fa 100644 --- a/jdav_web/material/models.py +++ b/jdav_web/material/models.py @@ -14,7 +14,8 @@ class MaterialPart(models.Model): members of the association (Ownership) """ 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): """String representation""" @@ -24,7 +25,7 @@ class MaterialPart(models.Model): """Returns wether the part should be replaced cause of age""" buy_time = timezone.make_aware(datetime.combine(self.buy_date, 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.boolean = True