From d15fce459677b7afd59239d35ede0651dd810f40 Mon Sep 17 00:00:00 2001 From: Zambom Date: Sat, 18 Feb 2017 02:22:20 -0200 Subject: [PATCH] Adjusting post and comment propagation to specific subject/resource pages --- amadeus/static/js/socket.js | 8 +++++--- mural/templates/mural/resource_view.html | 4 ++-- mural/views.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 53 insertions(+), 9 deletions(-) diff --git a/amadeus/static/js/socket.js b/amadeus/static/js/socket.js index c49689f..1262063 100644 --- a/amadeus/static/js/socket.js +++ b/amadeus/static/js/socket.js @@ -26,9 +26,10 @@ if (socket.readyState == WebSocket.OPEN) socket.onopen(); function muralNotificationPost(content) { var page = window.location.pathname, - render = (content.paths.indexOf(page) != -1); + render = (content.paths.indexOf(page) != -1), + is_resource = (page.indexOf("resource") != -1); - if ((render && page.indexOf(content.post_type) != -1) || (render && content.post_type == "general")) { + if ((render && page.indexOf(content.post_type) != -1) || (render && content.post_type == "general") || (render && is_resource)) { if (content.accordion) { var section = $(content.container); @@ -136,6 +137,7 @@ function muralNotificationMuralDelete(content) { function muralNotificationComment(content) { var page = window.location.pathname, render = (content.paths.indexOf(page) != -1), + is_resource = (page.indexOf("resource") != -1), checker = "general"; switch (content.post_type) { @@ -147,7 +149,7 @@ function muralNotificationComment(content) { break; } - if ((render && page.indexOf(checker) != -1) || (render && content.post_type == "generalpost" && page.indexOf("categories") == -1 && page.indexOf("subjects") == -1)) { + if ((render && page.indexOf(checker) != -1) || (render && content.post_type == "generalpost" && page.indexOf("categories") == -1 && page.indexOf("subjects") == -1) || (render && is_resource)) { var section = $(content.container); if (section.is(":visible") || section.is(":hidden")) { diff --git a/mural/templates/mural/resource_view.html b/mural/templates/mural/resource_view.html index c1aa188..9fdb9cd 100644 --- a/mural/templates/mural/resource_view.html +++ b/mural/templates/mural/resource_view.html @@ -17,10 +17,10 @@ {% subject_permissions request.user subject as has_subject_permissions %} {% if subject.visible %} -
+
{% elif has_subject_permissions %} -
+
{% endif %}
diff --git a/mural/views.py b/mural/views.py index 36b12d5..76722fe 100644 --- a/mural/views.py +++ b/mural/views.py @@ -597,7 +597,13 @@ class SubjectCreate(LoginRequiredMixin, generic.edit.CreateView): users = getSpaceUsers(self.request.user.id, self.object) entries = [] - paths = [reverse("mural:manage_subject")] + paths = [ + reverse("mural:manage_subject"), + reverse("mural:subject_view", args = (), kwargs = {'slug': self.object.space.slug}) + ] + + if self.object.resource: + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': self.object.resource.slug})) notification = { "type": "mural", @@ -668,7 +674,13 @@ class SubjectUpdate(LoginRequiredMixin, generic.UpdateView): users = getSpaceUsers(self.request.user.id, self.object) - paths = [reverse("mural:manage_subject")] + paths = [ + reverse("mural:manage_subject"), + reverse("mural:subject_view", args = (), kwargs = {'slug': self.object.space.slug}) + ] + + if self.object.resource: + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': self.object.resource.slug})) notification = { "type": "mural", @@ -713,7 +725,13 @@ class SubjectDelete(LoginRequiredMixin, generic.DeleteView): def get_success_url(self): users = getSpaceUsers(self.request.user.id, self.object) - paths = [reverse("mural:manage_subject")] + paths = [ + reverse("mural:manage_subject"), + reverse("mural:subject_view", args = (), kwargs = {'slug': self.object.space.slug}) + ] + + if self.object.resource: + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': self.object.resource.slug})) notification = { "type": "mural", @@ -911,7 +929,13 @@ class ResourceCreate(LoginRequiredMixin, generic.edit.CreateView): users = getSpaceUsers(self.request.user.id, self.object) entries = [] - paths = [reverse("mural:manage_subject")] + paths = [ + reverse("mural:manage_subject"), + reverse("mural:subject_view", args = (), kwargs = {'slug': self.object.space.slug}) + ] + + if self.object.resource: + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': self.object.resource.slug})) notification = { "type": "mural", @@ -1023,6 +1047,12 @@ class CommentCreate(LoginRequiredMixin, generic.edit.CreateView): reverse("mural:manage_subject") ] + if post._my_subclass == "subjectpost": + paths.append(reverse("mural:subject_view", args = (), kwargs = {'slug': post.get_space_slug()})) + + if post.subjectpost.resource: + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': post.subjectpost.resource.slug})) + notification = { "type": "mural", "subtype": "comment", @@ -1086,6 +1116,12 @@ class CommentUpdate(LoginRequiredMixin, generic.UpdateView): reverse("mural:manage_subject") ] + if self.object.post._my_subclass == "subjectpost": + paths.append(reverse("mural:subject_view", args = (), kwargs = {'slug': self.object.post.get_space_slug()})) + + if self.object.post.subjectpost.resource: + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': self.object.post.subjectpost.resource.slug})) + notification = { "type": "mural", "subtype": "mural_update", @@ -1135,6 +1171,12 @@ class CommentDelete(LoginRequiredMixin, generic.DeleteView): reverse("mural:manage_subject") ] + if self.object.post._my_subclass == "subjectpost": + paths.append(reverse("mural:subject_view", args = (), kwargs = {'slug': self.object.post.get_space_slug()})) + + if self.object.post.subjectpost.resource: + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': self.object.post.subjectpost.resource.slug})) + notification = { "type": "mural", "subtype": "mural_delete", -- libgit2 0.21.2