misc: added is_french_mobile_phone_number template tag (#24990)
This commit is contained in:
parent
750ae614bd
commit
a95687397b
|
@ -803,6 +803,20 @@ def test_phonenumber_fr():
|
|||
assert tmpl.render(context) == '01-43-35-01-35'
|
||||
|
||||
|
||||
def test_is_french_mobile_phone_number():
|
||||
t = Template('{{ number|is_french_mobile_phone_number }}')
|
||||
|
||||
assert t.render({'number': '01 23 45 67 8989'}) == 'False'
|
||||
assert t.render({'number': '06 23 45 67 89 89'}) == 'False'
|
||||
assert t.render({'number': '06 23 45 89'}) == 'False'
|
||||
assert t.render({'number': '0 6 2 3 45 89'}) == 'False'
|
||||
|
||||
assert t.render({'number': '06 23 45 67 89'}) == 'True'
|
||||
assert t.render({'number': '07 23 45 67 89'}) == 'True'
|
||||
assert t.render({'number': '06.23.45.67.89'}) == 'True'
|
||||
assert t.render({'number': '0 6 2 3 45 67 89'}) == 'True'
|
||||
|
||||
|
||||
@pytest.mark.skipif('langdetect is None')
|
||||
def test_language_detect():
|
||||
t = Template('{{ plop|language_detect }}')
|
||||
|
|
|
@ -53,6 +53,7 @@ from django.utils.timezone import is_naive, make_aware
|
|||
from wcs.qommon import calendar, evalutils, tokens, upload_storage
|
||||
from wcs.qommon.admin.texts import TextsDirectory
|
||||
from wcs.qommon.humantime import seconds2humanduration
|
||||
from wcs.qommon.misc import validate_phone_fr
|
||||
|
||||
register = template.Library()
|
||||
|
||||
|
@ -878,6 +879,20 @@ def phonenumber_fr(value, separator=' '):
|
|||
return value
|
||||
|
||||
|
||||
@register.filter(is_safe=True)
|
||||
def is_french_mobile_phone_number(value):
|
||||
value = unlazy(value)
|
||||
|
||||
if not value:
|
||||
return False
|
||||
|
||||
value = value.strip().replace(' ', '')
|
||||
if not validate_phone_fr(value):
|
||||
return False
|
||||
|
||||
return value.startswith('06') or value.startswith('07')
|
||||
|
||||
|
||||
@register.filter
|
||||
def is_empty(value):
|
||||
from wcs.variables import LazyFormDefObjectsManager, LazyList
|
||||
|
|
Loading…
Reference in New Issue