public_mark filter for actual employee
This commit is contained in:
parent
988de09efe
commit
38485292f9
|
|
@ -67,7 +67,8 @@ class EmployeeBackFilter(filters.FilterSet):
|
||||||
"""Employee filter set."""
|
"""Employee filter set."""
|
||||||
|
|
||||||
search = filters.CharFilter(method='search_by_name_or_last_name')
|
search = filters.CharFilter(method='search_by_name_or_last_name')
|
||||||
position_id = filters.CharFilter(method='search_by_actual_position_id')
|
position_id = filters.NumberFilter(method='search_by_actual_position_id')
|
||||||
|
public_mark = filters.NumberFilter(method='search_by_public_mark')
|
||||||
toque_number = filters.NumberFilter(field_name='toque_number')
|
toque_number = filters.NumberFilter(field_name='toque_number')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
@ -77,6 +78,7 @@ class EmployeeBackFilter(filters.FilterSet):
|
||||||
fields = (
|
fields = (
|
||||||
'search',
|
'search',
|
||||||
'position_id',
|
'position_id',
|
||||||
|
'public_mark',
|
||||||
'toque_number',
|
'toque_number',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -92,6 +94,12 @@ class EmployeeBackFilter(filters.FilterSet):
|
||||||
return queryset.search_by_position_id(value)
|
return queryset.search_by_position_id(value)
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
def search_by_public_mark(self, queryset, name, value):
|
||||||
|
"""Search by establishment public_mark."""
|
||||||
|
if value not in EMPTY_VALUES:
|
||||||
|
return queryset.search_by_public_mark(value)
|
||||||
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
class EmployeeBackSearchFilter(EmployeeBackFilter):
|
class EmployeeBackSearchFilter(EmployeeBackFilter):
|
||||||
def search_by_name_or_last_name(self, queryset, name, value):
|
def search_by_name_or_last_name(self, queryset, name, value):
|
||||||
|
|
|
||||||
|
|
@ -1007,6 +1007,15 @@ class EmployeeQuerySet(models.QuerySet):
|
||||||
Q(establishmentemployee__to_date__isnull=True)
|
Q(establishmentemployee__to_date__isnull=True)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def search_by_public_mark(self, value):
|
||||||
|
"""Search by establishment public_mark."""
|
||||||
|
return self.filter(
|
||||||
|
Q(establishmentemployee__establishment__public_mark=value),
|
||||||
|
Q(establishmentemployee__from_date__lte=datetime.now()),
|
||||||
|
Q(establishmentemployee__to_date__gte=datetime.now()) |
|
||||||
|
Q(establishmentemployee__to_date__isnull=True)
|
||||||
|
)
|
||||||
|
|
||||||
def actual_establishment(self):
|
def actual_establishment(self):
|
||||||
e = EstablishmentEmployee.objects.actual().filter(employee=self)
|
e = EstablishmentEmployee.objects.actual().filter(employee=self)
|
||||||
return self.prefetch_related(models.Prefetch('establishmentemployee_set',
|
return self.prefetch_related(models.Prefetch('establishmentemployee_set',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user