1
0
Fork 0
satnogs-network/network/users/admin.py

33 lines
991 B
Python
Raw Normal View History

2014-08-26 13:36:38 -06:00
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
from django.contrib.auth.forms import UserChangeForm, UserCreationForm
from django.db.models import Count
2014-08-26 13:36:38 -06:00
2014-12-19 06:06:58 -07:00
from network.users.models import User
2014-08-26 13:36:38 -06:00
class HasStationListFilter(admin.SimpleListFilter):
title = 'having station'
parameter_name = 'has_station'
def lookups(self, request, model_admin):
return (
(1, 'Yes'),
(0, 'No'),
)
def queryset(self, request, queryset):
if self.value() == '1':
return queryset.annotate(count=Count('ground_stations')).filter(count__gt=0)
if self.value() == '0':
return queryset.annotate(count=Count('ground_stations')).filter(count__lt=1)
2014-08-26 13:36:38 -06:00
class UserAdmin(AuthUserAdmin):
create_form_class = UserCreationForm
update_form_class = UserChangeForm
list_filter = AuthUserAdmin.list_filter + (HasStationListFilter, )
2014-08-26 13:36:38 -06:00
2014-09-01 14:31:22 -06:00
admin.site.register(User, UserAdmin)