details.html 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. {% extends "sora/profiles/profile.html" %}
  2. {% load i18n %}
  3. {% load humanize %}
  4. {% load url from future %}
  5. {% import "_forms.html" as form_theme with context %}
  6. {% import "sora/macros.html" as macros with context %}
  7. {% block title %}{{ macros.page_title(_('Member Details'), profile.username) }}{% endblock %}
  8. {% block tab %}
  9. <div class="row">
  10. <div class="span6">
  11. <table class="table table-striped">
  12. <thead>
  13. <tr>
  14. <th colspan="2">
  15. {% trans %}Account Details{% endtrans %}
  16. </th>
  17. </tr>
  18. </thead>
  19. <tbody>
  20. {% if acl.users.can_see_users_emails() %}
  21. <tr>
  22. <td class="span2">
  23. <strong>{% trans %}E-mail Address{% endtrans %}</strong>
  24. </td>
  25. <td class="span4">
  26. <a href="mailto:{{ profile.email }}">{{ profile.email }}</a>
  27. </td>
  28. </tr>
  29. {% endif %}
  30. <tr>
  31. <td class="span2">
  32. <strong>{% trans %}Member Since{% endtrans %}</strong>
  33. </td>
  34. <td class="span4">
  35. {{ profile.join_date|date }}
  36. </td>
  37. </tr>
  38. <tr>
  39. <td class="span2">
  40. <strong>{% trans %}Last Seen{% endtrans %}</strong>
  41. </td>
  42. <td class="span4">
  43. {% if not hidden or acl.users.can_see_hidden_users() %}
  44. {{ profile.last_date|reltimesince }} <span class="muted">{{ profile.last_date|date("DATETIME_FORMAT") }}</span>
  45. {% else %}
  46. <em class="muted">{% trans %}Hidden{% endtrans %}</em>
  47. {% endif %}
  48. </td>
  49. </tr>
  50. </tbody>
  51. </table>
  52. <table class="table table-striped">
  53. <thead>
  54. <tr>
  55. <th colspan="2">
  56. {% trans %}Forums Activity{% endtrans %}
  57. </th>
  58. </tr>
  59. </thead>
  60. <tbody>
  61. <tr>
  62. <td class="span2">
  63. <strong>{% trans %}Posts Written{% endtrans %}</strong>
  64. </td>
  65. <td class="span4">
  66. {{ profile.posts|intcomma }}
  67. </td>
  68. </tr>
  69. <tr>
  70. <td class="span2">
  71. <strong>{% trans %}Threads Started{% endtrans %}</strong>
  72. </td>
  73. <td class="span4">
  74. {{ profile.threads|intcomma }}
  75. </td>
  76. </tr>
  77. <tr>
  78. <td class="span2">
  79. <strong>{% trans %}Votes Cast{% endtrans %}</strong>
  80. </td>
  81. <td class="span4">
  82. {{ profile.votes|intcomma }}
  83. </td>
  84. </tr>
  85. </tbody>
  86. </table>
  87. </div>
  88. <div class="span6">
  89. <table class="table table-striped">
  90. <thead>
  91. <tr>
  92. <th colspan="2">
  93. {% trans %}Ranking Performance{% endtrans %}
  94. </th>
  95. </tr>
  96. </thead>
  97. <tbody>
  98. <tr>
  99. <td class="span2">
  100. <strong>{% trans %}Rank{% endtrans %}</strong>
  101. </td>
  102. <td class="span4">
  103. {% if profile.rank %}{{ _(profile.rank.name) }}{% else %}<em>{% trans %}Not Ranked{% endtrans %}</em>{% endif %}
  104. </td>
  105. </tr>
  106. {% if settings.ranking_positions_visible or settings.ranking_scores_visible %}
  107. <tr>
  108. <td class="span2">
  109. <strong>{% if settings.ranking_positions_visible %}{% trans %}Ranking Position{% endtrans %}{% else %}{% trans %}Score{% endtrans %}{% endif %}</strong>
  110. </td>
  111. <td class="span4">
  112. {% if settings.ranking_positions_visible %}
  113. #{{ profile.get_ranking()|intcomma }}{% if settings.ranking_scores_visible %} <span class="muted">{{ profile.score|intcomma }}</span>{% endif %}
  114. {% else %}{{ profile.score|intcomma }}
  115. {% endif %}
  116. </td>
  117. </tr>
  118. {% endif %}
  119. <tr>
  120. <td class="span2">
  121. <strong>{% trans %}Karma Received{% endtrans %}</strong>
  122. </td>
  123. <td class="span4">
  124. <strong><span class="alert-success">+ {{ profile.karma_p }}</span> / <span class="alert-error">- {{ profile.karma_n }}</span></strong>
  125. </td>
  126. </tr>
  127. <tr>
  128. <td class="span2">
  129. <strong>{% trans %}Karma Given{% endtrans %}</strong>
  130. </td>
  131. <td class="span4">
  132. <strong><span class="alert-success">+ {{ profile.karma_given_p }}</span> / <span class="alert-error">- {{ profile.karma_given_n }}</span></strong>
  133. </td>
  134. </tr>
  135. </tbody>
  136. </table>
  137. <table class="table table-striped">
  138. <thead>
  139. <tr>
  140. <th colspan="2">
  141. {% trans %}Interactions{% endtrans %}
  142. </th>
  143. </tr>
  144. </thead>
  145. <tbody>
  146. <tr>
  147. <td class="span2">
  148. <strong>{% trans %}Followers{% endtrans %}</strong>
  149. </td>
  150. <td class="span4">
  151. {{ profile.followers|intcomma }}
  152. </td>
  153. </tr>
  154. <tr>
  155. <td class="span2">
  156. <strong>{% trans %}Following{% endtrans %}</strong>
  157. </td>
  158. <td class="span4">
  159. {{ profile.following|intcomma }}
  160. </td>
  161. </tr>
  162. </tbody>
  163. </table>
  164. </div>
  165. </div>
  166. {% if acl.users.can_see_users_trails() %}
  167. <hr>
  168. <div class="row">
  169. <div class="span6">
  170. <table class="table table-striped">
  171. <thead>
  172. <tr>
  173. <th colspan="2">
  174. {% trans %}Registration Details{% endtrans %}
  175. </th>
  176. </tr>
  177. </thead>
  178. <tbody>
  179. <tr>
  180. <td class="span2">
  181. <strong>{% trans %}IP Address{% endtrans %}</strong>
  182. </td>
  183. <td class="span4">
  184. {{ profile.join_ip }}
  185. </td>
  186. </tr>
  187. <tr>
  188. <td class="span2">
  189. <strong>{% trans %}UserAgent String{% endtrans %}</strong>
  190. </td>
  191. <td class="span4">
  192. {% if profile.join_agent %}{{ profile.join_agent }}{% else %}<em class="muted">{% trans %}Created from console{% endtrans %}</em>{% endif %}
  193. </td>
  194. </tr>
  195. </tbody>
  196. </table>
  197. </div>
  198. <div class="span6">
  199. <table class="table table-striped">
  200. <thead>
  201. <tr>
  202. <th colspan="2">
  203. {% trans %}Last Visit Details{% endtrans %}
  204. </th>
  205. </tr>
  206. </thead>
  207. <tbody>
  208. <tr>
  209. <td class="span2">
  210. <strong>{% trans %}IP Address{% endtrans %}</strong>
  211. </td>
  212. <td class="span4">
  213. {{ profile.last_ip }}
  214. </td>
  215. </tr>
  216. <tr>
  217. <td class="span2">
  218. <strong>{% trans %}UserAgent String{% endtrans %}</strong>
  219. </td>
  220. <td class="span4">
  221. {% if profile.last_agent %}{{ profile.last_agent }}{% else %}<em class="muted">{% trans %}Created from console{% endtrans %}</em>{% endif %}
  222. </td>
  223. </tr>
  224. </tbody>
  225. </table>
  226. </div>
  227. </div>
  228. {% endif %}
  229. {% endblock %}