我正在尝试编写一个过滤器,它将在Rally项目中生成当前的所有版本,定义为在今天之前或之后开始,并在今天之后结束。
var today = new Date();
var releaseDateFilter = Ext.create('Rally.data.wsapi.Filter', {
property : 'ReleaseDate',
operator : '>',
value : today
});
var releaseFilter = releaseDateFilter.and(Ext.create(
'Rally.data.wsapi.Filter', {
property : 'ReleaseStartDate',
operator : '<=',
value : today
}));
console.log(releaseFilter.toString());
var myStore = Ext.create('Rally.data.wsapi.Store',
{
model : 'Release',
fetch : [ 'FormattedID', 'Name', 'ReleaseDate',
'ReleaseStartDate' ],
limit : Infinity,
filters : releaseFilter,
context : {
project : '/project/XXXXXXX',
projectScopeDown : true
},
autoLoad : true,
listeners : {
load : function(myStore, myData, mySuccess) {
// Do stuff here
},
scope : this
}
});
过滤器的console.log输出:
((ReleaseDate > Thu Feb 06 2014 11:54:26 GMT-0800 (Pacific Standard Time)) AND
(ReleaseStartDate <= Thu Feb 06 2014 11:54:26 GMT-0800 (Pacific Standard Time)))
数据存储中没有记录。如果我注释掉过滤器,则数据存储有289条记录。
当我通过Rally的WSAPI帮助页面尝试此查询时,我获得了129个版本。
答案 0 :(得分:0)
Rally的Webservices API中的日期需要格式化为ISO8601字符串,即:
2014-02-06T11:10:14.000Z
尝试使用Rally.util.DateTime.toIsoString,如下所示:
var today = Rally.util.DateTime.toIsoString(new Date());
您的过滤器应该按预期工作。