从LookBack使用用户ID检索用户名

菲利普·约翰斯顿

我正在使用LookBack获取历史修订信息。我得到_User值,它是一个用户ID。我将如何检索相应的用户名?

我玩过ModelFactories,但没有成功。

 //use lookback api to retrieve user story info
 _createRevisionInfo: function(record, item)
 {
  var userStoryID = item.get('FormattedID');
  var userStoryName = item.get('Name');
  var snapShotFilters = this._getSnapShotFilters(userStoryName, userStoryID);

  //create store
  this.snapshotStore = Ext.create('Rally.data.lookback.SnapshotStore',
  {
    fetch: ['ScheduleState', '_ValidFrom', 'PlanEstimate', '_User'],
        autoLoad: true,
        filters: snapShotFilters,
        hydrate: ['ScheduleState'],
        sortOnFilter: true,
        sortonload: true,
        .
        .
     });
},

_onSnapShotStoreLoad: function()
{       
    if(!this.down('#my-grid2'))
    {
    var columnCfgs = [
        {
            width: 175,
            text: 'Date Changed',
        },
        {
            text: 'State Change',
            width: 335,
        },
        {
            text: 'Author', 
            dataIndex: '_User',
            width: 175,
        }];

        this._createGrid(......);
    }
},
凯尔·莫尔斯

不幸的是,没有办法让用户从回溯api中获得好处。那真是太好了!

现在,最好的选择是在回溯数据返回后,查询wsapi以查找需要合并的所有用户。像这样吗

_onSnapshotStoreLoad: function(store) {
    var userOids = _.uniq(_.map(store.getRange(), function(record) { return record.get('_User'); }));

    Ext.create('Rally.data.wsapi.Store', {
        autoLoad: true,
        model: 'User',
        filters: [{ property: 'ObjectID', operator: 'in', value: userOids.join(',')}]
    });
}

然后,当存储负载很大时,您可以像以前一样将数据整理到回溯数据中并创建网格。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章