From c8d10094d97f6e9b1fe2137169f84fbea80ade37 Mon Sep 17 00:00:00 2001 From: Thomas FORGIONE Date: Fri, 5 Jun 2015 17:57:00 +0200 Subject: [PATCH] Added log out button, corrected buttons --- controllers/logout/index.js | 9 +++++++ controllers/logout/urls.js | 3 +++ controllers/logout/views/index.jade | 38 +++++++++++++++++++++++++++++ server.js | 6 +++++ urls.js | 1 + views/main.jade | 36 ++++++++++++++++++--------- 6 files changed, 82 insertions(+), 11 deletions(-) create mode 100644 controllers/logout/index.js create mode 100644 controllers/logout/urls.js create mode 100644 controllers/logout/views/index.jade diff --git a/controllers/logout/index.js b/controllers/logout/index.js new file mode 100644 index 0000000..966fad7 --- /dev/null +++ b/controllers/logout/index.js @@ -0,0 +1,9 @@ +module.exports.index = function(req, res) { + req.session = null; + res.locals.session = null; + res.setHeader('Content-Type', 'text/html'); + + res.render('index.jade', res.locals, function(err, out) { + res.send(out); + }); +} diff --git a/controllers/logout/urls.js b/controllers/logout/urls.js new file mode 100644 index 0000000..c3476e1 --- /dev/null +++ b/controllers/logout/urls.js @@ -0,0 +1,3 @@ +module.exports = { + '/logout': 'index' +} diff --git a/controllers/logout/views/index.jade b/controllers/logout/views/index.jade new file mode 100644 index 0000000..5b915a4 --- /dev/null +++ b/controllers/logout/views/index.jade @@ -0,0 +1,38 @@ +extends ../../../views/main + +block title + title #{title} - Index + +block content + h2 Index + ul + li + a(href="#{urls.bouncing}") A bouncing cube that jumps when you click on it + p. + Jumps and bounce when you click on it. + + li + a(href="#{urls.multisphere}") Sphere with multi-resolution + p. + Lots of obj files loaded and displayed. When you click + somewhere, the current obj is hidden and the next one, with a + better resolution is shown. + + li + a(href="#{urls.prototype}") A proto of the real thing + p. + You can move the camera with the arrow keys and move the angle of + the camera with 2, 4, 6 and 8 (the arrows of the numpad), or you + can do a drag-and-drop like (click on the mouse to grap the scene, + and move the mouse to rotate the camera). You can also select a + camera by clicking on the red part of it, and get back to the free + camera by clicking again. You can also select a camera by simply + clicking on the object you want to see. The program will choose the + camera that you want, and move to it progressively. + + li + a(href="#{urls.stream}") Streaming simulation + p. + A mesh of a sphere is fully loaded, and displayed + progressively. This test is here to prove that we can + dynamically add vertices and faces to a mesh. diff --git a/server.js b/server.js index eb31add..52ecdc5 100644 --- a/server.js +++ b/server.js @@ -27,6 +27,7 @@ app.use(bodyParser.json()); app.use(function(req, res, next) { res.locals.title = "3DUI"; res.locals.urls = urls; + res.locals.session = req.session; next(); }); @@ -42,6 +43,11 @@ app.use(function(req, res, next) { next(); }); +app.use(function(req, res, next) { + console.log(req.session.user_id); + next(); +}); + // Load controllers console.log("Loading controllers :"); require('./lib/controllers')(app, { verbose: !module.parent }); diff --git a/urls.js b/urls.js index cc2a839..c6acd50 100644 --- a/urls.js +++ b/urls.js @@ -8,3 +8,4 @@ module.exports.stream = '/stream/'; module.exports.reverse = '/prototype/reverse/'; module.exports.replay_index = '/prototype/replay/'; module.exports.tutorial = '/prototype/tutorial'; +module.exports.logout = '/logout'; diff --git a/views/main.jade b/views/main.jade index acfbe5f..eedd66d 100644 --- a/views/main.jade +++ b/views/main.jade @@ -1,3 +1,9 @@ +mixin button_link(href) + form.navbar-form.navbar-left(role="search", action="#{href}", method='GET') + button.btn.btn-default(type="submit") + block + + doctype html html(lang='fr') head @@ -45,20 +51,28 @@ html(lang='fr') a(href="#{urls.tutorial}") Tutorial li a(href="#{urls.stream}") Streaming simulator + li.divider + if (session && session.user_id) + li + +button_link(urls.logout) + span.glyphicon.glyphicon-log-out(aria-hidden=true, style={"margin-right":"10px"}) + span Log out - ul.navbar-nav.navbar-right - a.btn.btn-default.navbar-btn(type="button", href="https://github.com/tforgione/3dinterface", style={margin: "0px 5px"}) - img(src="/static/GitHub-Mark/PNG/GitHub-Mark-32px.png", width="17px") - span(style={'margin-left':'5px'}) Github Repo - a.btn.btn-default.navbar-btn(type="button", href="https://github.com/tforgione/3dinterface/wiki", style={margin: "0px 5px"}) - span.glyphicon.glyphicon-book(aria-hidden=true, style={"margin-right":"10px"}) - span Github wiki - a.btn.btn-default.navbar-btn(type="button", href="mailto:thomas.forgione@gmail.com", style={'margin-right': "10px", 'margin-left': '5px'}) - span.glyphicon.glyphicon-envelope(aria-hidden=true) - span(style={'margin-left':'5px'}) Contact + ul.nav.navbar-nav.navbar-right + li + +button_link('https://github.com/tforgione/3dinterface') + img(src="/static/GitHub-Mark/PNG/GitHub-Mark-32px.png", width="17px", style={align:vertical}) + span(style={'margin-left':'5px', align:vertical}) Github Repo + li + +button_link('https://github.com/tforgione/3dinterface/wiki') + span.glyphicon.glyphicon-book(aria-hidden=true) + span(style={'margin-left':'5px'}) Github wiki - div + li + +button_link('mailto:thomas.forgione@gmail.com') + span.glyphicon.glyphicon-envelope(aria-hidden=true) + span(style={'margin-left':'5px'}) Contact section#main-section.container if alertCookie