prevent overlapping classes

This commit is contained in:
Yaman Qalieh 2016-10-23 16:19:08 -04:00
parent d2dbdb0cd3
commit 2bfe58b3f1
2 changed files with 25 additions and 16 deletions

View File

@ -175,21 +175,30 @@ Meteor.methods({
schools.findOne({ schools.findOne({
name: input.school name: input.school
})) { })) {
input.status = Roles.userIsInRole(Meteor.userId(), ['superadmin', 'admin']); if (classes.find({
input.admin = Meteor.userId(); status: true,
Meteor.call('genCode', function(error, result) { privacy: false,
input.code = result; teacher: input.teacher,
}); hour: input.hour
if (input.category != "class" && input.category != "club") { }).fetch().length < 1) {
input.category = "other"; input.status = Roles.userIsInRole(Meteor.userId(), ['superadmin', 'admin']);
} input.admin = Meteor.userId();
input.subscribers = []; Meteor.call('genCode', function(error, result) {
input.moderators = []; input.code = result;
input.banned = []; });
if (input.category != "class" && input.category != "club") {
input.category = "other";
}
input.subscribers = [];
input.moderators = [];
input.banned = [];
classes.insert(input, function(err, result) { classes.insert(input, function(err, result) {
Meteor.call('joinClass', [result, input.code]); Meteor.call('joinClass', [result, input.code]);
}); });
} else {
throw new Meteor.Error("overlap", "This teacher is already teaching a class elsewhere!")
}
} else { } else {
throw new Meteor.Error("unauthorized", "You are not authorized to complete this action."); throw new Meteor.Error("unauthorized", "You are not authorized to complete this action.");