fix: discussions template
This commit is contained in:
@@ -29,3 +29,7 @@ def save_message(reply, topic):
|
||||
"reply": reply,
|
||||
"topic": topic
|
||||
}).save(ignore_permissions=True)
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_docname(route):
|
||||
return frappe.db.get_value("Web Page", {"route": route}, ["name"])
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
{{ widgets.DiscussionMessage }}
|
||||
{% set docname = frappe.db.get_value("Web Page", {"route": ""}, ["name"])%}
|
||||
{{ widgets.DiscussionMessage(doctype="Web Page", docname=docname) }}
|
||||
|
||||
@@ -23,12 +23,16 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% if not topics %}
|
||||
<p id="no-discussions" class="text-center"> No discussions yet. </p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<script>
|
||||
frappe.ready(() => {
|
||||
setup_socket_io();
|
||||
|
||||
set_docname_if_missing();
|
||||
|
||||
$(document).on("click", ".reply", (e) => {
|
||||
show_new_topic_modal(e);
|
||||
})
|
||||
@@ -65,14 +69,14 @@
|
||||
}
|
||||
|
||||
var publish_message = (data) => {
|
||||
$(".comment-field").val("");
|
||||
$("#discussion-modal").modal("hide");
|
||||
|
||||
if ($(`.topic-parent[data-topic=${data.topic_info.name}]`).length) {
|
||||
post_message_cleanup();
|
||||
$(`.topic-parent[data-topic=${data.topic_info.name}]`).append(data.template);
|
||||
}
|
||||
|
||||
else if ((decodeURIComponent($(".discussions-section").attr("data-doctype")) == data.topic_info.reference_doctype
|
||||
&& decodeURIComponent($(".discussions-section").attr("data-docname")) == data.topic_info.reference_docname)) {
|
||||
post_message_cleanup();
|
||||
var html = `<div class="topic-parent" data-topic="${data.topic_info.name}">
|
||||
<div class="font-weight-bold mb-5">${data.topic_info.title}</div>
|
||||
${data.template}
|
||||
@@ -80,4 +84,24 @@
|
||||
$(".discussions-section").prepend(html);
|
||||
}
|
||||
}
|
||||
|
||||
var post_message_cleanup = () => {
|
||||
$(".comment-field").val("");
|
||||
$("#discussion-modal").modal("hide");
|
||||
$("#no-discussions").addClass("hide");
|
||||
}
|
||||
|
||||
var set_docname_if_missing = () => {
|
||||
if ($("[data-docname='None']").length) {
|
||||
frappe.call({
|
||||
method: "community.community.doctype.discussion_topic.discussion_topic.get_docname",
|
||||
args: {
|
||||
"route": window.location.href.split("/").slice(-1)[0]
|
||||
},
|
||||
callback: (data) => {
|
||||
$("[data-docname='None']").attr("data-docname", data.message);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user