fix banned bug
This commit is contained in:
parent
ca94e92267
commit
c3d2f8252d
@ -8,10 +8,18 @@ Session.set("notfound", null); // If no results for autocomplete.
|
||||
var filterOpen = [false, true, true, true, true];
|
||||
var sidebarMode = [null, null];
|
||||
|
||||
Template.sidebarMenuPlate.rendered = function(){$(".menuWrapper").slideDown(300);};
|
||||
Template.sidebarOptionPlate.rendered = function(){$(".menuWrapper").slideDown(300);};
|
||||
Template.sidebarRequestPlate.rendered = function(){$(".menuWrapper").slideDown(300);};
|
||||
Template.sidebarCreatePlate.rendered = function(){$(".menuWrapper").slideDown(300);};
|
||||
Template.sidebarMenuPlate.rendered = function() {
|
||||
$(".menuWrapper").slideDown(300);
|
||||
};
|
||||
Template.sidebarOptionPlate.rendered = function() {
|
||||
$(".menuWrapper").slideDown(300);
|
||||
};
|
||||
Template.sidebarRequestPlate.rendered = function() {
|
||||
$(".menuWrapper").slideDown(300);
|
||||
};
|
||||
Template.sidebarCreatePlate.rendered = function() {
|
||||
$(".menuWrapper").slideDown(300);
|
||||
};
|
||||
|
||||
Template.sidebarMenuPlate.helpers({
|
||||
modeStatus(status) { // Color status of display modes.
|
||||
@ -185,7 +193,9 @@ Template.sidebarCreatePlate.events({
|
||||
});
|
||||
|
||||
Template.registerHelper("classInfo", (info) => {
|
||||
var thisClass = classes.findOne({_id:Session.get("classInfo")});
|
||||
var thisClass = classes.findOne({
|
||||
_id: Session.get("classInfo")
|
||||
});
|
||||
var isYou = Session.equals("classInfo", Meteor.userId());
|
||||
switch (info) {
|
||||
case "name":
|
||||
@ -199,17 +209,28 @@ Template.registerHelper("classInfo", (info) => {
|
||||
case "privacy":
|
||||
return (isYou) ? true : thisClass.privacy;
|
||||
case "admin":
|
||||
return Meteor.users.findOne({_id: (isYou) ? Meteor.userId() : thisClass.admin});
|
||||
return Meteor.users.findOne({
|
||||
_id: (isYou) ? Meteor.userId() : thisClass.admin
|
||||
});
|
||||
case "code":
|
||||
if(isYou) return {exists: false};
|
||||
return (isYou || Meteor.userId() !== this.admin) ? {exists: false} : {exists: true, code: Meteor.call('getCode', thisClass._id)};
|
||||
if (isYou) return {
|
||||
exists: false
|
||||
};
|
||||
return (isYou || Meteor.userId() !== this.admin) ? {
|
||||
exists: false
|
||||
} : {
|
||||
exists: true,
|
||||
code: Meteor.call('getCode', thisClass._id)
|
||||
};
|
||||
case "mine":
|
||||
return (isYou) ? true : Meteor.userId() === thisClass.admin;
|
||||
case "moderators":
|
||||
if (isYou || thisClass.moderators.length === 0) return [];
|
||||
var moderators = [];
|
||||
thisClass.moderators.forEach(function(ele) {
|
||||
var array = Meteor.users.findOne({_id: ele});
|
||||
var array = Meteor.users.findOne({
|
||||
_id: ele
|
||||
});
|
||||
array.delete = true;
|
||||
moderators.push(array);
|
||||
});
|
||||
@ -218,7 +239,9 @@ Template.registerHelper("classInfo", (info) => {
|
||||
if (isYou || thisClass.banned.length === 0) return [];
|
||||
var banned = [];
|
||||
thisClass.banned.forEach(function(ele) {
|
||||
var array = Meteor.users.findOne({_id: ele});
|
||||
var array = Meteor.users.findOne({
|
||||
_id: ele
|
||||
});
|
||||
array.delete = true;
|
||||
banned.push(array);
|
||||
});
|
||||
@ -227,7 +250,9 @@ Template.registerHelper("classInfo", (info) => {
|
||||
if (isYou || thisClass.subscribers.length === 0) return [];
|
||||
var subscribers = [];
|
||||
thisClass.subscribers.forEach(function(ele) {
|
||||
subscribers.push(Meteor.users.findOne({_id: ele}));
|
||||
subscribers.push(Meteor.users.findOne({
|
||||
_id: ele
|
||||
}));
|
||||
});
|
||||
return subscribers;
|
||||
case "personal":
|
||||
@ -301,19 +326,32 @@ Template.manageClass.events({
|
||||
Template.joinClass.helpers({
|
||||
classes() { // Loads all of the possible classes ( Limit of twenty shown ) ( Sorts by class size ) ( Only your school)
|
||||
var array = classes.find({
|
||||
status: {$eq: true},
|
||||
privacy: {$eq: false},
|
||||
_id: {$nin: Session.get("user").classes},
|
||||
school: {$eq: Session.get("user").school}
|
||||
status: {
|
||||
$eq: true
|
||||
},
|
||||
{sort: {subscribers: -1}},
|
||||
{limit: 20}
|
||||
).fetch();
|
||||
privacy: {
|
||||
$eq: false
|
||||
},
|
||||
_id: {
|
||||
$nin: Session.get("user").classes
|
||||
},
|
||||
school: {
|
||||
$eq: Session.get("user").school
|
||||
}
|
||||
}, {
|
||||
sort: {
|
||||
subscribers: -1
|
||||
}
|
||||
}, {
|
||||
limit: 20
|
||||
}).fetch();
|
||||
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
array[i].join = true;
|
||||
array[i].subscribers = array[i].subscribers.length;
|
||||
array[i].teachershort = array[i].teacher.split(" ").slice(1).reduce(function(a,b) { return a+ " " + b;});
|
||||
array[i].teachershort = array[i].teacher.split(" ").slice(1).reduce(function(a, b) {
|
||||
return a + " " + b;
|
||||
});
|
||||
}
|
||||
if (array.length === 0) {
|
||||
Session.set("noclass", true);
|
||||
@ -479,7 +517,9 @@ Template.createClass.events({
|
||||
console.log(values);
|
||||
console.log(no);
|
||||
if (no.length > 0) { // Check missing fields.
|
||||
sAlert.error("Missing " + no.reduce(function(a,b) { return (b === no[no.length-1]) ? a + ", and " + b : a + ", " + b;}), {
|
||||
sAlert.error("Missing " + no.reduce(function(a, b) {
|
||||
return (b === no[no.length - 1]) ? a + ", and " + b : a + ", " + b;
|
||||
}), {
|
||||
effect: 'stackslide',
|
||||
position: 'top',
|
||||
timeout: 3000
|
||||
@ -491,7 +531,9 @@ Template.createClass.events({
|
||||
values.category.toLowerCase();
|
||||
values.code = "";
|
||||
serverData = values;
|
||||
if(!teachers.findOne({name: values.teacher})) {
|
||||
if (!teachers.findOne({
|
||||
name: values.teacher
|
||||
})) {
|
||||
Meteor.call("createTeacher", values.teacher, values.school, function(error, result) {
|
||||
if (error !== undefined) {
|
||||
sAlert.error(error.message, {
|
||||
@ -538,7 +580,9 @@ Template.classInfoUsers.events({
|
||||
var outerInput = event.target.parentNode.parentNode.parentNode.parentNode.childNodes[1];
|
||||
var type = outerInput.childNodes[6].getAttribute("user");
|
||||
var userid = event.target.parentNode.parentNode.getAttribute("userid");
|
||||
if(!Meteor.users.findOne({_id: userid})) {
|
||||
if (!Meteor.users.findOne({
|
||||
_id: userid
|
||||
})) {
|
||||
sAlert.error("Stop hacking, reload the page.", {
|
||||
effect: 'stackslide',
|
||||
position: 'top',
|
||||
@ -582,13 +626,21 @@ toggleToSidebar = function(sidebar) {
|
||||
$("#backgroundOverlay").fadeOut(250);
|
||||
} catch (err) {}
|
||||
if (Session.equals("sidebarMode", sidebar) || !sidebar) {
|
||||
$("#menuContainer").hide("slide", {direction: "left"}, 250);
|
||||
$("#divCenter").stop().animate({left: '6vh'}, 250, function() {
|
||||
$("#menuContainer").hide("slide", {
|
||||
direction: "left"
|
||||
}, 250);
|
||||
$("#divCenter").stop().animate({
|
||||
left: '6vh'
|
||||
}, 250, function() {
|
||||
Session.set("sidebarMode", "");
|
||||
});
|
||||
} else {
|
||||
$("#menuContainer").show("slide", {direction: "left"}, 250);
|
||||
$("#divCenter").stop().animate({left: '36vh'}, 250);
|
||||
$("#menuContainer").show("slide", {
|
||||
direction: "left"
|
||||
}, 250);
|
||||
$("#divCenter").stop().animate({
|
||||
left: '36vh'
|
||||
}, 250);
|
||||
$(".menuWrapper").fadeOut(200, function() {
|
||||
Session.set("sidebarMode", sidebar);
|
||||
});
|
||||
|
||||
@ -133,11 +133,11 @@ Meteor.publish('users', function() {
|
||||
// Allows only superadmins to edit collections from client
|
||||
Security.permit(['insert', 'update', 'remove']).collections([schools, classes, work]).ifHasRole('superadmin');
|
||||
|
||||
// Accounts.validateLoginAttempt(function(info) {
|
||||
// var user = info.user;
|
||||
// if(user.banned) throw new Meteor.Error(403, 'You are banned');
|
||||
|
||||
// });
|
||||
Accounts.validateLoginAttempt(function(info) {
|
||||
var user = info.user;
|
||||
if(user.banned) throw new Meteor.Error(403, 'You are banned');
|
||||
return true;
|
||||
});
|
||||
|
||||
|
||||
var errors = [
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user