def get_search_form(context): request = context['request'] if 'q' in request.GET: form = ObjectSearchForm(request.GET) else: form = ObjectSearchForm() return form
def get_queryset(self): user = self.request.user params = {} filter_lab = True if 'q' in self.request.GET: form = ObjectSearchForm(self.request.GET) if form.is_valid(): if 'q' in form.cleaned_data: params = {'object__pk__in': form.cleaned_data['q']} filter_lab = not form.cleaned_data['all_labs'] organizations = OrganizationStructure.os_manager.filter_user(user) # User have perm on that organization ? else it use assigned User with direct relationship if not organizations: organizations=[] labs = Laboratory.objects.filter(Q(students__pk=user.pk) | Q(laboratorists__pk=user.pk) | Q(principaltechnician__credentials=user.pk) | Q (organization__in=organizations) ).distinct() query = self.model.objects.filter(shelf__furniture__labroom__laboratory__in=labs) if filter_lab: if 'lab_pk' in self.kwargs: query = query.filter( shelf__furniture__labroom__laboratory=self.kwargs.get('lab_pk')) if params: query = query.filter(**params) else: query = query.none() return query
def get_queryset(self): user = self.request.user params = {} filter_lab = True if 'q' in self.request.GET: form = ObjectSearchForm(self.request.GET) if form.is_valid(): if 'q' in form.cleaned_data: params = {'object__pk__in': form.cleaned_data['q']} filter_lab = not form.cleaned_data['all_labs'] organizations = OrganizationStructure.os_manager.filter_user(user) # User have perm on that organization ? else it use assigned User with direct relationship if not organizations: organizations = [] labs = Laboratory.objects.filter( Q(profile__user=user.pk) | Q(organization__in=organizations)).distinct() query = self.model.objects.filter( shelf__furniture__labroom__laboratory__in=labs) if filter_lab: if 'lab_pk' in self.kwargs: query = query.filter( shelf__furniture__labroom__laboratory=self.kwargs.get( 'lab_pk')) if params: query = query.filter(**params) else: query = query.none() return query
def get_queryset(self): user = self.request.user params = {} filter_lab = True if 'q' in self.request.GET: form = ObjectSearchForm(self.request.GET) if form.is_valid(): if 'q' in form.cleaned_data: params = {'object__pk__in': form.cleaned_data['q']} filter_lab = not form.cleaned_data['all_labs'] labs = Laboratory.objects.filter( Q(lab_admins=user) | Q(laboratorists=user) | Q(students=user)).distinct() query = self.model.objects.filter( shelf__furniture__labroom__laboratory__in=labs) if filter_lab: if 'lab_pk' in self.kwargs: query = query.filter( shelf__furniture__labroom__laboratory=self.kwargs.get( 'lab_pk')) if params: query = query.filter(**params) else: query = query.none() return query