2015-01-12 21:05:09 -05:00

40 lines
1.1 KiB
JavaScript

var statusmap = {
0: "available",
1: "checkedout",
2: "unavailable"
}
Meteor.subscribe('carts');
Template.cart.helpers({
status_class: function() {
return statusmap[this.status];
},
time_ago: function() {
if (this.last_checkout === null) {
return "";
} else {
return moment(this.last_checkout).fromNow();
}
}
});
Template.cart.events({
'click .available': function() {
if ((carts.findOne({userid: Meteor.userId()}) === undefined)
|| (Roles.userIsInRole(Meteor.userId(), ['admin', 'teacher']))) {
carts.update(this._id, {$set: {status: 1}});
carts.update(this._id, {$set: {last_checkout: new Date()}});
carts.update(this._id, {$set: {userid: Meteor.userId()}});
carts.update(this._id, {$set: {user: Meteor.user().profile.name}});
}
},
'click .checkedout': function() {
if (Meteor.userId() === this.userid) {
carts.update(this._id, {$set: {status: 0}});
carts.update(this._id, {$set: {last_checkout: null}});
carts.update(this._id, {$set: {userid: null}});
carts.update(this._id, {$set: {user: null}});
}
}
});