2016-08-17 7 views

Antwort

1

Also fange ich an, es herauszufinden.

geklont ich das Paket hier beschrieben unter Verwendung der Technik: https://stackoverflow.com/a/30864393/55124

nun in die lib/server/publish.coffee Datei Ich suche die Veröffentlichung zu bearbeiten.

Meteor.publishComposite 'adminCollectionDoc', (collection, id) -> 
    check collection, String 
    check id, Match.OneOf(String, Mongo.ObjectID) 
    if Roles.userIsInRole this.userId, ['admin'] 
     find: -> 
      adminCollectionObject(collection).find(id) 
     children: AdminConfig?.collections?[collection]?.children or [] 
    else 
     @ready() 

Meteor.publish 'adminUsers', -> 
    if Roles.userIsInRole @userId, ['admin'] 
     Meteor.users.find() 
    else 
     @ready() 

Meteor.publish 'adminUser', -> 
    Meteor.users.find @userId 

Meteor.publish 'adminCollectionsCount', -> 
    handles = [] 
    self = @ 

_.each AdminTables, (table, name) -> 
    id = new Mongo.ObjectID 
    count = 0 
    table = AdminTables[name] 
    ready = false 
    selector = if table.selector then table.selector(self.userId) else {} 
    handles.push table.collection.find().observeChanges 
     added: -> 
      count += 1 
      ready and self.changed 'adminCollectionsCount', id, {count: count} 
     removed: -> 
      count -= 1 
      ready and self.changed 'adminCollectionsCount', id, {count: count} 
    ready = true 

    self.added 'adminCollectionsCount', id, {collection: name, count: count} 

self.onStop -> 
    _.each handles, (handle) -> handle.stop() 
self.ready() 

Meteor.publish null, -> 
    Meteor.roles.find({}) 

Aber es stellt sich heraus, es so einfach ist, die eine Linie in lib als Ändern/beide/startup.js

return AdminTables[name] = new Tabular.Table({ 
    name: name, 
    collection: adminCollectionObject(name), 
    pub: collection.children && adminTablePubName(name), 
    sub: collection.sub, 
    columns: columns, 
    extraFields: collection.extraFields, 
    dom: adminTablesDom, 
    selector: collection.selector || function(userId) { 
    return { owner: userId }; 
    } 

eine leere Auswahlfunktion war, und ich habe Rückkehr Eigentümer hinzugefügt: Benutzeridentifikation.

Verwandte Themen