Commit 534d7f705eed236fcfd71614942ab3075d0237c4

Authored by Zambom
1 parent 38d54884

Adding subject mural filters

amadeus/static/css/.sass-cache/a7f87b90919294b62ab4f8079e31dcda8f485534/green.sassc
No preview for this file type
amadeus/static/css/themes/green.css
@@ -459,7 +459,7 @@ a.add-row { @@ -459,7 +459,7 @@ a.add-row {
459 .suggestions { 459 .suggestions {
460 background: #FFFFFF; } 460 background: #FFFFFF; }
461 461
462 -.mural-category, .mural-subject { 462 +.mural-ungeneral {
463 background: #EEE; } 463 background: #EEE; }
464 464
465 .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 { 465 .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 {
amadeus/static/css/themes/green.css.map
1 { 1 {
2 "version": 3, 2 "version": 3,
3 -"mappings": "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", 3 +"mappings": "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",
4 "sources": ["green.sass"], 4 "sources": ["green.sass"],
5 "names": [], 5 "names": [],
6 "file": "green.css" 6 "file": "green.css"
amadeus/static/css/themes/green.sass
@@ -629,7 +629,7 @@ a.add-row @@ -629,7 +629,7 @@ a.add-row
629 background: $white 629 background: $white
630 630
631 631
632 -.mural-category, .mural-subject 632 +.mural-ungeneral
633 background: #EEE 633 background: #EEE
634 634
635 635
amadeus/static/js/mural_category.js
@@ -1,188 +0,0 @@ @@ -1,188 +0,0 @@
1 -$('.mural-category').on('shown.bs.collapse', function(e) {  
2 - if($(this).is(e.target)){  
3 - var li = $(".breadcrumb").find('li:last-child');  
4 - var li_text = $(li).html();  
5 - var url = $(".mural_url").val();  
6 - var new_li = $(li).clone();  
7 -  
8 - new_li.html($(this).parent().find('.panel-title span').text());  
9 -  
10 - $(li).html("<a href='" + url + "'>" + li_text + "</a>");  
11 - $(li).append("<span class='divider'>/</span>");  
12 -  
13 - new_li.appendTo('.breadcrumb');  
14 -  
15 - var post_section = $(this).find('.posts'),  
16 - without = $(this).find('.no-subjects'),  
17 - loading = $(this).find('.loading-posts'),  
18 - more = $(this).find('.more-posts'),  
19 - filters = $(this).find('.post-filters'),  
20 - clear_filters = $(this).find('.clear_filter'),  
21 - mural = post_section.parent().parent();  
22 -  
23 - if (post_section.children().length == 0) {  
24 - var url = $(this).find('.mural').data('url');  
25 -  
26 - $.ajax({  
27 - url: url,  
28 - dataType: 'json',  
29 - success: function (data) {  
30 - loading.hide();  
31 -  
32 - if (data.count > 0) {  
33 - post_section.append(data.posts);  
34 -  
35 - mural.data('pages', data.num_pages);  
36 - mural.data('page', data.num_page);  
37 -  
38 - setTimeout(function () { postHeightLimits() }, 100);  
39 -  
40 - if (data.num_page < data.num_pages) {  
41 - more.show();  
42 - } else {  
43 - more.hide();  
44 - }  
45 -  
46 - $('.mural_badge').each(function () {  
47 - var actual = $(this).text();  
48 -  
49 - if (actual != "+99") {  
50 - actual = parseInt(actual, 10) - data.unviewed;  
51 -  
52 - if (actual <= 0) {  
53 - $(this).hide();  
54 - } else {  
55 - $(this).text(actual);  
56 - }  
57 - }  
58 - });  
59 -  
60 - $('.cat_badge').each(function () {  
61 - var actual = $(this).text();  
62 -  
63 - if (actual != "+99") {  
64 - actual = parseInt(actual, 10) - data.unviewed;  
65 -  
66 - if (actual < 0) {  
67 - actual = 0;  
68 - }  
69 -  
70 - $(this).text(actual);  
71 - }  
72 - });  
73 -  
74 - without.hide();  
75 - } else {  
76 - more.hide();  
77 -  
78 - without.show();  
79 - }  
80 - }  
81 - });  
82 - }  
83 -  
84 - more.click(function () {  
85 - var url = mural.data('url'),  
86 - pageNum = mural.data('page'),  
87 - numberPages = mural.data('pages'),  
88 - favorites = mural.data('fav'),  
89 - mine = mural.data('mine'),  
90 - showing = new_posts.join(',');  
91 -  
92 - if (pageNum == numberPages) {  
93 - return false  
94 - }  
95 -  
96 - pageNum = pageNum + 1;  
97 -  
98 - more.hide();  
99 -  
100 - loading.show();  
101 -  
102 - $.ajax({  
103 - url: url,  
104 - data: {'page': pageNum, 'favorite': favorites, 'mine': mine, 'showing': showing},  
105 - dataType: 'json',  
106 - success: function (data) {  
107 - loading.hide();  
108 -  
109 - post_section.append(data.posts);  
110 -  
111 - mural.data('pages', data.num_pages);  
112 - mural.data('page', data.num_page);  
113 -  
114 - setTimeout(function () { postHeightLimits() }, 100);  
115 -  
116 - if (data.num_page < data.num_pages) {  
117 - more.show();  
118 - } else {  
119 - more.hide();  
120 - }  
121 - }  
122 - });  
123 - });  
124 -  
125 - filters.submit(function () {  
126 - var favorite = $(this).find("input[name='favorite']").is(':checked') ? "True" : "",  
127 - mine = $(this).find("input[name='mine']").is(':checked') ? "True" : "",  
128 - url = mural.data('url');  
129 -  
130 - post_section.html('');  
131 -  
132 - more.hide();  
133 - loading.show();  
134 -  
135 - $.ajax({  
136 - url: url,  
137 - data: {'favorite': favorite, 'mine': mine},  
138 - dataType: 'json',  
139 - success: function (data) {  
140 - loading.hide();  
141 -  
142 - if (data.count > 0) {  
143 - post_section.append(data.posts);  
144 -  
145 - mural.data('pages', data.num_pages);  
146 - mural.data('page', data.num_page);  
147 -  
148 - if (data.num_page < data.num_pages) {  
149 - more.show();  
150 - } else {  
151 - more.hide();  
152 - }  
153 -  
154 - setTimeout(function () { postHeightLimits() }, 100);  
155 -  
156 - without.hide();  
157 - } else {  
158 - without.show();  
159 - }  
160 -  
161 - mural.data('fav', favorite);  
162 - mural.data('mine', mine);  
163 - }  
164 - });  
165 -  
166 - return false;  
167 - });  
168 -  
169 - clear_filters.click(function () {  
170 - var frm = $(this).parent();  
171 -  
172 - frm.find("input[type='checkbox']").prop('checked', false);  
173 -  
174 - frm.submit();  
175 - });  
176 - }  
177 -});  
178 -  
179 -$('.mural-category').on('hidden.bs.collapse', function(e) {  
180 - if($(this).is(e.target)){  
181 - $(".breadcrumb").find('li:last-child').remove();  
182 -  
183 - var li = $(".breadcrumb").find('li:last-child');  
184 - var text = $(li).find('a').text();  
185 -  
186 - $(li).html(text);  
187 - }  
188 -});  
189 \ No newline at end of file 0 \ No newline at end of file
amadeus/static/js/mural_subject.js
@@ -80,6 +80,47 @@ $(&#39;.mural-subject&#39;).on(&#39;shown.bs.collapse&#39;, function(e) { @@ -80,6 +80,47 @@ $(&#39;.mural-subject&#39;).on(&#39;shown.bs.collapse&#39;, function(e) {
80 } 80 }
81 }); 81 });
82 } 82 }
  83 +
  84 + more.click(function () {
  85 + var url = mural.data('url'),
  86 + pageNum = mural.data('page'),
  87 + numberPages = mural.data('pages'),
  88 + favorites = mural.data('fav'),
  89 + mine = mural.data('mine'),
  90 + showing = new_posts.join(',');
  91 +
  92 + if (pageNum == numberPages) {
  93 + return false
  94 + }
  95 +
  96 + pageNum = pageNum + 1;
  97 +
  98 + more.hide();
  99 +
  100 + loading.show();
  101 +
  102 + $.ajax({
  103 + url: url,
  104 + data: {'page': pageNum, 'favorite': favorites, 'mine': mine, 'showing': showing},
  105 + dataType: 'json',
  106 + success: function (data) {
  107 + loading.hide();
  108 +
  109 + post_section.append(data.posts);
  110 +
  111 + mural.data('pages', data.num_pages);
  112 + mural.data('page', data.num_page);
  113 +
  114 + setTimeout(function () { postHeightLimits() }, 100);
  115 +
  116 + if (data.num_page < data.num_pages) {
  117 + more.show();
  118 + } else {
  119 + more.hide();
  120 + }
  121 + }
  122 + });
  123 + });
83 } 124 }
84 }); 125 });
85 126
amadeus/static/js/mural_ungeneral.js 0 → 100644
@@ -0,0 +1,188 @@ @@ -0,0 +1,188 @@
  1 +$('.mural-ungeneral').on('shown.bs.collapse', function(e) {
  2 + if($(this).is(e.target)){
  3 + var li = $(".breadcrumb").find('li:last-child');
  4 + var li_text = $(li).html();
  5 + var url = $(".mural_url").val();
  6 + var new_li = $(li).clone();
  7 +
  8 + new_li.html($(this).parent().find('.panel-title span').text());
  9 +
  10 + $(li).html("<a href='" + url + "'>" + li_text + "</a>");
  11 + $(li).append("<span class='divider'>/</span>");
  12 +
  13 + new_li.appendTo('.breadcrumb');
  14 +
  15 + var post_section = $(this).find('.posts'),
  16 + without = $(this).find('.no-subjects'),
  17 + loading = $(this).find('.loading-posts'),
  18 + more = $(this).find('.more-posts'),
  19 + filters = $(this).find('.post-filters'),
  20 + clear_filters = $(this).find('.clear_filter'),
  21 + mural = post_section.parent().parent();
  22 +
  23 + if (post_section.children().length == 0) {
  24 + var url = $(this).find('.mural').data('url');
  25 +
  26 + $.ajax({
  27 + url: url,
  28 + dataType: 'json',
  29 + success: function (data) {
  30 + loading.hide();
  31 +
  32 + if (data.count > 0) {
  33 + post_section.append(data.posts);
  34 +
  35 + mural.data('pages', data.num_pages);
  36 + mural.data('page', data.num_page);
  37 +
  38 + setTimeout(function () { postHeightLimits() }, 100);
  39 +
  40 + if (data.num_page < data.num_pages) {
  41 + more.show();
  42 + } else {
  43 + more.hide();
  44 + }
  45 +
  46 + $('.mural_badge').each(function () {
  47 + var actual = $(this).text();
  48 +
  49 + if (actual != "+99") {
  50 + actual = parseInt(actual, 10) - data.unviewed;
  51 +
  52 + if (actual <= 0) {
  53 + $(this).hide();
  54 + } else {
  55 + $(this).text(actual);
  56 + }
  57 + }
  58 + });
  59 +
  60 + $('.ung_badge').each(function () {
  61 + var actual = $(this).text();
  62 +
  63 + if (actual != "+99") {
  64 + actual = parseInt(actual, 10) - data.unviewed;
  65 +
  66 + if (actual < 0) {
  67 + actual = 0;
  68 + }
  69 +
  70 + $(this).text(actual);
  71 + }
  72 + });
  73 +
  74 + without.hide();
  75 + } else {
  76 + more.hide();
  77 +
  78 + without.show();
  79 + }
  80 + }
  81 + });
  82 + }
  83 +
  84 + more.click(function () {
  85 + var url = mural.data('url'),
  86 + pageNum = mural.data('page'),
  87 + numberPages = mural.data('pages'),
  88 + favorites = mural.data('fav'),
  89 + mine = mural.data('mine'),
  90 + showing = new_posts.join(',');
  91 +
  92 + if (pageNum == numberPages) {
  93 + return false
  94 + }
  95 +
  96 + pageNum = pageNum + 1;
  97 +
  98 + more.hide();
  99 +
  100 + loading.show();
  101 +
  102 + $.ajax({
  103 + url: url,
  104 + data: {'page': pageNum, 'favorite': favorites, 'mine': mine, 'showing': showing},
  105 + dataType: 'json',
  106 + success: function (data) {
  107 + loading.hide();
  108 +
  109 + post_section.append(data.posts);
  110 +
  111 + mural.data('pages', data.num_pages);
  112 + mural.data('page', data.num_page);
  113 +
  114 + setTimeout(function () { postHeightLimits() }, 100);
  115 +
  116 + if (data.num_page < data.num_pages) {
  117 + more.show();
  118 + } else {
  119 + more.hide();
  120 + }
  121 + }
  122 + });
  123 + });
  124 +
  125 + filters.submit(function () {
  126 + var favorite = $(this).find("input[name='favorite']").is(':checked') ? "True" : "",
  127 + mine = $(this).find("input[name='mine']").is(':checked') ? "True" : "",
  128 + url = mural.data('url');
  129 +
  130 + post_section.html('');
  131 +
  132 + more.hide();
  133 + loading.show();
  134 +
  135 + $.ajax({
  136 + url: url,
  137 + data: {'favorite': favorite, 'mine': mine},
  138 + dataType: 'json',
  139 + success: function (data) {
  140 + loading.hide();
  141 +
  142 + if (data.count > 0) {
  143 + post_section.append(data.posts);
  144 +
  145 + mural.data('pages', data.num_pages);
  146 + mural.data('page', data.num_page);
  147 +
  148 + if (data.num_page < data.num_pages) {
  149 + more.show();
  150 + } else {
  151 + more.hide();
  152 + }
  153 +
  154 + setTimeout(function () { postHeightLimits() }, 100);
  155 +
  156 + without.hide();
  157 + } else {
  158 + without.show();
  159 + }
  160 +
  161 + mural.data('fav', favorite);
  162 + mural.data('mine', mine);
  163 + }
  164 + });
  165 +
  166 + return false;
  167 + });
  168 +
  169 + clear_filters.click(function () {
  170 + var frm = $(this).parent();
  171 +
  172 + frm.find("input[type='checkbox']").prop('checked', false);
  173 +
  174 + frm.submit();
  175 + });
  176 + }
  177 +});
  178 +
  179 +$('.mural-ungeneral').on('hidden.bs.collapse', function(e) {
  180 + if($(this).is(e.target)){
  181 + $(".breadcrumb").find('li:last-child').remove();
  182 +
  183 + var li = $(".breadcrumb").find('li:last-child');
  184 + var text = $(li).find('a').text();
  185 +
  186 + $(li).html(text);
  187 + }
  188 +});
