msg.html 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. {% extends "base.html" %}
  2. {% block title %} 留言 {% endblock %}
  3. {% block style %}
  4. {{ super() }}
  5. <link href="{{ url_for('static', filename='styles/msg/msg.css') }}" rel="stylesheet">
  6. {% endblock %}
  7. {% block content %}
  8. <section id="base" class="container mt-3">
  9. <div class="row">
  10. <section class="col-12 text-end">
  11. <form class="writer clearfix was-validated" action="{{ url_for('msg.write_msg_page', page=page) }}" method="post">
  12. {{ form.hidden_tag() }}
  13. <div>
  14. {{ form.content(class="form-control mb-2", rows="5") }}
  15. {% for error in form.content.errors %}
  16. <div class="invalid-feedback"> {{ error }} </div>
  17. {% endfor %}
  18. </div>
  19. <div class="form-check" style="display: inline-block">
  20. {{ form.secret(class="form-check-input") }}
  21. {{ form.secret.label(class="form-check-label") }}
  22. </div>
  23. <div id="MsgModal" class="modal fade" role="dialog" aria-hidden="true">
  24. <div class="modal-dialog">
  25. <div class="modal-content text-start">
  26. <div class="modal-header">
  27. <h4 class="modal-title" id="MsgModalLabel"> 确认留言? </h4>
  28. </div>
  29. <div class="modal-body">
  30. <p> 是否确认留言?请注意网络用语文明。 </p>
  31. </div>
  32. <div class="modal-footer">
  33. {{ form.submit(class="btn btn-danger", value="确认") }}
  34. <button type="button" class="btn btn-outline-dark" data-bs-dismiss="modal">取消</button>
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. <button type="button" class="btn btn-primary mb-2" data-bs-toggle="modal" data-bs-target="#MsgModal"> 留言 </button>
  40. </form>
  41. </section>
  42. </div>
  43. <hr>
  44. {% if current_user.check_role("ReadMsg") %} {# 检查是否具有读取权限 #}
  45. {% cache conf["LIST_CACHE_EXPIRE"], ":msg", ":page", cache_str %}
  46. <div class="row">
  47. <section class="col-12">
  48. {% for msg in msg_list %}
  49. <div class="msg me-0">
  50. {% if show_delete %}
  51. <div id="DeleteModal{{msg.id }}" class="modal fade" role="dialog" aria-hidden="true">
  52. <div class="modal-dialog">
  53. <div class="modal-content text-start">
  54. <div class="modal-header">
  55. <h4 class="modal-title"> 确认删除留言? </h4>
  56. </div>
  57. <div class="modal-body">
  58. <p> 是否确认删除留言? </p>
  59. </div>
  60. <div class="modal-footer">
  61. <a class="btn btn-danger"
  62. href="{{ url_for("msg.delete_msg_page", msg=msg.id) }}"> 删除 </a>
  63. <button type="button" class="btn btn-outline-dark" data-bs-dismiss="modal"> 取消 </button>
  64. </div>
  65. </div>
  66. </div>
  67. </div>
  68. {% endif %}
  69. <p class="msg-title h5">
  70. {% if show_email %} {# 判断是否可读取用户信息 #}
  71. {{ msg.auth.email }}
  72. {% else %}
  73. {{ msg.auth.star_email }}
  74. {% endif %}
  75. {% if show_delete %}
  76. <a class="mb-2"
  77. data-bs-toggle="modal" data-bs-target="#DeleteModal{{msg.id }}"> &times; </a>
  78. {% endif %}
  79. <br>
  80. <small> {{ msg.update_time }}
  81. {% if msg.secret == is_secret %}
  82. <small> [私密留言] </small>
  83. {% endif %}
  84. </small>
  85. </p>
  86. <p> {{ msg.content.replace('\n', '<br>') | safe }} </p>
  87. </div>
  88. {% endfor %}
  89. </section>
  90. </div>
  91. <ul class="pagination col-12 justify-content-center">
  92. {{ macro.get_page_list(page_list, page) }}
  93. </ul>
  94. {% endcache %}
  95. {% endif %}
  96. </section>
  97. {% endblock %}