from django.contrib import admin from django.contrib.auth import get_user_model from django.contrib.auth.admin import UserAdmin as BaseUserAdmin from django.utils.translation import gettext_lazy as _ from .models import AuthorRequest, EmailSubscription, SubscriptionCategory, EmailLog User = get_user_model() class FromLandingFilter(admin.SimpleListFilter): title = 'С лендинга' parameter_name = 'from_landing' def lookups(self, request, model_admin): return ( ('yes', 'Да'), ) def queryset(self, request, queryset): if self.value() == 'yes': return queryset.exclude(phone2__isnull=True) @admin.register(User) class UserAdmin(BaseUserAdmin): list_display = ( 'email', 'get_full_name', 'phone', 'phone2', 'role', 'is_staff', 'is_active', ) list_filter = (FromLandingFilter, 'is_staff', 'is_superuser', 'is_active',) fieldsets = ( (None, {'fields': ('username', 'password')}), (_('Personal info'), {'fields': ('first_name', 'last_name', 'email', 'gender', 'about', 'photo', 'phone', 'phone2')}), ('Teacher', {'fields': ('show_in_mainpage', 'trial_lesson', 'instagram_hashtag',)}), ('Facebook Auth data', {'fields': ('fb_id', 'fb_data', 'is_email_proved')}), (_('Permissions'), {'fields': ('role', 'is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions', 'show_in_mainpage')}), (_('Important dates'), {'fields': ('last_login', 'date_joined')}), ('Social urls', {'fields': ('instagram', 'facebook', 'twitter', 'pinterest', 'youtube', 'vkontakte', )}), ) @admin.register(AuthorRequest) class AuthorRequestAdmin(admin.ModelAdmin): list_display = ( 'email', 'first_name', 'last_name', 'status', 'accepted_send_at', 'declined_send_at', 'created_at', 'update_at', ) @admin.register(SubscriptionCategory) class SubscriptionCategoryAdmin(admin.ModelAdmin): list_display = ('title',) @admin.register(EmailSubscription) class EmailSubscriptionAdmin(admin.ModelAdmin): list_display = ( 'id', 'user', 'email', ) @admin.register(EmailLog) class EmailLogAdmin(admin.ModelAdmin): pass