0 \ No newline at end of file 189 \ No newline at end of file
amadeus/static/js/socket.js
@@ -28,6 +28,12 @@ socket.onmessage = function(e) { @@ -28,6 +28,12 @@ socket.onmessage = function(e) {
28 muralNotificationCategoryUpdate(content); 28 muralNotificationCategoryUpdate(content);
29 } else if (content.subtype == "delete_cat") { 29 } else if (content.subtype == "delete_cat") {
30 muralNotificationCategoryDelete(content); 30 muralNotificationCategoryDelete(content);
  31 + } else if (content.subtype == "create_sub") {
  32 + muralNotificationSubject(content);
  33 + } else if (content.subtype == "update_sub") {
  34 + muralNotificationSubjectUpdate(content);
  35 + } else if (content.subtype == "delete_sub") {
  36 + muralNotificationSubjectDelete(content);
31 } 37 }
32 } 38 }
33 } 39 }
@@ -214,4 +220,66 @@ function muralNotificationCategoryDelete(content) { @@ -214,4 +220,66 @@ function muralNotificationCategoryDelete(content) {
214 post.remove(); 220 post.remove();
215 } 221 }
216 } 222 }
  223 +}
  224 +
  225 +function muralNotificationSubject(content) {
  226 + var sub_section = $("#" + content.sub);
  227 +
  228 + if (window.location.pathname == content.pathname && sub_section.is(':visible')) {
  229 +
  230 + sub_section.find('.posts').prepend(content.complete);
  231 +
  232 + sub_section.find('.no-subjects').hide();
  233 + } else {
  234 + $('.mural_badge').each(function () {
  235 + var actual = $(this).text();
  236 +
  237 + if (actual != "+99") {
  238 + actual = parseInt(actual, 10) + 1;
  239 +
  240 + if (actual > 99) {
  241 + actual = "+99";
  242 + }
  243 +
  244 + $(this).text(actual);
  245 + }
  246 +
  247 + $(this).show();
  248 + });
  249 + }
  250 +
  251 + if (("Notification" in window)) {
  252 + var options = {
  253 + icon: content.user_icon,
  254 + body: content.simple
  255 + }
  256 +
  257 + if (Notification.permission === "granted") {
  258 + var notification = new Notification("", options);
  259 +
  260 + setTimeout(notification.close.bind(notification), 3000);
  261 + }
  262 + }
  263 +}
  264 +
  265 +function muralNotificationSubjectUpdate(content) {
  266 + if (window.location.pathname == content.pathname) {
  267 + var post = $("#post-" + content.post_id);
  268 +
  269 + if (post.is(":visible") || post.is(":hidden")) {
  270 + post.before(content.complete);
  271 +
  272 + post.remove();
  273 + }
  274 + }
  275 +}
  276 +
  277 +function muralNotificationSubjectDelete(content) {
  278 + if (window.location.pathname == content.pathname) {
  279 + var post = $("#post-" + content.post_id);
  280 +
  281 + if (post.is(":visible") || post.is(":hidden")) {
  282 + post.remove();
  283 + }
  284 + }
217 } 285 }
218 \ No newline at end of file 286 \ No newline at end of file
mural/templates/mural/list_category.html
@@ -17,7 +17,7 @@ @@ -17,7 +17,7 @@
17 <div id="core-subjects-options-div"> 17 <div id="core-subjects-options-div">
18 <ul class="core-subjects-options"> 18 <ul class="core-subjects-options">
19 <a href="{% url 'mural:manage_general' %}"><li>{% trans "General" %} ({{ totals.general }})</li></a> 19 <a href="{% url 'mural:manage_general' %}"><li>{% trans "General" %} ({{ totals.general }})</li></a>
20 - <a href="{% url 'mural:manage_category' %}"><li class="active">{% trans "Per Category" %} (<span class="cat_badge">{{ totals.category }}</span>)</li></a> 20 + <a href="{% url 'mural:manage_category' %}"><li class="active">{% trans "Per Category" %} (<span class="ung_badge">{{ totals.category }}</span>)</li></a>
21 <a href="{% url 'mural:manage_subject' %}"><li>{% trans "Per Subject" %} ({{ totals.subject }})</li></a> 21 <a href="{% url 'mural:manage_subject' %}"><li>{% trans "Per Subject" %} ({{ totals.subject }})</li></a>
22 </ul> 22 </ul>
23 </div> 23 </div>
@@ -65,7 +65,7 @@ @@ -65,7 +65,7 @@
65 </div> 65 </div>
66 </div> 66 </div>
67 </div> 67 </div>
68 - <div id="{{category.slug}}" class="panel-collapse panel-body collapse mural-category"> 68 + <div id="{{category.slug}}" class="panel-collapse panel-body collapse mural-ungeneral">
69 <div class="col-md-12 cards-content mural" data-url="{% url 'mural:load_category' category.id %}"> 69 <div class="col-md-12 cards-content mural" data-url="{% url 'mural:load_category' category.id %}">
70 <div class="col-md-9 col-sm-9 col-xs-9 mural-list"> 70 <div class="col-md-9 col-sm-9 col-xs-9 mural-list">
71 <div class="post_make panel panel-default"> 71 <div class="post_make panel panel-default">
@@ -134,5 +134,5 @@ @@ -134,5 +134,5 @@
134 134
135 <script type="text/javascript" src="{% static 'js/category.js' %}"></script> 135 <script type="text/javascript" src="{% static 'js/category.js' %}"></script>
136 <script type="text/javascript" src="{% static 'js/mural.js' %}"></script> 136 <script type="text/javascript" src="{% static 'js/mural.js' %}"></script>
137 - <script type="text/javascript" src="{% static 'js/mural_category.js' %}"></script> 137 + <script type="text/javascript" src="{% static 'js/mural_ungeneral.js' %}"></script>
138 {% endblock %} 138 {% endblock %}
139 \ No newline at end of file 139 \ No newline at end of file
mural/templates/mural/list_subject.html
@@ -18,7 +18,7 @@ @@ -18,7 +18,7 @@
18 <ul class="core-subjects-options"> 18 <ul class="core-subjects-options">
19 <a href="{% url 'mural:manage_general' %}"><li>{% trans "General" %} ({{ totals.general }})</li></a> 19 <a href="{% url 'mural:manage_general' %}"><li>{% trans "General" %} ({{ totals.general }})</li></a>
20 <a href="{% url 'mural:manage_category' %}"><li>{% trans "Per Category" %} ({{ totals.category }})</li></a> 20 <a href="{% url 'mural:manage_category' %}"><li>{% trans "Per Category" %} ({{ totals.category }})</li></a>
21 - <a href="{% url 'mural:manage_subject' %}"><li class="active">{% trans "Per Subject" %} (<span class="sub_badge">{{ totals.subject }}</span>)</li></a> 21 + <a href="{% url 'mural:manage_subject' %}"><li class="active">{% trans "Per Subject" %} (<span class="ung_badge">{{ totals.subject }}</span>)</li></a>
22 </ul> 22 </ul>
23 </div> 23 </div>
24 24
@@ -64,7 +64,7 @@ @@ -64,7 +64,7 @@
64 </div> 64 </div>
65 </div> 65 </div>
66 </div> 66 </div>
67 - <div id="{{subject.slug}}" class="panel-collapse panel-body collapse mural-subject"> 67 + <div id="{{subject.slug}}" class="panel-collapse panel-body collapse mural-ungeneral">
68 <div class="col-md-12 cards-content mural" data-url="{% url 'mural:load_subject' subject.id %}"> 68 <div class="col-md-12 cards-content mural" data-url="{% url 'mural:load_subject' subject.id %}">
69 <div class="col-md-9 col-sm-9 col-xs-9 mural-list"> 69 <div class="col-md-9 col-sm-9 col-xs-9 mural-list">
70 <div class="post_make panel panel-default"> 70 <div class="post_make panel panel-default">
@@ -133,5 +133,5 @@ @@ -133,5 +133,5 @@
133 133
134 <script type="text/javascript" src="{% static 'js/category.js' %}"></script> 134 <script type="text/javascript" src="{% static 'js/category.js' %}"></script>
135 <script type="text/javascript" src="{% static 'js/mural.js' %}"></script> 135 <script type="text/javascript" src="{% static 'js/mural.js' %}"></script>
136 - <script type="text/javascript" src="{% static 'js/mural_subject.js' %}"></script> 136 + <script type="text/javascript" src="{% static 'js/mural_ungeneral.js' %}"></script>
137 {% endblock %} 137 {% endblock %}
138 \ No newline at end of file 138 \ No newline at end of file
mural/utils.py
@@ -9,5 +9,14 @@ def getSpaceUsers(user, post): @@ -9,5 +9,14 @@ def getSpaceUsers(user, post):
9 space = post.get_space() 9 space = post.get_space()
10 10
11 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) 11 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)
  12 + elif post._my_subclass == "subjectpost":
  13 + space = post.get_space()
  14 +
  15 + if post.subjectpost.resource:
  16 + resource = post.subjectpost.resource
  17 +
  18 + 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)
  19 + else:
  20 + 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)
