Fix #274 -- Disable weekends in datetimepicker for expiry (#320)

* Fix for Disable weekends in datetimepicker for expiry #274

* minor fixes from review
This commit is contained in:
Christopher Dambamuromo
2016-11-17 21:39:48 +00:00
committed by Raphael Michel
parent 94461b36ba
commit bac9960d0c
5 changed files with 15 additions and 4 deletions

View File

@@ -6,6 +6,7 @@ an awesome project. Thank you all!
Alexander Brock <Brock.Alexander@web.de> Alexander Brock <Brock.Alexander@web.de>
Ben Oswald Ben Oswald
Christian Franke <nobody@nowhere.ws> Christian Franke <nobody@nowhere.ws>
Christopher Dambamuromo <me@chridam.com>
Enrique Saez Enrique Saez
Flavia Bastos Flavia Bastos
informancer <informancer@web.de> informancer <informancer@web.de>

View File

@@ -27,10 +27,14 @@ def contextprocessor(request):
_html_head.append(response) _html_head.append(response)
ctx['html_head'] = "".join(_html_head) ctx['html_head'] = "".join(_html_head)
_js_payment_weekdays_disabled = '[]'
_nav_event = [] _nav_event = []
if hasattr(request, 'event'): if hasattr(request, 'event'):
for receiver, response in nav_event.send(request.event, request=request): for receiver, response in nav_event.send(request.event, request=request):
_nav_event += response _nav_event += response
if request.event.settings.get('payment_term_weekdays'):
_js_payment_weekdays_disabled = '[0,6]'
ctx['js_payment_weekdays_disabled'] = _js_payment_weekdays_disabled
ctx['nav_event'] = _nav_event ctx['nav_event'] = _nav_event
ctx['js_datetime_format'] = get_javascript_format('DATETIME_INPUT_FORMATS') ctx['js_datetime_format'] = get_javascript_format('DATETIME_INPUT_FORMATS')

View File

@@ -13,7 +13,10 @@ class ExtendForm(I18nModelForm):
model = Order model = Order
fields = ['expires'] fields = ['expires']
widgets = { widgets = {
'expires': forms.DateInput(attrs={'class': 'datepickerfield'}), 'expires': forms.DateInput(attrs={
'class': 'datepickerfield',
'data-is-payment-date': 'true'
})
} }
def clean(self): def clean(self):

View File

@@ -35,7 +35,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="{% static "pretixbase/img/favicon.ico" %}"> <link rel="icon" href="{% static "pretixbase/img/favicon.ico" %}">
</head> </head>
<body data-datetimeformat="{{ js_datetime_format }}" data-dateformat="{{ js_date_format }}" data-datetimelocale="{{ js_locale }}"> <body data-datetimeformat="{{ js_datetime_format }}" data-dateformat="{{ js_date_format }}" data-datetimelocale="{{ js_locale }}" data-payment-weekdays-disabled="{{ js_payment_weekdays_disabled }}">
<div id="#wrapper"> <div id="#wrapper">
<nav class="navbar navbar-inverse navbar-static-top" role="navigation"> <nav class="navbar navbar-inverse navbar-static-top" role="navigation">
<div class="navbar-header"> <div class="navbar-header">

View File

@@ -127,7 +127,7 @@ $(function () {
}); });
$(".datepickerfield").each(function() { $(".datepickerfield").each(function() {
$(this).datetimepicker({ var opts = {
format: $("body").attr("data-dateformat"), format: $("body").attr("data-dateformat"),
locale: $("body").attr("data-datetimelocale"), locale: $("body").attr("data-datetimelocale"),
useCurrent: false, useCurrent: false,
@@ -143,7 +143,10 @@ $(function () {
clear: 'fa fa-trash', clear: 'fa fa-trash',
close: 'fa fa-remove' close: 'fa fa-remove'
} }
}); };
if ($(this).is('[data-is-payment-date]'))
opts["daysOfWeekDisabled"] = JSON.parse($("body").attr("data-payment-weekdays-disabled"));
$(this).datetimepicker(opts);
}); });
$(".qrcode-canvas").each(function() { $(".qrcode-canvas").each(function() {