Projet

Général

Profil

0001-misc-extend-date-filter-to-support-more-input-types-.patch

Frédéric Péters, 30 août 2018 20:52

Télécharger (2,76 ko)

Voir les différences:

Subject: [PATCH] misc: extend |date filter to support more input types
 (#25976)

 tests/test_formdata.py            | 30 ++++++++++++++++++++++++++++++
 wcs/qommon/templatetags/qommon.py |  5 +++++
 2 files changed, 35 insertions(+)
tests/test_formdata.py
716 716
    formdata.data = {'0': time.strptime('2015-05-12', '%Y-%m-%d')}
717 717
    formdata.store()
718 718
    assert formdef.data_class().get(formdata.id).digest == 'plop 12/05/2015 plop'
719

  
720
    formdef.digest_template = 'plop {{ form_var_date|date:"Y" }} plop'
721
    formdef.store()
722
    formdata = formdef.data_class()()
723
    formdata.data = {'0': time.strptime('2015-05-12', '%Y-%m-%d')}
724
    formdata.store()
725
    assert formdef.data_class().get(formdata.id).digest == 'plop 2015 plop'
726

  
727
    formdef.digest_template = 'plop {{ form_var_date_raw|date:"Y" }} plop'
728
    formdef.store()
729
    formdata = formdef.data_class()()
730
    formdata.data = {'0': time.strptime('2015-05-12', '%Y-%m-%d')}
731
    formdata.store()
732
    assert formdef.data_class().get(formdata.id).digest == 'plop 2015 plop'
733

  
734
    formdef.digest_template = 'plop {{ form_var_date|date:"Y" }} plop'
735
    formdef.store()
736
    formdata = formdef.data_class()()
737
    formdata.data = {'0': None}
738
    formdata.store()
739
    assert formdef.data_class().get(formdata.id).digest == 'plop  plop'
740

  
741

  
742

  
743
    formdef.digest_template = 'plop {{ form_var|date:"Y" }} plop'
744
    formdef.store()
745
    formdata = formdef.data_class()()
746
    formdata.data = {'0': time.strptime('2015-05-12', '%Y-%m-%d')}
747
    formdata.store()
748
    assert formdef.data_class().get(formdata.id).digest == 'plop  plop'
wcs/qommon/templatetags/qommon.py
15 15
# along with this program; if not, see <http://www.gnu.org/licenses/>.
16 16

  
17 17
from django import template
18
from django.template import defaultfilters
18 19
from django.utils import dateparse
19 20
from django.utils.safestring import mark_safe
20 21
from wcs.qommon import evalutils
......
66 67
    except (ValueError, TypeError):
67 68
        return None
68 69

  
70
@register.filter(expects_localtime=True, is_safe=False)
71
def date(value, arg=None):
72
    return defaultfilters.date(parse_date(value), arg=arg)
73

  
69 74
@register.simple_tag
70 75
def standard_text(text_id):
71 76
    return mark_safe(TextsDirectory.get_html_text(str(text_id)))
72
-