Commit ee2ca54d87c32399c6fcf6613f2bf64c9904aa39
1 parent
5e7b5b97
Exists in
master
and in
3 other branches
Updating mural comment notification
Showing
2 changed files
with
40 additions
and
12 deletions
Show diff stats
amadeus/static/js/socket.js
... | ... | @@ -16,7 +16,7 @@ socket.onmessage = function(e) { |
16 | 16 | muralNotificationMuralUpdate(content); |
17 | 17 | } else if (content.subtype == "mural_delete") { |
18 | 18 | muralNotificationMuralDelete(content); |
19 | - } else if (content.subtype == "create_comment") { | |
19 | + } else if (content.subtype == "comment") { | |
20 | 20 | muralNotificationComment(content); |
21 | 21 | } |
22 | 22 | } |
... | ... | @@ -103,11 +103,26 @@ function muralNotificationMuralDelete(content) { |
103 | 103 | } |
104 | 104 | |
105 | 105 | function muralNotificationComment(content) { |
106 | - if (window.location.pathname == content.pathname) { | |
107 | - if ($("#post-" + content.post_id).is(":visible")) { | |
108 | - var section = $("#post-" + content.post_id).find('.comment-section'); | |
106 | + var page = window.location.pathname, | |
107 | + render = (content.paths.indexOf(page) != -1), | |
108 | + checker = ""; | |
109 | + | |
110 | + switch (content.post_type) { | |
111 | + case "categorypost": | |
112 | + checker = "category"; | |
113 | + break; | |
114 | + case "subjectpost": | |
115 | + checker = "subject"; | |
116 | + break; | |
117 | + } | |
118 | + | |
119 | + if ((render && page.indexOf(checker) != -1) || (render && content.post_type == "generalpost")) { | |
120 | + var section = $(content.container); | |
109 | 121 | |
110 | - section.append(content.complete); | |
122 | + if (section.is(":visible") || section.is(":hidden")) { | |
123 | + var comments = section.find('.comment-section'); | |
124 | + | |
125 | + comments.append(content.complete); | |
111 | 126 | } |
112 | 127 | } else { |
113 | 128 | $('.mural_badge').each(function () { |
... | ... | @@ -130,7 +145,7 @@ function muralNotificationComment(content) { |
130 | 145 | if (("Notification" in window)) { |
131 | 146 | var options = { |
132 | 147 | icon: content.user_icon, |
133 | - body: content.simple | |
148 | + body: content.simple_notify | |
134 | 149 | } |
135 | 150 | |
136 | 151 | if (Notification.permission === "granted") { | ... | ... |
mural/views.py
... | ... | @@ -787,16 +787,29 @@ class CommentCreate(LoginRequiredMixin, generic.edit.CreateView): |
787 | 787 | |
788 | 788 | users = getSpaceUsers(self.request.user.id, post) |
789 | 789 | entries = [] |
790 | + | |
791 | + paths = [ | |
792 | + reverse("mural:manage_general"), | |
793 | + reverse("mural:manage_category"), | |
794 | + reverse("mural:manage_subject") | |
795 | + ] | |
790 | 796 | |
791 | - notify_type = "mural" | |
792 | - user_icon = self.object.user.image_url | |
793 | - _view = render_to_string("mural/_view_comment.html", {"comment": self.object}, self.request) | |
794 | - simple_notify = _("%s has commented in a post")%(str(self.object.user)) | |
795 | - pathname = reverse("mural:manage_general") | |
797 | + notification = { | |
798 | + "type": "mural", | |
799 | + "subtype": "comment", | |
800 | + "paths": paths, | |
801 | + "user_icon": self.object.user.image_url, | |
802 | + "simple_notify": _("%s has commented in a post")%(str(self.object.user)), | |
803 | + "complete": render_to_string("mural/_view_comment.html", {"comment": self.object}, self.request), | |
804 | + "container": "#post-id" + str(post.get_id()), | |
805 | + "post_type": post._my_subclass | |
806 | + } | |
807 | + | |
808 | + notification = json.dumps(notification) | |
796 | 809 | |
797 | 810 | for user in users: |
798 | 811 | entries.append(MuralVisualizations(viewed = False, user = user, comment = self.object)) |
799 | - Group("user-%s" % user.id).send({'text': json.dumps({"type": notify_type, "subtype": "create_comment", "user_icon": user_icon, "pathname": pathname, "simple": simple_notify, "complete": _view, "post_id": post.get_id()})}) | |
812 | + Group("user-%s" % user.id).send({'text': notification}) | |
800 | 813 | |
801 | 814 | MuralVisualizations.objects.bulk_create(entries) |
802 | 815 | ... | ... |