From f399c6ef25704f8df966403043a9ba18c31d6af7 Mon Sep 17 00:00:00 2001 From: katste Date: Wed, 13 Jan 2016 09:44:42 +0100 Subject: [PATCH] Fixes to input fields --- libstat/forms/survey.py | 64 +++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/libstat/forms/survey.py b/libstat/forms/survey.py index 820c591c..76aef5ea 100644 --- a/libstat/forms/survey.py +++ b/libstat/forms/survey.py @@ -31,42 +31,45 @@ def _cell_to_input_field(self, cell, observation, authenticated, variable_type): attrs["data-bv-notempty"] = "" attrs["placeholder"] = "Obligatorisk" - # Integer max value is 99999999 - if variable_type == "integer": - attrs["data-bv-regexp"] = "" - attrs["data-bv-regexp-regexp"] = "^(-|(0|[1-9]([0-9]){0,7}))$" - attrs["data-bv-message"] = u"Vänligen mata in ett numeriskt värde mindre än eller lika med 99999999, alternativt '-' om värdet inte är relevant" - - # Decimal max value is 99999999,999 - if variable_type == "decimal": - attrs["data-bv-regexp"] = "" - attrs["data-bv-regexp-regexp"] = "^(-|\d{1,8}(\,\d{1,3})?)$" - attrs["data-bv-regexp-message"] = u"Vänligen mata in ett numeriskt värde mindre än eller lika med 99999999,999 med max 3 decimaler (t ex 12,522), alternativt '-' om värdet inte är relevant" - - if variable_type == "email": - #attrs["data-bv-emailaddress"] = "" - attrs["data-bv-regexp"] = "" - attrs["data-bv-regexp-regexp"] = "^([\w!#$%&'*+/=?`{|}~^-]+(?:\.[\w!#$%&'*+/=?`{|}~^-]+)*@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,6})$" - attrs["data-bv-regexp-message"] = u"Vänligen mata in en giltig emailadress" - - if variable_type == "string": - attrs["data-bv-stringlength"] = "" - attrs["data-bv-stringlength-min"] = "0" - - if variable_type == "phonenumber": - attrs["data-bv-regexp"] = "" - attrs["data-bv-regexp-regexp"] = "^(-|\+?(\d\d?-?)+\d(\s?\d+)*\d+)$" - attrs["data-bv-regexp-message"] = u"Vänligen mata in ett giltigt telefonnummer utan bokstäver och parenteser, t ex 010-709 30 00" - # Utgifter and Intakter max 999999999 or 999999999,999 if "Utgift" in cell.variable_key or "Intakt" in cell.variable_key: + attrs["data-bv-regexp"] = "" if variable_type == "integer": - attrs["data-bv-reg
exp-regexp"] = "^(-|(0|[1-9]([0-9]){0,8}))$" + attrs["data-bv-regexp-regexp"] = "^(-|(0|[1-9]([0-9]){0,8}))$" attrs["data-bv-regexp-message"] = u"Vänligen mata in ett numeriskt värde mindre än eller lika med 999999999, alternativt '-' om värdet inte är relevant" elif variable_type == "decimal": attrs["data-bv-regexp-regexp"] = "^(-|\d{1,9}(\,\d{1,3})?)$" attrs["data-bv-regexp-message"] = u"Vänligen mata in ett numeriskt värde mindre än eller lika med 999999999,999 med max 3 decimaler (t ex 12,522), alternativt '-' om värdet inte är relevant" + else: + + # Integer max value is 99999999 + if variable_type == "integer": + attrs["data-bv-regexp"] = "" + attrs["data-bv-regexp-regexp"] = "^(-|(0|[1-9]([0-9]){0,7}))$" + attrs["data-bv-message"] = u"Vänligen mata in ett numeriskt värde mindre än eller lika med 99999999, alternativt '-' om värdet inte är relevant" + + # Decimal max value is 99999999,999 + if variable_type == "decimal": + attrs["data-bv-regexp"] = "" + attrs["data-bv-regexp-regexp"] = "^(-|\d{1,8}(\,\d{1,3})?)$" + attrs["data-bv-regexp-message"] = u"Vänligen mata in ett numeriskt värde mindre än eller lika med 99999999,999 med max 3 decimaler (t ex 12,522), alternativt '-' om värdet inte är relevant" + + if variable_type == "email": + #attrs["data-bv-emailaddress"] = "" + attrs["data-bv-regexp"] = "" + attrs["data-bv-regexp-regexp"] = "^([\w!#$%&'*+/=?`{|}~^-]+(?:\.[\w!#$%&'*+/=?`{|}~^-]+)*@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,6})$" + attrs["data-bv-regexp-message"] = u"Vänligen mata in en giltig emailadress" + + if variable_type == "string": + attrs["data-bv-stringlength"] = "" + attrs["data-bv-stringlength-min"] = "0" + + if variable_type == "phonenumber": + attrs["data-bv-regexp"] = "" + attrs["data-bv-regexp-regexp"] = "^(-|\+?(\d\d?-?)+\d(\s?\d+)*\d+)$" + attrs["data-bv-regexp-message"] = u"Vänligen mata in ett giltigt telefonnummer utan bokstäver och parenteser, t ex 010-709 30 00" + if not observation or observation.value_unknown: attrs["disabled"] = "" attrs["class"] = "{} value-unknown".format(attrs["class"]) @@ -95,6 +98,11 @@ def _cell_to_input_field(self, cell, observation, authenticated, variable_type): if isinstance(field.initial, unicode): field.initial = field.initial.strip() + if cell.variable_key == "Besok01": + logger.debug("attrs:") + for attr, value in attrs.iteritems(): + logger.debug(attr) + return field def _set_libraries(self, current_survey, this_surveys_selected_sigels, authenticated):