Esempio n. 1
0
    def has_repo_config_access(self, user, obj):
        """
        Check user has access to object

        :param user: User instance
        :param obj: ManagedObject instance
        :return: True if user has access, False otherwise
        """
        if user.is_superuser:
            return True
        return ManagedObject.objects.filter(id=obj.id).filter(UserAccess.Q(user)).exists()
Esempio n. 2
0
 def search(cls, handler, query):
     q = Q(name__icontains=query)
     sq = ManagedObject.get_search_Q(query)
     if sq:
         q |= sq
     if not handler.current_user.is_superuser:
         q &= UserAccess.Q(handler.current_user)
     r = []
     for mo in ManagedObject.objects.filter(q):
         r += [{
             "scope": "managedobject",
             "id": mo.id,
             "label": "%s (%s) [%s]" % (mo.name, mo.address, mo.platform),
         }]
     return r
Esempio n. 3
0
File: views.py Progetto: nbashev/noc
 def queryset(self, request, query=None):
     """
     Filter records for lookup
     """
     self.logger.info("Queryset %s" % query)
     if self.managed_filter:
         q = d_Q(is_managed=True)
     else:
         q = d_Q()
     if not request.user.is_superuser:
         q &= UserAccess.Q(request.user)
     if query:
         sq = ManagedObject.get_search_Q(query)
         if sq:
             q &= sq
         else:
             q &= d_Q(name__contains=query)
     return self.model.objects.filter(q)
Esempio n. 4
0
 def queryset(self, request, query=None):
     qs = super(ManagedObjectApplication, self).queryset(request, query)
     if not request.user.is_superuser:
         qs = qs.filter(UserAccess.Q(request.user))
     qs = qs.exclude(name__startswith="wiping-")
     return qs