1

カスタムかんばんボードを作成しました。ボード内のカードにボタンがあり、誰かが項目のコード レビューを行うときに受け取ることができます。ボタンをクリックしたら、ライブデータをチェックして、画面がロードされてから誰も主張していないことを確認したかった.

ストーリーであればすべて機能していますが、欠陥であれば問題がありました。そのため、コードを確認しているときに、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>'
                        }]);
                    }
                }
4

1 に答える 1

2

レコードを取得したら、実際に self プロパティを使用してモデルを取得できます。これにより、ModelFactory.getModels を再度使用する必要がなくなります。

var model = this.getRecord().self;
model.load(this.getRecord().get('ObjectID'), {
    //fetch, success, etc...
});
于 2012-08-28T16:56:49.077 に答える