fix: discussions template

This commit is contained in:
pateljannat
2021-08-30 18:39:00 +05:30
parent b3403b78ee
commit a49563e23f
3 changed files with 34 additions and 5 deletions

View File

@@ -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"])

View File

@@ -1 +1,2 @@
{{ widgets.DiscussionMessage }}
{% set docname = frappe.db.get_value("Web Page", {"route": ""}, ["name"])%}
{{ widgets.DiscussionMessage(doctype="Web Page", docname=docname) }}

View File

@@ -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>