|
|
@@ -0,0 +1,64 @@
|
|
|
+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 siemensusers.models import SiemensUser
|
|
|
+from siemensusers.forms import SiemensUserCreationForm, SiemensUserChangeForm
|
|
|
+
|
|
|
+
|
|
|
+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 SiemensUserAdmin(UserAdmin):
|
|
|
+ add_form = SiemensUserCreationForm
|
|
|
+ form = SiemensUserChangeForm
|
|
|
+ model = SiemensUser
|
|
|
+ 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", "nombre",)
|
|
|
+ ordering = ("email",)
|
|
|
+ actions = [enviar_email_prueba] # Añadir la acción a la lista de acciones
|
|
|
+
|
|
|
+
|
|
|
+admin.site.register(SiemensUser, SiemensUserAdmin)
|