Modificando codigo para que pylint sea feliz

This commit is contained in:
Daniel Cortes
2020-06-07 20:52:22 -04:00
parent 6acf81b599
commit 40a5d37bb8
5 changed files with 100 additions and 24 deletions

View File

@@ -1,3 +1,4 @@
"""Configura el panel de administracion para la aplicacion"""
from django.contrib import admin
from django.contrib.auth.forms import ReadOnlyPasswordHashField
from django.contrib.auth.models import Group
@@ -5,18 +6,26 @@ from django import forms
from users.models import User, SocialNetworks
# Remueve Group, el cual es definido por django pero mi modelo no lo tiene implementado ni
# lo utiliza
admin.site.unregister(Group)
class UserAddForm(forms.ModelForm):
"""Formulario para agregar un usuario"""
password = forms.CharField(label='Contraseña', widget=forms.PasswordInput)
password_confirmation = forms.CharField(label='Confirmación de contraseña', widget=forms.PasswordInput)
password_confirmation = forms.CharField(label='Confirmación de contraseña',
widget=forms.PasswordInput)
class Meta:
model = User
fields = ('username', 'email')
def clean_password_confirmation(self):
"""Valida la contraseña con su confirmación
Es llamado por la autenticación de django
"""
password = self.cleaned_data.get("password")
password_confirmation = self.cleaned_data.get("password_confirmation")
@@ -26,6 +35,7 @@ class UserAddForm(forms.ModelForm):
return password_confirmation
def save(self, commit=True):
"""Guarda un usuario"""
user = super().save(commit=False)
user.set_password(self.cleaned_data['password'])
@@ -36,6 +46,7 @@ class UserAddForm(forms.ModelForm):
class UserChangeForm(forms.ModelForm):
"""Formulario para editar un usuario"""
password = ReadOnlyPasswordHashField()
class Meta:
@@ -43,11 +54,20 @@ class UserChangeForm(forms.ModelForm):
fields = ('username', 'email', 'password', 'is_admin')
def clean_password(self):
"""Retorna la contraseña inicial entregada al formulario
Esto es debido a que no se puede modificar la contraseña en esta sección
"""
return self.initial['password']
@admin.register(User)
class UserAdmin(admin.ModelAdmin):
"""Crea la defincion de Usuario para el panel de administracion
Tiene un formulario de creacion y modificacion;
"""
form = UserChangeForm
add_form = UserAddForm
@@ -67,20 +87,26 @@ class UserAdmin(admin.ModelAdmin):
ordering = ('username', 'email')
def get_fieldsets(self, request, obj=None):
"""Sobrescribe esta función para retornar los fieldsets correspondientes a agregar
un nuevo usuario"""
if not obj:
return self.add_fieldsets
return super().get_fieldsets(request, obj)
def get_form(self, request, obj=None, **kwargs):
def get_form(self, request, obj=None, change=False, **kwargs):
"""Sobrescribe esta función para retornar el formulario correspondiente a agregar
un nuevo usuario"""
defaults = {}
if obj is None:
defaults['form'] = self.add_form
defaults.update(kwargs)
return super().get_form(request, obj, **defaults)
return super().get_form(request, obj, change, **defaults)
@admin.register(SocialNetworks)
class SocialNetworksAdmin(admin.ModelAdmin):
"""Administrador para las redes sociales de un usuario"""
list_display = ('user', 'twitter', 'facebook', 'instagram', 'youtube', 'twitch')
raw_id_fields = ('user',)