From 534d7f705eed236fcfd71614942ab3075d0237c4 Mon Sep 17 00:00:00 2001 From: Zambom Date: Fri, 17 Feb 2017 20:17:04 -0200 Subject: [PATCH] Adding subject mural filters --- amadeus/static/css/.sass-cache/a7f87b90919294b62ab4f8079e31dcda8f485534/green.sassc | Bin 148073 -> 0 bytes amadeus/static/css/themes/green.css | 2 +- amadeus/static/css/themes/green.css.map | 2 +- amadeus/static/css/themes/green.sass | 2 +- amadeus/static/js/mural_category.js | 188 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- amadeus/static/js/mural_subject.js | 41 +++++++++++++++++++++++++++++++++++++++++ amadeus/static/js/mural_ungeneral.js | 188 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ amadeus/static/js/socket.js | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ mural/templates/mural/list_category.html | 6 +++--- mural/templates/mural/list_subject.html | 6 +++--- mural/utils.py | 9 +++++++++ mural/views.py | 42 +++++++++++++++++++++--------------------- 12 files changed, 336 insertions(+), 218 deletions(-) delete mode 100644 amadeus/static/js/mural_category.js create mode 100644 amadeus/static/js/mural_ungeneral.js diff --git a/amadeus/static/css/.sass-cache/a7f87b90919294b62ab4f8079e31dcda8f485534/green.sassc b/amadeus/static/css/.sass-cache/a7f87b90919294b62ab4f8079e31dcda8f485534/green.sassc index 642a0fe..a16cbbc 100644 Binary files a/amadeus/static/css/.sass-cache/a7f87b90919294b62ab4f8079e31dcda8f485534/green.sassc and b/amadeus/static/css/.sass-cache/a7f87b90919294b62ab4f8079e31dcda8f485534/green.sassc differ diff --git a/amadeus/static/css/themes/green.css b/amadeus/static/css/themes/green.css index b46f348..7f7a588 100644 --- a/amadeus/static/css/themes/green.css +++ b/amadeus/static/css/themes/green.css @@ -459,7 +459,7 @@ a.add-row { .suggestions { background: #FFFFFF; } -.mural-category, .mural-subject { +.mural-ungeneral { background: #EEE; } .btn:not(.btn-raised):not(.btn-link):focus, .btn:not(.btn-raised):not(.btn-link):hover, .input-group-btn .btn:not(.btn-raised):not(.btn-link):focus, .input-group-btn .btn:not(.btn-raised):not(.btn-link):hover { diff --git a/amadeus/static/css/themes/green.css.map b/amadeus/static/css/themes/green.css.map index fb94136..c4bb780 100644 --- a/amadeus/static/css/themes/green.css.map +++ b/amadeus/static/css/themes/green.css.map @@ -1,6 +1,6 @@ { "version": 3, -"mappings": "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", +"mappings": "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", "sources": ["green.sass"], "names": [], "file": "green.css" diff --git a/amadeus/static/css/themes/green.sass b/amadeus/static/css/themes/green.sass index f5a81aa..9a3d6b5 100644 --- a/amadeus/static/css/themes/green.sass +++ b/amadeus/static/css/themes/green.sass @@ -629,7 +629,7 @@ a.add-row background: $white -.mural-category, .mural-subject +.mural-ungeneral background: #EEE diff --git a/amadeus/static/js/mural_category.js b/amadeus/static/js/mural_category.js deleted file mode 100644 index e622aed..0000000 --- a/amadeus/static/js/mural_category.js +++ /dev/null @@ -1,188 +0,0 @@ -$('.mural-category').on('shown.bs.collapse', function(e) { - if($(this).is(e.target)){ - var li = $(".breadcrumb").find('li:last-child'); - var li_text = $(li).html(); - var url = $(".mural_url").val(); - var new_li = $(li).clone(); - - new_li.html($(this).parent().find('.panel-title span').text()); - - $(li).html("" + li_text + ""); - $(li).append("/"); - - new_li.appendTo('.breadcrumb'); - - var post_section = $(this).find('.posts'), - without = $(this).find('.no-subjects'), - loading = $(this).find('.loading-posts'), - more = $(this).find('.more-posts'), - filters = $(this).find('.post-filters'), - clear_filters = $(this).find('.clear_filter'), - mural = post_section.parent().parent(); - - if (post_section.children().length == 0) { - var url = $(this).find('.mural').data('url'); - - $.ajax({ - url: url, - dataType: 'json', - success: function (data) { - loading.hide(); - - if (data.count > 0) { - post_section.append(data.posts); - - mural.data('pages', data.num_pages); - mural.data('page', data.num_page); - - setTimeout(function () { postHeightLimits() }, 100); - - if (data.num_page < data.num_pages) { - more.show(); - } else { - more.hide(); - } - - $('.mural_badge').each(function () { - var actual = $(this).text(); - - if (actual != "+99") { - actual = parseInt(actual, 10) - data.unviewed; - - if (actual <= 0) { - $(this).hide(); - } else { - $(this).text(actual); - } - } - }); - - $('.cat_badge').each(function () { - var actual = $(this).text(); - - if (actual != "+99") { - actual = parseInt(actual, 10) - data.unviewed; - - if (actual < 0) { - actual = 0; - } - - $(this).text(actual); - } - }); - - without.hide(); - } else { - more.hide(); - - without.show(); - } - } - }); - } - - more.click(function () { - var url = mural.data('url'), - pageNum = mural.data('page'), - numberPages = mural.data('pages'), - favorites = mural.data('fav'), - mine = mural.data('mine'), - showing = new_posts.join(','); - - if (pageNum == numberPages) { - return false - } - - pageNum = pageNum + 1; - - more.hide(); - - loading.show(); - - $.ajax({ - url: url, - data: {'page': pageNum, 'favorite': favorites, 'mine': mine, 'showing': showing}, - dataType: 'json', - success: function (data) { - loading.hide(); - - post_section.append(data.posts); - - mural.data('pages', data.num_pages); - mural.data('page', data.num_page); - - setTimeout(function () { postHeightLimits() }, 100); - - if (data.num_page < data.num_pages) { - more.show(); - } else { - more.hide(); - } - } - }); - }); - - filters.submit(function () { - var favorite = $(this).find("input[name='favorite']").is(':checked') ? "True" : "", - mine = $(this).find("input[name='mine']").is(':checked') ? "True" : "", - url = mural.data('url'); - - post_section.html(''); - - more.hide(); - loading.show(); - - $.ajax({ - url: url, - data: {'favorite': favorite, 'mine': mine}, - dataType: 'json', - success: function (data) { - loading.hide(); - - if (data.count > 0) { - post_section.append(data.posts); - - mural.data('pages', data.num_pages); - mural.data('page', data.num_page); - - if (data.num_page < data.num_pages) { - more.show(); - } else { - more.hide(); - } - - setTimeout(function () { postHeightLimits() }, 100); - - without.hide(); - } else { - without.show(); - } - - mural.data('fav', favorite); - mural.data('mine', mine); - } - }); - - return false; - }); - - clear_filters.click(function () { - var frm = $(this).parent(); - - frm.find("input[type='checkbox']").prop('checked', false); - - frm.submit(); - }); - } -}); - -$('.mural-category').on('hidden.bs.collapse', function(e) { - if($(this).is(e.target)){ - $(".breadcrumb").find('li:last-child').remove(); - - var li = $(".breadcrumb").find('li:last-child'); - var text = $(li).find('a').text(); - - $(li).html(text); - } -}); \ No newline at end of file diff --git a/amadeus/static/js/mural_subject.js b/amadeus/static/js/mural_subject.js index ffd21f3..144203a 100644 --- a/amadeus/static/js/mural_subject.js +++ b/amadeus/static/js/mural_subject.js @@ -80,6 +80,47 @@ $('.mural-subject').on('shown.bs.collapse', function(e) { } }); } + + more.click(function () { + var url = mural.data('url'), + pageNum = mural.data('page'), + numberPages = mural.data('pages'), + favorites = mural.data('fav'), + mine = mural.data('mine'), + showing = new_posts.join(','); + + if (pageNum == numberPages) { + return false + } + + pageNum = pageNum + 1; + + more.hide(); + + loading.show(); + + $.ajax({ + url: url, + data: {'page': pageNum, 'favorite': favorites, 'mine': mine, 'showing': showing}, + dataType: 'json', + success: function (data) { + loading.hide(); + + post_section.append(data.posts); + + mural.data('pages', data.num_pages); + mural.data('page', data.num_page); + + setTimeout(function () { postHeightLimits() }, 100); + + if (data.num_page < data.num_pages) { + more.show(); + } else { + more.hide(); + } + } + }); + }); } }); diff --git a/amadeus/static/js/mural_ungeneral.js b/amadeus/static/js/mural_ungeneral.js new file mode 100644 index 0000000..1c0b406 --- /dev/null +++ b/amadeus/static/js/mural_ungeneral.js @@ -0,0 +1,188 @@ +$('.mural-ungeneral').on('shown.bs.collapse', function(e) { + if($(this).is(e.target)){ + var li = $(".breadcrumb").find('li:last-child'); + var li_text = $(li).html(); + var url = $(".mural_url").val(); + var new_li = $(li).clone(); + + new_li.html($(this).parent().find('.panel-title span').text()); + + $(li).html("" + li_text + ""); + $(li).append("/"); + + new_li.appendTo('.breadcrumb'); + + var post_section = $(this).find('.posts'), + without = $(this).find('.no-subjects'), + loading = $(this).find('.loading-posts'), + more = $(this).find('.more-posts'), + filters = $(this).find('.post-filters'), + clear_filters = $(this).find('.clear_filter'), + mural = post_section.parent().parent(); + + if (post_section.children().length == 0) { + var url = $(this).find('.mural').data('url'); + + $.ajax({ + url: url, + dataType: 'json', + success: function (data) { + loading.hide(); + + if (data.count > 0) { + post_section.append(data.posts); + + mural.data('pages', data.num_pages); + mural.data('page', data.num_page); + + setTimeout(function () { postHeightLimits() }, 100); + + if (data.num_page < data.num_pages) { + more.show(); + } else { + more.hide(); + } + + $('.mural_badge').each(function () { + var actual = $(this).text(); + + if (actual != "+99") { + actual = parseInt(actual, 10) - data.unviewed; + + if (actual <= 0) { + $(this).hide(); + } else { + $(this).text(actual); + } + } + }); + + $('.ung_badge').each(function () { + var actual = $(this).text(); + + if (actual != "+99") { + actual = parseInt(actual, 10) - data.unviewed; + + if (actual < 0) { + actual = 0; + } + + $(this).text(actual); + } + }); + + without.hide(); + } else { + more.hide(); + + without.show(); + } + } + }); + } + + more.click(function () { + var url = mural.data('url'), + pageNum = mural.data('page'), + numberPages = mural.data('pages'), + favorites = mural.data('fav'), + mine = mural.data('mine'), + showing = new_posts.join(','); + + if (pageNum == numberPages) { + return false + } + + pageNum = pageNum + 1; + + more.hide(); + + loading.show(); + + $.ajax({ + url: url, + data: {'page': pageNum, 'favorite': favorites, 'mine': mine, 'showing': showing}, + dataType: 'json', + success: function (data) { + loading.hide(); + + post_section.append(data.posts); + + mural.data('pages', data.num_pages); + mural.data('page', data.num_page); + + setTimeout(function () { postHeightLimits() }, 100); + + if (data.num_page < data.num_pages) { + more.show(); + } else { + more.hide(); + } + } + }); + }); + + filters.submit(function () { + var favorite = $(this).find("input[name='favorite']").is(':checked') ? "True" : "", + mine = $(this).find("input[name='mine']").is(':checked') ? "True" : "", + url = mural.data('url'); + + post_section.html(''); + + more.hide(); + loading.show(); + + $.ajax({ + url: url, + data: {'favorite': favorite, 'mine': mine}, + dataType: 'json', + success: function (data) { + loading.hide(); + + if (data.count > 0) { + post_section.append(data.posts); + + mural.data('pages', data.num_pages); + mural.data('page', data.num_page); + + if (data.num_page < data.num_pages) { + more.show(); + } else { + more.hide(); + } + + setTimeout(function () { postHeightLimits() }, 100); + + without.hide(); + } else { + without.show(); + } + + mural.data('fav', favorite); + mural.data('mine', mine); + } + }); + + return false; + }); + + clear_filters.click(function () { + var frm = $(this).parent(); + + frm.find("input[type='checkbox']").prop('checked', false); + + frm.submit(); + }); + } +}); + +$('.mural-ungeneral').on('hidden.bs.collapse', function(e) { + if($(this).is(e.target)){ + $(".breadcrumb").find('li:last-child').remove(); + + var li = $(".breadcrumb").find('li:last-child'); + var text = $(li).find('a').text(); + + $(li).html(text); + } +}); \ No newline at end of file diff --git a/amadeus/static/js/socket.js b/amadeus/static/js/socket.js index c1d9f73..4d766b3 100644 --- a/amadeus/static/js/socket.js +++ b/amadeus/static/js/socket.js @@ -28,6 +28,12 @@ socket.onmessage = function(e) { muralNotificationCategoryUpdate(content); } else if (content.subtype == "delete_cat") { muralNotificationCategoryDelete(content); + } else if (content.subtype == "create_sub") { + muralNotificationSubject(content); + } else if (content.subtype == "update_sub") { + muralNotificationSubjectUpdate(content); + } else if (content.subtype == "delete_sub") { + muralNotificationSubjectDelete(content); } } } @@ -214,4 +220,66 @@ function muralNotificationCategoryDelete(content) { post.remove(); } } +} + +function muralNotificationSubject(content) { + var sub_section = $("#" + content.sub); + + if (window.location.pathname == content.pathname && sub_section.is(':visible')) { + + sub_section.find('.posts').prepend(content.complete); + + sub_section.find('.no-subjects').hide(); + } else { + $('.mural_badge').each(function () { + var actual = $(this).text(); + + if (actual != "+99") { + actual = parseInt(actual, 10) + 1; + + if (actual > 99) { + actual = "+99"; + } + + $(this).text(actual); + } + + $(this).show(); + }); + } + + if (("Notification" in window)) { + var options = { + icon: content.user_icon, + body: content.simple + } + + if (Notification.permission === "granted") { + var notification = new Notification("", options); + + setTimeout(notification.close.bind(notification), 3000); + } + } +} + +function muralNotificationSubjectUpdate(content) { + if (window.location.pathname == content.pathname) { + var post = $("#post-" + content.post_id); + + if (post.is(":visible") || post.is(":hidden")) { + post.before(content.complete); + + post.remove(); + } + } +} + +function muralNotificationSubjectDelete(content) { + if (window.location.pathname == content.pathname) { + var post = $("#post-" + content.post_id); + + if (post.is(":visible") || post.is(":hidden")) { + post.remove(); + } + } } \ No newline at end of file diff --git a/mural/templates/mural/list_category.html b/mural/templates/mural/list_category.html index 1e57b9f..417f87b 100644 --- a/mural/templates/mural/list_category.html +++ b/mural/templates/mural/list_category.html @@ -17,7 +17,7 @@
@@ -65,7 +65,7 @@ -
+
@@ -134,5 +134,5 @@ - + {% endblock %} \ No newline at end of file diff --git a/mural/templates/mural/list_subject.html b/mural/templates/mural/list_subject.html index a99d9d3..26f16f0 100644 --- a/mural/templates/mural/list_subject.html +++ b/mural/templates/mural/list_subject.html @@ -18,7 +18,7 @@
@@ -64,7 +64,7 @@
-
+
@@ -133,5 +133,5 @@ - + {% endblock %} \ No newline at end of file diff --git a/mural/utils.py b/mural/utils.py index 8aa71ba..e1cf2bf 100644 --- a/mural/utils.py +++ b/mural/utils.py @@ -9,5 +9,14 @@ def getSpaceUsers(user, post): space = post.get_space() return User.objects.filter(Q(is_staff = True) | Q(coordinators__id = space) | Q(professors__category__id = space) | Q(subject_student__category__id = space)).exclude(id = user) + elif post._my_subclass == "subjectpost": + space = post.get_space() + + if post.subjectpost.resource: + resource = post.subjectpost.resource + + return User.objects.filter(Q(is_staff = True) | Q(professors__id = space) | Q(coordinators__subject_category__id = space) | Q(resource_students = resource) | Q(group_participants__resource_groups = resource) | (Q(subject_student__id = space) & Q(subject_student__topic_subject__resource_topic = resource) & Q(subject_student__topic_subject__resource_topic__all_students = True))).exclude(id = user) + else: + return User.objects.filter(Q(is_staff = True) | Q(professors__id = space) | Q(coordinators__subject_category__id = space) | Q(subject_student__id = space)).exclude(id = user) return None \ No newline at end of file diff --git a/mural/views.py b/mural/views.py index 2db470d..c0e6424 100644 --- a/mural/views.py +++ b/mural/views.py @@ -61,9 +61,9 @@ class GeneralIndex(LoginRequiredMixin, generic.ListView): general_visualizations = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__generalpost__isnull = False) | Q(comment__post__generalpost__isnull = False))).distinct() self.totals['general'] = general_visualizations.count() - self.totals['category'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(user__is_staff = True) | Q(post__categorypost__space__coordinators = user) | Q(comment__post__categorypost__space__coordinators = user) | Q(post__categorypost__space__subject_category__students = user) | Q(comment__post__categorypost__space__subject_category__students = user) | Q(post__categorypost__space__subject_category__professor = user) | Q(comment__post__categorypost__space__subject_category__professor = user))).distinct().count() - self.totals['subject'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__subjectpost__space__professor = user) | Q(comment__post__subjectpost__space__professor = user) | Q(post__subjectpost__space__students = user) | Q(comment__post__subjectpost__space__students = user))).distinct().count() - + self.totals['category'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & ((Q(user__is_staff = True) & (Q(post__categorypost__isnull = False) | Q(comment__post__categorypost__isnull = False))) | Q(post__categorypost__space__coordinators = user) | Q(comment__post__categorypost__space__coordinators = user) | Q(post__categorypost__space__subject_category__students = user) | Q(comment__post__categorypost__space__subject_category__students = user) | Q(post__categorypost__space__subject_category__professor = user) | Q(comment__post__categorypost__space__subject_category__professor = user))).distinct().count() + self.totals['subject'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & ((Q(user__is_staff = True) & (Q(post__subjectpost__isnull = False) | Q(comment__post__subjectpost__isnull = False))) | Q(post__subjectpost__space__professor = user) | Q(comment__post__subjectpost__space__professor = user) | Q(post__subjectpost__space__students = user) | Q(comment__post__subjectpost__space__students = user))).distinct().count() + general_visualizations.update(viewed = True) MuralVisualizations.objects.filter(user = user, viewed = False, comment__post__generalpost__isnull = False).update(viewed = True) @@ -284,8 +284,8 @@ class CategoryIndex(LoginRequiredMixin, generic.ListView): categories = Category.objects.filter(Q(coordinators__pk = user.pk) | Q(subject_category__professor__pk = user.pk) | Q(subject_category__students__pk = user.pk, visible = True)).distinct() self.totals['general'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__generalpost__isnull = False) | Q(comment__post__generalpost__isnull = False))).distinct().count() - self.totals['category'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(user__is_staff = True) | Q(post__categorypost__space__coordinators = user) | Q(comment__post__categorypost__space__coordinators = user) | Q(post__categorypost__space__subject_category__students = user) | Q(comment__post__categorypost__space__subject_category__students = user) | Q(post__categorypost__space__subject_category__professor = user) | Q(comment__post__categorypost__space__subject_category__professor = user))).distinct().count() - self.totals['subject'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__subjectpost__space__professor = user) | Q(comment__post__subjectpost__space__professor = user) | Q(post__subjectpost__space__students = user) | Q(comment__post__subjectpost__space__students = user))).distinct().count() + self.totals['category'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & ((Q(user__is_staff = True) & (Q(post__categorypost__isnull = False) | Q(comment__post__categorypost__isnull = False))) | Q(post__categorypost__space__coordinators = user) | Q(comment__post__categorypost__space__coordinators = user) | Q(post__categorypost__space__subject_category__students = user) | Q(comment__post__categorypost__space__subject_category__students = user) | Q(post__categorypost__space__subject_category__professor = user) | Q(comment__post__categorypost__space__subject_category__professor = user))).distinct().count() + self.totals['subject'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & ((Q(user__is_staff = True) & (Q(post__subjectpost__isnull = False) | Q(comment__post__subjectpost__isnull = False))) | Q(post__subjectpost__space__professor = user) | Q(comment__post__subjectpost__space__professor = user) | Q(post__subjectpost__space__students = user) | Q(comment__post__subjectpost__space__students = user))).distinct().count() return categories @@ -490,8 +490,8 @@ class SubjectIndex(LoginRequiredMixin, generic.ListView): subjects = Subject.objects.filter(Q(category__coordinators__pk = user.pk) | Q(professor__pk = user.pk) | Q(students__pk = user.pk, visible = True)).distinct() self.totals['general'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__generalpost__isnull = False) | Q(comment__post__generalpost__isnull = False))).distinct().count() - self.totals['category'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(user__is_staff = True) | Q(post__categorypost__space__coordinators = user) | Q(comment__post__categorypost__space__coordinators = user) | Q(post__categorypost__space__subject_category__students = user) | Q(comment__post__categorypost__space__subject_category__students = user) | Q(post__categorypost__space__subject_category__professor = user) | Q(comment__post__categorypost__space__subject_category__professor = user))).distinct().count() - self.totals['subject'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__subjectpost__space__professor = user) | Q(comment__post__subjectpost__space__professor = user) | Q(post__subjectpost__space__students = user) | Q(comment__post__subjectpost__space__students = user))).distinct().count() + self.totals['category'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & ((Q(user__is_staff = True) & (Q(post__categorypost__isnull = False) | Q(comment__post__categorypost__isnull = False))) | Q(post__categorypost__space__coordinators = user) | Q(comment__post__categorypost__space__coordinators = user) | Q(post__categorypost__space__subject_category__students = user) | Q(comment__post__categorypost__space__subject_category__students = user) | Q(post__categorypost__space__subject_category__professor = user) | Q(comment__post__categorypost__space__subject_category__professor = user))).distinct().count() + self.totals['subject'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & ((Q(user__is_staff = True) & (Q(post__subjectpost__isnull = False) | Q(comment__post__subjectpost__isnull = False))) | Q(post__subjectpost__space__professor = user) | Q(comment__post__subjectpost__space__professor = user) | Q(post__subjectpost__space__students = user) | Q(comment__post__subjectpost__space__students = user))).distinct().count() return subjects @@ -539,20 +539,20 @@ class SubjectCreate(LoginRequiredMixin, generic.edit.CreateView): self.object.save() - #users = User.objects.filter(Q(is_staff = True) | Q(coordinators = cat) | Q(professors__category = cat) | Q(subject_student__category = cat)).exclude(id = self.request.user.id) + users = getSpaceUsers(self.request.user.id, self.object) entries = [] notify_type = "mural" user_icon = self.object.user.image_url - #_view = render_to_string("mural/_view.html", {"post": self.object}, self.request) + _view = render_to_string("mural/_view.html", {"post": self.object}, self.request) simple_notify = _("%s has made a post in %s")%(str(self.object.user), str(self.object.space)) - pathname = reverse("mural:manage_category") + pathname = reverse("mural:manage_subject") - #for user in users: - # entries.append(MuralVisualizations(viewed = False, user = user, post = self.object)) - # Group("user-%s" % user.id).send({'text': json.dumps({"type": notify_type, "subtype": "create_cat", "user_icon": user_icon, "pathname": pathname, "simple": simple_notify, "complete": _view, "cat": slug})}) + for user in users: + entries.append(MuralVisualizations(viewed = False, user = user, post = self.object)) + Group("user-%s" % user.id).send({'text': json.dumps({"type": notify_type, "subtype": "create_sub", "user_icon": user_icon, "pathname": pathname, "simple": simple_notify, "complete": _view, "sub": slug})}) - #MuralVisualizations.objects.bulk_create(entries) + MuralVisualizations.objects.bulk_create(entries) return super(SubjectCreate, self).form_valid(form) @@ -594,14 +594,14 @@ class SubjectUpdate(LoginRequiredMixin, generic.UpdateView): self.object.save() - #users = User.objects.all().exclude(id = self.request.user.id) + users = getSpaceUsers(self.request.user.id, self.object) notify_type = "mural" _view = render_to_string("mural/_view.html", {"post": self.object}, self.request) - pathname = reverse("mural:manage_category") + pathname = reverse("mural:manage_subject") - #for user in users: - # Group("user-%s" % user.id).send({'text': json.dumps({"type": notify_type, "subtype": "update_cat", "pathname": pathname, "complete": _view, "post_id": self.object.id})}) + for user in users: + Group("user-%s" % user.id).send({'text': json.dumps({"type": notify_type, "subtype": "update_sub", "pathname": pathname, "complete": _view, "post_id": self.object.id})}) return super(SubjectUpdate, self).form_valid(form) @@ -631,13 +631,13 @@ class SubjectDelete(LoginRequiredMixin, generic.DeleteView): return context def get_success_url(self): - #users = User.objects.all().exclude(id = self.request.user.id) + users = getSpaceUsers(self.request.user.id, self.object) notify_type = "mural" pathname = reverse("mural:manage_subject") - #for user in users: - # Group("user-%s" % user.id).send({'text': json.dumps({"type": notify_type, "subtype": "delete_cat", "pathname": pathname, "post_id": self.object.id})}) + for user in users: + Group("user-%s" % user.id).send({'text': json.dumps({"type": notify_type, "subtype": "delete_sub", "pathname": pathname, "post_id": self.object.id})}) return reverse_lazy('mural:deleted_post') -- libgit2 0.21.2