conversation.html 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. {% extends theme("message/message_layout.html") %}
  2. {% block css %}
  3. <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap-markdown.min.css') }}">
  4. {% endblock %}
  5. {% block message_content %}
  6. {# quick check if the conversation is a draft #}
  7. {% if conversation.draft %}
  8. {% set messages = [conversation.first_message] %}
  9. {% else %}
  10. {% set messages = conversation.messages %}
  11. {% endif %}
  12. <div class="panel conversation-panel">
  13. <div class="panel-heading conversation-head">
  14. Subject: <strong>{{ conversation.subject }}</strong>
  15. </div>
  16. <div class="panel-body conversation-body">
  17. <div class="conversation-box">
  18. {% for message in messages %}
  19. <!-- First Comment -->
  20. <div class="row conversation-row" id="mid{{message.id}}">
  21. {% if current_user.id == message.user_id %}
  22. <div class="col-md-2 col-sm-3 col-xs-12">
  23. <div class="conversation-author author">
  24. <!-- Registered User -->
  25. <div class="author-name"><h4><a href="{{ message.user.url }}">{{ message.user.username }}</a></h4></div>
  26. <!-- check if user is online or not -->
  27. {% if message.user|is_online %}
  28. <div class="author-online" data-toggle="tooltip" data-placement="top" title="online"></div>
  29. {% else %}
  30. <div class="author-offline" data-toggle="tooltip" data-placement="top" title="offline"></div>
  31. {% endif %}
  32. <div class="author-title"><h5>{{ message.user.primary_group.name }}</h5></div>
  33. {% if message.user.avatar %}
  34. <div class="author-avatar"><img src="{{ message.user.avatar }}" alt="avatar"></div>
  35. {% endif %}
  36. <div class="author-registered">{% trans %}Joined{% endtrans %}: {{ message.user.date_joined|format_date('%b %d %Y') }}</div>
  37. <div class="author-posts">{% trans %}Posts{% endtrans %}: {{ message.user.post_count }}</div>
  38. {% if message.user.website %}
  39. <div class="author-website"><a href="{{ message.user.website }}" rel="nofollow">{% trans %}Website{% endtrans %}</a></div>
  40. {% endif %}
  41. </div>
  42. </div>
  43. {% endif %}
  44. <div class="col-md-10 col-sm-9 col-xs-12">
  45. <div class="conversation-message arrow {% if current_user.id == message.user_id %}left{% else %}right{% endif %}">
  46. <div class="message-box">
  47. <div class="text-left message-header">
  48. <time class="conversation-date" datetime="{{ message.date_created }}"><i class="fa fa-clock-o"></i> {{ message.date_created|format_date("%d %B %Y - %H:%M") }}</time>
  49. </div>
  50. <div class="message-content">
  51. {{ message.message|markup|safe }}
  52. </div>
  53. <div class="message-footer">
  54. {% if conversation.draft %}
  55. <p class="text-right"><a href="{{ url_for('message.edit_conversation', conversation_id=conversation.id) }}" class="btn btn-default btn-sm"><i class="fa fa-pencil"></i> edit</a></p>
  56. {% else %}
  57. <p class="{% if current_user.id == message.user_id %}left{% else %}right{% endif %}"><a href="#" class="btn btn-default btn-sm reply-btn" data-message-id="{{ message.id }}"><i class="fa fa-reply"></i> reply</a></p>
  58. {% endif %}
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. {% if current_user.id != message.user_id %}
  64. <div class="col-md-2 col-sm-3 col-xs-12">
  65. <div class="conversation-author author">
  66. {% if message.user_id and message.user %}
  67. <!-- Registered User -->
  68. <div class="author-name"><h4><a href="{{ message.user.url }}">{{ message.user.username }}</a></h4></div>
  69. <!-- check if user is online or not -->
  70. {% if message.user|is_online %}
  71. <div class="author-online" data-toggle="tooltip" data-placement="top" title="online"></div>
  72. {% else %}
  73. <div class="author-offline" data-toggle="tooltip" data-placement="top" title="offline"></div>
  74. {% endif %}
  75. <div class="author-title"><h5>{{ message.user.primary_group.name }}</h5></div>
  76. {% if message.user.avatar %}
  77. <div class="author-avatar"><img src="{{ message.user.avatar }}" alt="avatar"></div>
  78. {% endif %}
  79. <div class="author-registered">{% trans %}Joined{% endtrans %}: {{ message.user.date_joined|format_date('%b %d %Y') }}</div>
  80. <div class="author-posts">{% trans %}Posts{% endtrans %}: {{ message.user.post_count }}</div>
  81. <div class="author-pm">
  82. <a href="{{ url_for('message.new_conversation') }}?to_user={{ message.user.username }}">{% trans %}Message{% endtrans %}</a>
  83. </div>
  84. {% if message.user.website %}
  85. <div class="author-website"><a href="{{ message.user.website }}" rel="nofollow">{% trans %}Website{% endtrans %}</a></div>
  86. {% endif %}
  87. {% else %}
  88. <div class="author-name"><h4>{% trans %}Deleted{% endtrans %}</h4></div>
  89. <div class="author-title"><h5>{% trans %}Guest{% endtrans %}</h5></div>
  90. {% endif %}
  91. </div>
  92. </div>
  93. {% endif %}
  94. </div>
  95. {% endfor %}
  96. </div>
  97. </div>
  98. </div>
  99. {% if not conversation.draft %}
  100. {% from "macros.html" import render_quickreply, render_submit_field %}
  101. <form class="form" action="#" method="post">
  102. {{ form.hidden_tag() }}
  103. <div class="row conversation-reply">
  104. <div class="col-md-12 col-sm-12 col-xs-12">
  105. <div class="editor-box">
  106. <div class="editor">
  107. {{ render_quickreply(form.message, div_class="new-message", rows=7, cols=75, placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'false', 'class': 'flaskbb-editor'}) }}
  108. </div>
  109. <div class="editor-submit">
  110. {{ render_submit_field(form.submit, input_class="btn btn-success pull-right") }}
  111. </div>
  112. </div>
  113. </div>
  114. </div>
  115. {% include theme('editor_help.html') %}
  116. </form>
  117. {% endif %}
  118. {% endblock %}
  119. {% block scripts %}
  120. <script>
  121. $(function () {
  122. $('[data-toggle="tooltip"]').tooltip()
  123. })
  124. </script>
  125. <script type="text/javascript" src="{{ url_for('static', filename='js/editor.min.js') }}"></script>
  126. {% endblock %}