summaryrefslogtreecommitdiff
path: root/server/lib/views/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib/views/index.js')
-rw-r--r--server/lib/views/index.js60
1 files changed, 45 insertions, 15 deletions
diff --git a/server/lib/views/index.js b/server/lib/views/index.js
index 8c3e63d..5d82979 100644
--- a/server/lib/views/index.js
+++ b/server/lib/views/index.js
@@ -4,6 +4,7 @@ var User = require('../schemas/User'),
Project = require('../schemas/Project'),
Documentation = require('../schemas/Documentation'),
Collaborator = require('../schemas/Collaborator'),
+ Plan = require('../schemas/Plan'),
config = require('../../../config'),
marked = require('marked'),
util = require('../util'),
@@ -83,33 +84,42 @@ var views = module.exports = {
res.render('builder')
},
+ blueprint: function (req, res) {
+ res.render('blueprint')
+ },
+
modal: function (req, res) {
res.render('modal');
},
home: function (req, res) {
- // while in development, blank homepage if not logged in
-/*
- if (! req.user) {
- res.send("<html></html>")
- return
- }
-*/
- views_middleware.fetchProjects({ featured: true }, null, null, function(err, projects){
- res.render('home', {
- projects: projects || []
+ views_middleware.ensurePlans(req, res, function(err){
+ views_middleware.fetchProjects({ featured: true }, null, null, function(err, projects){
+ res.render('home', {
+ projects: projects || [],
+ })
})
})
},
demoHome: function (req, res) {
- views_middleware.fetchProjects({ featured: true }, null, null, function(err, projects){
- res.render('home', {
- projects: projects || []
+ views_middleware.ensurePlans(req, res, function(err){
+ views_middleware.fetchProjects({ featured: true }, null, null, function(err, projects){
+ res.render('home', {
+ projects: projects || [],
+ })
})
})
},
+ partials: {
+ plans: function (req, res){
+ views_middleware.ensurePlans(req, res, function(){
+ res.render('about/_plans', { logged_in: res.locals.logged_in || false })
+ })
+ },
+ },
+
docs: function (req, res){
var name = req.params.name || "about"
@@ -117,10 +127,17 @@ var views = module.exports = {
res.render('about/' + name)
return
}
- if (name == "about" || name == "index") {
- res.render('about/' + name)
+ if (name == "brochure" || name == "plans") {
+ // TODO: fetch plans
+ views_middleware.ensurePlans(req, res, function(){
+ res.render('about/' + name)
+ })
return
}
+ if (name == "about" || name == "index" || name == "terms" || name == "privacy") {
+ res.render('about/' + name)
+ return
+ }
if (name === "new") {
res.render('docs', {
@@ -225,6 +242,19 @@ var views = module.exports = {
}
var views_middleware = {
+ ensurePlans: function(req, res, next){
+ Plan.find(function (err, plans) {
+ res.locals.plans = {}
+ plans.forEach(function(plan){
+ res.locals.plans[ plan.slug ] = plan
+ "monthly_price yearly_price basic_layout_monthly_price basic_layout_yearly_price pro_layout_monthly_price pro_layout_yearly_price".split(" ").forEach(function(key){
+ plan[key] = (plan[key]/100).toFixed(2)+""
+ })
+ })
+ next()
+ })
+ },
+
fetchProjects: function (criteria, limit, offset, next) {
limit = limit || 7
offset = offset || 0