I am working on a Rally App I am using a Store to pull data from the Portfolio/Feature Modle. This is working as expected. I want to convert what the lisener returns to an arry The issue I am facing is the array is just retruning the Object and I need the data from the Object Property. Results of the array look like this
["F1870", "25343 - some project name ", "", Object, Object, Mon Apr 27 2015 02:00:00 GMT-0400 (Eastern Daylight Time)]
The first Objects Value should be John Smith. John Smith Sits in the propery of the
Object
0: "F1870"
1: "25343 - Some "
2: ""
3: Object
_p: "0"_ref: "blah Balh"
_refObjectName: "John Smith"
_refObjectUUID: "blah blah"
_type:
Owner[_refObjectName] what i need to get and i am lost.
******Edited To add more detials**** The store returns values look like this
data: Object
FormattedID:F1223
Name: Some project
Description: Blah blah blah
Owner: Object _p:
_ref:
_refObjectName: John Smith
I need the array to return
FormattedID:F1223
Name: Some project
Description: Blah blah blah
Owner: John Smith
Here is the code i have so far.
Ext.define('CustomApp', {
extend: 'Rally.app.App',
componentCls: 'app',
launch: function () {
console.log("App Launched")
//App Calls the portfolio feature data store
this._getfeaturedatastore();
},
//Get the portfolio feature data from Rally
_getfeaturedatastore: function(){
var getfeaturedata = Ext.create('Rally.data.wsapi.Store', {
model: 'PortfolioItem/Feature',
autoLoad: true,
//Create Fillter for the Store
filters: [
{
property: 'State.Name',
value: 'Story Definition',
}
],
listeners: {
load: function(getfeaturedatastore, getfeaturedatadata, success) {
console.log("Got Feature Data Woot",getfeaturedatastore, getfeaturedatadata, success)
this._displayFeatureCard(getfeaturedata);
},
scope: this
},
fetch: ['State', 'Name', 'Description', 'Owner', 'Parent','PlannedStartDate','FormattedID','Tags']
});
},
_displayFeatureCard: function(getfeaturedata){
var MAX_NAME_LEN = 115;
var name,i,theMarkup, description, owner, parent, plannedstartdate, formattedid;
var data =[];
getfeaturedata.each(function(record){
var recordArray = [
record.get("FormattedID"),
record.get("Name"),
record.get("Description"),
record.get("Owner"),
record.get("Parent"),
record.get("PlannedStartDate")
];
data.push(recordArray);
console.log(recordArray)
});
The clues as to what data you have access to and how to do it, is accessible via the WebServices documentation ( go to the help link accessible via your avatar in the top right hand corner)
Any artifact that is held in the Rally database can come back to you looking like: a string, a number, an object or a collection (of objects).
In the case of the 'Owner' of a portfolio item, it is an object of type User. The contents of the object describe the owner and not just providing the name. As it is an object, you have to do record.get("Owner") to get the object and then do record.get("Owner").Name to get the name of the owner.
FormattedID comes back as a string, so you just need to do record.get("FormattedID") to get the text.