Skip to content
This repository has been archived by the owner on Aug 27, 2019. It is now read-only.

Commit

Permalink
make searching by 'name' a little more comprehensive if no results fo…
Browse files Browse the repository at this point in the history
…und on actual 'name' field
  • Loading branch information
jedwood committed Sep 14, 2012
1 parent 040a83a commit 69be3fe
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion controllers/exclusion.js
@@ -1,12 +1,27 @@
var Exclusion = require('../models/exclusion');

exports.index = function(req, res) {
var digDeeper = function(req, res) {
var prefixes = /^\(?(dr|mr|ms|mrs|col|sgt|sergeant|cpt|captain|ltc|major|maj|chief|cwo|ssg|sfc)\)?\.?\s/i;
var suffixes = /\s?(jr|sr|ii|iii|iv|v|esq|ph\.?d|m\.?d)\.?$/i;
var cleanNameBits = req.query.name.replace(prefixes, '').replace(suffixes, '').split(" ");
var firstName = cleanNameBits.shift();
var lastName = cleanNameBits.pop();

req.query = {first:firstName, last:lastName};
index(req, res);

};

var index = exports.index = function(req, res) {

var query = Exclusion.apiQuery(req.query);
var response = {};

query.exec(function (err, results) {
if (err) res.send({err:err});
else if (results.length === 0 && typeof req.query.first === 'undefined' && typeof req.query.name !== 'undefined') {
digDeeper(req, res);
}
else {
response.results = results;
response.meta = {
Expand All @@ -23,3 +38,5 @@ exports.index = function(req, res) {
});

};


0 comments on commit 69be3fe

Please sign in to comment.