archive/hourglass/lib/router.js

93 lines
2.5 KiB
JavaScript
Raw Normal View History

Router.route('/', {
waitOn: function() {
2016-10-20 21:54:38 -04:00
if (!Meteor.userId()) {
this.redirect('/login');
} else {
return [
2016-09-04 20:20:40 -04:00
Meteor.subscribe('classes', this.params._id),
Meteor.subscribe('schools', this.params._id),
Meteor.subscribe('work', this.params._id),
Meteor.subscribe('requests', this.params._id),
Meteor.subscribe('users', this.params._id)
];
}
},
2016-09-01 00:13:17 -04:00
action: function() {
2016-10-20 21:54:38 -04:00
if(_.contains([null, undefined, ""], Meteor.user().profile.school)) {
this.redirect('/login');
} else {
this.render("main");
}
2016-08-12 17:18:30 -04:00
}
});
Router.route('/login', {
action: function() {
if (!Meteor.userId()) {
this.render("login");
} else if (!Meteor.user().profile.school) {
this.redirect('/profile');
} else {
this.redirect('/');
}
2016-08-12 17:18:30 -04:00
}
});
Router.route('/profile', {
waitOn: function() {
if (!Meteor.userId()) {
this.redirect('/login');
} else {
return [
2016-09-04 20:20:40 -04:00
Meteor.subscribe('classes', this.params._id),
Meteor.subscribe('schools', this.params._id),
Meteor.subscribe('work', this.params._id),
Meteor.subscribe('requests', this.params._id),
Meteor.subscribe('users', this.params._id)
];
}
},
2016-09-04 20:20:40 -04:00
action: function() {
2016-08-12 17:18:30 -04:00
this.render("profile");
}
});
2016-09-05 13:44:18 -04:00
Router.route('/user/:email', {
data: function() {
return Meteor.users.findOne({'services.google.email': this.params.email});
},
waitOn: function() {
return [
Meteor.subscribe('users', this.params._id)
];
},
action: function() {
if(Meteor.users.findOne({'services.google.email': this.params.email}) !== undefined) {
if(Meteor.user() && this.params.email === Meteor.user().services.google.email) {
this.redirect('/profile');
} else {
this.render('user');
}
} else {
this.render("NotFound");
}
2016-09-05 13:44:18 -04:00
}
});
/*Router.route('/admin', {
data: function() {
return true;
},
action: function() {
if (!Roles.userIsInRole(Meteor.userId(), ['admin', 'superadmin'])) {
this.redirect("/");
} else {
this.render("admin");
}
}
});*/
2016-08-12 17:18:30 -04:00
Router.configure({
notFoundTemplate: "NotFound"
2016-09-01 00:13:17 -04:00
});