Added schedule.js and made the search query redirect to the correct page.
This commit is contained in:
parent
e392915747
commit
1e10c45261
51
schedule.js
Normal file
51
schedule.js
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
//schedule.js
|
||||||
|
var http = require('http');
|
||||||
|
var database = require('mongoskin').db('mongodb://wallpiece/roosterio');
|
||||||
|
var schoolid = 934;
|
||||||
|
|
||||||
|
function lookup(req, res, next, search) {
|
||||||
|
console.log(search);
|
||||||
|
var index = database.collection('index');
|
||||||
|
index.find({$or : [{id : search}, {name : search}, {first_name : search}, {last_name : search}]}).toArray(function (err, database_entry) {
|
||||||
|
if (err) console.warn(err);
|
||||||
|
|
||||||
|
if (database_entry.length == 1) {
|
||||||
|
console.log(database_entry);
|
||||||
|
var link = make_link(database_entry[0]);
|
||||||
|
console.log(link);
|
||||||
|
res.redirect(link);
|
||||||
|
}
|
||||||
|
else if (database_entry.length == 0) {
|
||||||
|
res.send('No matches were found in the database.');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
res.send('Multiple hits were found in the database.');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function make_link(database_entry) {
|
||||||
|
var link = 'http://roosters5.gepro-osi.nl/roosters/rooster.php?school=' + schoolid + '&type=' + database_entry.type.charAt(0).toUpperCase() + database_entry.type.slice(1) + 'rooster';
|
||||||
|
console.log(database_entry);
|
||||||
|
switch (database_entry.type) {
|
||||||
|
case 'leerling' :
|
||||||
|
link += '&afdeling=' + database_entry.studentcategory + '&leerling=' + database_entry.id;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'docent' :
|
||||||
|
link += '&docenten=' + database_entry.name;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'lokaal' :
|
||||||
|
link += '&lokalen=' + database_entry.name;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'klas' :
|
||||||
|
link += '&klassen=' + database_entry.name;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return link;
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = lookup;
|
5
web.js
5
web.js
|
@ -1,14 +1,13 @@
|
||||||
//web.js
|
//web.js
|
||||||
var express = require('express');
|
var express = require('express');
|
||||||
|
var schedule = require('./schedule.js');
|
||||||
var app = express();
|
var app = express();
|
||||||
|
|
||||||
app.get('/', function (req, res) {
|
app.get('/', function (req, res) {
|
||||||
res.send('Hello world!');
|
res.send('Hello world!');
|
||||||
});
|
});
|
||||||
|
|
||||||
app.param('search', function (req, res, next, search) {
|
app.param('search', schedule);
|
||||||
res.send('You searched for ' + search);
|
|
||||||
});
|
|
||||||
|
|
||||||
app.get('/rooster/:search', function (req, res) {
|
app.get('/rooster/:search', function (req, res) {
|
||||||
next();
|
next();
|
||||||
|
|
Loading…
Reference in a new issue