Example #1
0
def get_search_form(context):
    request = context['request']
    if 'q' in request.GET:
        form = ObjectSearchForm(request.GET)
    else:
        form = ObjectSearchForm()
    return form
Example #2
0
    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
Example #3
0
    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
Example #4
0
    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