Ejemplo n.º 1
0
    def test_packaged_hidden_on_android(self, _filter_search_mock):
        self.webapp.update(is_packaged=True)
        self.refresh()
        request = RequestFactory().get(reverse('search.search'))
        request.GAIA = False
        request.MOBILE = True
        request.TABLET = False

        _app_search(request)
        req, qs, query = _filter_search_mock.call_args[0]
        eq_(list(qs), [])
        eq_(query['device'], 'mobile')
Ejemplo n.º 2
0
    def test_packaged_visible_on_desktop(self, _filter_search_mock):
        self.webapp.update(is_packaged=True)
        self.refresh()
        request = RequestFactory().get(reverse('search.search'))
        request.GAIA = False
        request.MOBILE = False
        request.TABLET = False

        _app_search(request)
        qs, query = _filter_search_mock.call_args[0]
        eq_(list(qs), [])
        eq_(query['device'], None)
Ejemplo n.º 3
0
    def test_packaged_hidden_on_android(self, _filter_search_mock):
        self.webapp.update(is_packaged=True)
        self.refresh()
        request = RequestFactory().get(reverse('search.search'))
        request.GAIA = False
        request.MOBILE = True
        request.TABLET = False

        _app_search(request)
        req, qs, query = _filter_search_mock.call_args[0]
        eq_(list(qs), [])
        eq_(query['device'], 'mobile')
Ejemplo n.º 4
0
    def test_packaged_visible_on_gaia(self, _filter_search_mock):
        raise SkipTest  # disable until #789977 gets clarified
        self.webapp.update(is_packaged=True)
        self.refresh()
        request = RequestFactory().get(reverse('search.search'))
        request.GAIA = True
        request.MOBILE = True
        request.TABLET = False

        _app_search(request)
        req, qs, query = _filter_search_mock.call_args[0]
        eq_(list(qs), [self.webapp])
        eq_(query['device'], 'gaia')
Ejemplo n.º 5
0
    def test_packaged_visible_on_desktop(self, _filter_search_mock):
        raise SkipTest  # disable until #789977 gets clarified
        self.webapp.update(is_packaged=True)
        self.refresh()
        request = RequestFactory().get(reverse('search.search'))
        request.GAIA = False
        request.MOBILE = False
        request.TABLET = False

        _app_search(request)
        req, qs, query = _filter_search_mock.call_args[0]
        eq_(list(qs), [])
        eq_(query['device'], None)
Ejemplo n.º 6
0
def _search(request, category=None):
    ctx = {'browse': True}
    region = getattr(request, 'REGION', mkt.regions.WORLDWIDE)

    if category is not None:
        qs = Category.objects.filter(type=amo.ADDON_WEBAPP, weight__gte=0)
        ctx['category'] = get_object_or_404(qs, slug=category)
        ctx['featured'] = Webapp.featured(cat=ctx['category'], region=region)

        # Do a search filtered by this category and sort by Weekly Downloads.
        # TODO: Listen to andy and do not modify `request.GET` but at least
        # the traceback is fixed now.
        request.GET = request.GET.copy()
        request.GET.update({'cat': ctx['category'].id})
        if not request.GET.get('sort'):
            request.GET['sort'] = 'downloads'
    else:
        ctx['featured'] = Webapp.featured(region=region)

    # Always show three (or zero) featured apps - nothing in between.
    ctx['featured'] = ctx['featured'][:0 if len(ctx['featured']) < 3 else 3]

    ctx.update(_app_search(request, category=ctx.get('category'), browse=True))

    # If category is not listed as a facet, then remove redirect to search.
    if ctx.get('redirect'):
        return http.HttpResponseRedirect(ctx['redirect'])

    return jingo.render(request, 'search/results.html', ctx)
Ejemplo n.º 7
0
def _search(request, category=None):
    from django.http import Http404
    raise Http404

    ctx = {'browse': True}

    if category is not None:
        qs = Category.objects.filter(type=amo.ADDON_PERSONA, weight__gte=0)
        ctx['category'] = get_object_or_404(qs, slug=category)

        # Do a search filtered by this category and sort by Weekly Downloads.
        # TODO: Listen to andy and do not modify `request.GET` but at least
        # the traceback is fixed now.
        request.GET = request.GET.copy()
        request.GET.update({'cat': ctx['category'].id})
        if not request.GET.get('sort'):
            request.GET['sort'] = 'downloads'

    ctx.update(_app_search(request, category=ctx.get('category'), browse=True))

    # If category is not listed as a facet, then remove redirect to search.
    if ctx.get('redirect'):
        return http.HttpResponseRedirect(ctx['redirect'])

    return jingo.render(request, 'search/results.html', ctx)
