カスタムかんばんボードを作成しました。ボード内のカードにボタンがあり、誰かが項目のコード レビューを行うときに受け取ることができます。ボタンをクリックしたら、ライブデータをチェックして、画面がロードされてから誰も主張していないことを確認したかった.
ストーリーであればすべて機能していますが、欠陥であれば問題がありました。そのため、コードを確認しているときに、a を実行したことに気付きRally.data.ModelFactory.getModel
ましたmodel.load
。
.getModels
ですから、これを変更して、ストーリーと欠陥の両方を組み込むようにタイプを変更する必要があると考えています。ただし、これを行う場合、どうすればそれを適切に検索に入れることができますか。ロードして確認する方法に行き詰まっています。
コード スニペットは次のとおりです。
if (this.getRecord().get("StoryStatus") == "Review Ready") {
if (this.getRecord().get("CodeReviewedBy") == '') {
content.add([{ xtype: 'button',
text: 'I will review',
scale: 'small',
listeners: {
click: function (btn, e, eOpts) {
// Verify nobody has claimed it yet !
var mod = Rally.data.ModelFactory.getModels({
types: ['HierarchicalRequirement', 'Defect'],
success: function (models) {
var model;
debugger;
if (models.Defect) model = models.Defect
else model = models.HierarchicalRequirement;
model.load(eOpts.scope.record.internalId, {
fetch: ['CodeReviewedBy'],
success: function (currentRecord) {
var currentCRB = currentRecord.get("CodeReviewedBy");
if (currentCRB) {
window.alert('While you were sitting around doing nothing, ' + currentCRB + ' already started reviewing this code');
} else {
var con = Rally.environment.getContext();
currentRecord.set("CodeReviewedBy", con.context.user._refObjectName);
currentRecord.save();
location.reload(true);
//eOpts.scope.refresh();
}
}
});
}
});
this.refresh()
},
scope: this
}
}]);
} else {
content.add([{ xtype: 'label',
html: '<b>Being reviewed by: </b>' + this.getRecord().get("CodeReviewedBy") + '<br>'
}]);
}
}