12 21
13 return None 22 return None
14 \ No newline at end of file 23 \ No newline at end of file
mural/views.py
@@ -61,9 +61,9 @@ class GeneralIndex(LoginRequiredMixin, generic.ListView): @@ -61,9 +61,9 @@ class GeneralIndex(LoginRequiredMixin, generic.ListView):
61 general_visualizations = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__generalpost__isnull = False) | Q(comment__post__generalpost__isnull = False))).distinct() 61 general_visualizations = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__generalpost__isnull = False) | Q(comment__post__generalpost__isnull = False))).distinct()
62 62
63 self.totals['general'] = general_visualizations.count() 63 self.totals['general'] = general_visualizations.count()
64 - 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()  
65 - 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()  
66 - 64 + 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()
  65 + 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()
  66 +
67 general_visualizations.update(viewed = True) 67 general_visualizations.update(viewed = True)
68 68
69 MuralVisualizations.objects.filter(user = user, viewed = False, comment__post__generalpost__isnull = False).update(viewed = True) 69 MuralVisualizations.objects.filter(user = user, viewed = False, comment__post__generalpost__isnull = False).update(viewed = True)
@@ -284,8 +284,8 @@ class CategoryIndex(LoginRequiredMixin, generic.ListView): @@ -284,8 +284,8 @@ class CategoryIndex(LoginRequiredMixin, generic.ListView):
284 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() 284 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()
285 285
286 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() 286 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()
287 - 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()  
288 - 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() 287 + 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()
  288 + 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()
