app/soc/logic/cleaning.py
changeset 1990 fea8bdb43992
parent 1988 d826f7aed8f2
child 2014 e6d297dcf7aa
equal deleted inserted replaced
1989:3fa3384b5378 1990:fea8bdb43992
   295 
   295 
   296     return value
   296     return value
   297   return wrapper
   297   return wrapper
   298 
   298 
   299 
   299 
   300 def clean_numeric_only(field_name):
   300 def clean_phone_number(field_name):
   301   """Clean method for cleaning a field that may only contain numerical values.
   301   """Clean method for cleaning a field that may only contain numerical values.
   302   """
   302   """
   303 
   303 
   304   @check_field_is_empty(field_name)
   304   @check_field_is_empty(field_name)
   305   def wrapper(self):
   305   def wrapper(self):
   306     """Decorator wrapped method.
   306     """Decorator wrapped method.
   307     """
   307     """
   308 
   308 
   309     value = self.cleaned_data.get(field_name)
   309     value = self.cleaned_data.get(field_name)
       
   310 
       
   311     # allow for a '+' prefix which means '00'
       
   312     if value[0] == '+':
       
   313       value = '00' + value[1:]
   310 
   314 
   311     if not value.isdigit():
   315     if not value.isdigit():
   312       raise forms.ValidationError("Only numerical characters are allowed")
   316       raise forms.ValidationError("Only numerical characters are allowed")
   313 
   317 
   314     return value
   318     return value