51 lines
1.6 KiB
Python
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)
|