Sith/core/admin.py

78 lines
2.3 KiB
Python
Raw Normal View History

# -*- coding:utf-8 -*
#
# Copyright 2016,2017
# - Skia <skia@libskia.so>
#
# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM,
# http://ae.utbm.fr.
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License a published by the Free Software
# Foundation; either version 3 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple
# Place - Suite 330, Boston, MA 02111-1307, USA.
#
#
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