34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
from django.contrib import admin
|
|
|
|
from . import app_settings
|
|
from .adapter import get_adapter
|
|
from .models import EmailAddress, EmailConfirmation
|
|
|
|
|
|
class EmailAddressAdmin(admin.ModelAdmin):
|
|
list_display = ("email", "user", "primary", "verified")
|
|
list_filter = ("primary", "verified")
|
|
search_fields = []
|
|
raw_id_fields = ("user",)
|
|
actions = ["make_verified"]
|
|
|
|
def get_search_fields(self, request):
|
|
base_fields = get_adapter(request).get_user_search_fields()
|
|
return ["email"] + list(map(lambda a: "user__" + a, base_fields))
|
|
|
|
def make_verified(self, request, queryset):
|
|
queryset.update(verified=True)
|
|
|
|
make_verified.short_description = "Mark selected email addresses as verified"
|
|
|
|
|
|
class EmailConfirmationAdmin(admin.ModelAdmin):
|
|
list_display = ("email_address", "created", "sent", "key")
|
|
list_filter = ("sent",)
|
|
raw_id_fields = ("email_address",)
|
|
|
|
|
|
if not app_settings.EMAIL_CONFIRMATION_HMAC:
|
|
admin.site.register(EmailConfirmation, EmailConfirmationAdmin)
|
|
admin.site.register(EmailAddress, EmailAddressAdmin)
|