diff options
Diffstat (limited to 'bugzillaBugTriage.js')
-rw-r--r-- | bugzillaBugTriage.js | 146 |
1 files changed, 73 insertions, 73 deletions
diff --git a/bugzillaBugTriage.js b/bugzillaBugTriage.js index f1c5cd4..9bbe4e5 100644 --- a/bugzillaBugTriage.js +++ b/bugzillaBugTriage.js @@ -1,4 +1,4 @@ -/*jslint onevar: false, browser: true, evil: true, laxbreak: true, undef: true, nomen: true, eqeqeq: true, bitwise: true, maxerr: 100, immed: false, white: false, plusplus: false, regexp: false, undef: false */ +/*jslint onevar: false, browser: true, evil: true, laxbreak: true, undef: true, nomen: true, eqeqeq: true, bitwise: true, maxerr: 1000, immed: false, white: false, plusplus: false, regexp: false, undef: false */ /*global jQuery, $, jetpack */ // Released under the MIT/X11 license // http://www.opensource.org/licenses/mit-license.php @@ -197,9 +197,9 @@ Color.prototype.hs = function(nStr) { }; Color.prototype.toString = function() { - var rH = new Number(this.r.toFixed()).toString(16); - var gH = new Number(this.g.toFixed()).toString(16); - var bH = new Number(this.b.toFixed()).toString(16); + var rH = Number(this.r.toFixed()).toString(16); + var gH = Number(this.g.toFixed()).toString(16); + var bH = Number(this.b.toFixed()).toString(16); return "#"+this.hs(rH)+this.hs(gH)+this.hs(bH); }; @@ -207,7 +207,7 @@ Color.prototype.toString = function() { * Converts an RGB color value to HSL. Conversion formula * adapted from http://en.wikipedia.org/wiki/HSL_color_space. * Assumes r, g, and b are contained in the set [0, 255] and - * returns h, s, and l in the set [0, 1]. + * returns h, s, and l in the set [0, 1].4343 * * @param Number r The red color value * @param Number g The green color value @@ -379,8 +379,8 @@ Color.prototype.hsvToRgb = function (h, s, v){ */ Color.prototype.lightColor = function() { var hslArray = this.hsl(); - var h = new Number(hslArray[0]); - var s = new Number(hslArray[1]) * Desaturated; + var h = Number(hslArray[0]); + var s = Number(hslArray[1]) * Desaturated; var l = Luminosity; var desA = this.hslToRgb(h, s, l); return new Color(desA[0],desA[1],desA[2]); @@ -388,7 +388,7 @@ Color.prototype.lightColor = function() { //==================================================================================== -// bzPage's methods +// BzPage's methods /** * Check for the presence of a keyword @@ -396,7 +396,7 @@ Color.prototype.lightColor = function() { * @param str string with the keyword * @return Boolean */ -bzPage.prototype.hasKeyword = function (str) { +BzPage.prototype.hasKeyword = function (str) { var kwd = this.dok.getElementById('keywords').value.trim(); return (new RegExp(str).test(kwd)); }; @@ -407,7 +407,7 @@ bzPage.prototype.hasKeyword = function (str) { * @param str string with the keyword * @return none */ -bzPage.prototype.setKeyword = function (str) { +BzPage.prototype.setKeyword = function (str) { // Could be probably rewrote to use this.addTextToTextBox, but // it would be too complicated with a little gain. var keywordInput = this.dok.getElementById('keywords'); @@ -418,9 +418,9 @@ bzPage.prototype.setKeyword = function (str) { } }; -bzPage.prototype.getOptionValue = function (id) { +BzPage.prototype.getOptionValue = function (id) { return this.dok.getElementById(id).value; -} +}; /* Bugzilla functions.*/ @@ -429,7 +429,7 @@ bzPage.prototype.getOptionValue = function (id) { * * @return string */ -bzPage.prototype.getReporter = function () { +BzPage.prototype.getReporter = function () { return this.dok. querySelector("#bz_show_bug_column_2 > table .vcard:first-of-type > a"). textContent; @@ -441,13 +441,13 @@ bzPage.prototype.getReporter = function () { * * @return string (integer for released Fedora, float for RHEL, rawhide) */ -bzPage.prototype.getVersion = function () { +BzPage.prototype.getVersion = function () { var verStr = this.getOptionValue("version").toLowerCase(); var verNo = 0; if (/rawhide/.test(verStr)) { verNo = 999; } else { - verNo = new Number(verStr); + verNo = Number(verStr); } return verNo; }; @@ -457,7 +457,7 @@ bzPage.prototype.getVersion = function () { * @param element where to send mouseclick to * @return None */ -bzPage.prototype.clickMouse = function(target) { +BzPage.prototype.clickMouse = function(target) { var localEvent = this.dok.createEvent("MouseEvents"); localEvent.initMouseEvent("click", true, true, this.doc.defaultView, @@ -473,7 +473,7 @@ bzPage.prototype.clickMouse = function(target) { * * Checks for the existing keywords. */ -bzPage.prototype.addKeyword = function (str) { +BzPage.prototype.addKeyword = function (str) { this.addTextToTextBox("keywords",str); }; @@ -485,10 +485,10 @@ bzPage.prototype.addKeyword = function (str) { * * @return none */ -bzPage.prototype.addTextToTextBox = function(id,string2BAdded) { +BzPage.prototype.addTextToTextBox = function(id,string2BAdded) { var textBox = this.dok.getElementById(id); - var separator = ", " - if (textBox.tagName.toLowerCase() == "textarea") { + var separator = ", "; + if (textBox.tagName.toLowerCase() === "textarea") { separator = "\n\n"; } @@ -504,7 +504,7 @@ bzPage.prototype.addTextToTextBox = function(id,string2BAdded) { * Set background color of all comments made by reporter in ReporterColor color * */ -bzPage.prototype.checkComments = function () { +BzPage.prototype.checkComments = function () { var that = this; var comments = this.dok.getElementById("comments"). getElementsByClassName("bz_comment"); @@ -522,12 +522,12 @@ bzPage.prototype.checkComments = function () { * * @return Boolean true if it is a RHEL bug */ -bzPage.prototype.isRHEL = function() { +BzPage.prototype.isRHEL = function() { return (/Red Hat Enterprise Linux/).test(this.product); }; -bzPage.prototype.isTriaged = function() { +BzPage.prototype.isTriaged = function() { if (this.version > 11) { return this.hasKeyword("Triaged"); } else { @@ -545,7 +545,7 @@ bzPage.prototype.isTriaged = function() { * @return none * */ -bzPage.prototype.setBranding = function () { +BzPage.prototype.setBranding = function () { var brandColor = {}; var TriagedColor = {}; @@ -591,7 +591,7 @@ bzPage.prototype.setBranding = function () { // we should make visible whether maintCCAddr is in CCList if (isInList(this.maintCCAddr, this.CCList)) { - let ccEditBoxElem = this.dok.getElementById("cc_edit_area_showhide"); + var ccEditBoxElem = this.dok.getElementById("cc_edit_area_showhide"); //ccEditBoxElem.textContent = "*"+ccEditBoxElem.textContent; ccEditBoxElem.style.color = "navy"; ccEditBoxElem.style.fontWeight = "bolder"; @@ -607,7 +607,7 @@ bzPage.prototype.setBranding = function () { /** */ -bzPage.prototype.groupIDs = function (manStr,cardStrID) { +BzPage.prototype.groupIDs = function (manStr,cardStrID) { var outStr = filterByRegexp(chipIDsGroupings,manStr+","+cardStrID); if (outStr.length === 0) { outStr = "UNGROUPED_" + manStr+"/"+cardStrID; @@ -623,7 +623,7 @@ bzPage.prototype.groupIDs = function (manStr,cardStrID) { * * @return array with chip string and optinoal variants */ -bzPage.prototype.checkChipStringFromID = function (manufacturerNo,cardNo) { +BzPage.prototype.checkChipStringFromID = function (manufacturerNo,cardNo) { var soughtID = (manufacturerNo+","+cardNo).toUpperCase(); var outList = PCI_ID_Array[soughtID]; if (outList) { @@ -640,7 +640,7 @@ bzPage.prototype.checkChipStringFromID = function (manufacturerNo,cardNo) { * @param driverStr string with the driver name * @return None */ -bzPage.prototype.fillInWhiteBoard = function (iLine, driverStr) { +BzPage.prototype.fillInWhiteBoard = function (iLine, driverStr) { var outStr = ""; var cardIDStr = ""; var cardIDArr = []; @@ -702,7 +702,7 @@ bzPage.prototype.fillInWhiteBoard = function (iLine, driverStr) { * * @return none */ -bzPage.prototype.addNewButton = function (originalLocation,newId,newLabel, +BzPage.prototype.addNewButton = function (originalLocation,newId,newLabel, commentString,nState,secPar,doSubmit,after) { var that = this; var commStr = ""; @@ -739,7 +739,7 @@ bzPage.prototype.addNewButton = function (originalLocation,newId,newLabel, * * @return None */ -bzPage.prototype.fillInChipMagic = function () { +BzPage.prototype.fillInChipMagic = function () { var XorgLogURL = ""; var XorgLogAttID = ""; var XorgLogFound = false; @@ -786,7 +786,7 @@ bzPage.prototype.fillInChipMagic = function () { * * FIXME search only in the same version &version=11 */ -bzPage.prototype.queryInNewTab = function(text,component,product) { +BzPage.prototype.queryInNewTab = function(text,component,product) { // Optional parameter if (product === undefined) { product = this.product; @@ -813,7 +813,7 @@ bzPage.prototype.queryInNewTab = function(text,component,product) { * Get the text to search for and prepare other things for the real executive * function this.queryInNewTab, and run it. */ -bzPage.prototype.queryForSelection = function() { +BzPage.prototype.queryForSelection = function() { var text = jetpack.selection.text; if (!text) { text = jetpack.clipboard.get(); @@ -833,9 +833,9 @@ bzPage.prototype.queryForSelection = function() { integer of size in kilobytes, and the whole element itself */ -bzPage.prototype.parseAttachmentLine = function (inElem) { - var MIMEtype = new String(); - var size = new Number(); +BzPage.prototype.parseAttachmentLine = function (inElem) { + var MIMEtype = ""; + var size = 0; // Skip over obsolete attachments if (inElem.getElementsByClassName("bz_obsolete").length>0) { @@ -867,10 +867,10 @@ bzPage.prototype.parseAttachmentLine = function (inElem) { * @param label * @return none */ -bzPage.prototype.selectOption = function(id,label) { +BzPage.prototype.selectOption = function(id,label) { var sel = this.dok.getElementById(id); var options = Array.filter(sel.getElementsByTagName("option"), - function (x){ return x.value == label; } + function (x){ return x.value === label; } ); theOption = options.length ? options[0] : []; theOption.selected = true; @@ -886,7 +886,7 @@ bzPage.prototype.selectOption = function(id,label) { * @return Boolean * */ -bzPage.prototype.hasKeyword = function(str) { +BzPage.prototype.hasKeyword = function(str) { var kwd = this.dok.getElementById('keywords').value.trim(); return (new RegExp(str).test(kwd)); }; @@ -901,7 +901,7 @@ bzPage.prototype.hasKeyword = function(str) { * @return modified element with the fixed accesskey * FIXME isn't this closure and possible memleak? */ -bzPage.prototype.fixElement = function (elem,beforeText,accKey,afterText) { +BzPage.prototype.fixElement = function (elem,beforeText,accKey,afterText) { elem.setAttribute("accesskey",accKey.toLowerCase()); elem.innerHTML = beforeText + "<b><u>" + accKey + "</u></b>" + afterText; return elem; @@ -913,7 +913,7 @@ bzPage.prototype.fixElement = function (elem,beforeText,accKey,afterText) { * @param evt event which made this function active * @return none */ -bzPage.prototype.changeOwner = function(newAssignee) { +BzPage.prototype.changeOwner = function(newAssignee) { /** Take care that when changing assignment of the bug, * current owner is added to CC list. * Switch off setting to the default assignee @@ -935,7 +935,7 @@ bzPage.prototype.changeOwner = function(newAssignee) { * Working function. * @return none */ -bzPage.prototype.setNeedinfoReporter = function() { +BzPage.prototype.setNeedinfoReporter = function() { this.clickMouse(this.dok.getElementById("needinfo")); this.selectOption("needinfo_role", "reporter"); }; @@ -947,7 +947,7 @@ bzPage.prototype.setNeedinfoReporter = function() { * @param URLhostname string hostname of the external bugzilla * @return string with the string for the external_id SELECT */ -bzPage.prototype.getBugzillaName = function(URLhostname) { +BzPage.prototype.getBugzillaName = function(URLhostname) { var bugzillaID = ""; if (hashBugzillaName[URLhostname]) { bugzillaID = hashBugzillaName[URLhostname]; @@ -963,7 +963,7 @@ bzPage.prototype.getBugzillaName = function(URLhostname) { * @param bugID Number which is bug ID * @return string with the URL */ -bzPage.prototype.getWholeURL = function(selectValue,bugID) { +BzPage.prototype.getWholeURL = function(selectValue,bugID) { var returnURL = ""; if (hashBugzillaWholeURL[selectValue]) { returnURL = hashBugzillaWholeURL[selectValue]+bugID; @@ -983,7 +983,7 @@ bzPage.prototype.getWholeURL = function(selectValue,bugID) { * + responseHeaders * + responseText */ -bzPage.prototype.callBack = function(data,textStatus) { +BzPage.prototype.callBack = function(data,textStatus) { if (--this.reqCounter <= 0) { setTimeout(document.location.reload,1000); } @@ -1014,7 +1014,7 @@ Update the attachment mime type of an attachment. The first argument is a data h # OPTIONAL Flag that is either 1 or 0 if you want email to be sent or not for this change }; */ -bzPage.prototype.createXMLRPCMessage = function(login,password,attachId,mimeType,email) { +BzPage.prototype.createXMLRPCMessage = function(login,password,attachId,mimeType,email) { if (mimeType === undefined) { mimeType = "text/plain"; } @@ -1060,7 +1060,7 @@ bzPage.prototype.createXMLRPCMessage = function(login,password,attachId,mimeType * @param id integer with the attachment id to be fixed * @param type string with the new MIME type, e.g. "text/plain" */ -bzPage.prototype.fixAttachById = function(id,type) { +BzPage.prototype.fixAttachById = function(id,type) { var msg = this.createXMLRPCMessage(this.login,this.password,id,type); var ret = $.ajax({ type: "POST", @@ -1075,7 +1075,7 @@ bzPage.prototype.fixAttachById = function(id,type) { this.reqCounter++; }; -bzPage.prototype.fixAllAttachments = function(list) { +BzPage.prototype.fixAllAttachments = function(list) { var tmpElem = {}; for(var i=0;i<list.length;i++) { @@ -1091,7 +1091,7 @@ bzPage.prototype.fixAllAttachments = function(list) { * @return button fixing all bad Attachments * FIXME deJQuerize!!! */ -bzPage.prototype.createFixAllButton = function (list) { +BzPage.prototype.createFixAllButton = function (list) { var that = this; var elem = this.dok.createElement("a"); elem.setAttribute("href",""); @@ -1109,7 +1109,7 @@ bzPage.prototype.createFixAllButton = function (list) { * @param <TR> DOM jQuery element with a bad attachment * @return none */ -bzPage.prototype.addTextLink = function (row) { +BzPage.prototype.addTextLink = function (row) { var that = this; var elemS = row.getElementsByTagName("td"); var elem = elemS[elemS.length-1]; @@ -1125,7 +1125,7 @@ bzPage.prototype.addTextLink = function (row) { * * @return none */ -bzPage.prototype.addClosingUpstream = function() { +BzPage.prototype.addClosingUpstream = function() { var refs = this.dok.getElementById("external_bugs_table"). getElementsByTagName("tr"); // that's a bad id, if there is a one. :) @@ -1181,7 +1181,7 @@ bzPage.prototype.addClosingUpstream = function() { * @param array array of data for buttons to be generated * @return none */ -bzPage.prototype.generateToolBar = function(anchor,array) { +BzPage.prototype.generateToolBar = function(anchor,array) { for (var i=0; i<array.length; i++) { var butt = array[i]; this.addNewButton(anchor, butt.idx, @@ -1201,7 +1201,7 @@ bzPage.prototype.generateToolBar = function(anchor,array) { * for reason of closing the bug * @return none */ -bzPage.prototype.generalPurposeCureForAllDisease = function +BzPage.prototype.generalPurposeCureForAllDisease = function (addString,nextState,secondParameter) { var verNo = this.getVersion(); @@ -1289,7 +1289,7 @@ bzPage.prototype.generalPurposeCureForAllDisease = function /** * */ -bzPage.prototype.parseBacktrace = function (ret) { +BzPage.prototype.parseBacktrace = function (ret) { var splitArray = ret.split("\n"); var i = 0, ii = splitArray.length; var outStr = "", curLine = "", numStr = ""; @@ -1328,7 +1328,7 @@ bzPage.prototype.parseBacktrace = function (ret) { * @param jsonList Array created from JSON * @return none */ -bzPage.prototype.buildButtons = function (above,below) { +BzPage.prototype.buildButtons = function (above,below) { //Generate a list of <input> elements in the page this.addNewButton(this.dok.getElementById("commit_top"), "changeOwnerbtn","reASSIGN","","ASSIGNED","NODEFAULTASSIGNEE"); @@ -1368,7 +1368,7 @@ bzPage.prototype.buildButtons = function (above,below) { }; /////////////////////////////////////////////////////////////////////////////// -function bzPage(doc) { +function BzPage(doc) { this.doc = $(doc); this.dok = doc; var that = this; @@ -1379,17 +1379,17 @@ function bzPage(doc) { if (myConfig.BZpassword) { this.password = myConfig.BZpassword; } else { - let prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] + var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService(Components.interfaces.nsIPromptService); - let password = {value: ""}; // default the password to pass - let check = {value: true}; // default the checkbox to true - let result = prompts.promptPassword(null, + var password = {value: ""}; // default the password to pass + var check = {value: true}; // default the checkbox to true + var result = prompts.promptPassword(null, "Title", "Enter password:", password, null, check); // result is true if OK was pressed, false if cancel was pressed. password.value is // set if OK was pressed. The checkbox is not displayed. if (result) { this.password = password.value; - myConfig.BZpassword = this.password; + myConfig.BZpassword = this.password; } var bugNoTitle = $("#title > p:first", this.doc).text().trim(); @@ -1418,7 +1418,7 @@ function bzPage(doc) { this.reqCounter=0; var atts = this.dok.getElementById("attachment_table"). getElementsByTagName("tr"); - for (let i = 1, ii = atts.length-1; i < ii; i++) { + for (var i = 1, ii = atts.length-1; i < ii; i++) { this.attachments.push(this.parseAttachmentLine(atts[i])); } @@ -1442,20 +1442,20 @@ function bzPage(doc) { var bugTitle = this.dok.getElementById("short_desc_nonedit_display").textContent; if (AbrtRE.test(bugTitle)) { - var notedLabel = this.dok.querySelector("label[for='newcc']"); - while (notedLabel.firstChild) { - let node = notedLabel.removeChild(notedLabel.firstChild); - notedLabel.parentNode.insertBefore(node,notedLabel); - }; - notedLabel.parentNode.removeChild(notedLabel); + var notedLabel = this.dok.querySelector("label[for='newcc']"); + while (notedLabel.firstChild) { + var node = notedLabel.removeChild(notedLabel.firstChild); + notedLabel.parentNode.insertBefore(node,notedLabel); + } + notedLabel.parentNode.removeChild(notedLabel); - this.dok.getElementsByClassName("bz_alias_short_desc_container")[0]. - innerHTML = "\u00A0<a accesskey='a' href='"+ - abrtQueryURL+"'>Abrt bugs</a>"; + this.dok.getElementsByClassName("bz_alias_short_desc_container")[0]. + innerHTML = "\u00A0<a accesskey='a' href='"+ + abrtQueryURL+"'>Abrt bugs</a>"; if (!(this.hasKeyword("Triaged") || - /btparsed/.test(this.dok. - getElementById("cf_devel_whiteboard").value))) { + (/btparsed/.test(this.dok. + getElementById("cf_devel_whiteboard").value)))) { var btAttachments = this.attachments.filter(function (att,idx,arr) { return (/backtrace/.test(att[0])); }); @@ -1499,7 +1499,7 @@ function bzPage(doc) { } var callback = function (doc) { - var curPage = new bzPage(doc); + var curPage = new BzPage(doc); }; var options = {}; |