46 lines
1.7 KiB
Python
46 lines
1.7 KiB
Python
from django.contrib import admin
|
|
from django.utils.html import format_html
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from .models import RoadAuthorization, RoadAuthorizationDocument, RoadAuthorizationDate, VerifiedEmail, EmailVerificationToken
|
|
|
|
|
|
class RoadAuthorizationDocumentInline(admin.TabularInline):
|
|
model = RoadAuthorizationDocument
|
|
extra = 0
|
|
|
|
|
|
class RoadAuthorizationDateInline(admin.TabularInline):
|
|
model = RoadAuthorizationDate
|
|
extra = 0
|
|
|
|
|
|
@admin.register(RoadAuthorization)
|
|
class RoadAuthorizationAdmin(admin.ModelAdmin):
|
|
list_display = ('code', 'get_type_display', 'status', 'applicant_name', 'applicant_email', 'is_email_verified', 'creation_date')
|
|
list_filter = ('status', 'type', 'is_email_verified')
|
|
search_fields = ('code', 'description', 'applicant_name', 'applicant_email', 'location')
|
|
readonly_fields = ('creation_date', 'update_date', 'is_email_verified')
|
|
inlines = [RoadAuthorizationDateInline, RoadAuthorizationDocumentInline]
|
|
|
|
def get_type_display(self, obj):
|
|
return obj.get_type_display()
|
|
get_type_display.short_description = _("Type")
|
|
|
|
|
|
@admin.register(VerifiedEmail)
|
|
class VerifiedEmailAdmin(admin.ModelAdmin):
|
|
list_display = ('email', 'verified_at')
|
|
search_fields = ('email',)
|
|
readonly_fields = ('verified_at',)
|
|
|
|
|
|
@admin.register(EmailVerificationToken)
|
|
class EmailVerificationTokenAdmin(admin.ModelAdmin):
|
|
list_display = ('authorization', 'code', 'attempts', 'created_at', 'expires_at', 'is_expired_display')
|
|
readonly_fields = ('code', 'attempts', 'created_at', 'expires_at', 'authorization')
|
|
|
|
def is_expired_display(self, obj):
|
|
return obj.is_expired()
|
|
is_expired_display.boolean = True
|
|
is_expired_display.short_description = _("Expiré")
|