from django.contrib import admin from django.core.mail import send_mail from django.contrib import messages from django.contrib.auth.admin import UserAdmin # Register your models here. from reymotausers.models import ReyMotaUser from reymotausers.forms import ReyMotaUserCreationForm, ReyMotaUserChangeForm def enviar_email_prueba(modeladmin, request, queryset): for user in queryset: if user.email: send_mail( 'Correo de Prueba', 'Este es un correo de prueba desde el panel de administración.', 'jugaralpadelentreamigos@gmail.com', # Remitente [user.email], # Destinatario fail_silently=False, ) messages.success(request, f'Se ha enviado un correo de prueba a {user.email}') else: messages.warning(request, f'El usuario {user.username} no tiene un correo registrado.') enviar_email_prueba.short_description = 'Enviar correo de prueba a usuario(s) seleccionado(s)' class ReyMotaUserAdmin(UserAdmin): add_form = ReyMotaUserCreationForm form = ReyMotaUserChangeForm model = ReyMotaUser list_display = ("email", "nombre", "is_staff", "is_active", "foto") list_filter = ("email", "nombre", "is_staff", "is_active",) fieldsets = ( (None, {"fields": ("email", "password")}), ("Personal", {"fields": ("nombre",)}), ("Permissions", {"fields": ("is_staff", "is_active", "groups", "user_permissions")}), ("Varios", {"fields": ("foto",)}), ) add_fieldsets = ( ( None, { "classes": ("wide",), "fields": ( "email", "password1", "password2", "is_staff", "is_active", "groups", "user_permissions" ) } ), ("Personal", {"fields": ("nombre",)}), ("Varios", {"fields": ("foto",)}), ) search_fields = ("email",) ordering = ("email",) actions = [enviar_email_prueba] # Añadir la acción a la lista de acciones admin.site.register(ReyMotaUser, ReyMotaUserAdmin)