289 289
290 return categories 290 return categories
291 291
@@ -490,8 +490,8 @@ class SubjectIndex(LoginRequiredMixin, generic.ListView): @@ -490,8 +490,8 @@ class SubjectIndex(LoginRequiredMixin, generic.ListView):
490 subjects = Subject.objects.filter(Q(category__coordinators__pk = user.pk) | Q(professor__pk = user.pk) | Q(students__pk = user.pk, visible = True)).distinct() 490 subjects = Subject.objects.filter(Q(category__coordinators__pk = user.pk) | Q(professor__pk = user.pk) | Q(students__pk = user.pk, visible = True)).distinct()
491 491
492 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() 492 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()
493 - 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()  
494 - 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() 493 + 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()
  494 + 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()
495 495
496 return subjects 496 return subjects
497 497
@@ -539,20 +539,20 @@ class SubjectCreate(LoginRequiredMixin, generic.edit.CreateView): @@ -539,20 +539,20 @@ class SubjectCreate(LoginRequiredMixin, generic.edit.CreateView):
539 539
540 self.object.save() 540 self.object.save()
541 541
542 - #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) 542 + users = getSpaceUsers(self.request.user.id, self.object)
543 entries = [] 543 entries = []
544 544
545 notify_type = "mural" 545 notify_type = "mural"
546 user_icon = self.object.user.image_url 546 user_icon = self.object.user.image_url
547 - #_view = render_to_string("mural/_view.html", {"post": self.object}, self.request) 547 + _view = render_to_string("mural/_view.html", {"post": self.object}, self.request)
548 simple_notify = _("%s has made a post in %s")%(str(self.object.user), str(self.object.space)) 548 simple_notify = _("%s has made a post in %s")%(str(self.object.user), str(self.object.space))
549 - pathname = reverse("mural:manage_category") 549 + pathname = reverse("mural:manage_subject")
550 550
551 - #for user in users:  
552 - # entries.append(MuralVisualizations(viewed = False, user = user, post = self.object))  
553 - # 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})}) 551 + for user in users:
  552 + entries.append(MuralVisualizations(viewed = False, user = user, post = self.object))
  553 + 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})})
