Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.10 KB | None | 0 0
  1. {% if form.errors %}<p>Please correct the following fields:</p>{% endif %}
  2.  
  3. <div class='register_div'>
  4. {% if form.first_name.errors %}
  5. <p class='error'>{{ form.first_name.errors }}</p>
  6. {% endif %}
  7. <p>
  8. <label for='first_name'{% if form.first_name.errors %}class='error'{% endif %}>
  9. First Name:
  10. </label>
  11. </p>
  12. <p>{{ form.first_name }}</p>
  13. </div>
  14.  
  15. class UserProfile(models.Model):
  16. user = models.ForeignKey(User, unique=True)
  17. role = models.CharField(max_length=14, choices=role, verbose_name='Role', blank=True, null=True)
  18. job_description = models.TextField(max_length=100, verbose_name='Job Description', blank=True)
  19.  
  20. # Basic Information
  21. first_name = models.CharField(max_length=30, verbose_name='First Name')
  22. last_name = models.CharField(max_length=30, verbose_name='Last Name')
  23. dob = models.DateField(verbose_name='Date of Birth')
  24. stud_id = models.BigIntegerField(verbose_name='Student ID',)
  25. mob_num = models.CharField(max_length=30, verbose_name='Mobile Number')
  26. home_num = models.CharField(max_length=30, verbose_name='Home Number')
  27. term_add = models.TextField(verbose_name='Term Time Address')
  28. perm_add = models.TextField(verbose_name='Permanent Address')
  29. au_status = models.NullBooleanField(verbose_name='Are you a member of the AU?')
  30.  
  31. # Next of Kin Details
  32. nok_first_name = models.CharField(max_length=30, verbose_name='First Name (Next of Kin) ')
  33. nok_last_name = models.CharField(max_length=30, verbose_name='Last Name (Next of Kin)')
  34. relationship = models.CharField(max_length=30, verbose_name='Relationship (with Next of Kin)')
  35. nok_mob_num = models.CharField(max_length=30, verbose_name='Mobile Number (Next of Kin)')
  36. nok_home_num = models.CharField(max_length=30, verbose_name='Home Number (Next of Kin)')
  37. nok_add = models.TextField(verbose_name='Address (Next of Kin)')
  38.  
  39. # Health and Safety
  40. diet = models.TextField(verbose_name='Dietary Requirements', blank=True)
  41. med_cond = models.TextField(verbose_name='Medical Conditions', blank=True)
  42. fear = models.TextField(verbose_name='Greatest Fears', blank=True)
  43. swim = models.NullBooleanField(verbose_name='Can you swim more than 100m?')
  44.  
  45. # Equipment:
  46. sleeping_bag = models.NullBooleanField(verbose_name='Do you have a warm sleeping bag')
  47. waterproof = models.NullBooleanField(verbose_name='Do you have waterproof clothing?')
  48. shoes = models.NullBooleanField(verbose_name='Do you have a pair of climbing shoes?')
  49. shoe_size = models.DecimalField(verbose_name='What is your athletic shoe size (in UK sizes)?', max_digits=3, decimal_places=1, blank=True, null=True)
  50. harness = models.NullBooleanField(verbose_name='Do you have a harness?')
  51. belay_device = models.NullBooleanField(verbose_name='Do you have a belay plate and a screwgate?')
  52. helmet = models.NullBooleanField(verbose_name='Do you have a helmet?')
  53. nut = models.NullBooleanField(verbose_name='Do you have a set of nuts?')
  54. hex = models.NullBooleanField(verbose_name='Do you have a set of hexes?')
  55.  
  56. # Misc.:
  57. minibus = models.NullBooleanField(verbose_name='Can you drive the SU minibus?')
  58.  
  59. class RegistrationForm(ModelForm):
  60.  
  61. # Basic Information
  62. first_name = forms.RegexField(label='First Name', regex=r'^[A-Z][a-zA-Zs]+$',
  63. error_messages = {'invalid': "A name starts with a capital letter,
  64. and may contain only alphabetical characters."})
  65. last_name = forms.RegexField(label='Last Name', regex=r'^[A-Z][a-zA-Zs]+$',
  66. error_messages = {'invalid': "A name starts with a capital letter,
  67. and may contain only alphabetical characters."} )
  68.  
  69. # Details
  70. au_status = forms.TypedChoiceField(label='Are you a member of the AU?', required=False, choices=choices, coerce=int)
  71.  
  72. # Next of Kin Details
  73. nok_first_name = forms.RegexField(label='First Name (Next of Kin)', regex=r'^[A-Z][a-zA-Zs]+$',
  74. error_messages = {'invalid': "A name starts with a capital letter,
  75. and may contain only alphabetical characters."})
  76. nok_last_name = forms.RegexField(label='Last Name (Next of Kin)',
  77. regex=r'^[A-Z][a-zA-Zs]+$',
  78. error_messages = {'invalid': "A name starts with a capital
  79. letter, and may contain only alphabetical characters."})
  80.  
  81. # Health and Safety
  82. swim = forms.TypedChoiceField(label='Can you swim more than 100m?',
  83. required=False, choices=choices, coerce=int)
  84.  
  85. # Equipment:
  86. sleeping_bag = forms.TypedChoiceField(label='Do you have a warm sleeping bag', required=False, choices=choices, coerce=int)
  87. waterproof = forms.TypedChoiceField(label='Do you have waterproof clothing?', required=False, choices=choices, coerce=int)
  88. shoes = forms.TypedChoiceField(label='Do you have a pair of climbing shoes?', required=False, choices=choices, coerce=int)
  89. harness = forms.TypedChoiceField(label='Do you have a harness?', required=False, choices=choices, coerce=int)
  90. belay_device = forms.TypedChoiceField(label='Do you have a belay plate and a screwgate?', required=False, choices=choices, coerce=int)
  91. helmet = forms.TypedChoiceField(label='Do you have a helmet?', required=False, choices=choices, coerce=int)
  92. nut = forms.TypedChoiceField(label='Do you have a set of nuts?', required=False, choices=choices, coerce=int)
  93. hex = forms.TypedChoiceField(label='Do you have a set of hexes?', required=False, choices=choices, coerce=int)
  94.  
  95. # Misc.:
  96. minibus = forms.TypedChoiceField(label='Can you drive the SU minibus?', required=False, choices=choices, coerce=int)
  97.  
  98. class Meta:
  99. model = UserProfile
  100.  
  101. def MemberRegistration(request):
  102. if not request.user.is_authenticated():
  103. return HttpResponseRedirect('/accounts/login/')
  104. if request.method == 'POST':
  105. form = RegistrationForm(request.POST)
  106. if form.is_valid():
  107. user = User.objects.get(username=request.user)
  108. profile = UserProfile(user=user)
  109. profile.first_name = form.cleaned_data['first_name']
  110. profile.last_name = form.cleaned_data['last_name']
  111. profile.dob = form.cleaned_data['dob']
  112. profile.stud_id = form.cleaned_data['stud_id']
  113. profile.mob_num = form.cleaned_data['mob_num']
  114. profile.home_num = form.cleaned_data['home_num']
  115. profile.term_add = form.cleaned_data['term_add']
  116. profile.perm_add = form.cleaned_data['perm_add']
  117. profile.au_status = form.cleaned_data['au_status']
  118. profile.nok_first_name = form.cleaned_data['nok_first_name']
  119. profile.nok_last_name = form.cleaned_data['nok_last_name']
  120. profile.relationship = form.clenaed_data['relationship']
  121. profile.nok_mob_num = form.cleaned_data['nok_mob_num']
  122. profile.nok_home_num = form.cleaned_data['nok_home_num']
  123. profile.nok_add = form.cleaned_data['nok_add']
  124. profile.diet = form.cleaned_data['diet']
  125. profile.med_cond = form.cleaned_data['med_cond']
  126. profile.fear = form.cleaned_data['fear']
  127. profile.swim = form.cleaned_data['swim']
  128. profile.sleeping_bag = form.cleaned_data['sleeping_bag']
  129. profile.waterproof = form.cleaned_data['waterproof']
  130. profile.shoes = form.cleaned_data['shoes']
  131. profile.shoe_size = form.cleaned_data['shoe_size']
  132. profile.harness = form.cleaned_data['harness']
  133. profile.belay_device = form.cleaned_data['belay_device']
  134. profile.helmet = form.cleaned_data['helmet']
  135. profile.nut = form.cleaned_data['nut']
  136. profile.hex = form.cleaned_data['hex']
  137. profile.minibus = form.cleaned_data['minibus']
  138. profile.save()
  139. return render_to_response('base_profile.html', context_instance=RequestContext(request))
  140. else:
  141. return render_to_response('base_registration.html', {'form': form}, context_instance=RequestContext(request))
  142. else:
  143. form = RegistrationForm()
  144. context = {'form': form}
  145. return render_to_response('base_registration.html', context, context_instance=RequestContext(request))`
  146.  
  147. `if form.is_valid():
  148. user = User.objects.get(username=request.user)
  149. user.first_name = form.cleaned_data['first_name']
  150. user.last_name = form.cleaned_data['last_name']
  151. user.save()
  152. profile = UserProfile(user=user,
  153. dob = form.cleaned_data['dob'],
  154. stud_id = form.cleaned_data['stud_id'],
  155. mob_num = form.cleaned_data['mob_num'],
  156. home_num = form.cleaned_data['home_num'],
  157. term_add = form.cleaned_data['term_add'],
  158. perm_add = form.cleaned_data['perm_add'],
  159. au_status = form.cleaned_data['au_status'],
  160. nok_first_name = form.cleaned_data['nok_first_name'],
  161. nok_last_name = form.cleaned_data['nok_last_name'],
  162. relationship = form.cleaned_data['relationship'],
  163. nok_mob_num = form.cleaned_data['nok_mob_num'],
  164. nok_home_num = form.cleaned_data['nok_home_num'],
  165. nok_add = form.cleaned_data['nok_add'],
  166. diet = form.cleaned_data['diet'],
  167. med_cond = form.cleaned_data['med_cond'],
  168. fear = form.cleaned_data['fear'],
  169. swim = form.cleaned_data['swim'],
  170. sleeping_bag = form.cleaned_data['sleeping_bag'],
  171. waterproof = form.cleaned_data['waterproof'],
  172. shoes = form.cleaned_data['shoes'],
  173. shoe_size = form.cleaned_data['shoe_size'],
  174. harness = form.cleaned_data['harness'],
  175. belay_device = form.cleaned_data['belay_device'],
  176. helmet = form.cleaned_data['helmet'],
  177. nut = form.cleaned_data['nut'],
  178. hex = form.cleaned_data['hex'],
  179. minibus = form.cleaned_data['minibus'],
  180. )
  181. profile.save()`
  182.  
  183. if form.is_valid():
  184. profile = User.objects.get(username=request.user)
  185.  
  186. for key in UserProfileForm.base_fields.keys():
  187. for val in form.cleaned_data.values():
  188. setattr(profile, key, val)
  189.  
  190. profile.save()
  191.  
  192. return render_to_response('base_profile.html', context_instance=RequestContext(request))`
  193.  
  194. def MemberRegistration(request):
  195. if request.user.is_authenticated():
  196. return render_to_response('base_profile.html', context_instance=RequestContext(request))
  197. if request.method == 'POST':
  198. form = RegistrationForm(request.POST)
  199. if form.is_valid():
  200. user = User.objects.create_user(username = form.cleaned_data['username'],
  201. email = form.cleaned_data['email'],
  202. password = form.cleaned_data['password'],
  203. )
  204. user.first_name = form.cleaned_data['first_name']
  205. user.last_name = form.cleaned_data['last_name']
  206. member = user.save()
  207. member = Member(user=user, first_name = form.cleaned_data['first_name'],
  208. last_name = form.cleaned_data['last_name'],
  209. date_of_birth = form.cleaned_data['date_of_birth'],
  210. email = form.cleaned_data['email'],
  211. student_id = form.cleaned_data['student_id'],
  212. au_status = form.cleaned_data['au_status'],
  213. mob_num = form.cleaned_data['mob_num'],
  214. home_num = form.cleaned_data['home_num'],
  215. term_time_add = form.cleaned_data['term_time_add'],
  216. permanent_add = form.cleaned_data['permanent_add'],
  217. diet = form.cleaned_data['diet'],
  218. med_condition = form.cleaned_data['med_condition'],
  219. fear = form.cleaned_data['fear'],
  220. swim = form.cleaned_data['swim'],
  221. sleeping_bag = form.cleaned_data['sleeping_bag'],
  222. waterproof = form.cleaned_data['waterproof'],
  223. shoes = form.cleaned_data['shoes'],
  224. shoe_size = form.cleaned_data['shoe_size'],
  225. harness = form.cleaned_data['harness'],
  226. belay_device = form.cleaned_data['belay_device'],
  227. helmet = form.cleaned_data['helmet'],
  228. nuts_set = form.cleaned_data['nuts_set'],
  229. hexes_set = form.cleaned_data['hexes_set'],
  230. minibus_driver = form.cleaned_data['minibus_driver'],
  231. )
  232.  
  233. member.save()
  234. return render_to_response('base_profile.html', context_instance=RequestContext(request))
  235. else:
  236. return render_to_response('base_registration.html', {'form': form}, context_instance=RequestContext(request))
  237. else:
  238. form = RegistrationForm()
  239. context = {'form': form}
  240. return render_to_response('base_registration.html', context, context_instance=RequestContext(request))
  241.  
  242. if form.is_valid():
  243. profile = UserProfile(user=request.user) # you already have the user in the request.
  244.  
  245. for key, val in form.cleaned_data.values():
  246. setattr(profile, key, val)
  247.  
  248. profile.save()
  249.  
  250. my_keys = ('key1', 'key2', 'key3', ...)
  251. for key in my_keys:
  252. profile[key] = form.cleaned_data.get(key, "")
  253.  
  254. profile.save()
  255.  
  256. class RegistrationForm(forms.ModelForm):
  257. class Meta:
  258. model = UserProfile
  259. exclude = ('user',)
  260.  
  261. class UserDetails(models.Model):
  262. user = models.ForeignKey(User)
  263.  
  264. name = models.CharField(max_length=255)
  265. value = models.CharField(max_length=255)
  266.  
  267. for key, value in form.cleaned_data.values():
  268. UserDetails(user=request.user, name=key, value=value).save()
  269.  
  270. print request.user.user_details_set.all()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement