From 2d1f013e5c608b5ebd6d793d4cb45fee48e93aa2 Mon Sep 17 00:00:00 2001 From: Schlabonski Date: Fri, 21 Oct 2016 14:19:59 +0200 Subject: [PATCH] allow european date format input in MaterialPart form --- jdav_web/material/admin.py | 6 ++++-- jdav_web/material/models.py | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/jdav_web/material/admin.py b/jdav_web/material/admin.py index 293804d..4c5909f 100644 --- a/jdav_web/material/admin.py +++ b/jdav_web/material/admin.py @@ -1,6 +1,7 @@ from django.contrib import admin +from django import forms -from .models import MaterialPart, Ownership +from .models import MaterialPart, MaterialPartForm, Ownership # Register your models here. @@ -15,7 +16,8 @@ class OwnershipInline(admin.StackedInline): class MaterialAdmin(admin.ModelAdmin): """Edit view of a MaterialPart""" - fields = ['name', 'buy_date', 'lifetime', 'photo'] + + form = MaterialPartForm list_display = ('name', 'buy_date', 'lifetime', 'not_too_old', 'photo') inlines = [OwnershipInline] diff --git a/jdav_web/material/models.py b/jdav_web/material/models.py index c32d3dd..5ad4e5e 100644 --- a/jdav_web/material/models.py +++ b/jdav_web/material/models.py @@ -2,6 +2,8 @@ from datetime import datetime from decimal import Decimal from django.db import models +from django.contrib.admin import widgets +from django import forms from django.utils import timezone # maximum time in years of a material part until being replaced @@ -34,6 +36,19 @@ class MaterialPart(models.Model): not_too_old.boolean = True not_too_old.short_description = 'Not too old?' +class MaterialPartForm(forms.ModelForm): + """ + An input form for the `MaterialPart` model. + + This additional class is needed to override djangos default + `models.DateField` date format with a european format. + """ + buy_date = forms.DateField(widget=widgets.AdminDateWidget, input_formats=('%d.%m.%Y',)) + + class Meta: + model = MaterialPart + exclude = [] + class Ownership(models.Model): """Represents the connection between a MaterialPart and a Member"""