Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.19 KB | None | 0 0
  1. # _*_ coding: utf-8 _*_
  2.  
  3. """
  4. IPC
  5. Created on Apr 24, 2017
  6.  
  7. @author: lasha gogua
  8. """
  9.  
  10. from django import forms
  11. from django.contrib.auth.models import User
  12. from django.utils.translation import ugettext_lazy as _
  13.  
  14. from app.authuser.models import UserData, UserType
  15.  
  16.  
  17. class RegistrationForm(forms.ModelForm):
  18. user_name = forms.CharField(label=_('Username'),
  19. error_messages={'required': _('Username is Required'),
  20. 'invalid': _('This value must contain only letters, numbers and underscores.')}, required=True,
  21. widget=forms.TextInput(attrs={'class': 'form-control'}))
  22. password = forms.CharField(label=_('Password'), widget=forms.PasswordInput(render_value=True, attrs={'class': 'form-control'}),
  23. error_messages={'required': _('Password is Required'),
  24. 'invalid': _('This value must contain only letters, numbers and underscores.')})
  25. confirm_password = forms.CharField(label=_('Confirm Password'), widget=forms.PasswordInput(render_value=True, attrs={'class': 'form-control'}),
  26. error_messages={'required': _('Confirm Password is Required'),
  27. 'invalid': _('This value must contain only letters, numbers and underscores.')})
  28. user_type = forms.ModelChoiceField(label=_('User Type'),
  29. queryset=UserType.objects.exclude(name='შიდა მომხმარებელი').all(),
  30. error_messages={'required': _('User Type is Required'),
  31. 'invalid': _('User Type Invalid Value, Please Choose User type')})
  32. pin = forms.CharField(label=_('Personal ID'), required=True,
  33. error_messages={'required': _('Personal ID is Required'),
  34. 'invalid': _('Enter Valid ID, This value must contain only numbers')},
  35. widget=forms.TextInput(attrs={'class': 'form-control'}))
  36. name = forms.CharField(label=_('First Name'), required=True,
  37. error_messages={'required': _('First Name is Required'),
  38. 'invalid': _('This value must contain only letters')},
  39. widget=forms.TextInput(attrs={'class': 'form-control'}))
  40. name_eng = forms.CharField(label=_('First Name En'), required=False,
  41. error_messages={'required': _('First Name is Required'),
  42. 'invalid': _('This value must contain only letters')},
  43. widget=forms.TextInput(attrs={'class': 'form-control'}))
  44. last_name = forms.CharField(label=_('Last Name'), required=True,
  45. error_messages={'required': _('Last Name is Required'),
  46. 'invalid': _('This value must contain only letters')},
  47. widget=forms.TextInput(attrs={'class': 'form-control'}))
  48. last_name_eng = forms.CharField(label=_('Last Name En'), required=False,
  49. error_messages={'required': _('Last Name is Required'),
  50. 'invalid': _('This value must contain only letters')},
  51. widget=forms.TextInput(attrs={'class': 'form-control'}))
  52. phone = forms.CharField(label=_('Phone'), required=True,
  53. error_messages={'required': _('Phone is Required'),
  54. 'invalid': _('This value must contain only numbers')},
  55. widget=forms.TextInput(attrs={'class': 'form-control'}))
  56. mail = forms.CharField(label=_('Email'), required=True,
  57. error_messages={'required': _('Email is Required'),
  58. 'invalid': _('This value must contain email type')},
  59. widget=forms.TextInput(attrs={'class': 'form-control'}))
  60. registration_address = forms.CharField(label=_('Registration Address'), required=True,
  61. error_messages={'required': _('Registration Address is Required'),
  62. 'invalid': _('This value must contain only letters')},
  63. widget=forms.TextInput(attrs={'class': 'form-control'}))
  64. actual_address = forms.CharField(label=_('Actual Address'), required=True,
  65. error_messages={'required': _('Actual Address is Required'),
  66. 'invalid': _('This value must contain only letters')},
  67. widget=forms.TextInput(attrs={'class': 'form-control'}))
  68.  
  69. class Meta:
  70. model = UserData
  71. fields = ('user_name', 'user_type', 'pin', 'name', 'name_eng', 'last_name', 'last_name_eng', 'phone',
  72. 'mail', 'registration_address', 'actual_address',)
  73.  
  74. def clean_username(self):
  75. if not self.cleaned_data.has_key('user_name'):
  76. raise forms.ValidationError(_('Username not found!, Please enter username'))
  77. username = self.cleaned_data['user_name']
  78. try:
  79. User.objects.get(username=username)
  80. except User.DoesNotExist:
  81. return username
  82. raise forms.ValidationError(_('Username already exists, Please enter other username'))
  83.  
  84. def clean_pin(self):
  85. pin = self.cleaned_data.get('pin')
  86. if not isinstance(pin, int) and len(pin) < 11:
  87. raise forms.ValidationError(_('Personal ID is Wrong, This value must contain only numbers'))
  88. return pin
  89.  
  90. def clean(self):
  91. if not self.cleaned_data.has_key('password') or not self.cleaned_data.has_key('confirm_password'):
  92. raise forms.ValidationError(_('Password does not match.'))
  93. if self.cleaned_data.get('password') != self.cleaned_data.get('confirm_password'):
  94. raise forms.ValidationError(_('Password does not match the confirm password.'))
  95. return self.cleaned_data
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement