diff --git a/app/controllers/articles.server.controller.js b/app/controllers/articles.server.controller.js
index 6cdc331873..45372166c5 100644
--- a/app/controllers/articles.server.controller.js
+++ b/app/controllers/articles.server.controller.js
@@ -6,6 +6,29 @@
var mongoose = require('mongoose'),
Article = mongoose.model('Article'),
_ = require('lodash');
+/**
+ * Get the error message from error object
+ */
+var getErrorMessage = function(err) {
+ var message = '';
+
+ if (err.code) {
+ switch (err.code) {
+ case 11000:
+ case 11001:
+ message = 'Unique already exists';
+ break;
+ default:
+ message = 'Something went wrong';
+ }
+ } else {
+ for (var errName in err.errors) {
+ if (err.errors[errName].message) message = err.errors[errName].message;
+ }
+ }
+
+ return message;
+};
/**
* Create a article
@@ -16,9 +39,8 @@ exports.create = function(req, res) {
article.save(function(err) {
if (err) {
- return res.send('users/signup', {
- errors: err.errors,
- article: article
+ return res.send(400, {
+ message: getErrorMessage(err)
});
} else {
res.jsonp(article);
@@ -43,8 +65,8 @@ exports.update = function(req, res) {
article.save(function(err) {
if (err) {
- res.render('error', {
- status: 500
+ return res.send(400, {
+ message: getErrorMessage(err)
});
} else {
res.jsonp(article);
@@ -60,8 +82,8 @@ exports.delete = function(req, res) {
article.remove(function(err) {
if (err) {
- res.render('error', {
- status: 500
+ return res.send(400, {
+ message: getErrorMessage(err)
});
} else {
res.jsonp(article);
@@ -75,8 +97,8 @@ exports.delete = function(req, res) {
exports.list = function(req, res) {
Article.find().sort('-created').populate('user', 'displayName').exec(function(err, articles) {
if (err) {
- res.render('error', {
- status: 500
+ return res.send(400, {
+ message: getErrorMessage(err)
});
} else {
res.jsonp(articles);
diff --git a/app/controllers/core.server.controller.js b/app/controllers/core.server.controller.js
index 7073572639..0412dbeb9b 100644
--- a/app/controllers/core.server.controller.js
+++ b/app/controllers/core.server.controller.js
@@ -4,7 +4,7 @@
* Module dependencies.
*/
exports.index = function(req, res) {
- res.render('index.html', {
+ res.render('index.server.view.html', {
user: req.user || null
});
};
\ No newline at end of file
diff --git a/app/views/404.html b/app/views/404.server.view.html
similarity index 71%
rename from app/views/404.html
rename to app/views/404.server.view.html
index c993001842..0074fa456d 100644
--- a/app/views/404.html
+++ b/app/views/404.server.view.html
@@ -1,4 +1,4 @@
-{% extends 'layout.html' %}
+{% extends 'layout.server.view.html' %}
{% block content %}
Page Not Found
diff --git a/app/views/500.html b/app/views/500.server.view.html
similarity index 66%
rename from app/views/500.html
rename to app/views/500.server.view.html
index 7bbded9e38..8e6711b72a 100644
--- a/app/views/500.html
+++ b/app/views/500.server.view.html
@@ -1,4 +1,4 @@
-{% extends 'layout.html' %}
+{% extends 'layout.server.view.html' %}
{% block content %}
Server Error
diff --git a/app/views/index.html b/app/views/index.server.view.html
similarity index 63%
rename from app/views/index.html
rename to app/views/index.server.view.html
index 832522f4d0..7e60893b1f 100644
--- a/app/views/index.html
+++ b/app/views/index.server.view.html
@@ -1,4 +1,4 @@
-{% extends 'layout.html' %}
+{% extends 'layout.server.view.html' %}
{% block content %}
diff --git a/app/views/layout.html b/app/views/layout.server.view.html
similarity index 94%
rename from app/views/layout.html
rename to app/views/layout.server.view.html
index aebbb40474..e13028aed1 100644
--- a/app/views/layout.html
+++ b/app/views/layout.server.view.html
@@ -43,7 +43,7 @@
-
+
{% block content %}{% endblock %}
diff --git a/config/express.js b/config/express.js
index 0b3560d397..b5961e49ed 100755
--- a/config/express.js
+++ b/config/express.js
@@ -115,14 +115,14 @@ module.exports = function(db) {
console.error(err.stack);
// Error page
- res.status(500).render('500.html', {
+ res.status(500).render('500.server.view.html', {
error: err.stack
});
});
// Assume 404 since no middleware responded
app.use(function(req, res) {
- res.status(404).render('404.html', {
+ res.status(404).render('404.server.view.html', {
url: req.originalUrl,
error: 'Not Found'
});
diff --git a/public/modules/articles/articles.module.js b/public/modules/articles/articles.client.module.js
similarity index 100%
rename from public/modules/articles/articles.module.js
rename to public/modules/articles/articles.client.module.js
diff --git a/public/modules/articles/config/articles.config.js b/public/modules/articles/config/articles.client.config.js
similarity index 100%
rename from public/modules/articles/config/articles.config.js
rename to public/modules/articles/config/articles.client.config.js
diff --git a/public/modules/articles/config/articles.routes.js b/public/modules/articles/config/articles.client.routes.js
similarity index 61%
rename from public/modules/articles/config/articles.routes.js
rename to public/modules/articles/config/articles.client.routes.js
index 5d5b8dad4e..7b78e702ed 100755
--- a/public/modules/articles/config/articles.routes.js
+++ b/public/modules/articles/config/articles.client.routes.js
@@ -7,19 +7,19 @@ angular.module('articles').config(['$stateProvider',
$stateProvider.
state('listArticles', {
url: '/articles',
- templateUrl: 'modules/articles/views/list.html'
+ templateUrl: 'modules/articles/views/list.client.view.html'
}).
state('createArticle', {
url: '/articles/create',
- templateUrl: 'modules/articles/views/create.html'
+ templateUrl: 'modules/articles/views/create.client.view.html'
}).
state('viewArticle', {
url: '/articles/:articleId',
- templateUrl: 'modules/articles/views/view.html'
+ templateUrl: 'modules/articles/views/view.client.view.html'
}).
state('editArticle', {
url: '/articles/:articleId/edit',
- templateUrl: 'modules/articles/views/edit.html'
+ templateUrl: 'modules/articles/views/edit.client.view.html'
});
}
]);
\ No newline at end of file
diff --git a/public/modules/articles/controllers/articles.controller.js b/public/modules/articles/controllers/articles.client.controller.js
similarity index 100%
rename from public/modules/articles/controllers/articles.controller.js
rename to public/modules/articles/controllers/articles.client.controller.js
diff --git a/public/modules/articles/services/articles.service.js b/public/modules/articles/services/articles.client.service.js
similarity index 100%
rename from public/modules/articles/services/articles.service.js
rename to public/modules/articles/services/articles.client.service.js
diff --git a/public/modules/articles/tests/articles.controller.test.js b/public/modules/articles/tests/articles.client.controller.test.js
similarity index 100%
rename from public/modules/articles/tests/articles.controller.test.js
rename to public/modules/articles/tests/articles.client.controller.test.js
diff --git a/public/modules/articles/views/create.html b/public/modules/articles/views/create.client.view.html
similarity index 100%
rename from public/modules/articles/views/create.html
rename to public/modules/articles/views/create.client.view.html
diff --git a/public/modules/articles/views/edit.html b/public/modules/articles/views/edit.client.view.html
similarity index 100%
rename from public/modules/articles/views/edit.html
rename to public/modules/articles/views/edit.client.view.html
diff --git a/public/modules/articles/views/list.html b/public/modules/articles/views/list.client.view.html
similarity index 100%
rename from public/modules/articles/views/list.html
rename to public/modules/articles/views/list.client.view.html
diff --git a/public/modules/articles/views/view.html b/public/modules/articles/views/view.client.view.html
similarity index 100%
rename from public/modules/articles/views/view.html
rename to public/modules/articles/views/view.client.view.html
diff --git a/public/modules/core/config/core.routes.js b/public/modules/core/config/core.client.routes.js
similarity index 84%
rename from public/modules/core/config/core.routes.js
rename to public/modules/core/config/core.client.routes.js
index 270503b413..894e3a6caf 100755
--- a/public/modules/core/config/core.routes.js
+++ b/public/modules/core/config/core.client.routes.js
@@ -10,7 +10,7 @@ angular.module('core').config(['$stateProvider', '$urlRouterProvider',
$stateProvider.
state('home', {
url: '/',
- templateUrl: 'modules/core/views/home.html'
+ templateUrl: 'modules/core/views/home.client.view.html'
});
}
]);
\ No newline at end of file
diff --git a/public/modules/core/controllers/header.controller.js b/public/modules/core/controllers/header.client.controller.js
similarity index 100%
rename from public/modules/core/controllers/header.controller.js
rename to public/modules/core/controllers/header.client.controller.js
diff --git a/public/modules/core/controllers/home.controller.js b/public/modules/core/controllers/home.client.controller.js
similarity index 100%
rename from public/modules/core/controllers/home.controller.js
rename to public/modules/core/controllers/home.client.controller.js
diff --git a/public/modules/core/core.module.js b/public/modules/core/core.client.module.js
similarity index 100%
rename from public/modules/core/core.module.js
rename to public/modules/core/core.client.module.js
diff --git a/public/modules/core/services/menus.service.js b/public/modules/core/services/menus.client.service.js
similarity index 100%
rename from public/modules/core/services/menus.service.js
rename to public/modules/core/services/menus.client.service.js
diff --git a/public/modules/core/tests/header.controller.test.js b/public/modules/core/tests/header.client.controller.test.js
similarity index 100%
rename from public/modules/core/tests/header.controller.test.js
rename to public/modules/core/tests/header.client.controller.test.js
diff --git a/public/modules/core/tests/home.controller.test.js b/public/modules/core/tests/home.client.controller.test.js
similarity index 100%
rename from public/modules/core/tests/home.controller.test.js
rename to public/modules/core/tests/home.client.controller.test.js
diff --git a/public/modules/core/views/header.html b/public/modules/core/views/header.client.view.html
similarity index 100%
rename from public/modules/core/views/header.html
rename to public/modules/core/views/header.client.view.html
diff --git a/public/modules/core/views/home.html b/public/modules/core/views/home.client.view.html
similarity index 100%
rename from public/modules/core/views/home.html
rename to public/modules/core/views/home.client.view.html
diff --git a/public/modules/users/config/users.config.js b/public/modules/users/config/users.client.config.js
similarity index 100%
rename from public/modules/users/config/users.config.js
rename to public/modules/users/config/users.client.config.js
diff --git a/public/modules/users/config/users.routes.js b/public/modules/users/config/users.client.routes.js
similarity index 55%
rename from public/modules/users/config/users.routes.js
rename to public/modules/users/config/users.client.routes.js
index f01bd6993b..24f60726eb 100755
--- a/public/modules/users/config/users.routes.js
+++ b/public/modules/users/config/users.client.routes.js
@@ -7,23 +7,23 @@ angular.module('users').config(['$stateProvider',
$stateProvider.
state('profile', {
url: '/settings/profile',
- templateUrl: 'modules/users/views/settings/profile.html'
+ templateUrl: 'modules/users/views/settings/profile.client.view.html'
}).
state('password', {
url: '/settings/password',
- templateUrl: 'modules/users/views/settings/password.html'
+ templateUrl: 'modules/users/views/settings/password.client.view.html'
}).
state('accounts', {
url: '/settings/accounts',
- templateUrl: 'modules/users/views/settings/accounts.html'
+ templateUrl: 'modules/users/views/settings/accounts.client.view.html'
}).
state('signup', {
url: '/signup',
- templateUrl: 'modules/users/views/signup.html'
+ templateUrl: 'modules/users/views/signup.client.view.html'
}).
state('signin', {
url: '/signin',
- templateUrl: 'modules/users/views/signin.html'
+ templateUrl: 'modules/users/views/signin.client.view.html'
});
}
]);
\ No newline at end of file
diff --git a/public/modules/users/controllers/authentication.controller.js b/public/modules/users/controllers/authentication.client.controller.js
similarity index 100%
rename from public/modules/users/controllers/authentication.controller.js
rename to public/modules/users/controllers/authentication.client.controller.js
diff --git a/public/modules/users/controllers/settings.controller.js b/public/modules/users/controllers/settings.client.controller.js
similarity index 100%
rename from public/modules/users/controllers/settings.controller.js
rename to public/modules/users/controllers/settings.client.controller.js
diff --git a/public/modules/users/services/authentication.service.js b/public/modules/users/services/authentication.client.service.js
similarity index 100%
rename from public/modules/users/services/authentication.service.js
rename to public/modules/users/services/authentication.client.service.js
diff --git a/public/modules/users/services/users.service.js b/public/modules/users/services/users.client.service.js
similarity index 100%
rename from public/modules/users/services/users.service.js
rename to public/modules/users/services/users.client.service.js
diff --git a/public/modules/users/users.module.js b/public/modules/users/users.client.module.js
similarity index 100%
rename from public/modules/users/users.module.js
rename to public/modules/users/users.client.module.js
diff --git a/public/modules/users/views/settings/accounts.html b/public/modules/users/views/settings/accounts.client.view.html
similarity index 100%
rename from public/modules/users/views/settings/accounts.html
rename to public/modules/users/views/settings/accounts.client.view.html
diff --git a/public/modules/users/views/settings/password.html b/public/modules/users/views/settings/password.client.view.html
similarity index 100%
rename from public/modules/users/views/settings/password.html
rename to public/modules/users/views/settings/password.client.view.html
diff --git a/public/modules/users/views/settings/profile.html b/public/modules/users/views/settings/profile.client.view.html
similarity index 100%
rename from public/modules/users/views/settings/profile.html
rename to public/modules/users/views/settings/profile.client.view.html
diff --git a/public/modules/users/views/signin.html b/public/modules/users/views/signin.client.view.html
similarity index 100%
rename from public/modules/users/views/signin.html
rename to public/modules/users/views/signin.client.view.html
diff --git a/public/modules/users/views/signup.html b/public/modules/users/views/signup.client.view.html
similarity index 100%
rename from public/modules/users/views/signup.html
rename to public/modules/users/views/signup.client.view.html