2015-02-07 11:27:10 -05:00

118 lines
4.1 KiB
JavaScript

Meteor.methods({
availablechromebook: function(chrome) {
if ((Chromebooks.findOne({userid: Meteor.userId()}) === undefined)
|| (Roles.userIsInRole(Meteor.userId(), ['admin', 'teacher']))) {
Chromebooks.update(chrome._id, {$set: {status: 1}});
Chromebooks.update(chrome._id, {$set: {last_checkout: new Date()}});
Chromebooks.update(chrome._id, {$set: {userid: Meteor.userId()}});
Chromebooks.update(chrome._id, {$set: {user: Meteor.user().profile.name}});
}
},
checkedoutchromebook: function(chrome) {
if (Meteor.userId() === chrome.userid) {
Chromebooks.update(chrome._id, {$set: {status: 0}});
Chromebooks.update(chrome._id, {$set: {last_checkout: null}});
Chromebooks.update(chrome._id, {$set: {userid: null}});
Chromebooks.update(chrome._id, {$set: {user: null}});
}
},
addchromebook: function(chromebook_number, chromebook_serial) {
var currNumbers = Chromebooks.find({ number: chromebook_number }).fetch();
var currSerials = Chromebooks.find({ serial: chromebook_serial }).fetch();
if (Roles.userIsInRole(Meteor.userId(), ['admin']) &&
!((currNumbers.length != 0)
|| (currSerials.length != 0)
|| (chromebook_number == "")
|| (chromebook_serial == ""))) {
Chromebooks.insert({
"status": 0,
"userid": null,
"last_checkout": null,
"serial": chromebook_serial,
"number": chromebook_number
});
}
},
addcart: function(cart_number) {
var currCName = carts.find({ number: cart_number }).fetch()
if ((currCName.length == 0)
&& (cart_number != "")
&& ((Roles.userIsInRole(Meteor.userId(), ['admin'])))) {
carts.insert({
"status": 0,
"userid": null,
"last_checkout": null,
"number": cart_number
});
}
},
removechromebook: function(chrome) {
if (Roles.userIsInRole(Meteor.userId(), ['admin'])) {
Chromebooks.remove(chrome._id);
}
},
removecart: function(chrome) {
if (Roles.userIsInRole(Meteor.userId(), ['admin'])) {
carts.remove(chrome._id);
}
},
yieldchromebook: function(chrome) {
if (Roles.userIsInRole(Meteor.userId(), ['admin'])) {
if (chrome.status === 0) {
Chromebooks.update(chrome._id, {$set: {status: 2}});
Chromebooks.update(chrome._id, {$set: {user: null}});
}
else if (chrome.status ===1) {
Chromebooks.update(chrome._id, {$set: {status: 2}});
}
else {
Chromebooks.update(chrome._id, {$set: {status: 0}});
Chromebooks.update(chrome._id, {$set: {last_checkout: null}});
Chromebooks.update(chrome._id, {$set: {userid: null}});
}
}
else {
alert("Access Denied");
}
},
yieldcart: function(chrome) {
if (Roles.userIsInRole(Meteor.userId(), ['admin'])) {
if (chrome.status === 0) {
carts.update(chrome._id, {$set: {status: 2}});
}
else if (chrome.status === 1) {
carts.update(chrome._id, {$set: {status: 2}});
}
else {
carts.update(chrome._id, {$set: {status: 0}});
carts.update(chrome._id, {$set: {last_checkout: null}});
carts.update(chrome._id, {$set: {userid: null}});
carts.update(chrome._id, {$set: {user: null}});
}
}
else {
alert("Access Denied");
}
},
availablecart: function(chrome) {
if ((carts.findOne({userid: Meteor.userId()}) === undefined)
|| (Roles.userIsInRole(Meteor.userId(), ['admin', 'teacher']))) {
carts.update(chrome._id, {$set: {status: 1}});
carts.update(chrome._id, {$set: {last_checkout: new Date()}});
carts.update(chrome._id, {$set: {userid: Meteor.userId()}});
carts.update(chrome._id, {$set: {user: Meteor.user().profile.name}});
}
},
checkedoutcart: function(chrome) {
if (Meteor.userId() === chrome.userid) {
carts.update(chrome._id, {$set: {status: 0}});
carts.update(chrome._id, {$set: {last_checkout: null}});
carts.update(chrome._id, {$set: {userid: null}});
carts.update(chrome._id, {$set: {user: null}});
}
}
})