Skip to content
This repository was archived by the owner on Mar 15, 2018. It is now read-only.

Commit 6797c4a

Browse files
committed
back to showing actually 60 of my most popular themes (bug 860786)
1 parent 1caa428 commit 6797c4a

File tree

4 files changed

+31
-10
lines changed

4 files changed

+31
-10
lines changed

apps/users/models.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,12 @@ def addons_listed(self):
174174
return self.addons.reviewed().exclude(type=amo.ADDON_WEBAPP).filter(
175175
addonuser__user=self, addonuser__listed=True)
176176

177+
@amo.cached_property
178+
def num_addons_listed(self):
179+
"""Number of public add-ons this user is listed as author of."""
180+
return self.addons.reviewed().exclude(type=amo.ADDON_WEBAPP).filter(
181+
addonuser__user=self, addonuser__listed=True).count()
182+
177183
@amo.cached_property
178184
def apps_listed(self):
179185
"""Public apps this user is listed as author of."""

apps/users/templates/users/profile.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,11 @@ <h2>{{ _("Add-ons I've created") }}</h2>
6969

7070
{% if personas %}
7171
<div id="my-themes" class="island c">
72-
<h2>{{ _("Themes I've created") }}</h2>
72+
{% if limited_personas %}
73+
<h2>{{ _("My most popular 60 Themes") }}</h2>
74+
{% else %}
75+
<h2>{{ _("Themes I've created") }}</h2>
76+
{% endif %}
7377
{{ personas|impala_persona_grid(cols=5, pagesize=15) }}
7478
</div>
7579
{% endif %}

apps/users/templates/users/vcard.html

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,19 @@
4444
{{ _('{0} add-ons')|f(num) }}
4545
{% else %}
4646
<a href="{{ '#my-submissions' if is_profile else profile.get_url_path() }}">
47-
{% trans cnt=num, num=num|numberfmt %}
48-
{{ num }} add-on
49-
{% pluralize %}
50-
{{ num }} add-ons
51-
{% endtrans -%}
47+
{% if profile.is_artist and not profile.is_addon_developer %}
48+
{% trans cnt=num, num=num|numberfmt %}
49+
{{ num }} theme
50+
{% pluralize %}
51+
{{ num }} themes
52+
{% endtrans -%}
53+
{% else %}
54+
{% trans cnt=num, num=num|numberfmt %}
55+
{{ num }} add-on
56+
{% pluralize %}
57+
{{ num }} add-ons
58+
{% endtrans -%}
59+
{% endif %}
5260
</a>
5361
{% endif %}
5462
{% endwith %}

apps/users/views.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -577,14 +577,17 @@ def profile(request, user):
577577

578578
addons = []
579579
personas = []
580-
user.num_addons_listed = 0
580+
limited_personas = False
581581
if user.is_developer:
582582
addons = user.addons.reviewed().exclude(type=amo.ADDON_WEBAPP).filter(
583583
addonuser__user=user, addonuser__listed=True)
584-
user.num_addons_listed = addons.count()
585584

585+
# TODO: Paginate themes so we don't have to take a slice (bug 860306).
586586
personas = addons.filter(type=amo.ADDON_PERSONA).order_by(
587-
'-average_daily_users')
587+
'-persona__popularity')
588+
if personas.count() > 60:
589+
limited_personas = True
590+
personas = personas[:60]
588591

589592
addons = addons.exclude(type=amo.ADDON_PERSONA).order_by(
590593
'-weekly_downloads')
@@ -605,7 +608,7 @@ def get_addons(reviews):
605608
data = {'profile': user, 'own_coll': own_coll, 'reviews': reviews,
606609
'fav_coll': fav_coll, 'edit_any_user': edit_any_user,
607610
'addons': addons, 'own_profile': own_profile,
608-
'personas': personas}
611+
'personas': personas, 'limited_personas': limited_personas}
609612
if not own_profile:
610613
data['abuse_form'] = AbuseForm(request=request)
611614

0 commit comments

Comments
 (0)