mirror of
https://github.com/adrigongv23/G26---Telemetry-Software.git
synced 2026-08-25 11:33:17 +02:00
Mi perfil implementado, con cambio de contraseña
This commit is contained in:
parent
a6306c5218
commit
0860c191f2
5 changed files with 181 additions and 6 deletions
20
Plataform_Web/users/forms.py
Normal file
20
Plataform_Web/users/forms.py
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
from django import forms
|
||||
from .models import CustomUser
|
||||
|
||||
|
||||
class PerfilForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = CustomUser
|
||||
fields = ['username', 'first_name', 'last_name', 'email']
|
||||
widgets = {
|
||||
'username': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'first_name': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'last_name': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'email': forms.EmailInput(attrs={'class': 'form-control'}),
|
||||
}
|
||||
labels = {
|
||||
'username': 'Usuario',
|
||||
'first_name': 'Nombre',
|
||||
'last_name': 'Apellidos',
|
||||
'email': 'Correo electrónico',
|
||||
}
|
||||
|
|
@ -1,7 +1,39 @@
|
|||
from django.shortcuts import render
|
||||
from django.shortcuts import render, redirect
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.auth.forms import PasswordChangeForm
|
||||
from django.contrib.auth import update_session_auth_hash
|
||||
from django.contrib import messages
|
||||
from .forms import PerfilForm
|
||||
|
||||
@login_required # Esto obliga a que el usuario tenga que loguearse antes de ver la web
|
||||
|
||||
@login_required
|
||||
def index(request):
|
||||
# 'request.user' contiene los datos del usuario que está navegando
|
||||
return render(request, 'index.html')
|
||||
return render(request, 'index.html')
|
||||
|
||||
|
||||
@login_required
|
||||
def mi_perfil(request):
|
||||
perfil_form = PerfilForm(instance=request.user)
|
||||
password_form = PasswordChangeForm(user=request.user)
|
||||
|
||||
if request.method == 'POST':
|
||||
if 'guardar_perfil' in request.POST:
|
||||
perfil_form = PerfilForm(request.POST, instance=request.user)
|
||||
if perfil_form.is_valid():
|
||||
perfil_form.save()
|
||||
messages.success(request, 'Tus datos se han actualizado correctamente.')
|
||||
return redirect('mi_perfil')
|
||||
|
||||
elif 'cambiar_password' in request.POST:
|
||||
password_form = PasswordChangeForm(user=request.user, data=request.POST)
|
||||
if password_form.is_valid():
|
||||
user = password_form.save()
|
||||
update_session_auth_hash(request, user)
|
||||
messages.success(request, 'Tu contraseña se ha cambiado correctamente.')
|
||||
return redirect('mi_perfil')
|
||||
|
||||
context = {
|
||||
'perfil_form': perfil_form,
|
||||
'password_form': password_form,
|
||||
}
|
||||
return render(request, 'mi_perfil.html', context)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue