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