Пример #1
0
def image_icon(count, message, url, template_type=None, request=None):
    '''Return the HTML for showing an image icon with a count as a link to another page
        count is the number of images
        message is the message to show in the tooltip (e.g. 'COUNT image')

        e.g.
        {% image_icon hand.images.count "COUNT image with this hand" hand.get_absolute_url|add:"pages" template_type request %}

        TODO: deal with no request, template type and url
    '''

    ret = u''

    if count:
        from django.db.models.query import QuerySet

        # if count is a QuerySet on Image model, convert it into a int
        if hasattr(count, 'all'):
            from digipal.models import Image
            count = Image.filter_permissions_from_request(
                count.all(), request).count()

        if count:
            m = re.match(ur'(.*)(COUNT)(\s+)(\w*)(.*)', message)
            if m:
                message = ur'%s%s%s%s%s' % (m.group(1), count, m.group(
                    3), plural(m.group(4), count), m.group(5))
            ret = u'''<span class="result-image-count">
                        (<a data-toggle="tooltip" title="%s" href="%s">%s&nbsp;<i class="fa fa-picture-o"></i></a>)
                      </span>''' % (message, add_query_params(u'%s?result_type=%s' % (url, template_type), request.META['QUERY_STRING']), count)

    return mark_safe(ret)
Пример #2
0
def plural(value, count=2):
    from digipal.utils import plural
    return plural(value, count)