diff --git a/lookup.js b/lookup.js index acb27e7..62ba5de 100644 --- a/lookup.js +++ b/lookup.js @@ -21,7 +21,7 @@ function get(req, res, next, search) { next(); } else if (database_entry.length == 0) { - res.render('not_found'); + res.render('not_found', req); } else { req.match = database_entry; @@ -52,6 +52,7 @@ function list(req, res, next, list) { index.find({group: list}).toArray(function (err, database_entry) { if (err) {req.error = err; next();} else { + if (database_entry.length < 1) res.render('not_found', req); req.match = database_entry; next(); } diff --git a/redirecter.js b/redirecter.js new file mode 100644 index 0000000..bf2419f --- /dev/null +++ b/redirecter.js @@ -0,0 +1,23 @@ +//redirecter.js +var qs = require('querystring'); + +module.exports = function (req, res) { + var referer = req.headers.referer.split('/')[3] || 'rooster'; + var _data = ''; + + req.on('data', function (data) { + _data += data; + }); + + req.on('end', function () { + var query = qs.parse(_data); + + if (query && query.search != '') { + query.search = query.search.trim(); + + if (query.search == 'hoewerkt') res.redirect('http://hoewerkt.werkmanrooster.nl'); + res.redirect('/' + referer + '/' + query.search); + } + }); + +} diff --git a/resources/jade/homepage.jade b/resources/jade/homepage.jade index d863c98..14cf942 100644 --- a/resources/jade/homepage.jade +++ b/resources/jade/homepage.jade @@ -1,7 +1,6 @@ include header div.homepage - input.search(type="text", name="searchterm", placeholder="Je naam, id, klassennaam, docentencode, lokaalcode") - button.search Zoeken + include search include linkbar diff --git a/resources/jade/not_found.jade b/resources/jade/not_found.jade index 6ee5634..3b8dc17 100644 --- a/resources/jade/not_found.jade +++ b/resources/jade/not_found.jade @@ -1,4 +1,4 @@ //- not_found.jade include header -h6.container.center.notfound Er zijn geen resultaten gevonden met je zoekopdracht, kijk het nog even goed en probeer het nog eens. +h6.container.center.notfound Er is geen #{path.split('/')[1]} gevonden met je zoekopdracht, kijk je zoekopdracht nog even goed na en probeer het nog eens. include search diff --git a/resources/jade/search.jade b/resources/jade/search.jade index b9a79f0..9dc229e 100644 --- a/resources/jade/search.jade +++ b/resources/jade/search.jade @@ -1,3 +1,5 @@ //- search.jade -input.search(type="text", name="searchterm", placeholder="Je naam, id, klassennaam, docentencode, lokaalcode", value=path.split('/')[1] == 'klassenlijst' ? 'Leerlingen van ' + match[0].group : match ? ((match.first_name || match.name || 'Meerdere mensen hun rooster') + '\'s rooster') : '') -button.search Zoeken + +form(method="post", action="/") + input.search(type="text", name="search", placeholder="Je naam, id, klassennaam, docentencode, lokaalcode", value=path.split('/')[1] == 'klassenlijst' && match ? 'Leerlingen van ' + match[0].group : match ? ((match.first_name || match.name || 'Meerdere mensen hun rooster') + '\'s rooster') : '') + input.search(type="submit", value="Zoeken") diff --git a/resources/js/script.js b/resources/js/script.js index 026594e..99ed8c0 100644 --- a/resources/js/script.js +++ b/resources/js/script.js @@ -1,23 +1 @@ -$(document).ready(function () { - - $('input.search').on('keyup', function (e) { - if (e.keyCode == 13) { - go(); - } - }); - - $('button.search').click(function () { - go(); - }); -}); - - -function go() { - var searchterm = $('.search').val().trim().replace(/\'s Rooster/gi, ''); - if (!!searchterm) { - document.location.pathname = '/rooster/' + searchterm; - } - else { - document.location.pathname = '/'; - } -} +//Nothing to see here folks diff --git a/resources/less/style.less b/resources/less/style.less index a593451..1887ec6 100644 --- a/resources/less/style.less +++ b/resources/less/style.less @@ -64,18 +64,14 @@ ul.found { } } -.search { - margin: 0 auto; +input.search { + text-align: center; + margin: 12px auto; width: 50%; display: block; font-family: Open Sans; } -input.search { - text-align: center; - margin-bottom: 10px; -} - .bar { height: 20px; width: 100%; diff --git a/web.js b/web.js index b28e018..f82b406 100644 --- a/web.js +++ b/web.js @@ -9,6 +9,7 @@ var config = require('./configuration'); var lookup = require('./lookup'); var schedule = require('./schedule'); var auth = require('./auth'); +var redirecter = require('./redirecter'); var app = express(); @@ -30,6 +31,8 @@ app.get('/', auth.is, function (req, res) { res.render('homepage', req); }); +app.post('/', redirecter); + app.get('/login', function (req, res) { res.render('login', req); });