Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Disable state for Date and Time widgets
  • Loading branch information
MaistrenkoAnton committed Jan 2, 2020
1 parent 0d43c46 commit 7871670
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 6 deletions.
27 changes: 27 additions & 0 deletions 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', ]
Expand All @@ -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)
Expand Down
10 changes: 7 additions & 3 deletions material/admin/templates/material/admin/widgets/date.html
@@ -1,8 +1,12 @@
{% load i18n %}

<div class="date-input date-block">
<input id="{{ widget.attrs.id }}" type="{{ widget.type }}" name="{{ widget.name }}" class="{{ widget.attrs.class }}" value="{{ widget.value|default_if_none:'' }}">
<i class="material-icons calendar" title="{% trans 'Calendar' %}">insert_invitation</i>
<i class="material-icons today" title="{% trans 'Today' %}">save_alt</i>
<input id="{{ widget.attrs.id }}" type="{{ widget.type }}" name="{{ widget.name }}"
class="{{ widget.attrs.class }}" value="{{ widget.value|default_if_none:'' }}"
{% if widget.attrs.disabled %}disabled{% endif %}>
{% if not widget.attrs.disabled %}
<i class="material-icons calendar" title="{% trans 'Calendar' %}">insert_invitation</i>
<i class="material-icons today" title="{% trans 'Today' %}">save_alt</i>
{% endif %}
</div>
<div class="time-difference"></div>
9 changes: 6 additions & 3 deletions material/admin/templates/material/admin/widgets/time.html
@@ -1,8 +1,11 @@
{% load i18n %}

<div class="time-input time-block">
<input id="{{ widget.attrs.id }}" type="{{ widget.type }}" name="{{ widget.name }}" class="timepicker" value="{{ widget.value|default_if_none:'' }}">
<i class="material-icons clock" title="{% trans 'Time' %}">access_time</i>
<i class="material-icons now" title="{% trans 'Now' %}">save_alt</i>
<input id="{{ widget.attrs.id }}" type="{{ widget.type }}" name="{{ widget.name }}" class="timepicker"
value="{{ widget.value|default_if_none:'' }}" {% if widget.attrs.disabled %}disabled{% endif %}>
{% if not widget.attrs.disabled %}
<i class="material-icons clock" title="{% trans 'Time' %}">access_time</i>
<i class="material-icons now" title="{% trans 'Now' %}">save_alt</i>
{% endif %}
</div>
<div class="time-difference"></div>

0 comments on commit 7871670

Please sign in to comment.