mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-09 19:40:19 +00:00
enhance admin pages
This commit is contained in:
@ -24,17 +24,19 @@
|
||||
|
||||
from django.contrib import admin
|
||||
from ajax_select import make_ajax_form
|
||||
from core.models import User, Page, RealGroup, SithFile
|
||||
from core.models import User, Page, RealGroup, MetaGroup, SithFile
|
||||
from django.contrib.auth.models import Group as AuthGroup
|
||||
from haystack.admin import SearchModelAdmin
|
||||
|
||||
|
||||
admin.site.unregister(AuthGroup)
|
||||
admin.site.register(MetaGroup)
|
||||
admin.site.register(RealGroup)
|
||||
|
||||
|
||||
@admin.register(User)
|
||||
class UserAdmin(SearchModelAdmin):
|
||||
list_display = ["first_name", "last_name", "username", "email", "nick_name"]
|
||||
list_display = ("first_name", "last_name", "username", "email", "nick_name")
|
||||
form = make_ajax_form(
|
||||
User,
|
||||
{
|
||||
@ -48,11 +50,9 @@ class UserAdmin(SearchModelAdmin):
|
||||
search_fields = ["first_name", "last_name", "username"]
|
||||
|
||||
|
||||
admin.site.register(User, UserAdmin)
|
||||
|
||||
|
||||
@admin.register(Page)
|
||||
class PageAdmin(admin.ModelAdmin):
|
||||
list_display = ("name", "_full_name", "owner_group")
|
||||
form = make_ajax_form(
|
||||
Page,
|
||||
{
|
||||
@ -66,4 +66,12 @@ class PageAdmin(admin.ModelAdmin):
|
||||
|
||||
@admin.register(SithFile)
|
||||
class SithFileAdmin(admin.ModelAdmin):
|
||||
form = make_ajax_form(SithFile, {"parent": "files"}) # ManyToManyField
|
||||
list_display = ("name", "owner", "size", "date", "is_in_sas")
|
||||
form = make_ajax_form(
|
||||
SithFile,
|
||||
{
|
||||
"parent": "files",
|
||||
"owner": "users",
|
||||
"moderator": "users",
|
||||
},
|
||||
) # ManyToManyField
|
||||
|
@ -28,8 +28,9 @@ from ajax_select import register, LookupChannel
|
||||
from core.views.site import search_user
|
||||
from core.models import User, Group, SithFile
|
||||
from club.models import Club
|
||||
from counter.models import Product, Counter
|
||||
from counter.models import Product, Counter, Customer
|
||||
from accounting.models import ClubAccount, Company
|
||||
from eboutic.models import BasketItem
|
||||
|
||||
|
||||
def check_token(request):
|
||||
@ -60,6 +61,21 @@ class UsersLookup(RightManagedLookupChannel):
|
||||
return item.get_display_name()
|
||||
|
||||
|
||||
@register("customers")
|
||||
class CustomerLookup(RightManagedLookupChannel):
|
||||
model = Customer
|
||||
|
||||
def get_query(self, q, request):
|
||||
users = search_user(q)
|
||||
return [user.customer for user in users]
|
||||
|
||||
def format_match(self, obj):
|
||||
return obj.user.get_mini_item()
|
||||
|
||||
def format_item_display(self, obj):
|
||||
return f"{obj.user.get_display_name()} ({obj.account_id})"
|
||||
|
||||
|
||||
@register("groups")
|
||||
class GroupsLookup(RightManagedLookupChannel):
|
||||
model = Group
|
||||
|
Reference in New Issue
Block a user