Ejemplo n.º 8
0
def _search(request, category=None):
    ctx = {'browse': True}
    region = getattr(request, 'REGION', mkt.regions.WORLDWIDE)

    if category is not None:
        qs = Category.objects.filter(type=amo.ADDON_WEBAPP, weight__gte=0)
        ctx['category'] = get_object_or_404(qs, slug=category)
        ctx['featured'] = Webapp.featured(cat=ctx['category'], region=region,
            mobile=request.MOBILE)

        # Do a search filtered by this category and sort by Weekly Downloads.
        # TODO: Listen to andy and do not modify `request.GET` but at least
        # the traceback is fixed now.
        request.GET = request.GET.copy()
        request.GET.update({'cat': ctx['category'].id})
        if not request.GET.get('sort'):
            request.GET['sort'] = 'downloads'
    else:
        ctx['featured'] = Webapp.featured(region=region, mobile=request.MOBILE)

    # Always show three (or zero) featured apps - nothing in between.
    ctx['featured'] = ctx['featured'][:0 if len(ctx['featured']) < 3 else 3]

    ctx.update(_app_search(request, category=ctx.get('category'), browse=True))

    # If category is not listed as a facet, then remove redirect to search.
    if ctx.get('redirect'):
        return http.HttpResponseRedirect(ctx['redirect'])

    return jingo.render(request, 'search/results.html', ctx)
Ejemplo n.º 9
0
def _search(request, category=None):
    from django.http import Http404
    raise Http404

    ctx = {'browse': True}

    if category is not None:
        qs = Category.objects.filter(type=amo.ADDON_PERSONA, weight__gte=0)
        ctx['category'] = get_object_or_404(qs, slug=category)

        # Do a search filtered by this category and sort by Weekly Downloads.
        # TODO: Listen to andy and do not modify `request.GET` but at least
        # the traceback is fixed now.
        request.GET = request.GET.copy()
        request.GET.update({'cat': ctx['category'].id})
        if not request.GET.get('sort'):
            request.GET['sort'] = 'downloads'

    ctx.update(_app_search(request, category=ctx.get('category'), browse=True))

    # If category is not listed as a facet, then remove redirect to search.
    if ctx.get('redirect'):
        return http.HttpResponseRedirect(ctx['redirect'])

    return jingo.render(request, 'search/results.html', ctx)
Ejemplo n.º 10
0
def categories_apps(request, category=None):
    ctx = {}

    if category is not None:
        qs = Category.objects.filter(type=amo.ADDON_WEBAPP)
        ctx['category'] = get_object_or_404(qs, slug=category)

        # Do a search filtered by this category and sort by Weekly Downloads.
        request.GET = request.GET.copy()
        request.GET.update({'cat': ctx['category'].id, 'sort': 'downloads'})

    ctx.update(_app_search(request, ctx['category']))

    # If category is not listed as a facet, then remove redirect to search.
    if ctx.get('redirect'):
        return redirect(ctx['redirect'])

    return jingo.render(request, 'search/results.html', ctx)
Ejemplo n.º 11
0
def _search(request, category=None):
    ctx = {"browse": True}

    if category is not None:
        qs = Category.objects.filter(type=amo.ADDON_WEBAPP, weight__gte=0)
        ctx["category"] = get_object_or_404(qs, slug=category)

        # Do a search filtered by this category and sort by Weekly Downloads.
        # TODO: Listen to andy and do not modify `request.GET` but at least
        # the traceback is fixed now.
        request.GET = request.GET.copy()
        request.GET.update({"cat": ctx["category"].id})
        if not request.GET.get("sort"):
            request.GET["sort"] = "downloads"

    ctx.update(_app_search(request, category=ctx.get("category"), browse=True))

    # If category is not listed as a facet, then remove redirect to search.
    if ctx.get("redirect"):
        return redirect(ctx["redirect"])

    return jingo.render(request, "search/results.html", ctx)
Ejemplo n.º 12
0
def _search(request, category=None):
    ctx = {'browse': True}
    #region = getattr(request, 'REGION', mkt.regions.WORLDWIDE)

    if category is not None:
        qs = Category.objects.filter(type=amo.ADDON_WEBAPP, weight__gte=0)
        ctx['category'] = get_object_or_404(qs, slug=category)
        #ctx['featured'] = Webapp.featured(cat=category, region=region)

        # Do a search filtered by this category and sort by Weekly Downloads.
        # TODO: Listen to andy and do not modify `request.GET` but at least
        # the traceback is fixed now.
        request.GET = request.GET.copy()
        request.GET.update({'cat': ctx['category'].id})
        if not request.GET.get('sort'):
            request.GET['sort'] = 'downloads'

    ctx.update(_app_search(request, category=ctx.get('category'), browse=True))

    # If category is not listed as a facet, then remove redirect to search.
    if ctx.get('redirect'):
        return redirect(ctx['redirect'])

    return jingo.render(request, 'search/results.html', ctx)