Projet

Général

Profil

0001-misc-added-is_french_mobile_phone_number-template-ta.patch

A. Berriot, 25 juillet 2022 09:16

Télécharger (2,17 ko)

Voir les différences:

Subject: [PATCH] misc: added is_french_mobile_phone_number template tag
 (#24990)

 tests/test_templates.py           | 11 +++++++++++
 wcs/qommon/templatetags/qommon.py | 15 +++++++++++++++
 2 files changed, 26 insertions(+)
tests/test_templates.py
803 803
    assert tmpl.render(context) == '01-43-35-01-35'
804 804

  
805 805

  
806
def test_is_french_mobile_phone_number():
807
    t = Template('{{ number|is_french_mobile_phone_number }}')
808

  
809
    assert t.render({'number': '01 23 45 67 8989'}) == 'False'
810
    assert t.render({'number': '06 23 45 67 89 89'}) == 'False'
811

  
812
    assert t.render({'number': '06 23 45 67 89'}) == 'True'
813
    assert t.render({'number': '07 23 45 67 89'}) == 'True'
814
    assert t.render({'number': '06.23.45.67.89'}) == 'True'
815

  
816

  
806 817
@pytest.mark.skipif('langdetect is None')
807 818
def test_language_detect():
808 819
    t = Template('{{ plop|language_detect }}')
wcs/qommon/templatetags/qommon.py
53 53
from wcs.qommon import calendar, evalutils, tokens, upload_storage
54 54
from wcs.qommon.admin.texts import TextsDirectory
55 55
from wcs.qommon.humantime import seconds2humanduration
56
from wcs.qommon.misc import validate_phone_fr
56 57

  
57 58
register = template.Library()
58 59

  
......
878 879
    return value
879 880

  
880 881

  
882
@register.filter(is_safe=True)
883
def is_french_mobile_phone_number(value):
884
    value = unlazy(value)
885

  
886
    if not value:
887
        return False
888

  
889
    value = value.strip()
890
    if not validate_phone_fr(value):
891
        return False
892

  
893
    return value.startswith('06') or value.startswith('07')
894

  
895

  
881 896
@register.filter
882 897
def is_empty(value):
883 898
    from wcs.variables import LazyFormDefObjectsManager, LazyList
884
-