V
Size: a a a
V
V
V
i
Z
AS
Z
class NotificationListView(ListView):
model = Notification
paginate_by = 10
template_name = 'core/list/notification_list.html'
context_object_name = 'notifications'
filter = None
filterset_class = NotificationFilter
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
if self.filter:
context['filter'] = self.filter.form
return context
def get_queryset(self, *args, **kwargs):
log_change_user(self.request.user, actions=7, messages="Уведомления")
ids = get_divisons_id(value=self.request.user.profile.division)
if self.request.user.has_perm('perm.operator') and self.request.user.profile.gas_stations:
list_q = list(self.request.user.profile.fuel_industry.all().values_list('id', flat=True))
if len(list_q) > 0:
list_q += [self.request.user.profile.gas_stations.id]
else:
list_q = [self.request.user.profile.gas_stations.id]
queryset = self.model.objects.filter(controller__gas_station_id__in=list_q, check=False)
else:
queryset = self.model.objects.filter(division_id__in=ids, check=False)
self.filter = self.filterset_class(self.request.GET, queryset=queryset, request=self.request)
print(datetime.now(), 'ed get_queryset')
return self.filter.qs
S
Z
Z
S
S
AL
AL
e
AK
S
AL
S
class GetFieldsTable(ListAPIView):
permission_classes = (IsAuthenticated,)
serializer_class = FieldTableSerializer
pagination_class = MyPagination
def get_queryset(self):
user = self.request.user
fields = None
print('query set')
if user.has_perm('administration.list_all_fields'):
print('has per')
fields = Field.objects.all()
else:
print('not per')
fields = Field.objects.filter(district_id=1)
return fields