554 554
555 - #MuralVisualizations.objects.bulk_create(entries) 555 + MuralVisualizations.objects.bulk_create(entries)
556 556
557 return super(SubjectCreate, self).form_valid(form) 557 return super(SubjectCreate, self).form_valid(form)
558 558
@@ -594,14 +594,14 @@ class SubjectUpdate(LoginRequiredMixin, generic.UpdateView): @@ -594,14 +594,14 @@ class SubjectUpdate(LoginRequiredMixin, generic.UpdateView):
594 594
595 self.object.save() 595 self.object.save()
596 596
597 - #users = User.objects.all().exclude(id = self.request.user.id) 597 + users = getSpaceUsers(self.request.user.id, self.object)
598 598
599 notify_type = "mural" 599 notify_type = "mural"
600 _view = render_to_string("mural/_view.html", {"post": self.object}, self.request) 600 _view = render_to_string("mural/_view.html", {"post": self.object}, self.request)
601 - pathname = reverse("mural:manage_category") 601 + pathname = reverse("mural:manage_subject")
602 602
603 - #for user in users:  
604 - # Group("user-%s" % user.id).send({'text': json.dumps({"type": notify_type, "subtype": "update_cat", "pathname": pathname, "complete": _view, "post_id": self.object.id})}) 603 + for user in users:
  604 + Group("user-%s" % user.id).send({'text': json.dumps({"type": notify_type, "subtype": "update_sub", "pathname": pathname, "complete": _view, "post_id": self.object.id})})
