Exemplo n.º 1
0
    def test_init_with_selected_facets(self):
        sf = FacetedSearchForm({}, searchqueryset=self.sqs)
        self.assertEqual(sf.errors, {})
        self.assertEqual(sf.is_valid(), True)
        self.assertEqual(sf.selected_facets, [])

        sf = FacetedSearchForm({}, selected_facets=[], searchqueryset=self.sqs)
        self.assertEqual(sf.errors, {})
        self.assertEqual(sf.is_valid(), True)
        self.assertEqual(sf.selected_facets, [])

        sf = FacetedSearchForm({},
                               selected_facets=['author:daniel'],
                               searchqueryset=self.sqs)
        self.assertEqual(sf.errors, {})
        self.assertEqual(sf.is_valid(), True)
        self.assertEqual(sf.selected_facets, ['author:daniel'])

        sf = FacetedSearchForm(
            {},
            selected_facets=['author:daniel', 'author:chris'],
            searchqueryset=self.sqs)
        self.assertEqual(sf.errors, {})
        self.assertEqual(sf.is_valid(), True)
        self.assertEqual(sf.selected_facets, ['author:daniel', 'author:chris'])
Exemplo n.º 2
0
    def test_init_with_selected_facets(self):
        sf = FacetedSearchForm({}, searchqueryset=self.sqs)
        self.assertEqual(sf.errors, {})
        self.assertEqual(sf.is_valid(), True)
        self.assertEqual(sf.selected_facets, [])

        sf = FacetedSearchForm({}, selected_facets=[], searchqueryset=self.sqs)
        self.assertEqual(sf.errors, {})
        self.assertEqual(sf.is_valid(), True)
        self.assertEqual(sf.selected_facets, [])

        sf = FacetedSearchForm(
            {}, selected_facets=["author:daniel"], searchqueryset=self.sqs
        )
        self.assertEqual(sf.errors, {})
        self.assertEqual(sf.is_valid(), True)
        self.assertEqual(sf.selected_facets, ["author:daniel"])

        sf = FacetedSearchForm(
            {},
            selected_facets=["author:daniel", "author:chris"],
            searchqueryset=self.sqs,
        )
        self.assertEqual(sf.errors, {})
        self.assertEqual(sf.is_valid(), True)
        self.assertEqual(sf.selected_facets, ["author:daniel", "author:chris"])
Exemplo n.º 3
0
def process_select_search_haystack(request, select_key):
    try:
        data = get_select_data(request, select_key)
    except KeyError:
        return _cant_get_key(request)

    form = FacetedSearchForm(request.GET)
    if not form.is_valid():  # do not think this can happen
        raise ValueError
    cd = form.cleaned_data
    if cd['q']:
        context = {'select_key': select_key}
        allowed_selects = []
        for select in ['publisher', 'series', 'issue', 'story']:
            if data.get(select, False):
                allowed_selects.append(select)
        context['allowed_selects'] = allowed_selects
        sqs = GcdSearchQuerySet().facet('facet_model_name')
        return PaginatedFacetedSearchView(searchqueryset=sqs)(request,
                                                              context=context)
    else:
        return HttpResponseRedirect(
            urlresolvers.reverse('select_object',
                                 kwargs={'select_key': select_key}) + '?' +
            request.META['QUERY_STRING'])
Exemplo n.º 4
0
def process_select_search_haystack(request, select_key):
    try:
        data = get_select_data(request, select_key)
    except KeyError:
        return _cant_get_key(request)

    form = FacetedSearchForm(request.GET)
    if not form.is_valid():  # do not think this can happen
        raise ValueError
    cd = form.cleaned_data
    if cd['q']:
        context = {'select_key': select_key}
        allowed_selects = []
        for select in ['publisher', 'series', 'issue', 'story']:
            if data.get(select, False):
                allowed_selects.append(select)
        context['allowed_selects'] = allowed_selects
        sqs = GcdSearchQuerySet().facet('facet_model_name')
        return PaginatedFacetedSearchView(searchqueryset=sqs)(request,
                                                              context=context)
    else:
        return HttpResponseRedirect(
          urlresolvers.reverse('select_object',
                               kwargs={'select_key': select_key})
          + '?' + request.META['QUERY_STRING'])
Exemplo n.º 5
0
def process_select_search_haystack(request, select_key):
    try:
        data = get_select_data(request, select_key)
    except KeyError:
        return _cant_get_key(request)

    form = FacetedSearchForm(request.GET)
    if not form.is_valid():  # do not think this can happen
        raise ValueError
    cd = form.cleaned_data
    if cd["q"]:
        context = {"select_key": select_key}
        allowed_selects = []
        for select in ["publisher", "series", "issue", "story"]:
            if data.get(select, False):
                allowed_selects.append(select)
        context["allowed_selects"] = allowed_selects
        sqs = GcdSearchQuerySet().facet("facet_model_name")
        return PaginatedFacetedSearchView(searchqueryset=sqs)(request, context=context)
    else:
        return HttpResponseRedirect(
            urlresolvers.reverse("select_object", kwargs={"select_key": select_key})
            + "?"
            + request.META["QUERY_STRING"]
        )
Exemplo n.º 6
0
class FacetedSearchFormTestCase(TestCase):
    def setUp(self):
        super(FacetedSearchFormTestCase, self).setUp()
        self.sqs = SearchQuerySet(query=DummySearchQuery(backend=DummySearchBackend()), site=None)
        
        self.target = FacetedSearchForm(data={'selected_facets': 'foo, bar'},
                                        searchqueryset=self.sqs)
    
    def test_selected_facets(self):
        self.assertTrue(self.target.is_valid())
        result = self.target.search()
        self.assertEquals(result.query.narrow_queries, set(['foo', 'bar']))