/
SlavaZ
/
empcenter
Обзор
Документация
Войти
/
SlavaZ
/
empcenter
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
main/admin.py
103 строки
4 KB
vyacheslav zamaraev
12-11-2023 fix2
12 ноя 2023, 15:54
12 ноя 2023, 15:54
9900cc4
Код
Авторство
О чём код?
from django.contrib import admin import datetime from .models import AdvUser, Bb, AdditionalImage, Comment from .forms import SubRubricForm from .utilities import send_activation_notification # def send_activation_notifications(modeladmin, request, queryset): for rec in queryset: if not rec.is_activated: send_activation_notification(rec) modeladmin.message_user(request, 'Письма с требованиями отправлены') send_activation_notifications.short_description = \ 'Отправка писем с требованиями активации' # 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(weeks=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') list_filter = (NonactivatedFilter,) fields = (('username', 'email'), ('first_name', 'last_name'), ('send_messages', 'is_active', 'is_activated'), ('account_add_vacancy', 'account_add_resume'), ('is_staff', 'is_superuser'), 'groups', 'user_permissions', ('last_login', 'date_joined')) readonly_fields = ('last_login', 'date_joined') actions = (send_activation_notifications,) admin.site.register(AdvUser, AdvUserAdmin) from .models import SuperRubric, SubRubric # Встроенный редактор надрубрик (заполнение надрубрики подрубриками) class SubRubricInline(admin.TabularInline): model = SubRubric # Класс редактора надрубрик class SuperRubricAdmin(admin.ModelAdmin): exclude = ('super_rubric',) inlines = (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', 'image','schedule','education','experience','empoloyment_area', 'salary_from','salary_up_to','telephone','email','is_active' ) inlines = (AdditionalImageInline,) admin.site.register(Bb, BbAdmin) # Редактор для модели Comment class CommentAdmin(admin.ModelAdmin): list_display = ('author', 'content', 'created_at', 'is_active') list_display_links = ('author', 'content') list_filter = ('is_active',) search_fields = ('author', 'content',) date_hierarchy = 'created_at' fields = ('author', 'content', 'is_active', 'created_at') readonly_fields = ('created_at',) admin.site.register(Comment, CommentAdmin)