mirror of https://github.com/snachodog/mybuddy.git
Use short datetime string for lists (WIP)
This commit is contained in:
parent
c1dab44596
commit
58acccfddb
|
@ -1,5 +1,5 @@
|
|||
{% extends 'babybuddy/page.html' %}
|
||||
{% load datetimepicker i18n %}
|
||||
{% load datetime i18n %}
|
||||
|
||||
{% block title %}
|
||||
{% if request.resolver_match.url_name == 'diaperchange-update' %}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends 'babybuddy/page.html' %}
|
||||
{% load bootstrap i18n widget_tweaks %}
|
||||
{% load bootstrap datetime i18n widget_tweaks %}
|
||||
|
||||
{% block title %}{% trans "Diaper Changes" %}{% endblock %}
|
||||
|
||||
|
@ -34,7 +34,7 @@
|
|||
{% for change in object_list %}
|
||||
{% cycle "odd" "even" as row_class silent %}
|
||||
<tr class="{{ row_class }}">
|
||||
<th scope="row">{{ change.time }}</th>
|
||||
<th scope="row">{{ change.time|datetime_short }}</th>
|
||||
<td><a href="{% url 'core:child' change.child.slug %}">{{ change.child }}</a></td>
|
||||
<td class="text-center">{{ change.wet|bool_icon }}</td>
|
||||
<td class="text-center">{{ change.solid|bool_icon }}</td>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends 'babybuddy/page.html' %}
|
||||
{% load datetimepicker i18n %}
|
||||
{% load datetime i18n %}
|
||||
|
||||
{% block title %}
|
||||
{% if request.resolver_match.url_name == 'feeding-update' %}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends 'babybuddy/page.html' %}
|
||||
{% load datetimepicker i18n %}
|
||||
{% load datetime i18n %}
|
||||
|
||||
{% block title %}
|
||||
{% if request.resolver_match.url_name == 'note-update' %}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends 'babybuddy/page.html' %}
|
||||
{% load datetimepicker i18n %}
|
||||
{% load datetime i18n %}
|
||||
|
||||
{% block title %}
|
||||
{% if request.resolver_match.url_name == 'sleep-update' %}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends 'babybuddy/page.html' %}
|
||||
{% load datetimepicker i18n %}
|
||||
{% load datetime i18n %}
|
||||
|
||||
{% block title %}
|
||||
{% if object %}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends 'babybuddy/page.html' %}
|
||||
{% load datetimepicker duration i18n %}
|
||||
{% load datetime duration i18n %}
|
||||
|
||||
{% block title %}{% trans "Timer" %}{% endblock %}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends 'babybuddy/page.html' %}
|
||||
{% load datetimepicker i18n %}
|
||||
{% load datetime i18n %}
|
||||
|
||||
{% block title %}
|
||||
{% if request.resolver_match.url_name == 'tummytime-update' %}
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from django import template
|
||||
from django.conf import settings
|
||||
from django.utils import timezone, formats
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
register = template.Library()
|
||||
|
||||
|
||||
@register.simple_tag()
|
||||
def datetimepicker_format(format_string='L LT'):
|
||||
"""
|
||||
Return a datetime format string for momentjs, with support for 24 hour time
|
||||
override setting.
|
||||
:param format_string: the default format string (locale based)
|
||||
:return: the format string to use, as 24 hour time if configured.
|
||||
"""
|
||||
if settings.USE_24_HOUR_TIME_FORMAT:
|
||||
if format_string == 'L LT':
|
||||
return 'L HH:mm'
|
||||
elif format_string == 'L LTS':
|
||||
return 'L HH:mm:ss'
|
||||
return format_string
|
||||
|
||||
|
||||
@register.filter()
|
||||
def datetime_short(date):
|
||||
"""
|
||||
Format a datetime object as short string for list views
|
||||
:param date: datetime instance
|
||||
:return: a string representation of `date`.
|
||||
"""
|
||||
now = timezone.now()
|
||||
time_string = None
|
||||
if now.date() == date.date():
|
||||
date_string = _('Today')
|
||||
time_string = formats.date_format(date, format='TIME_FORMAT')
|
||||
elif now.year == date.year:
|
||||
date_string = formats.date_format(date, format='MONTH_DAY_FORMAT')
|
||||
time_string = formats.date_format(date, format='TIME_FORMAT')
|
||||
else:
|
||||
date_string = formats.date_format(date, format='SHORT_DATETIME_FORMAT')
|
||||
|
||||
if date_string and time_string:
|
||||
datetime_string = '{}, {}'.format(date_string, time_string)
|
||||
else:
|
||||
datetime_string = date_string
|
||||
|
||||
return datetime_string
|
|
@ -1,21 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from django import template
|
||||
from django.conf import settings
|
||||
|
||||
register = template.Library()
|
||||
|
||||
|
||||
@register.simple_tag()
|
||||
def datetimepicker_format(format_string='L LT'):
|
||||
"""
|
||||
Return a datetime format string for momentjs, with support for 24 hour time
|
||||
override setting.
|
||||
:param format_string: the default format string (locale based)
|
||||
:return: the format string to use, as 24 hour time if configured.
|
||||
"""
|
||||
if settings.USE_24_HOUR_TIME_FORMAT:
|
||||
if format_string == 'L LT':
|
||||
return 'L HH:mm'
|
||||
elif format_string == 'L LTS':
|
||||
return 'L HH:mm:ss'
|
||||
return format_string
|
|
@ -4,7 +4,7 @@ from django.test import TestCase
|
|||
from django.utils import timezone
|
||||
|
||||
from core.models import Child, Timer
|
||||
from core.templatetags import bootstrap, datetimepicker, duration, timers
|
||||
from core.templatetags import bootstrap, datetime, duration, timers
|
||||
|
||||
|
||||
class TemplateTagsTestCase(TestCase):
|
||||
|
@ -72,14 +72,14 @@ class TemplateTagsTestCase(TestCase):
|
|||
timer.id, child.slug))
|
||||
|
||||
def test_datetimepicker_format(self):
|
||||
self.assertEqual(datetimepicker.datetimepicker_format(), 'L LT')
|
||||
self.assertEqual(datetimepicker.datetimepicker_format('L LT'), 'L LT')
|
||||
self.assertEqual(datetime.datetimepicker_format(), 'L LT')
|
||||
self.assertEqual(datetime.datetimepicker_format('L LT'), 'L LT')
|
||||
self.assertEqual(
|
||||
datetimepicker.datetimepicker_format('L LTS'), 'L LTS')
|
||||
datetime.datetimepicker_format('L LTS'), 'L LTS')
|
||||
|
||||
with self.settings(USE_24_HOUR_TIME_FORMAT=True):
|
||||
self.assertEqual(datetimepicker.datetimepicker_format(), 'L HH:mm')
|
||||
self.assertEqual(datetime.datetimepicker_format(), 'L HH:mm')
|
||||
self.assertEqual(
|
||||
datetimepicker.datetimepicker_format('L LT'), 'L HH:mm')
|
||||
datetime.datetimepicker_format('L LT'), 'L HH:mm')
|
||||
self.assertEqual(
|
||||
datetimepicker.datetimepicker_format('L LTS'), 'L HH:mm:ss')
|
||||
datetime.datetimepicker_format('L LTS'), 'L HH:mm:ss')
|
||||
|
|
Loading…
Reference in New Issue