mypackage_wrt/Bugzilla.js
author victorp@symbian.org
Wed, 05 May 2010 11:52:23 +0100
changeset 43 a6c61f6ea350
parent 42 20be4dd42b12
child 50 29d06ba03163
permissions -rwxr-xr-x
version 0.2a for Mypackage widget, changes to the Open bugs quaery to not include enhancements
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     1
// ////////////////////////////////////////////////////////////////////////////
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     2
// Symbian Foundation Example Code
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     3
//
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     4
// This software is in the public domain. No copyright is claimed, and you 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     5
// may use it for any purpose without license from the Symbian Foundation.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     6
// No warranty for any purpose is expressed or implied by the authors or
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     7
// the Symbian Foundation. 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     8
// ////////////////////////////////////////////////////////////////////////////
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     9
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    10
var bugzillaTableStyle = "bugzilla";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    11
var mypackage;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    12
var open_reader;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    13
var proposed_reader;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    14
var features_reader;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    15
var newtext ="New Bugs";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    16
var proposedtext ="Proposed Fixes";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    17
var featurestext = "My Feature Backlog";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    18
var forum_reader;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    19
var open_presenter;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    20
var features_presenter;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    21
var proposed_presenter;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    22
var mybuilds;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    23
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    24
// Bugzilla access 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    25
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    26
function BugzillaSearchPanel(parent) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    27
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    28
	//ListView.prototype.init.call(this, null, null);	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    29
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    30
	// add the banner and 'title bar' - avoids the caption bug
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    31
	this.openButton = new NavigationButton (1,"right.gif", newtext);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    32
	this.ProposedButton = new NavigationButton (1,"right.gif", proposedtext);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    33
	this.featuresButton = new NavigationButton (1,"right.gif", featurestext);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    34
	this.BuildButton = new NavigationButton (1,"right.gif", "Package Build Results");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    35
	this.ForumButton = new NavigationButton (1,"right.gif", "My Discussion Forum");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    36
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    37
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    38
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    39
	var self = this;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    40
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    41
	mylabel = new Label ("packagelabel",null);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    42
	this.addControl (mylabel);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    43
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    44
    this.openButton.addEventListener("ActionPerformed", function(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    45
		open_reader.update(true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    46
		open_reader.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    47
	});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    48
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    49
	this.addControl(this.openButton);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    50
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    51
	this.ProposedButton.addEventListener("ActionPerformed", function(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    52
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    53
		proposed_reader.update(true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    54
		proposed_reader.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    55
	});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    56
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    57
	this.addControl(this.ProposedButton);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    58
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    59
	this.featuresButton.addEventListener("ActionPerformed", function(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    60
		features_reader.update(true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    61
		features_reader.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    62
	});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    63
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    64
	this.addControl(this.featuresButton);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    65
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    66
	mybuilds = new buildview(this);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    67
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    68
	this.BuildButton.addEventListener("ActionPerformed", function(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    69
		//openURL (buildresultsUrl + Packageid);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    70
		mybuilds.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    71
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    72
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    73
	});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    74
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    75
	this.addControl(this.BuildButton);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    76
	this.ForumButton.addEventListener("ActionPerformed", function(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    77
		self.readforum();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    78
	});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    79
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    80
	this.addControl(this.ForumButton);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    81
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    82
	mypackage=Packageid;	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    83
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    84
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    85
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    86
	//self.update(true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    87
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    88
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    89
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    90
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    91
BugzillaSearchPanel.prototype = new ListView("bugzillaview","<img src=logo.png>");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    92
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    93
BugzillaSearchPanel.prototype.update = function(myflag){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    94
	var self = this;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    95
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    96
	if (myflag) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    97
		self.openbugs();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    98
		self.proposedbugs();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    99
		self.features();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   100
		mylabel.setText(Packageid);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   101
		mybuilds.update(true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   102
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   103
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   104
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   105
//http://developer.symbian.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&content=test&field-1-0-0=bug_status&field-1-1-0=product&field-1-2-0=content&product=classicui&query_format=specific&remaction=&type-1-0-0=anyexact&type-1-1-0=anyexact&type-1-2-0=matches&value-1-0-0=UNCONFIRMED%2CNEW%2CASSIGNED&value-1-1-0=classicui&value-1-2-0=test&title=Bug%20List&ctype=atom
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   106
BugzillaSearchPanel.prototype.bugzillaSearchClicked = function() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   107
	// create the RssReader for bugzilla
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   108
	if(!Packageid){return;}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   109
	var searchString = Packageid;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   110
	var title = "Bugzilla: " + searchString;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   111
	var url = symbianOrgBaseUrl + "/bugs/buglist.cgi?"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   112
		+ "bug_status=NEW"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   113
		+ "&field-1-0-0=bug_status&field0-0-0=product&"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   114
		+ "&query_format=advanced&remaction=&type-1-0-0=anyexact"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   115
		+ "&type0-0-0=substring&type0-0-3=substring"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   116
		+ "&value-1-0-0=NEW"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   117
		+ "&value0-0-0=" + searchString
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   118
		+ "&title=Bug List&ctype=atom";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   119
	var reader = new RssReader(title, url, new BugzillaFeedPresenter(null), this, parseBugzillaFeed);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   120
	reader.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   121
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   122
BugzillaSearchPanel.prototype.openbugs = function() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   123
	// create the RssReader for bugzilla
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   124
	if(!Packageid){return;}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   125
	mypackage=Packageid;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   126
	var title = newtext + " : " + mypackage;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   127
	var url = symbianOrgBaseUrl + "/bugs/buglist.cgi?"
43
a6c61f6ea350 version 0.2a for Mypackage widget, changes to the Open bugs quaery to not include enhancements
victorp@symbian.org
parents: 42
diff changeset
   128
		+ "bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=NEW&bug_severity=Critical&bug_severity=Major&bug_severity=normal&bug_severity=Minor"
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   129
		+ "&bugidtype=include&chfieldfrom=&chfieldto=Now&chfieldvalue=&deadlinefrom=&deadlineto=&email1=&email2=&emailassigned_to1=1"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   130
		+ "&emailassigned_to2=1&emailcc2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field-1-0-0=product&field-1-1-0=bug_status&field-1-2-0=bug_severity&field0-0-0=noop&keywords=&keywords_type=allwords&long_desc=&long_desc_type=substring"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   131
	    + "&product=" + mypackage
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   132
		+ "&query_format=advanced&remaction=&short_desc=&short_desc_type=allwordssubstr&"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   133
		+ "type-1-0-0=anyexact"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   134
		+ "&type-1-2-0=anyexact"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   135
		+ "&type-1-1-0=anyexact&type0-0-0=noop&"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   136
		+ "value-1-0-0=" + mypackage
43
a6c61f6ea350 version 0.2a for Mypackage widget, changes to the Open bugs quaery to not include enhancements
victorp@symbian.org
parents: 42
diff changeset
   137
		+ "&value-1-2-0=critical&Cmajor&normal&minor"
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   138
		+ "&value-1-1-0=NEW"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   139
		+ "&value0-0-0=&title=Bug%20List&ctype=atom";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   140
	open_presenter=new BugzillaFeedPresenter(null);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   141
	open_reader = new RssReader(title, url, open_presenter, this, parseBugzillaFeed);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   142
	open_reader.UpdateButton = this.openButton;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   143
	open_reader.ButtonText=newtext;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   144
	open_reader.update(true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   145
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   146
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   147
BugzillaSearchPanel.prototype.proposedbugs = function() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   148
	// create the RssReader for bugzilla
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   149
	if(!Packageid){return;}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   150
	mypackage=Packageid;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   151
	var title = proposedtext + " : " + mypackage;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   152
	var url = symbianOrgBaseUrl + "/bugs/buglist.cgi?"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   153
		+ "bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=Proposed"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   154
		+ "&bugidtype=include&chfieldfrom=&chfieldto=Now&chfieldvalue=&deadlinefrom=&deadlineto=&email1=&email2=&emailassigned_to1=1"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   155
		+ "&emailassigned_to2=1&emailcc2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field-1-0-0=product&field-1-1-0=bug_status&field-1-2-0=bug_severity&field0-0-0=noop&keywords=&keywords_type=allwords&long_desc=&long_desc_type=substring"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   156
	    + "&product=" + mypackage
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   157
		+ "&query_format=advanced&remaction=&short_desc=&short_desc_type=allwordssubstr&"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   158
		+ "type-1-0-0=anyexact"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   159
		+ "&type-1-2-0=anyexact"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   160
		+ "&type-1-1-0=anyexact&type0-0-0=noop&"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   161
		+ "value-1-0-0=" + mypackage
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   162
		+ "&value-1-2-0=critical%2Cmajor%2Cnormal%2Cminor%2Cenhancement"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   163
		+ "&value-1-1-0=PROPOSED"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   164
		+ "&value0-0-0=&title=Bug%20List&ctype=atom";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   165
	proposed_presenter=new BugzillaFeedPresenter(null);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   166
	proposed_reader = new RssReader(title, url, proposed_presenter, this, parseBugzillaFeed);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   167
	proposed_reader.UpdateButton = this.ProposedButton;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   168
	proposed_reader.ButtonText=proposedtext;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   169
	proposed_reader.update(true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   170
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   171
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   172
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   173
BugzillaSearchPanel.prototype.features = function() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   174
	// create the RssReader for bugzilla
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   175
	if(!Packageid){return;}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   176
	mypackage=Packageid;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   177
	var title = featurestext + " : " + mypackage;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   178
	var url = symbianOrgBaseUrl + "/bugs/buglist.cgi?"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   179
		+ "bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=NEW&bug_status=ASSIGNED&bug_status=PROPOSED&bug_severity=Feature"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   180
		+ "&bugidtype=include&chfieldfrom=&chfieldto=Now&chfieldvalue=&deadlinefrom=&deadlineto=&email1=&email2=&emailassigned_to1=1"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   181
		+ "&emailassigned_to2=1&emailcc2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field-1-0-0=product&field-1-1-0=bug_status&field-1-2-0=bug_severity&field0-0-0=noop&keywords=&keywords_type=allwords&long_desc=&long_desc_type=substring"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   182
	    + "&product=" + mypackage
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   183
		+ "&query_format=advanced&remaction=&short_desc=&short_desc_type=allwordssubstr&"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   184
		+ "type-1-0-0=anyexact"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   185
		+ "&type-1-2-0=anyexact"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   186
		+ "&type-1-1-0=anyexact&type0-0-0=noop&"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   187
		+ "value-1-0-0=" + mypackage
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   188
		+ "&value-1-2-0=Feature"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   189
		+ "&value-1-1-0=NEW&PROPOSED&ASSIGNED"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   190
		+ "&value0-0-0=&title=Bug%20List&ctype=atom";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   191
	features_presenter=new BugzillaFeedPresenter(null);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   192
	features_reader = new RssReader(title, url, features_presenter, this, parseBugzillaFeed);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   193
	features_reader.UpdateButton = this.featuresButton;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   194
	features_reader.ButtonText=featurestext;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   195
	features_reader.update(true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   196
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   197
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   198
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   199
BugzillaSearchPanel.prototype.readforum = function() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   200
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   201
	if (!myforumid) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   202
		var forum_choose = new RssReader(mypackage, forumsListUrl + "18", new ForumsSettingsFeedPresenter(null), bugzilla, forumListResponseParser);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   203
		forum_choose.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   204
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   205
	else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   206
		forum_reader = new RssReader(myforumtitle, forumFeedURL + forumsForumSpecQuery + myforumid, new ThreadListFeedPresenter(null), bugzilla, null);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   207
		forum_reader.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   208
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   209
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   210
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   211
function parseBugzillaFeed(broker, responseStatus, xmlDoc) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   212
    if (responseStatus == 200 && xmlDoc != null) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   213
        // node ref for iterating
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   214
        var node;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   215
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   216
		// for compatibility with rss
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   217
		var lastModified = new Date();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   218
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   219
        // init result items array
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   220
        var items = [];
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   221
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   222
		var itemElements = xmlDoc.getElementsByTagName("entry");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   223
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   224
		for (var i = 0; i < itemElements.length; i++) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   225
            // iterate through child nodes of this item and gather
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   226
            // all the data we need for a feed item
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   227
            var title = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   228
            var date = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   229
            var description = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   230
            var url = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   231
            var author = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   232
			var bugid;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   233
            node = itemElements[i].firstChild;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   234
            while (node != null) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   235
                if (node.nodeType == Node.ELEMENT_NODE) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   236
                    if (node.nodeName == "title") {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   237
                        // item title
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   238
                        title = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   239
						if ( title.length > 48) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   240
							title = title.substring(0,45) + "...";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   241
						}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   242
                    } else if (node.nodeName == "updated" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   243
                        // item publishing date
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   244
                        date = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   245
                    } else if (node.nodeName == "summary" && !this.ignoreContent ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   246
                        // item description
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   247
                        description = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   248
                    } else if (node.nodeName == "link") {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   249
                        // link URL
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   250
                        url = node.getAttribute("href");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   251
						// extract bug id
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   252
						var ind = url.indexOf("?id=");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   253
						if ( ind != -1 ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   254
							bugid = url.substring(ind + 4);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   255
							url = symbianOrgBaseUrl + "/bugtracker/show_bug.cgi?ctype=xml&id="+bugid;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   256
						}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   257
                    } else if (node.nodeName == "author" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   258
						author = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   259
					}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   260
                }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   261
                node = node.nextSibling;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   262
            }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   263
            items.push({ title: title, date: date, description: description, url: url, author: author });
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   264
		}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   265
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   266
        // update was completed successfully
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   267
        return { status: "ok", lastModified: lastModified, items: items };
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   268
    } else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   269
        // update failed
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   270
        return { status: "error" };
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   271
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   272
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   273
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   274
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   275
// Implementation of FeedPresenter that shows feed as a clickable
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   276
// button and shows feed entry title as label
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   277
function BugzillaFeedPresenter(rssreader) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   278
	ButtonFeedPresenter.prototype.init.call(this, rssreader);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   279
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   280
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   281
// BugzillaFeedPresenter is a subclass of ButtonFeedPresenter
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   282
BugzillaFeedPresenter.prototype = new ButtonFeedPresenter(null);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   283
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   284
// Handle the button-press
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   285
BugzillaFeedPresenter.prototype.feedClicked = function(event){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   286
	var clickedButton = event.source;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   287
	var id = clickedButton.id;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   288
	var url = this.items[id].url;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   289
	var presenter = new HtmlFeedPresenter(null);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   290
	presenter.expanded = true;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   291
	var reader = new RssReader(this.items[id].title, url, 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   292
		presenter, uiManager.currentView, parseBugzillaBugFeed);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   293
	reader.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   294
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   295
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   296
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   297
function parseBugzillaBugFeed(broker, responseStatus, xmlDoc) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   298
    if (responseStatus == 200 && xmlDoc != null) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   299
        // node ref for iterating
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   300
        var node;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   301
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   302
		// for compatibility with rss
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   303
		var lastModified = new Date();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   304
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   305
        // init result items array
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   306
        var items = [];
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   307
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   308
		var itemElements = xmlDoc.getElementsByTagName("bug");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   309
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   310
		for (var i = 0; i < itemElements.length; i++) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   311
            // iterate through child nodes of this item and gather
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   312
            // all the data we need for a feed item
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   313
            var title = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   314
            var date = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   315
            var url = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   316
            var author = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   317
			var bugid = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   318
			var creationTime = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   319
			var product = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   320
			var component = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   321
			var classification = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   322
			var op_sys = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   323
			var bug_status = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   324
			var bug_file_loc = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   325
			var priority = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   326
			var severity = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   327
			var target_milestone = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   328
			var version = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   329
			var platform = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   330
			var assignedToName = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   331
			var solutionDetails = "Not specified";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   332
			var keywords = "None";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   333
			var longdesc = "";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   334
			var shortDesc = "";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   335
			var bugid = "";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   336
			var buglink = "";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   337
			
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   338
            node = itemElements[i].firstChild;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   339
            while (node != null) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   340
                if (node.nodeType == Node.ELEMENT_NODE) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   341
                    if (node.nodeName == "bug_id") {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   342
                        // item title
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   343
                        bugid = "Bug " + getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   344
						buglink = bugUrl + getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   345
                    } else if (node.nodeName == "updated" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   346
                        // item publishing date
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   347
                        date = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   348
                    } else if (node.nodeName == "creation_ts" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   349
                        // item publishing date
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   350
                        creationTime = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   351
                    } else if (node.nodeName == "short_desc" && !this.ignoreContent ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   352
                        // item description
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   353
                        title = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   354
                    } else if (node.nodeName == "reporter" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   355
						author = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   356
					} else if (node.nodeName == "product" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   357
                        product = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   358
					} else if (node.nodeName == "component" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   359
                        component = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   360
					} else if (node.nodeName == "classification" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   361
                        classification = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   362
					} else if (node.nodeName == "version" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   363
                        version = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   364
					} else if (node.nodeName == "op_sys" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   365
                        op_sys = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   366
					} else if (node.nodeName == "bug_status" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   367
                        bug_status = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   368
					} else if (node.nodeName == "bug_file_loc" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   369
                        bug_file_loc = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   370
					} else if (node.nodeName == "priority" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   371
                        priority = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   372
					} else if (node.nodeName == "bug_severity" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   373
                        severity = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   374
					} else if (node.nodeName == "target_milestone" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   375
                        target_milestone = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   376
					} else if (node.nodeName == "platform" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   377
                        platform = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   378
					} else if (node.nodeName == "cf_solutiondetails" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   379
                        solutionDetails = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   380
					} else if (node.nodeName == "keywords" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   381
                        keywords = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   382
					} else if (node.nodeName == "long_desc" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   383
                        longdesc += "<br><table style="+bugzillaTableStyle+">";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   384
						var ld_nodes = node.childNodes;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   385
						for ( var tmp = 0 ; tmp < ld_nodes.length ; tmp++ ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   386
	                        longdesc += "<tr><td>" 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   387
								+ getTextOfNode(ld_nodes[tmp]) + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   388
						}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   389
                        longdesc += "</table>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   390
					} else if (node.nodeName == "assigned_to" ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   391
                        assignedToName = getTextOfNode(node);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   392
					} 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   393
                }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   394
                node = node.nextSibling;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   395
            }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   396
			// format the description
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   397
			
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   398
			   var mybuf = "<br><div class=\"FeedItemLink\">";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   399
	           mybuf += "<a href=\"JavaScript:void(0)\" onclick=\"openURL('" + buglink + "'); return false;\">";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   400
    	       mybuf += "Click here to edit...";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   401
        	   mybuf += "</a>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   402
        	   mybuf += "</div><br>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   403
			var description = "<table style="+bugzillaTableStyle+">";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   404
			description += "<tr><td>Reported:" + "</td><td>" + creationTime + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   405
			description += "<tr><td>Product:" + "</td><td>" + product + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   406
			description += "<tr><td>Component:" + "</td><td>" + component + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   407
			description += "<tr><td>Classification:" + "</td><td>" + classification + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   408
		//	description += "<tr><td>Operating system:" + "</td><td>" + op_sys + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   409
			description += "<tr><td>Status:" + "</td><td>" + bug_status + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   410
			description += "<tr><td>Priority:" + "</td><td>" + priority + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   411
			description += "<tr><td>Severity:" + "</td><td>" + severity + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   412
			description += "<tr><td>Version:" + "</td><td>" + version + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   413
		//	description += "<tr><td>Platform:" + "</td><td>" + platform + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   414
			description += "<tr><td>Reported by:" + "</td><td>" + author + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   415
			description += "<tr><td>Assigned to:" + "</td><td>" + assignedToName + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   416
		//	description += "<tr><td>Target milestone:" + "</td><td>" + target_milestone + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   417
		//	description += "<tr><td>File location:" + "</td><td>" + bug_file_loc + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   418
			description += "<tr><td>keywords:" + "</td><td>" + keywords + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   419
			description += "</table>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   420
			
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   421
			description +=  mybuf ;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   422
			
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   423
			description += "<table style="+bugzillaTableStyle+">";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   424
			description += "<tr><td>Description:" + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   425
			description += "<tr><td>" + longdesc + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   426
			description += "</table>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   427
			
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   428
			description += "<table style="+bugzillaTableStyle+">";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   429
			description += "<tr><td>Solution details:" + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   430
			description += "<tr><td>" + solutionDetails + "</td></tr>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   431
			description += "</table>";			
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   432
			
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   433
            items.push({ title: title, date: date, description: description, url: null, author: author });
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   434
		}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   435
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   436
        // update was completed successfully
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   437
        return { status: "ok", lastModified: lastModified, items: items };
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   438
    } else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   439
        // update failed
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   440
        return { status: "error" };
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   441
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   442
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   443