Commit d15fce459677b7afd59239d35ede0651dd810f40
1 parent
4555e862
Exists in
master
and in
3 other branches
Adjusting post and comment propagation to specific subject/resource pages
Showing
3 changed files
with
53 additions
and
9 deletions
Show diff stats
amadeus/static/js/socket.js
| ... | ... | @@ -26,9 +26,10 @@ if (socket.readyState == WebSocket.OPEN) socket.onopen(); |
| 26 | 26 | |
| 27 | 27 | function muralNotificationPost(content) { |
| 28 | 28 | var page = window.location.pathname, |
| 29 | - render = (content.paths.indexOf(page) != -1); | |
| 29 | + render = (content.paths.indexOf(page) != -1), | |
| 30 | + is_resource = (page.indexOf("resource") != -1); | |
| 30 | 31 | |
| 31 | - if ((render && page.indexOf(content.post_type) != -1) || (render && content.post_type == "general")) { | |
| 32 | + if ((render && page.indexOf(content.post_type) != -1) || (render && content.post_type == "general") || (render && is_resource)) { | |
| 32 | 33 | if (content.accordion) { |
| 33 | 34 | var section = $(content.container); |
| 34 | 35 | |
| ... | ... | @@ -136,6 +137,7 @@ function muralNotificationMuralDelete(content) { |
| 136 | 137 | function muralNotificationComment(content) { |
| 137 | 138 | var page = window.location.pathname, |
| 138 | 139 | render = (content.paths.indexOf(page) != -1), |
| 140 | + is_resource = (page.indexOf("resource") != -1), | |
| 139 | 141 | checker = "general"; |
| 140 | 142 | |
| 141 | 143 | switch (content.post_type) { |
| ... | ... | @@ -147,7 +149,7 @@ function muralNotificationComment(content) { |
| 147 | 149 | break; |
| 148 | 150 | } |
| 149 | 151 | |
| 150 | - if ((render && page.indexOf(checker) != -1) || (render && content.post_type == "generalpost" && page.indexOf("categories") == -1 && page.indexOf("subjects") == -1)) { | |
| 152 | + if ((render && page.indexOf(checker) != -1) || (render && content.post_type == "generalpost" && page.indexOf("categories") == -1 && page.indexOf("subjects") == -1) || (render && is_resource)) { | |
| 151 | 153 | var section = $(content.container); |
| 152 | 154 | |
| 153 | 155 | if (section.is(":visible") || section.is(":hidden")) { | ... | ... |
mural/templates/mural/resource_view.html
| ... | ... | @@ -17,10 +17,10 @@ |
| 17 | 17 | {% subject_permissions request.user subject as has_subject_permissions %} |
| 18 | 18 | |
| 19 | 19 | {% if subject.visible %} |
| 20 | - <div class="panel panel-info topic-panel"> | |
| 20 | + <div class="panel panel-info topic-panel" id="subject_{{subject.slug}}"> | |
| 21 | 21 | <div class="panel-heading"> |
| 22 | 22 | {% elif has_subject_permissions %} |
| 23 | - <div class="panel panel-info topic-panel-invisible"> | |
| 23 | + <div class="panel panel-info topic-panel-invisible" id="subject_{{subject.slug}}"> | |
| 24 | 24 | <div class="panel-heading panel-invisible"> |
| 25 | 25 | {% endif %} |
| 26 | 26 | <div class="row"> | ... | ... |
mural/views.py
| ... | ... | @@ -597,7 +597,13 @@ class SubjectCreate(LoginRequiredMixin, generic.edit.CreateView): |
| 597 | 597 | users = getSpaceUsers(self.request.user.id, self.object) |
| 598 | 598 | entries = [] |
| 599 | 599 | |
| 600 | - paths = [reverse("mural:manage_subject")] | |
| 600 | + paths = [ | |
| 601 | + reverse("mural:manage_subject"), | |
| 602 | + reverse("mural:subject_view", args = (), kwargs = {'slug': self.object.space.slug}) | |
| 603 | + ] | |
| 604 | + | |
| 605 | + if self.object.resource: | |
| 606 | + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': self.object.resource.slug})) | |
| 601 | 607 | |
| 602 | 608 | notification = { |
| 603 | 609 | "type": "mural", |
| ... | ... | @@ -668,7 +674,13 @@ class SubjectUpdate(LoginRequiredMixin, generic.UpdateView): |
| 668 | 674 | |
| 669 | 675 | users = getSpaceUsers(self.request.user.id, self.object) |
| 670 | 676 | |
| 671 | - paths = [reverse("mural:manage_subject")] | |
| 677 | + paths = [ | |
| 678 | + reverse("mural:manage_subject"), | |
| 679 | + reverse("mural:subject_view", args = (), kwargs = {'slug': self.object.space.slug}) | |
| 680 | + ] | |
| 681 | + | |
| 682 | + if self.object.resource: | |
| 683 | + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': self.object.resource.slug})) | |
| 672 | 684 | |
| 673 | 685 | notification = { |
| 674 | 686 | "type": "mural", |
| ... | ... | @@ -713,7 +725,13 @@ class SubjectDelete(LoginRequiredMixin, generic.DeleteView): |
| 713 | 725 | def get_success_url(self): |
| 714 | 726 | users = getSpaceUsers(self.request.user.id, self.object) |
| 715 | 727 | |
| 716 | - paths = [reverse("mural:manage_subject")] | |
| 728 | + paths = [ | |
| 729 | + reverse("mural:manage_subject"), | |
| 730 | + reverse("mural:subject_view", args = (), kwargs = {'slug': self.object.space.slug}) | |
| 731 | + ] | |
| 732 | + | |
| 733 | + if self.object.resource: | |
| 734 | + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': self.object.resource.slug})) | |
| 717 | 735 | |
| 718 | 736 | notification = { |
| 719 | 737 | "type": "mural", |
| ... | ... | @@ -911,7 +929,13 @@ class ResourceCreate(LoginRequiredMixin, generic.edit.CreateView): |
| 911 | 929 | users = getSpaceUsers(self.request.user.id, self.object) |
| 912 | 930 | entries = [] |
| 913 | 931 | |
| 914 | - paths = [reverse("mural:manage_subject")] | |
| 932 | + paths = [ | |
| 933 | + reverse("mural:manage_subject"), | |
| 934 | + reverse("mural:subject_view", args = (), kwargs = {'slug': self.object.space.slug}) | |
| 935 | + ] | |
| 936 | + | |
| 937 | + if self.object.resource: | |
| 938 | + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': self.object.resource.slug})) | |
| 915 | 939 | |
| 916 | 940 | notification = { |
| 917 | 941 | "type": "mural", |
| ... | ... | @@ -1023,6 +1047,12 @@ class CommentCreate(LoginRequiredMixin, generic.edit.CreateView): |
| 1023 | 1047 | reverse("mural:manage_subject") |
| 1024 | 1048 | ] |
| 1025 | 1049 | |
| 1050 | + if post._my_subclass == "subjectpost": | |
| 1051 | + paths.append(reverse("mural:subject_view", args = (), kwargs = {'slug': post.get_space_slug()})) | |
| 1052 | + | |
| 1053 | + if post.subjectpost.resource: | |
| 1054 | + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': post.subjectpost.resource.slug})) | |
| 1055 | + | |
| 1026 | 1056 | notification = { |
| 1027 | 1057 | "type": "mural", |
| 1028 | 1058 | "subtype": "comment", |
| ... | ... | @@ -1086,6 +1116,12 @@ class CommentUpdate(LoginRequiredMixin, generic.UpdateView): |
| 1086 | 1116 | reverse("mural:manage_subject") |
| 1087 | 1117 | ] |
| 1088 | 1118 | |
| 1119 | + if self.object.post._my_subclass == "subjectpost": | |
| 1120 | + paths.append(reverse("mural:subject_view", args = (), kwargs = {'slug': self.object.post.get_space_slug()})) | |
| 1121 | + | |
| 1122 | + if self.object.post.subjectpost.resource: | |
| 1123 | + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': self.object.post.subjectpost.resource.slug})) | |
| 1124 | + | |
| 1089 | 1125 | notification = { |
| 1090 | 1126 | "type": "mural", |
| 1091 | 1127 | "subtype": "mural_update", |
| ... | ... | @@ -1135,6 +1171,12 @@ class CommentDelete(LoginRequiredMixin, generic.DeleteView): |
| 1135 | 1171 | reverse("mural:manage_subject") |
| 1136 | 1172 | ] |
| 1137 | 1173 | |
| 1174 | + if self.object.post._my_subclass == "subjectpost": | |
| 1175 | + paths.append(reverse("mural:subject_view", args = (), kwargs = {'slug': self.object.post.get_space_slug()})) | |
| 1176 | + | |
| 1177 | + if self.object.post.subjectpost.resource: | |
| 1178 | + paths.append(reverse("mural:resource_view", args = (), kwargs = {'slug': self.object.post.subjectpost.resource.slug})) | |
| 1179 | + | |
| 1138 | 1180 | notification = { |
| 1139 | 1181 | "type": "mural", |
| 1140 | 1182 | "subtype": "mural_delete", | ... | ... |