0001-misc-added-is_french_mobile_phone_number-template-ta.patch
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': '0 1 23 45 67 8989'}) == 'False' |
|
811 |
assert t.render({'number': '0 1 23 45 67 89'}) == 'False' |
|
812 |
assert t.render({'number': '06 23 45 67 89 89'}) == 'False' |
|
813 | ||
814 |
assert t.render({'number': '06 23 45 67 89'}) == 'True' |
|
815 |
assert t.render({'number': '07 23 45 67 89'}) == 'True' |
|
816 |
assert t.render({'number': '0 6 23 45 67 89'}) == 'True' |
|
817 |
assert t.render({'number': '06.23.45.67.89'}) == 'True' |
|
818 | ||
819 | ||
806 | 820 |
@pytest.mark.skipif('langdetect is None') |
807 | 821 |
def test_language_detect(): |
808 | 822 |
t = Template('{{ plop|language_detect }}') |
wcs/qommon/templatetags/qommon.py | ||
---|---|---|
20 | 20 |
import math |
21 | 21 |
import os |
22 | 22 |
import random |
23 |
import re |
|
23 | 24 |
import string |
24 | 25 |
import unicodedata |
25 | 26 |
import urllib.parse |
... | ... | |
53 | 54 |
from wcs.qommon import calendar, evalutils, tokens, upload_storage |
54 | 55 |
from wcs.qommon.admin.texts import TextsDirectory |
55 | 56 |
from wcs.qommon.humantime import seconds2humanduration |
57 |
from wcs.qommon.misc import validate_phone_fr |
|
56 | 58 | |
57 | 59 |
register = template.Library() |
58 | 60 | |
... | ... | |
878 | 880 |
return value |
879 | 881 | |
880 | 882 | |
883 |
@register.filter(is_safe=True) |
|
884 |
def is_french_mobile_phone_number(value): |
|
885 |
value = unlazy(value) |
|
886 | ||
887 |
if not value: |
|
888 |
return False |
|
889 | ||
890 |
value = value.strip().replace(' ', '') |
|
891 |
if not validate_phone_fr(value): |
|
892 |
return False |
|
893 | ||
894 |
return value.startswith('06') or value.startswith('07') |
|
895 | ||
896 | ||
881 | 897 |
@register.filter |
882 | 898 |
def is_empty(value): |
883 | 899 |
from wcs.variables import LazyFormDefObjectsManager, LazyList |
884 |
- |