only one dicecall may be open a time
This commit is contained in:
parent
5485bf8aa9
commit
3e015e75d9
|
@ -191,9 +191,16 @@ def open_post(socket, data):
|
||||||
"""
|
"""
|
||||||
Called when the QM opens a closed post.
|
Called when the QM opens a closed post.
|
||||||
"""
|
"""
|
||||||
|
# TODO: only posts on last page can be opened
|
||||||
post_id = data.get('post_id')
|
post_id = data.get('post_id')
|
||||||
p = Post.objects.get(id=post_id)
|
p = Post.objects.get(id=post_id)
|
||||||
if data.get('post_type') == 'dice':
|
if data.get('post_type') == 'dice':
|
||||||
|
posts = Post.objects.filter(post_type='dice', dicecall__open=True)
|
||||||
|
for post in posts:
|
||||||
|
post.dicecall.open = False
|
||||||
|
post.dicecall.save()
|
||||||
|
socket.send('close_all_posts', {'post_type': 'dice'})
|
||||||
|
|
||||||
p.dicecall.open = True
|
p.dicecall.open = True
|
||||||
p.dicecall.save()
|
p.dicecall.save()
|
||||||
elif data.get('post_type') == 'poll':
|
elif data.get('post_type') == 'poll':
|
||||||
|
|
|
@ -86,9 +86,13 @@ socket.events['open_post'] = function(data) {
|
||||||
open_post(data.post_id);
|
open_post(data.post_id);
|
||||||
}
|
}
|
||||||
socket.events['close_all_posts'] = function(data) {
|
socket.events['close_all_posts'] = function(data) {
|
||||||
let posts = document.getElementsByClassName('activePost');
|
let class_set = '';
|
||||||
|
if (data.post_type == 'dice') { class_set = 'dicePost activePost'; }
|
||||||
|
else if (data.post_type == 'poll') { class_set = 'pollPost activePost'; }
|
||||||
|
else { class_set = 'activePost'; }
|
||||||
|
let posts = document.getElementsByClassName(class_set);
|
||||||
for (let i = 0; i < posts.length; i++) {
|
for (let i = 0; i < posts.length; i++) {
|
||||||
close_post(post.children[1].id.slice(14)); // retreive the number at the end
|
close_post(posts[i].children[1].id.slice(14)); // retreive the id number at the end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,6 +154,8 @@ function close_post(post_id) {
|
||||||
function open_post(post_id) {
|
function open_post(post_id) {
|
||||||
let post = document.getElementById('questPostData-' + post_id);
|
let post = document.getElementById('questPostData-' + post_id);
|
||||||
post.firstElementChild.textContent = post.firstElementChild.textContent.replace('Closed', 'Open');
|
post.firstElementChild.textContent = post.firstElementChild.textContent.replace('Closed', 'Open');
|
||||||
|
post.parentElement.className += ' activePost';
|
||||||
|
console.log(post.parentElement.className);
|
||||||
if (post.parentElement.classList.contains('pollPost')) {
|
if (post.parentElement.classList.contains('pollPost')) {
|
||||||
let table = document.getElementById('poll-' + post_id);
|
let table = document.getElementById('poll-' + post_id);
|
||||||
let boxes = table.getElementsByTagName('input');
|
let boxes = table.getElementsByTagName('input');
|
||||||
|
|
|
@ -47,7 +47,7 @@ socket.events['new_post'] = function(data) {
|
||||||
qposts.innerHTML = qposts.innerHTML + post_str;
|
qposts.innerHTML = qposts.innerHTML + post_str;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* socket send */
|
/* Websocket send */
|
||||||
function makePost() {
|
function makePost() {
|
||||||
let qparea = document.getElementById('postTextArea');
|
let qparea = document.getElementById('postTextArea');
|
||||||
let text = qparea.value.trim();
|
let text = qparea.value.trim();
|
||||||
|
@ -55,7 +55,7 @@ function makePost() {
|
||||||
if (text == '') { return; }
|
if (text == '') { return; }
|
||||||
socket.send('text_post', {text: text, page_num: page_num, quest_id: quest_id});
|
socket.send('text_post', {text: text, page_num: page_num, quest_id: quest_id});
|
||||||
}
|
}
|
||||||
function form_post(form_id, emit_msg) {
|
function form_post(form_id, event) {
|
||||||
let formData = new FormData(document.getElementById(form_id));
|
let formData = new FormData(document.getElementById(form_id));
|
||||||
let obj = {};
|
let obj = {};
|
||||||
formData.forEach(function(value, key) {
|
formData.forEach(function(value, key) {
|
||||||
|
@ -63,7 +63,7 @@ function form_post(form_id, emit_msg) {
|
||||||
});
|
});
|
||||||
obj.quest_id = quest_id;
|
obj.quest_id = quest_id;
|
||||||
obj.page_num = page_num;
|
obj.page_num = page_num;
|
||||||
socket.send(emit_msg, obj);
|
socket.send(event, obj);
|
||||||
document.getElementById(form_id).reset();
|
document.getElementById(form_id).reset();
|
||||||
}
|
}
|
||||||
function close_post_send(post_id) {
|
function close_post_send(post_id) {
|
||||||
|
@ -120,6 +120,7 @@ function close_post(post_id) {
|
||||||
function open_post(post_id) {
|
function open_post(post_id) {
|
||||||
let post = document.getElementById('questPostData-' + post_id);
|
let post = document.getElementById('questPostData-' + post_id);
|
||||||
post.firstElementChild.textContent = post.firstElementChild.textContent.replace('Closed', 'Open');
|
post.firstElementChild.textContent = post.firstElementChild.textContent.replace('Closed', 'Open');
|
||||||
|
post.parentElement.className += ' activePost';
|
||||||
/* QM only */
|
/* QM only */
|
||||||
document.getElementById('closePost-' + post_id).style.display = 'initial';
|
document.getElementById('closePost-' + post_id).style.display = 'initial';
|
||||||
document.getElementById('openPost-' + post_id).style.display = 'none';
|
document.getElementById('openPost-' + post_id).style.display = 'none';
|
||||||
|
|
Loading…
Reference in New Issue
Block a user