django-smartbase-admin 0.2.89__py3-none-any.whl → 0.2.90__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- django_smartbase_admin/engine/filter_widgets.py +18 -4
- django_smartbase_admin/static/sb_admin/dist/main.js +1 -1
- django_smartbase_admin/static/sb_admin/dist/table.js +1 -1
- django_smartbase_admin/static/sb_admin/src/js/datepicker_plugins.js +23 -14
- django_smartbase_admin/templates/sb_admin/filter_widgets/date_field.html +1 -1
- {django_smartbase_admin-0.2.89.dist-info → django_smartbase_admin-0.2.90.dist-info}/METADATA +1 -1
- {django_smartbase_admin-0.2.89.dist-info → django_smartbase_admin-0.2.90.dist-info}/RECORD +9 -9
- {django_smartbase_admin-0.2.89.dist-info → django_smartbase_admin-0.2.90.dist-info}/LICENSE.md +0 -0
- {django_smartbase_admin-0.2.89.dist-info → django_smartbase_admin-0.2.90.dist-info}/WHEEL +0 -0
|
@@ -326,12 +326,19 @@ class DateFilterWidget(SBAdminFilterWidget):
|
|
|
326
326
|
shortcuts[key].append(self.process_shortcut(shortcut, now))
|
|
327
327
|
return shortcuts
|
|
328
328
|
|
|
329
|
+
def get_default_label(self):
|
|
330
|
+
if self.default_value_shortcut_index is not None:
|
|
331
|
+
return self.get_shortcuts()[self.default_value_shortcut_index]["label"]
|
|
332
|
+
return super().get_default_value()
|
|
333
|
+
|
|
329
334
|
def get_default_value(self):
|
|
330
335
|
if self.default_value_shortcut_index is not None:
|
|
331
336
|
selected_shortcut_value = self.get_shortcuts()[
|
|
332
337
|
self.default_value_shortcut_index
|
|
333
338
|
]["value"]
|
|
334
|
-
return
|
|
339
|
+
return SBAdminViewService.json_dumps_for_url(
|
|
340
|
+
self.get_value_from_date_or_range(selected_shortcut_value)
|
|
341
|
+
)
|
|
335
342
|
return super().get_default_value()
|
|
336
343
|
|
|
337
344
|
def get_data(self):
|
|
@@ -374,9 +381,14 @@ class DateFilterWidget(SBAdminFilterWidget):
|
|
|
374
381
|
return [None, None]
|
|
375
382
|
date_format = cls.DATE_FORMAT
|
|
376
383
|
if type(filter_value) is list:
|
|
384
|
+
if type(filter_value[0]) is int:
|
|
385
|
+
return [
|
|
386
|
+
timezone.now() + timedelta(days=filter_value[0]),
|
|
387
|
+
timezone.now() + timedelta(days=filter_value[1]),
|
|
388
|
+
]
|
|
377
389
|
return [
|
|
378
|
-
|
|
379
|
-
|
|
390
|
+
datetime.strptime(filter_value[0], date_format),
|
|
391
|
+
datetime.strptime(filter_value[1], date_format),
|
|
380
392
|
]
|
|
381
393
|
try:
|
|
382
394
|
days_range = json.loads(filter_value)
|
|
@@ -397,9 +409,11 @@ class DateFilterWidget(SBAdminFilterWidget):
|
|
|
397
409
|
def get_value_from_date_or_range(cls, date_or_range):
|
|
398
410
|
if not isinstance(date_or_range, list):
|
|
399
411
|
return datetime.strftime(date_or_range, cls.DATE_FORMAT)
|
|
412
|
+
if type(date_or_range[0]) is int:
|
|
413
|
+
return date_or_range
|
|
400
414
|
date_from = datetime.strftime(date_or_range[0], cls.DATE_FORMAT)
|
|
401
415
|
date_to = datetime.strftime(date_or_range[1], cls.DATE_FORMAT)
|
|
402
|
-
return
|
|
416
|
+
return [date_from, date_to]
|
|
403
417
|
|
|
404
418
|
def parse_value_from_input(self, request, filter_value):
|
|
405
419
|
return self.get_range_from_value(filter_value)
|