/
Messus
/
Micula
Обзор
Документация
Войти
/
Messus
/
Micula
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
main/admin.py
74 строки
3 KB
Messus
add images
19 дек 2025, 08:11
19 дек 2025, 08:11
31bff10
Код
Авторство
О чём код?
from django.contrib import admin import datetime from .models import AdvUser from .utilities import send_activation_notification from .models import SuperRubric, SubRubric from .forms import SubRubricForm from .models import Bb, AdditionalImage @admin.action(description='Отправить письма с требованиями активации') def send_notifications(modeladmin, request, queryset): for rec in queryset: if not rec.is_activated: send_activation_notification(rec) modeladmin.message_user(request, 'Письма с требованиями отправлены') class NonactivatedFilter(admin.SimpleListFilter): title = 'Прошли активацию?' parameter_name = 'actstate' def lookups(self, request, model_admin): return ( ('activated', 'Прошли'), ('threedays', 'Не прошли более 3 дней'), ('week', 'Не прошли более недели'), ) def queryset(self, request, queryset): val = self.value() if val == 'activated': return queryset.filter(is_active=True, is_activated=True) elif val == 'threedays': d = datetime.date.today() - datetime.timedelta(days=3) return queryset.filter(is_active=False, is_activated=False, date_joined__date__lt =d) elif val == 'week': d = datetime.date.today() - datetime.timedelta(week=1) return queryset.filter(is_active=False, is_activated=False, date_joined__date__lt=d) class AdvUserAdmin(admin.ModelAdmin): list_display = ('__str__', 'is_activated', 'date_joined') search_fields = (('username', 'email', 'first_name', 'last_name'), ('semd_messages', 'is_active', 'is_activated'), ('is_staff', 'is_superuser'), 'groups', 'user_permissions', ('last_login', 'date_joined')) actions = (send_notifications,) admin.site.register(AdvUser, AdvUserAdmin) class SubRubricInline(admin.TabularInline): model = SubRubric class SuperRubricAdmin(admin.ModelAdmin): exclude = ('super_rubric',) inline = (SubRubricInline,) admin.site.register(SuperRubric, SuperRubricAdmin) class SubRubricAdmin(admin.ModelAdmin): form = SubRubricForm admin.site.register(SubRubric, SubRubricAdmin) class AdditionalImageInline(admin.TabularInline): model = AdditionalImage class BbAdmin(admin.ModelAdmin): list_display = ('rubric', 'title', 'content', 'author', 'created_at') fields = (('rubric', 'author'), 'title', 'content', 'price', 'contacts', 'image', 'is_active') inlines = (AdditionalImageInline,) admin.site.register(Bb, BbAdmin)