overlay extra details for persona_preview
This commit is contained in:
Родитель
0c65e9ff98
Коммит
982799c16e
|
@ -137,11 +137,11 @@ def addon_listing_header(context, url_base, sort_opts, selected, experimental):
|
||||||
|
|
||||||
@register.inclusion_tag('addons/persona_preview.html')
|
@register.inclusion_tag('addons/persona_preview.html')
|
||||||
@jinja2.contextfunction
|
@jinja2.contextfunction
|
||||||
def persona_preview(context, persona, size='large', linked=True):
|
def persona_preview(context, persona, size='large', linked=True, extra=None):
|
||||||
preview_map = {'large': persona.preview_url,
|
preview_map = {'large': persona.preview_url,
|
||||||
'small': persona.thumb_url}
|
'small': persona.thumb_url}
|
||||||
|
|
||||||
c = dict(context.items())
|
c = dict(context.items())
|
||||||
c.update({'persona': persona, 'addon': persona.addon, 'linked': linked,
|
c.update({'persona': persona, 'addon': persona.addon, 'linked': linked,
|
||||||
'size': size, 'preview': preview_map[size]})
|
'size': size, 'preview': preview_map[size], 'extra': extra})
|
||||||
return c
|
return c
|
||||||
|
|
|
@ -375,7 +375,7 @@ class Persona(caching.base.CachingMixin, models.Model):
|
||||||
tens = (self.persona_id // 10) % 10
|
tens = (self.persona_id // 10) % 10
|
||||||
return base_url % {
|
return base_url % {
|
||||||
'units': units, 'tens': tens, 'file': filename,
|
'units': units, 'tens': tens, 'file': filename,
|
||||||
'id': self.persona_id
|
'id': self.persona_id,
|
||||||
}
|
}
|
||||||
|
|
||||||
@amo.cached_property
|
@amo.cached_property
|
||||||
|
@ -394,7 +394,7 @@ class Persona(caching.base.CachingMixin, models.Model):
|
||||||
hexcolor = lambda color: '#%s' % color
|
hexcolor = lambda color: '#%s' % color
|
||||||
addon = self.addon
|
addon = self.addon
|
||||||
return json.dumps({
|
return json.dumps({
|
||||||
'id': unicode(self.persona_id), # Personas dislikes ints
|
'id': unicode(self.persona_id), # Personas dislikes ints
|
||||||
'name': unicode(addon.name),
|
'name': unicode(addon.name),
|
||||||
'accentcolor': hexcolor(self.accentcolor),
|
'accentcolor': hexcolor(self.accentcolor),
|
||||||
'textcolor': hexcolor(self.textcolor),
|
'textcolor': hexcolor(self.textcolor),
|
||||||
|
|
|
@ -5,7 +5,22 @@
|
||||||
<{{ tag }} {{ ('href="%s" ' % addon.get_url_path())|safe if
|
<{{ tag }} {{ ('href="%s" ' % addon.get_url_path())|safe if
|
||||||
linked else '' }}
|
linked else '' }}
|
||||||
title="{{ addon.name }}" style="background-image:url('{{ preview }}')"
|
title="{{ addon.name }}" style="background-image:url('{{ preview }}')"
|
||||||
data-browsertheme="{{ persona.json_data }}"></{{ tag }}>
|
data-browsertheme="{{ persona.json_data }}">
|
||||||
|
{% if extra == 'created' %}
|
||||||
|
<span class="crearatingted">
|
||||||
|
{{ _('Added {0}')|f(addon.created|datetime) }}
|
||||||
|
</span>
|
||||||
|
{% elif extra == 'popular' %}
|
||||||
|
<span class="users">
|
||||||
|
{{ _('<b>{0}</b> users')|f(addon.persona.popularity|numberfmt)|safe }}
|
||||||
|
</span>
|
||||||
|
{% elif extra == 'rating' %}
|
||||||
|
{# TODO(jbalogh): call this rating when remora is gone. #}
|
||||||
|
<span class="reviews">
|
||||||
|
{{ addon.bayesian_rating|stars }} {{ addon.total_reviews|numberfmt }}
|
||||||
|
</span>
|
||||||
|
{% endif %}
|
||||||
|
</{{ tag }}>
|
||||||
|
|
||||||
{% if linked %}
|
{% if linked %}
|
||||||
{# TODO persona install button on hover #}
|
{# TODO persona install button on hover #}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче