var roleModule = require(./libs/roles);
var checkRole = function (name) { // пишем middleware один раз и для всех, передаем имя роутера через замыкание
return function (req, res, next) {
roleModule.hasPermission(req.currUser.role, name, function(permitted){ // возвращать флаг первым параметром ОЧЕНЬ плохая практика, по соглашению в node.js первым аргумент в коллбеке должна быть ошибка
if (permitted)
next();
else
res.sendStatus(403);
})
}
}
var router = express.Router();
router.use(checkRole("%name")); // где name это имя вашего модуля
app.use('/user', router);
$('#jform_settings_seo-lbl').tooltip();
$('#dateDepartureInput, #dateArrivalInput').on('focus', function () {
$(this).siblings('.js-datepicker-wrap').removeClass('hidden');
}).on('focusout', function () {
var $this = $(this);
setTimeout(function () {
$this.siblings('.js-datepicker-wrap').addClass('hidden');
}, 500);
});
$('#dateDepartureInput, #dateArrivalInput').datepicker({
showOn: "focus"
});
var isArray = Array.isArray || function (arr) {
return Object.prototype.toString.call(arr) === "[object Array]";
}
var isObject = function (obj) {
return Object.prototype.toString.call(obj) === "[object Object]";
}
function three (tr) {
var paths = [];
function findPath(branch, str) {
Object.keys(branch).forEach(function (key) {
if (isArray(branch[key]) || isObject(branch[key]))
findPath(branch[key], str ? str + "." + key : key);
else
paths.push(str ? str + "." + key : key);
});
}
findPath(tr, "");
return paths;
}
[
"MainService.0.Id",
"MainService.0.Name",
"MainService.0.MainService.0.Id",
"MainService.0.MainService.0.Name",
"MainService.0.MainService.0.Service.0.Id",
"MainService.0.MainService.0.Service.0.Name"
]
$('.views-field-field-jtc-top .field-content').each(function(){
var text = $(this).text();
if (text == '1') {
$(this).addClass('first-rating');
} else if (text == '2') {
$(this).addClass('twise-rating');
} else if (text == '3') {
$(this).addClass('three-rating');
} else {
$(this).addClass('other-rating');
}
});
MainController.prototype.findAll = function() {
var self = this;
return function (req, res) {
self.model.find({}, function (err, results) {
if (err) res.json({"findAll": err});
res.json(results); // вы забыли else, здесь будет ошибка повторной отправки данных!
});
}
};
/* -------------- */
app.get('/users', userController.findAll());
function setHash(newHash) {
location.hash = 'someHashThatDoesntExist'; // несуществующий хеш или пустой хеш (как вы правильно делаете в своем же ответе)
location.hash = newHash;
}
if (location.hash) { // на случай рефреша
document.addEventListener("DOMContentLoaded", function(event) {
setHash(location.hash);
});
}