Don't show frozen add-ons on personas promo (bug 694590)

This commit is contained in:
Gregory Koberger 2011-10-19 15:42:01 -07:00
Родитель 3a53a1d218
Коммит 38a22f6291
2 изменённых файлов: 24 добавлений и 3 удалений

Просмотреть файл

@ -21,7 +21,7 @@ from amo.urlresolvers import reverse
from amo.helpers import absolutify, numberfmt, urlparams
from addons.tests.test_views import TestMobile
from addons.models import (Addon, AddonCategory, Category, AppSupport, Feature,
Persona)
FrozenAddon, Persona)
from addons.utils import FeaturedManager
from applications.models import Application
from bandwagon.models import Collection, CollectionAddon, FeaturedCollection
@ -1323,6 +1323,24 @@ class TestPersonas(amo.tests.TestCase):
r = self.client.get(category_url)
self.assertTemplateUsed(r, landing)
def test_personas_category_landing_frozen(self):
# Check to make sure add-on is there.
category_url = reverse('browse.personas')
r = self.client.get(category_url)
personas = pq(r.content).find('.persona-preview')
eq_(personas.length, 2)
eq_(personas.eq(1).find('a').text(), "My Persona")
# Freeze the add-on
FrozenAddon.objects.create(addon_id=15663)
# Make sure it's not there anymore
res = self.client.get(category_url)
personas = pq(res.content).find('.persona-preview')
eq_(personas.length, 1)
class TestMobileFeatured(TestMobile):

Просмотреть файл

@ -15,7 +15,7 @@ import amo
import amo.models
from amo.models import manual_order
from amo.urlresolvers import reverse
from addons.models import Addon, Category, AddonCategory
from addons.models import Addon, AddonCategory, Category, FrozenAddon
from addons.utils import FeaturedManager, CreaturedManager
from addons.views import BaseFilter, ESBaseFilter
from translations.query import order_by_translation
@ -310,7 +310,10 @@ def personas_listing(request, category=None):
type=TYPE)
categories = order_by_translation(q, 'name')
frozen = FrozenAddon.objects.values_list('addon', flat=True)
base = (Addon.objects.public().filter(type=TYPE)
.exclude(id__in=frozen)
.extra(select={'_app': request.APP.id}))
if category is not None: