1

我正在使用流星表格并发布复合插件。

我想根据用户角色发布/订阅用户数据,用户数据正在发送到客户端,但表格插件不显示(仅适用于管理员角色,超级管理员角色显示正常,请参见下面的代码)。

我的发布代码:

Meteor.publishComposite('tabular_users', function (tableName, ids, fields) {

    this.unblock(); 

    return {
        find: function () {
            if (Roles.userIsInRole(this.userId, ['super-admin'], 'admin')) {

                return Meteor.users.find({_id: {$in: ids}}, {fields: fields});

            } else if (Roles.userIsInRole(this.userId, ['admin'], 'property-managers')) {

                return Meteor.users.find({ "$and" : [
                    { _id: { $in: ids } },
                    { "profile.property_manager_id": Meteor.users.findOne(this.userId).profile.property_manager_id }
                ]}, {fields: fields});

            } else {

                this.stop();
                return;

            }

        },
        children: [
            {
                find: function(user) {
                    return PropertyManagers.find(
                        { _id: user.profile.property_manager_id }
                    );
                }
            }
        ]
    };
});
4

0 回答 0