1

私は Rally API と JS、そして Stackoverflow についてはまったくの初心者です。これまで、Stackoverflow を使用してすべての質問に回答してきましたが、新しい TimeEntryValues の追加について何も見つけられないようです。

新しい TimeEntryValues を追加できるアプリを構築しています。TimeEntryアイテムを追加またはロードすることはできますが、TimeEntryValues については、ブラウザーでトレースを見ると時間フィールドしか投稿していないように見えます。

同じ問題を示す単純化されたコードを次に示します。

    launch: function(){      
    //For this example, pre-define Time Entry Reference, Date, and Hour value
    var myTimeEntryItem = "/timeentryitem/1234";
    var myDateValue = "2016-05-20T00:00:00.000Z";
    var myHours = 2.5;

    //Check if Time Entry Value (TEV) already exists
    var TEVstore = Ext.create('Rally.data.WsapiDataStore', {
        model: 'TimeEntryValue',
        fetch: ['ObjectID','TimeEntryItem','Hours','DateVal'],
        filters: [{
            property: 'TimeEntryItem',
            operator: '=',
            value: myTimeEntryItem
        },
        {
            property: 'DateVal',
            operator: '=',
            value: myDateValue
        }],

        autoLoad: true,
        listeners: {
            load: function(TEVstore, tevrecords, success) {
                //No record found - TEV does not exist
                if (tevrecords.length === 0) {
                    console.log("Creating new TEV record");

                    Rally.data.ModelFactory.getModel({
                        type: 'TimeEntryValue',
                        success: function(tevModel) {
                            var newTEV = Ext.create(tevModel, {
                                DateVal: myDateValue,
                                Hours: myHours,
                                TimeEntryItem: myTimeEntryItem
                            });

                            newTEV.save({
                                callback: function(result, operation) {
                                    if(operation.wasSuccessful()) {
                                        console.log("Succesful Save");
                                        //Do something here
                                    }
                                }
                            });
                        }
                    });
                } else {
                    console.log("TEV Record exists.");
                    //Do something useful here
                }
            }
        },
        scope: this
    });                            
}

私が間違っていることのヒントは大歓迎です。ありがとう

4

1 に答える 1