Skip to content

Commit e466210

Browse files
committed
Refactoring: users
1 parent 2211f70 commit e466210

2 files changed

Lines changed: 17 additions & 2 deletions

File tree

task_manager/tasks/filters.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,26 @@
11
import django_filters
22
from django import forms
33
from django.utils.translation import gettext_lazy as _
4+
from django.contrib.auth.models import User
45

56
from .models import Task, Label
67

78

9+
class UserFullNameChoiceField(forms.ModelChoiceField):
10+
def label_from_instance(self, obj):
11+
return f"{obj.first_name} {obj.last_name}"
12+
13+
14+
class UserFullNameModelChoiceFilter(django_filters.ModelChoiceFilter):
15+
field_class = UserFullNameChoiceField
16+
17+
818
class TaskFilter(django_filters.FilterSet):
19+
executor = UserFullNameModelChoiceFilter(
20+
queryset=User.objects.all().order_by('id'),
21+
label=_("Executor")
22+
)
23+
924
labels = django_filters.ModelChoiceFilter(
1025
queryset=Label.objects.all(),
1126
label=_('Label')
@@ -24,4 +39,4 @@ def get_self_tasks(self, queryset, name, value):
2439

2540
class Meta:
2641
model = Task
27-
fields = ['status', 'executor']
42+
fields = ['status']

task_manager/users/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
class IndexView(View):
1313

1414
def get(self, request, *args, **kwargs):
15-
users = User.objects.all()
15+
users = User.objects.all().order_by('id')
1616
return render(request, 'users/index.html', context={
1717
'users': users,
1818
})

0 commit comments

Comments
 (0)