1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /**
- * @file
- *
- *
- * User: marand
- * Date: 30/08/15
- * Time: 16:47
- */
- Router.configure({
- layoutTemplate: "layout",
- loadingTemplate: "loading",
- notFoundTemplate: "notFound",
- waitOn: function () {
- return Meteor.subscribe('posts');
- }
- });
- // C'est un nom de route, pas un nom de template. Mais IR le prend comme nom de template par défaut.
- Router.route('/', {
- name: 'postsList'
- });
- Router.route('/posts/:_id', {
- name: 'postPage',
- data: function () {
- // "this" is the matched route.
- return Posts.findOne(this.params._id);
- }
- });
- Router.route('/posts/:_id/edit', {
- name: 'postEdit',
- data: function () {
- // "this" is the matched route.
- return Posts.findOne(this.params._id);
- }
- });
- Router.route('/submit', {
- name: 'postSubmit'
- });
- // Faire une 404 si la page matche la route postPage, mais pas son argument.
- // Déclenché pour toute valeur "falsy" (null, false, undefined, empty).
- Router.onBeforeAction('dataNotFound', {
- only: 'postPage'
- });
- var requireLogin = function () {
- if (!Meteor.user()) {
- if (Meteor.loggingIn()) {
- // Défini dans Router.configure().
- this.render(this.loadingTemplate)
- }
- else {
- this.render('accessDenied');
- }
- }
- else {
- this.next();
- }
- };
- // Appliquer le contrôle d'accès à la route postSubmit.
- Router.onBeforeAction(requireLogin, {
- only: 'postSubmit'
- });
|