diff options
12 files changed, 180 insertions, 19 deletions
diff --git a/askbot/skins/default/templates/avatar/add.html b/askbot/skins/default/templates/avatar/add.html index 68a188ef..c0e81e36 100644 --- a/askbot/skins/default/templates/avatar/add.html +++ b/askbot/skins/default/templates/avatar/add.html @@ -1,10 +1,10 @@ {% extends "user_profile/user.html" %} -{% import "macros.html" as macros %} +{% import "macros/user_macros.html" as user_macros %} {% block profilesection %}{% trans %}add avatar{% endtrans %}{% endblock %} {% block usercontent %} <h2>{% trans %}Change avatar{% endtrans %} <p>{% trans %}Your current avatar: {% endtrans %}</p> - {{ macros.gravatar(user, 128) }} + {{ user_macros.gravatar(user, 128) }} {% if not avatars %} <p>{% trans %}You haven't uploaded an avatar yet. Please upload one now.{% endtrans %}</p> {% endif %} diff --git a/askbot/skins/default/templates/avatar/change.html b/askbot/skins/default/templates/avatar/change.html index 7921a662..af9c7fcd 100644 --- a/askbot/skins/default/templates/avatar/change.html +++ b/askbot/skins/default/templates/avatar/change.html @@ -1,11 +1,11 @@ {% extends "user_profile/user.html" %} -{% import "macros.html" as macros %} +{% import "macros/user_macros.html" as user_macros %} {% block profilesection %} {% trans %}change avatar{% endtrans %} {% endblock %} {% block usercontent %} <p>{% trans %}Your current avatar: {% endtrans %}<br/> - {{ macros.gravatar(user, 128) }} + {{ user_macros.gravatar(user, 128) }} </p> {% if not avatars %} <p>{% trans %}You haven't uploaded an avatar yet. Please upload one now.{% endtrans %}</p> diff --git a/askbot/skins/default/templates/badge.html b/askbot/skins/default/templates/badge.html index cf79df9b..306d8d1e 100644 --- a/askbot/skins/default/templates/badge.html +++ b/askbot/skins/default/templates/badge.html @@ -1,5 +1,5 @@ {% extends "two_column_body.html" %} -{% import "macros/macros.html" as macros %} +{% import "macros/user_macros.html" as user_macros %} <!-- template badge.html --> {% block title %}{% spaceless %}{% trans name=badge.name %}{{name}}{% endtrans %} - {% trans %}Badge{% endtrans %}{% endspaceless %}{% endblock %} {% block content %} @@ -16,7 +16,7 @@ <div id="award-list" style="clear:both;margin-left:20px;line-height:25px;"> {% for recipient in badge_recipients %} <p style="width:180px;float:left"><a href="{{ recipient.get_absolute_url() }}">{{ recipient.username }}</a> - {{ macros.user_score_and_badge_summary(recipient) }} + {{ user_macros.user_score_and_badge_summary(recipient) }} </p> {% endfor %} </div> diff --git a/askbot/skins/default/templates/blocks/header.html b/askbot/skins/default/templates/blocks/header.html index 09d87344..d18be8db 100644 --- a/askbot/skins/default/templates/blocks/header.html +++ b/askbot/skins/default/templates/blocks/header.html @@ -1,5 +1,6 @@ <!-- template header.html --> {% import "macros/macros.html" as macros %} +{% import "macros/user_macros.html" as user_macros %} <div id="header"> <div class="content-wrapper"> {% if settings.SHOW_LOGO %} diff --git a/askbot/skins/default/templates/blocks/user_navigation.html b/askbot/skins/default/templates/blocks/user_navigation.html index 2324291d..23d0ccb7 100644 --- a/askbot/skins/default/templates/blocks/user_navigation.html +++ b/askbot/skins/default/templates/blocks/user_navigation.html @@ -3,7 +3,7 @@ <span class="user-info"> {{ macros.inbox_link(request.user) }} {{ macros.moderation_items_link(request.user, moderation_items) }} - ({{ macros.user_long_score_and_badge_summary(user) }}) + ({{ user_macros.user_long_score_and_badge_summary(user) }}) </span> <a href="{{ settings.LOGOUT_URL }}?next={{ settings.LOGOUT_REDIRECT_URL }}">{% trans %}logout{% endtrans %}</a> {% else %} diff --git a/askbot/skins/default/templates/macros/user_macros.html b/askbot/skins/default/templates/macros/user_macros.html new file mode 100644 index 00000000..1321afc5 --- /dev/null +++ b/askbot/skins/default/templates/macros/user_macros.html @@ -0,0 +1,158 @@ +{%- macro user_score_and_badge_summary(user) -%} + <span class="reputation-score" + title="{{user.get_karma_summary}}" + >{{user.reputation}}</span> + {% if user.gold or user.silver or user.bronze %} + <span title="{{user.get_badge_summary}}"> + {% if user.gold %} + <span class='badge1'>●</span> + <span class="badgecount">{{user.gold}}</span> + {% endif %} + {% if user.silver %} + <span class='badge2'>●</span> + <span class="badgecount">{{user.silver}}</span> + {% endif %} + {% if user.bronze %} + <span class='badge3'>●</span> + <span class="badgecount">{{user.bronze}}</span> + {% endif %} + </span> + {% endif %} +{%- endmacro -%} + +{%- macro follow_toggle(follow, name, alias, id) -%} + {# follow - boolean; name - object type name; alias - e.g. users name; id - object id #} + <div + class="follow-toggle" + id="follow-{{ name }}-{{ id }}" + > + {% if follow %} + <div class="follow">{% trans %}follow {{alias}}{% endtrans %}</div> + {% else %} + <div class="unfollow"> + <div class="unfollow-red">{% trans %}unfollow {{alias}}{% endtrans %}</div> + <div class="unfollow-green">{% trans %}following {{alias}}{% endtrans %}</div> + </div> + {% endif %} + </div> +{%- endmacro -%} + +{%- macro follow_user_toggle(visitor = None, subject = None) -%} + {% if visitor.is_anonymous() %} + {{ follow_toggle(True, 'user', subject.username, subject.id) }} + {% else %} + {% if visitor != subject %} + {% if visitor.is_following(subject) %} + {{ follow_toggle(False, 'user', subject.username, subject.id) }} + {% else %} + {{ follow_toggle(True, 'user', subject.username, subject.id) }} + {% endif %} + {% endif %} + {% endif %} +{%- endmacro -%} + +{%- macro user_long_score_and_badge_summary(user) -%} + <a class="user-micro-info" + href="{{user.get_absolute_url()}}?sort=reputation" + >{% trans %}karma:{% endtrans %} {{user.reputation}}</a> + {%- if user.gold or user.silver or user.bronze %} + <a class="user-micro-info" + href="{{user.get_absolute_url()}}#badges" + ><span title="{{user.get_badge_summary}}">{% trans %}badges:{% endtrans %} + {% if user.gold %} + <span class='badge1'>●</span> + <span class="badgecount">{{user.gold}}</span> + {% endif %} + {% if user.silver %} + <span class='badge2'>●</span> + <span class="badgecount">{{user.silver}}</span> + {% endif %} + {% if user.bronze %} + <span class='badge3'>●</span> + <span class="badgecount">{{user.bronze}}</span> + {%- endif -%} + </span></a> + {%- endif -%} +{%- endmacro -%} + +{%- macro user_country_flag(user) -%} + {% if user.country and user.show_country %} + <img class="flag" + src="{{ ('/images/flags/' ~ user.country.code|lower ~ '.gif')|media }}" + alt="{% trans + country=user.country.name + %}flag of {{country}}{% + endtrans %}" + title="{% trans + country=user.country.name, + person=user.username %}{{person}} is from {{country}}{% + endtrans %}" + /> + {% endif %} +{%- endmacro -%} + +{%- macro user_country_name_and_flag(user) -%} + {% if user.country and user.show_country %} + {{ user.country.name }} + {{ user_country_flag(user) }} + {% endif %} +{%- endmacro -%} + +{%- macro user_full_location(user) -%} + {% if user.location %} + {{ user.location }}, + {% endif %} + {{ user_country_name_and_flag(user) }} +{%- endmacro -%} + +{%- macro user_list(users, profile_section = None) -%} +<div class="userList"> + <table class="list-table"> + <tr> + <td class="list-td"> + {% for user in users %} + <div class="user"> + <ul> + <li class="thumb">{{ gravatar(user, 32) }}</li> + <li><a href="{% url user_profile user.id, user.username|slugify %}{% if profile_section %}?sort={{profile_section}}{% endif %}">{{user.username}}</a>{{ user_country_flag(user) }}</li> + <li>{{ user_score_and_badge_summary(user) }}</li> + </ul> + </div> + {% if loop.index is divisibleby 7 %} + </td> + <td> + {% endif %} + {% endfor %} + </td> + </tr> + </table> +</div> +{%- endmacro -%} + +{#todo: rename this to avatar #} +{%- macro gravatar(user, size) -%} +{% spaceless %} +<a style="text-decoration:none" + href="{{ user.get_absolute_url() }}" +><img class="gravatar" + width="{{size}}" height="{{size}}" + src="{{ user.get_avatar_url(size) }}" + title="{{user.username}}" + alt="{% trans username=user.username %}{{username}} gravatar image{% endtrans %}" +/></a> +{% endspaceless %} +{%- endmacro -%} + +{%- macro user_website_link(user, max_display_length=25) -%} + {% if user.website %} + <a + href="{{user.website}}" + title="{% trans username=user.username|escape, url=user.website %}{{username}}'s website is {{url}}{% endtrans %}" + {% if user.can_have_strong_url() == False %} + rel="nofollow" + {% endif %} + > + {{user.website|truncate(length=max_display_length, killwords=True, end='...')}} + </a> + {% endif %} +{%- endmacro -%} diff --git a/askbot/skins/default/templates/main_page/sidebar.html b/askbot/skins/default/templates/main_page/sidebar.html index 34f3f422..e95b01f8 100644 --- a/askbot/skins/default/templates/main_page/sidebar.html +++ b/askbot/skins/default/templates/main_page/sidebar.html @@ -1,4 +1,5 @@ {% import "macros/macros.html" as macros %} +{% import "macros/user_macros.html" as user_macros %} {{ settings.SIDEBAR_MAIN_HEADER }} diff --git a/askbot/skins/default/templates/user_profile/user_edit.html b/askbot/skins/default/templates/user_profile/user_edit.html index f4b1e6ab..12432cd8 100644 --- a/askbot/skins/default/templates/user_profile/user_edit.html +++ b/askbot/skins/default/templates/user_profile/user_edit.html @@ -1,5 +1,5 @@ {% extends "one_column_body.html" %} -{% import "macros/macros.html" as macros %} +{% import "macros/user_macros.html" as user_macros %} <!-- user_edit.html --> {% block title %}{% spaceless %}{% trans %}Edit user profile{% endtrans %}{% endspaceless %}{% endblock %} {% block content %} @@ -10,7 +10,7 @@ <form name="" action="{% url edit_user request.user.id %}" method="post">{% csrf_token %} <div id="left" style="float:left;width:180px"> {% if request.user.email %} - {{ macros.gravatar(request.user, 128) }} + {{ user_macros.gravatar(request.user, 128) }} {% else %} <img src="{{"/images/nophoto.png"|media}}"> {% endif %} diff --git a/askbot/skins/default/templates/user_profile/user_inbox.html b/askbot/skins/default/templates/user_profile/user_inbox.html index c1b35ebc..bb77f406 100644 --- a/askbot/skins/default/templates/user_profile/user_inbox.html +++ b/askbot/skins/default/templates/user_profile/user_inbox.html @@ -1,5 +1,5 @@ {% extends "user_profile/user.html" %} -{% import "macros/macros.html" as macros %} +{% import "macros/user_macros.html" as user_macros %} <!-- user_responses.html --> {# This template accepts a list of response list @@ -65,7 +65,7 @@ inbox_section - forum|flags <div id="re_{{response.id}}" class="re{% if response.is_new %} new highlight{% else %} seen{% endif %}"> {% if inbox_section == 'forum' %}<input type="checkbox" />{% endif %} <div class="face"> - {{ macros.gravatar(response.user, 48) }} + {{ user_macros.gravatar(response.user, 48) }} </div> <a style="font-size:12px" href="{{ response.user.get_absolute_url() }}">{{ response.user.username }}</a> <a style="text-decoration:none;" href="{{ response.response_url }}"> @@ -79,7 +79,7 @@ inbox_section - forum|flags <div id="re_{{nested_response.id}}" class="re{% if nested_response.is_new %} new highlight{% else %} seen{% endif %}"> {% if inbox_section == 'forum' %}<input type="checkbox" />{% endif %} <div class="face"> - {{ macros.gravatar(nested_response.user, 48) }} + {{ user_macros.gravatar(nested_response.user, 48) }} </div> <a style="font-size:12px" href="{{ nested_response.user.get_absolute_url() }}">{{ nested_response.user.username }}</a> <a style="text-decoration:none;" href="{{ nested_response.response_url }}"> diff --git a/askbot/skins/default/templates/user_profile/user_info.html b/askbot/skins/default/templates/user_profile/user_info.html index 34450632..980b209c 100644 --- a/askbot/skins/default/templates/user_profile/user_info.html +++ b/askbot/skins/default/templates/user_profile/user_info.html @@ -1,10 +1,10 @@ <!-- user_info.html --> -{% import "macros/macros.html" as macros %} +{% import "macros/user_macros.html" as user_macros %} <table class="user-info-table"> <tr> <td style="vertical-align:top;text-align:center;"> <div class='avatar'> - {{ macros.gravatar(view_user, 128) }} + {{ user_macros.gravatar(view_user, 128) }} {% if request.user == view_user %} <p><a {% if support_custom_avatars %} @@ -24,7 +24,7 @@ <div class="scoreNumber">{{view_user.reputation|intcomma}}</div> <p><b style="color:#777;">{% trans %}reputation{% endtrans %}</b></p> {% if user_follow_feature_on %} - {{ macros.follow_user_toggle(visitor = request.user, subject = view_user) }} + {{ user_macros.follow_user_toggle(visitor = request.user, subject = view_user) }} {% endif %} </td> <td width="360" style="padding-left:5px;vertical-align: top;"> @@ -67,13 +67,13 @@ {% if view_user.website %} <tr> <td>{% trans %}user website{% endtrans %}</td> - <td>{{ macros.user_website_link(view_user, max_display_length = 30) }}</td> + <td>{{ user_macros.user_website_link(view_user, max_display_length = 30) }}</td> </tr> {% endif %} {% if view_user.location or view_user.country %} <tr> <td>{% trans %}location{% endtrans %}</td> - <td>{{ macros.user_full_location(view_user) }}</td> + <td>{{ user_macros.user_full_location(view_user) }}</td> </tr> {% endif %} {% if view_user.date_of_birth%} diff --git a/askbot/skins/default/templates/users.html b/askbot/skins/default/templates/users.html index 0bb512ff..790be537 100644 --- a/askbot/skins/default/templates/users.html +++ b/askbot/skins/default/templates/users.html @@ -1,5 +1,6 @@ {% extends "two_column_body.html" %} {% import "macros/macros.html" as macros %} +{% import "macros/user_macros.html" as user_macros %} <!-- users.html --> {% block title %}{% spaceless %}{% trans %}Users{% endtrans %}{% endspaceless %}{% endblock %} {% block content %} @@ -40,7 +41,7 @@ <span>{% trans %}Nothing found.{% endtrans %}</span> {% endif %} </p> -{{ macros.user_list(users.object_list) }} +{{ user_macros.user_list(users.object_list) }} <div class="pager"> {{ macros.paginator(paginator_context) }} </div> diff --git a/askbot/skins/default/templates/widgets/contributors_widget.html b/askbot/skins/default/templates/widgets/contributors_widget.html index 14651f80..22418f3f 100644 --- a/askbot/skins/default/templates/widgets/contributors_widget.html +++ b/askbot/skins/default/templates/widgets/contributors_widget.html @@ -3,7 +3,7 @@ <h2 class="contributorback">{% trans %}Contributors{% endtrans %}</h2> {% spaceless %} {% for person in contributors %} - {{ macros.gravatar(person,48) }} + {{ user_macros.gravatar(person,48) }} {% endfor %} {% endspaceless %} </div> |