toque number and employee for establishment
This commit is contained in:
parent
92f349d8e7
commit
beefc82d7b
|
|
@ -69,7 +69,7 @@ class EmployeeBackFilter(filters.FilterSet):
|
||||||
search = filters.CharFilter(method='search_by_name_or_last_name')
|
search = filters.CharFilter(method='search_by_name_or_last_name')
|
||||||
position_id = filters.NumberFilter(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')
|
public_mark = filters.NumberFilter(method='search_by_public_mark')
|
||||||
toque_number = filters.NumberFilter(field_name='toque_number')
|
toque_number = filters.NumberFilter(method='search_by_toque_number')
|
||||||
username = filters.CharFilter(method='search_by_username_or_name')
|
username = filters.CharFilter(method='search_by_username_or_name')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
@ -102,6 +102,12 @@ class EmployeeBackFilter(filters.FilterSet):
|
||||||
return queryset.search_by_public_mark(value)
|
return queryset.search_by_public_mark(value)
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
def search_by_toque_number(self, queryset, name, value):
|
||||||
|
"""Search by establishment toque_number."""
|
||||||
|
if value not in EMPTY_VALUES:
|
||||||
|
return queryset.search_by_toque_number(value)
|
||||||
|
return queryset
|
||||||
|
|
||||||
def search_by_username_or_name(self, queryset, name, value):
|
def search_by_username_or_name(self, queryset, name, value):
|
||||||
"""Search by username or name."""
|
"""Search by username or name."""
|
||||||
if value not in EMPTY_VALUES:
|
if value not in EMPTY_VALUES:
|
||||||
|
|
|
||||||
|
|
@ -1036,16 +1036,22 @@ class EmployeeQuerySet(models.QuerySet):
|
||||||
|
|
||||||
def search_by_position_id(self, value):
|
def search_by_position_id(self, value):
|
||||||
"""Search by position_id."""
|
"""Search by position_id."""
|
||||||
return self.search_by_actual_employee().filter(
|
return self.filter(
|
||||||
Q(establishmentemployee__position_id=value),
|
Q(establishmentemployee__position_id=value),
|
||||||
)
|
)
|
||||||
|
|
||||||
def search_by_public_mark(self, value):
|
def search_by_public_mark(self, value):
|
||||||
"""Search by establishment public_mark."""
|
"""Search by establishment public_mark."""
|
||||||
return self.search_by_actual_employee().filter(
|
return self.filter(
|
||||||
Q(establishmentemployee__establishment__public_mark=value),
|
Q(establishmentemployee__establishment__public_mark=value),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def search_by_toque_number(self, value):
|
||||||
|
"""Search by establishment toque_number."""
|
||||||
|
return self.filter(
|
||||||
|
Q(establishmentemployee__establishment__toque_number=value),
|
||||||
|
)
|
||||||
|
|
||||||
def search_by_username_or_name(self, value):
|
def search_by_username_or_name(self, value):
|
||||||
"""Search by username or name."""
|
"""Search by username or name."""
|
||||||
return self.search_by_actual_employee().filter(
|
return self.search_by_actual_employee().filter(
|
||||||
|
|
|
||||||
|
|
@ -341,9 +341,16 @@ class EstablishmentEmployeeBackSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class EstEmployeeBackSerializer(EmployeeBackSerializers):
|
class EstEmployeeBackSerializer(EmployeeBackSerializers):
|
||||||
|
@property
|
||||||
|
def request_kwargs(self):
|
||||||
|
"""Get url kwargs from request."""
|
||||||
|
return self.context.get('request').parser_context.get('kwargs')
|
||||||
|
|
||||||
def get_positions(self, obj):
|
def get_positions(self, obj):
|
||||||
|
establishment_id = self.request_kwargs.get('establishment_id')
|
||||||
es_emp = EstablishmentEmployee.objects.filter(
|
es_emp = EstablishmentEmployee.objects.filter(
|
||||||
employee=obj
|
employee=obj,
|
||||||
|
establishment_id=establishment_id,
|
||||||
).distinct().order_by('position_id')
|
).distinct().order_by('position_id')
|
||||||
result = []
|
result = []
|
||||||
for item in es_emp:
|
for item in es_emp:
|
||||||
|
|
|
||||||
|
|
@ -31,4 +31,10 @@
|
||||||
|
|
||||||
# оптимизация изображений
|
# оптимизация изображений
|
||||||
/manage.py news_optimize_images # сжимает картинки в описаниях новостей
|
/manage.py news_optimize_images # сжимает картинки в описаниях новостей
|
||||||
/manage.py update_establishment_image_urls # удаляет неотображаемые картинки из модели заведения
|
/manage.py update_establishment_image_urls # удаляет неотображаемые картинки из модели заведения
|
||||||
|
|
||||||
|
# сотрудники с позициями для заведений
|
||||||
|
./manage.py add_employee
|
||||||
|
./manage.py add_position
|
||||||
|
./manage.py add_empl_position
|
||||||
|
./manage.py update_employee
|
||||||
Loading…
Reference in New Issue
Block a user