misc: added is_french_mobile_phone_number template tag (#24990)

This commit is contained in:
Agate 2022-07-18 10:28:12 +02:00
parent 750ae614bd
commit a95687397b
2 changed files with 29 additions and 0 deletions

View File

@ -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 }}')

View File

@ -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