Уважаемые, помогите разобраться с проблемой
Meteor js.
Для пагинации колекций использую alethes:meteor-pages
Проблема в следующем:
В пагинации, в auth устанавливаю фильтр (на сервере), если пользователь - менеджер, опубликовать только назначенных ему клиентов.
UsersPagination = new Meteor.Pagination(Meteor.users, {
...
auth: function(skip, sub){
//use alanning:roles
if(Roles.userIsInRole(sub.userId, ['admin'])) { // see all users
return Meteor.users.find({roles: 'user', user_status: {$in: [1,2,3,4,5]}}, {fields: {services: 0}});
} else if(Roles.userIsInRole(sub.userId, ['manager'])) { // see own users
return Meteor.users.find({manager_id: sub.userId, roles: 'user', user_status: {$in: [1,2,3,4,5]}}, {fields: {services: 0}});
} else {
console.log('whaa?');
return false ;
}
},
availableSettings: {
filters: true,
settings: true
}
});
Пользователи показываются, все нормально.
Далее, в шаблоне есть селект с фильтром по статусам пользователей:
Template.usersPaginate.events({
'change #user_status': function(event, template){
var status_id = parseInt(event.currentTarget.value, 10) ;
var filter = {} ;
if(status_id !== 0) {
filter.user_status = status_id ;
}
//....
UsersPagination.set({
filters: filter
});
}
});
При изменении фильтра, шаблон обновляется (появляется спиннер), т.е. видно что данные обновляются, НО фильтр который установили на клиенте не работает, т.е. отображаются пользователи со всеми статусами ... wtf ?