Sith/core/admin.py

70 lines
1.9 KiB
Python
Raw Permalink Normal View History

# -*- coding:utf-8 -*
#
# Copyright 2023 © AE UTBM
# ae@utbm.fr / ae.info@utbm.fr
#
# This file is part of the website of the UTBM Student Association (AE UTBM),
# https://ae.utbm.fr.
#
# You can find the source code of the website at https://github.com/ae-utbm/sith3
#
# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3)
# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE
# OR WITHIN THE LOCAL FILE "LICENSE"
#
#
2015-11-18 08:44:06 +00:00
from django.contrib import admin
2016-11-25 12:47:09 +00:00
from ajax_select import make_ajax_form
from core.models import User, Page, RealGroup, MetaGroup, SithFile
from django.contrib.auth.models import Group as AuthGroup
2017-10-10 21:33:15 +00:00
from haystack.admin import SearchModelAdmin
2015-11-18 08:44:06 +00:00
admin.site.unregister(AuthGroup)
admin.site.register(MetaGroup)
2016-03-29 10:45:10 +00:00
admin.site.register(RealGroup)
2015-11-18 08:44:06 +00:00
2018-10-04 19:29:19 +00:00
@admin.register(User)
2017-10-10 21:33:15 +00:00
class UserAdmin(SearchModelAdmin):
list_display = ("first_name", "last_name", "username", "email", "nick_name")
2018-10-04 19:29:19 +00:00
form = make_ajax_form(
User,
{
"godfathers": "users",
"home": "files", # ManyToManyField
"profile_pict": "files", # ManyToManyField
"avatar_pict": "files", # ManyToManyField
"scrub_pict": "files", # ManyToManyField
},
)
2017-10-10 21:33:15 +00:00
search_fields = ["first_name", "last_name", "username"]
2018-10-04 19:29:19 +00:00
@admin.register(Page)
class PageAdmin(admin.ModelAdmin):
list_display = ("name", "_full_name", "owner_group")
2018-10-04 19:29:19 +00:00
form = make_ajax_form(
Page,
{
"lock_user": "users",
"owner_group": "groups",
"edit_groups": "groups",
"view_groups": "groups",
},
)
2017-06-12 07:42:03 +00:00
2016-11-25 12:47:09 +00:00
@admin.register(SithFile)
class SithFileAdmin(admin.ModelAdmin):
list_display = ("name", "owner", "size", "date", "is_in_sas")
form = make_ajax_form(
SithFile,
{
"parent": "files",
"owner": "users",
"moderator": "users",
},
) # ManyToManyField