{{{body}}} diff --git a/core/server/views/partials/flashes.hbs b/core/server/views/partials/notifications.hbs similarity index 100% rename from core/server/views/partials/flashes.hbs rename to core/server/views/partials/notifications.hbs diff --git a/index.js b/index.js index 14758d9e95..da04146e91 100644 --- a/index.js +++ b/index.js @@ -14,7 +14,6 @@ var express = require('express'), admin = require('./core/server/controllers/admin'), frontend = require('./core/server/controllers/frontend'), api = require('./core/server/api'), - flash = require('connect-flash'), Ghost = require('./core/ghost'), I18n = require('./core/shared/lang/i18n'), filters = require('./core/server/filters'), @@ -34,14 +33,37 @@ var express = require('express'), function auth(req, res, next) { if (!req.session.user) { var path = req.path.replace(/^\/ghost\/?/gi, ''), - redirect = ''; + redirect = '', + msg; if (path !== '') { - req.flash('warn', "Please login"); + msg = { + type: 'error', + message: 'Please Log In', + status: 'passive', + id: 'failedauth' + }; + // let's only add the notification once + if (!_.contains(_.pluck(ghost.notifications, 'id'), 'failedauth')) { + ghost.notifications.push(msg); + } redirect = '?r=' + encodeURIComponent(path); } return res.redirect('/ghost/login/' + redirect); } + + next(); +} + + +// While we're here, let's clean up on aisle 5 +// That being ghost.notifications, and let's remove the passives from there +// plus the local messages, as the have already been added at this point +// otherwise they'd appear one too many times +function cleanNotifications(req, res, next) { + ghost.notifications = _.reject(ghost.notifications, function (notification) { + return notification.status === 'passive'; + }); next(); } @@ -133,7 +155,6 @@ ghost.app().configure(function () { ghost.app().use(express.cookieParser('try-ghost')); ghost.app().use(express.cookieSession({ cookie: { maxAge: 60000000 }})); ghost.app().use(ghost.initTheme(ghost.app())); - ghost.app().use(flash()); if (process.env.NODE_ENV !== "development") { ghost.app().use(express.logger()); @@ -155,6 +176,8 @@ when.all([ghost.init(), filters.loadCoreFilters(ghost), helpers.loadCoreHelpers( // post init config ghost.app().use(ghostLocals); + // because science + ghost.app().use(cleanNotifications); // ## Routing diff --git a/package.json b/package.json index 70cce57d82..4e2c5624c9 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,6 @@ "dependencies": { "express": "3.3.4", "express-hbs": "0.2.0", - "connect-flash": "0.1.1", "node-polyglot": "0.2.1", "moment": "2.1.0", "underscore": "1.5.1",