From b5c05057e61536883065b5d2a5ebab554da836bb Mon Sep 17 00:00:00 2001 From: Antonio de la Rosa Date: Wed, 24 Aug 2016 05:48:47 +0200 Subject: [PATCH] Added new field type called urlfield --- paramecio/citoplasma/adminutils.py | 4 ++-- paramecio/cromosoma/extrafields/urlfield.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/paramecio/citoplasma/adminutils.py b/paramecio/citoplasma/adminutils.py index 55e068b..6ea8e7f 100644 --- a/paramecio/citoplasma/adminutils.py +++ b/paramecio/citoplasma/adminutils.py @@ -73,7 +73,7 @@ def check_login(): return False -def base_admin(func_view, env, title): +def base_admin(func_view, env, title, **args): env.directories.insert(1, config.paramecio_root+'/modules/admin/templates') @@ -94,7 +94,7 @@ def base_admin(func_view, env, title): lang_selected=get_language(s) - content_index=func_view(connection, t, s) + content_index=func_view(connection, t, s, **args) return t.load_template('admin/content.html', title=title, content_index=content_index, menu=menu, lang_selected=lang_selected, arr_i18n=I18n.dict_i18n) diff --git a/paramecio/cromosoma/extrafields/urlfield.py b/paramecio/cromosoma/extrafields/urlfield.py index c6caa49..f096c63 100644 --- a/paramecio/cromosoma/extrafields/urlfield.py +++ b/paramecio/cromosoma/extrafields/urlfield.py @@ -23,3 +23,20 @@ class UrlField(CharField): self.txt_error='No valid URL format' return value + +check_domain=re.compile('^(([a-zA-Z]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|([a-zA-Z0-9][a-zA-Z0-9-_]{1,61}[a-zA-Z0-9]))\.([a-zA-Z]{2,6}|[a-zA-Z0-9-]{2,30}\.[a-zA-Z]{2,3})$') + +class DomainField(CharField): + + def check(self, value): + + self.error=False + self.txt_error='' + + if not check_domain.match(value): + + self.error=True + value="" + self.txt_error='No valid domain format' + + return value