def test_user_is_located(self): user = AnonymousUser() self.assertFalse(models.user_is_located(user)) user = self.user1 self.assertFalse(models.user_is_located(user)) geoloc = models.Geolocation(lat=12.2, lon=12.2) geoloc.save() self.famille.geolocation = geoloc self.famille.save() self.assertTrue(models.user_is_located(user)) geoloc.has_error = True geoloc.save() self.assertFalse(models.user_is_located(user))
def filters_post_sorting(self, object_list): """ Apply distance filtering after sorting since it returns a list. """ distance = self.__request.GET.get("distance__iexact") postal_code = self.__request.GET.get("pc__iexact") tarif = self.__request.GET.get("tarif__in") user = self.__request.user del self.__request object_list = [obj for obj in object_list if obj.visibility_score_is_enough] if tarif and len(tarif.split(",")) == 2: object_list = self.filter_tarif(tarif.split(","), object_list) if postal_code: return self.filter_postal_code(postal_code, object_list) if not distance or not models.user_is_located(user): return object_list related = models.get_user_related(user) return self.filter_distance(distance, related.geolocation, object_list)