2014-08-26 13:36:38 -06:00
|
|
|
from django.contrib import admin
|
|
|
|
from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
|
2019-09-23 05:08:11 -06:00
|
|
|
from django.contrib.auth.forms import UserChangeForm, UserCreationForm
|
2018-08-08 14:41:32 -06:00
|
|
|
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
|
|
|
|
|
|
|
|
2018-08-08 14:41:32 -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
|
2018-08-08 14:41:32 -06:00
|
|
|
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)
|