605 605
606 return super(SubjectUpdate, self).form_valid(form) 606 return super(SubjectUpdate, self).form_valid(form)
607 607
@@ -631,13 +631,13 @@ class SubjectDelete(LoginRequiredMixin, generic.DeleteView): @@ -631,13 +631,13 @@ class SubjectDelete(LoginRequiredMixin, generic.DeleteView):
631 return context 631 return context
632 632
633 def get_success_url(self): 633 def get_success_url(self):
634 - #users = User.objects.all().exclude(id = self.request.user.id) 634 + users = getSpaceUsers(self.request.user.id, self.object)
635 635
636 notify_type = "mural" 636 notify_type = "mural"
637 pathname = reverse("mural:manage_subject") 637 pathname = reverse("mural:manage_subject")
638 638
639 - #for user in users:  
640 - # Group("user-%s" % user.id).send({'text': json.dumps({"type": notify_type, "subtype": "delete_cat", "pathname": pathname, "post_id": self.object.id})}) 639 + for user in users:
  640 + Group("user-%s" % user.id).send({'text': json.dumps({"type": notify_type, "subtype": "delete_sub", "pathname": pathname, "post_id": self.object.id})})
641 641
642 return reverse_lazy('mural:deleted_post') 642 return reverse_lazy('mural:deleted_post')
643 643