def test_dumps_and_loads_with_other_instance(self): dumps = self.qserializer.dumps(self.q1) self.assertEqual(dumps, self.dumps) qserializer2 = QSerializer(base64=True) loads = qserializer2.loads(dumps) self.assertEqual(qserializer2.serialize(loads), qserializer2.serialize(self.q1))
def has_object_permission(self, request, view, obj): """ check filter permissions """ user = request.user if not user.is_superuser and not user.is_anonymous: valid = False try: ct = ContentType.objects.get_for_model(obj) fpm = FilterPermissionModel.objects.get(user=user, content_type=ct) myq = QSerializer(base64=True).loads(fpm.filter) try: myobj = obj.__class__.objects.filter(myq).distinct().get( pk=obj.pk) if myobj: valid = True except ObjectDoesNotExist: valid = False except ObjectDoesNotExist: valid = True finally: return valid else: return True
def setUp(self): self.q1 = Q(Q(field1__contains="test") | Q(rel1__field2__exact="test2") & Q(Q(field3="test3") | Q(field3__range=(datetime.datetime(2005, 1, 1), datetime.datetime(2005, 3, 31))))) self.qserializer = QSerializer(base64=True) self.dumps = self.qserializer.dumps(self.q1)
def filter_queryset(self, request, queryset, view): user = request.user if not user.is_superuser and not user.is_anonymous and isinstance(queryset, QuerySet): try: model = queryset.model ct = ContentType.objects.get_for_model(model) fpm = FilterPermissionModel.objects.get(user=user, content_type=ct) myfilter = QSerializer(base64=True).loads(fpm.filter) except ObjectDoesNotExist: myfilter = Q() return queryset.filter(myfilter) else: return queryset
def setUp(self): self.filterperm = FilterPermission() self.request = HttpRequest() self.me = User.objects.create(username="******", password='******') self.userok = User.objects.create(username="******", password='******') self.not_admin = User.objects.create(username="******", password='******') self.wrong = User.objects.create(username="******", password='******') self.admin = User.objects.create_superuser(username="******", password="******", email="") self.user_ct = ContentType.objects.get_by_natural_key("auth", "user") self.q = Q(Q(username='******') | Q(username='******')) self.qserializer = QSerializer(base64=True) self.myfilter = self.qserializer.dumps(self.q) self.fpm = FilterPermissionModel.objects.create(user=self.me, content_type=self.user_ct, filter=self.myfilter) self.request.user = self.me
def setUp(self): self.me = User.objects.create(username="******", password='******') self.q = Q(Q(username='******') | Q(username='******')) self.qserializer = QSerializer(base64=True) self.myfilter = self.qserializer.dumps(self.q) self.user_ct = ContentType.objects.get_by_natural_key("auth", "user")