Advertisement
Guest User

Untitled

a guest
May 23rd, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.60 KB | None | 0 0
  1. class perfil(models.Model):
  2. Sexos = (
  3. ('M','Masculino'),
  4. ('F','Femenino'),
  5. )
  6.  
  7. user = models.OneToOneField(User, related_name='profile')
  8. ci = models.CharField(max_length = 10, blank=True, null=True)
  9. sexo = models.CharField(max_length = 1, choices = Sexos, blank=True, null=True)
  10. fechaNac = models.DateField(blank=True, null=True)
  11. foto = models.CharField(max_length = 300,blank=True, null=True)
  12. tlf = models.CharField(max_length = 11,blank=True, null=True)
  13.  
  14. def __str__(self):
  15. return self.user.first_name + " " + self.user.last_name
  16.  
  17. def __unicode__(self):
  18. return self.user
  19.  
  20. def registroUsuario(request):
  21. if request.user.is_authenticated():
  22. return HttpResponseRedirect('/registro')
  23. if request.method == "POST":
  24. form = formRegistroUsuario(request.POST)
  25. if form.is_valid():
  26. username = form.cleaned_data['username']
  27. nombre = form.cleaned_data['nombre']
  28. apellidos = form.cleaned_data['apellidos']
  29. f_nac = form.cleaned_data['f_nac']
  30. correo = form.cleaned_data['correo']
  31. tlf = form.cleaned_data['tlf']
  32. clave = form.cleaned_data['clave']
  33. sexo = form.cleaned_data['sexo']
  34. ci = form.cleaned_data['ci']
  35. entry = User.objects.create_user(username= username ,email = correo, password = clave)
  36. entry.first_name = nombre
  37. entry.last_name = apellidos
  38. entry.save()
  39. p_entry = perfil.objects.get(user = entry)
  40. p_entry.ci = ci
  41. p_entry.sexo = sexo
  42. p_entry.fechaNac = f_nac
  43. p_entry.tlf = tlf
  44. p_entry.save()
  45. return HttpResponseRedirect('/registro')
  46. else:
  47. return render(request,'registro/home.html', {'form': form})
  48. pass
  49. else:
  50. form = formRegistroUsuario()
  51. return render(request,'registro/home.html', {'form': form})
  52.  
  53. class userForm(forms.ModelForm):
  54. username = forms.CharField(disabled = True, label = 'Nombre de usuario')
  55. first_name = forms.CharField(disabled = True, label = 'Nombre')
  56. last_name = forms.CharField(disabled = True, label = 'Apellido')
  57. password = forms.CharField(widget=forms.PasswordInput(), label = 'Contrasena', required = False)
  58. class Meta:
  59. model = User
  60. fields = ['first_name', 'last_name', 'username', 'password']
  61.  
  62. class perfilForm(forms.ModelForm):
  63. fechaNac = forms.DateField(disabled = True, label = 'Fecha de nacimiento')
  64. tlf = forms.CharField(label = 'Numero de telefono')
  65. ci = forms.CharField(disabled = True, label = 'CI')
  66. correo = forms.CharField(disabled = True)
  67. class Meta:
  68. model = perfil
  69. exclude = ('user',)
  70.  
  71. @login_required(login_url='/registro/login/')
  72. def editarUsuario(request):
  73. if request.method == "POST":
  74. userform = userForm(instance = request.user, data = request.POST)
  75. profileform = perfilForm(instance = request.user.perfil, data = request.POST)
  76. if userform.is_valid() and profileform.is_valid():
  77. user = userform.save(commit = False)
  78. user.user = request.user
  79. if userform.cleaned_data['password']:
  80. user.set_password(userform.cleaned_data['password'])
  81. user.save()
  82. profile = profileform.save(commit = False)
  83. profile.user = user
  84. profile.save()
  85. return HttpResponseRedirect('/registro/editar')
  86. else:
  87. return render(request,'registro/editar.html', {'formUser': userform,
  88. 'formPerfil': profileform})
  89. else :
  90. formUser = userForm(instance = request.user)
  91. formPerfil = perfilForm(instance = request.user.perfil)
  92. return render(request,'registro/editar.html', {'formUser': formUser,
  93. 'formPerfil': formPerfil})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement