oasupport/clientapp/admin.py
2025-12-03 11:16:47 +03:00

51 lines
1.6 KiB
Python

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import *
def make_archived(modeladmin, request, queryset):
queryset.update(is_archived=True)
make_archived.short_description = "Отправить в архив"
def make_not_archived(modeladmin, request, queryset):
queryset.update(is_archived=False)
make_not_archived.short_description = "Убрать из архива"
class AddMessageInline(admin.TabularInline):
model = AddMessage
extra = 0
class Calladmin(admin.ModelAdmin):
list_display = ('title', 'category', 'status', 'created', 'author')
list_editable = ('status',)
list_filter = ('created','status', 'is_archived', 'category')
search_fields = ['title', 'message']
autocomplete_fields = ('author',)
inlines = [AddMessageInline]
actions = [make_archived, make_not_archived]
class CustomUserAdmin(UserAdmin):
model = CustomUser
fieldsets = list(UserAdmin.fieldsets) + [('Дополнительные поля', {'fields': ('company',)})]
list_filter = ('company', 'is_staff', 'is_active')
class AddMessageAdmin(admin.ModelAdmin):
list_display = ('created', 'id', 'author', 'message', 'file')
list_display_links = ('created', 'id')
raw_id_fields = ('call', 'author')
autocomplete_fields = ('author',)
search_fields = ['message', 'author']
list_filter = ('created', 'author')
admin.site.register(Call, Calladmin)
admin.site.register(Category)
admin.site.register(Status)
admin.site.register(Company)
admin.site.register(CustomUser, CustomUserAdmin)
admin.site.register(AddMessage, AddMessageAdmin)