From 787167015607177421fec474e083ce856d759337 Mon Sep 17 00:00:00 2001 From: Anton Date: Thu, 2 Jan 2020 12:58:14 +0200 Subject: [PATCH] Disable state for Date and Time widgets --- app/demo/periods/admin.py | 27 +++++++++++++++++++ .../material/admin/widgets/date.html | 10 ++++--- .../material/admin/widgets/time.html | 9 ++++--- 3 files changed, 40 insertions(+), 6 deletions(-) diff --git a/app/demo/periods/admin.py b/app/demo/periods/admin.py index f6f74f50..c240bd96 100644 --- a/app/demo/periods/admin.py +++ b/app/demo/periods/admin.py @@ -1,13 +1,28 @@ from daterangefilter.filters import FutureDateRangeFilter from django.contrib.admin import ModelAdmin, register +from django import forms from demo.periods.models import DateTimeModel, TimeModel, DateModel, Period1, Period2, Period3, Period4, Period5 from adminsortable2.admin import SortableAdminMixin +from material.admin.widgets import MaterialAdminTimeWidget, MaterialAdminDateWidget + + +class DateForm(forms.ModelForm): + date = forms.DateField( + widget=MaterialAdminDateWidget, + disabled=True + ) + + class Meta: + model = DateModel + fields = ['date'] + @register(DateModel) class DateModelAdmin(SortableAdminMixin, ModelAdmin): icon_name = 'insert_invitation' + form = DateForm list_display = ('id', 'my_order', 'date') # ordering = ('my_order', ) list_editable = ['date', ] @@ -20,9 +35,21 @@ class DateModelAdmin(SortableAdminMixin, ModelAdmin): ) +class TimeForm(forms.ModelForm): + time = forms.TimeField( + widget=MaterialAdminTimeWidget, + disabled=True + ) + + class Meta: + model = TimeModel + fields = ['time'] + + @register(TimeModel) class PersonAdmin(ModelAdmin): icon_name = 'access_time' + form = TimeForm @register(DateTimeModel) diff --git a/material/admin/templates/material/admin/widgets/date.html b/material/admin/templates/material/admin/widgets/date.html index aefd4748..25376ee9 100644 --- a/material/admin/templates/material/admin/widgets/date.html +++ b/material/admin/templates/material/admin/widgets/date.html @@ -1,8 +1,12 @@ {% load i18n %}
- - insert_invitation - save_alt + + {% if not widget.attrs.disabled %} + insert_invitation + save_alt + {% endif %}
diff --git a/material/admin/templates/material/admin/widgets/time.html b/material/admin/templates/material/admin/widgets/time.html index 440a8d69..4ca23bf9 100644 --- a/material/admin/templates/material/admin/widgets/time.html +++ b/material/admin/templates/material/admin/widgets/time.html @@ -1,8 +1,11 @@ {% load i18n %}
- - access_time - save_alt + + {% if not widget.attrs.disabled %} + access_time + save_alt + {% endif %}