More improvements to user management
This commit is contained in:
+30
-1
@@ -3,7 +3,7 @@ import django_filters
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from generic.models import CidUser
|
||||
from generic.models import CidUser, Supervisor, UserGrades
|
||||
|
||||
|
||||
class CidUserFilter(django_filters.FilterSet):
|
||||
@@ -32,3 +32,32 @@ class CidUserFilter(django_filters.FilterSet):
|
||||
return parent.filter(active=True)
|
||||
|
||||
return parent
|
||||
|
||||
class UserUserFilter(django_filters.FilterSet):
|
||||
userprofile__grade = django_filters.ModelChoiceFilter(queryset=UserGrades.objects.all(),label="Grade")
|
||||
userprofile__supervisor = django_filters.ModelChoiceFilter(queryset=Supervisor.objects.all(), label="Supervisor")
|
||||
#has_supervisor = django_filters.BooleanFilter(field_name='supervisor', lookup_expr='isnull', exclude=True, label="Has Supervisor")
|
||||
|
||||
class Meta:
|
||||
model = User
|
||||
# fields = ("cid", "active", "internal_candidate", "group")
|
||||
fields = {
|
||||
"first_name": ["contains"],
|
||||
"last_name": ["contains"],
|
||||
#"active": ["exact"],
|
||||
#"group": ["exact"],
|
||||
#"group__name": ["contains"],
|
||||
#"userprofile__grade": ["exact"],
|
||||
#"userprofile__supervisor": ["exact"],
|
||||
"email": ["contains"],
|
||||
}
|
||||
|
||||
@property
|
||||
def qs(self):
|
||||
parent = super().qs
|
||||
|
||||
## filter_active = getattr(self.request, 'active', True)
|
||||
#if "active" not in self.request.GET:
|
||||
# return parent.filter(active=True)
|
||||
|
||||
return parent
|
||||
|
||||
Reference in New Issue
Block a user