diff options
Diffstat (limited to 'data/rhlib/addAttachmentRow.js')
-rw-r--r-- | data/rhlib/addAttachmentRow.js | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/data/rhlib/addAttachmentRow.js b/data/rhlib/addAttachmentRow.js new file mode 100644 index 0000000..63babcd --- /dev/null +++ b/data/rhlib/addAttachmentRow.js @@ -0,0 +1,63 @@ +//Released under the MIT/X11 license +//http://www.opensource.org/licenses/mit-license.php +"use strict"; + +//FIXME resp is JSON, not XML anymore +function addAttachmentCallback(resp) { + var newAttachID = parseInt( + resp.params.param.value.array.data.value.int, 10); + console.log("attachID = " + newAttachID); + // FIXME callback.call(param, newAttachID, data.length); +} + +/** + * + * This has to stay in RHBugzillaPage because upstream doesn't have + * addAttachment XML-RPC call yet. + * + Params: $params = { + id => '<bug_id>', # ID of the bug report + comment => "<Attachment Comment>", # OPTIONAL Text string containing comment to add. + description => "<Attachment Description>", # REQUIRED Text Description of the attachment. + isprivate => <Private Attachment ON/OFF 1/0>, # OPTIONAL Whether the Attachment + will be private # Default: false + filename => "<Attachment Filename>", REQUIRED The name of the file to attach to the bug report. + obsoletes => [List of attach_id's to obsolete], OPTIONAL List if attachment ids that are + obsoleted by this new attachment. + ispatch => <Patch Attachment True/False 1/0>, OPTIONAL Whether the attachment is a Patch + or not, if not provided the it will be considered NON Patch attachment. + contenttype => "<Attachment Content Type>", OPTIONAL If the attachment is patch + REQUIRED If the attachment is not a patch + If the attachment is patch then contenttype will always be text/plain + data => "<Encoded String of the Attachment Data>", REQUIRED It is a base64 + encoded string of the actual attachment data. + nomail => 0, OPTIONAL Flag that is either 1 or 0 if you want email + to be send ot not for this change } + */ +function addAttachment(data, callback, param) { + var params = []; + + if (!constantData.passwordState.passAvailable) { + console + .error("addAttachment : No password, no XML-RPC calls; sorry"); + return null; + } + + var params = { + id : getBugNo(), + description : titleParsedAttachment, + filename : "parsed-backtrace.txt", + contenttype : "text/plain", + data : window.btoa(data), + nomail : true + }; + + self.postMessage(new Message("MakeJSONRPCall", { + url : constantData.XMLRPCData[window.location.hostname].url + .replace("xmlrpc.cgi", "jsonrpc.cgi"), + method : "bugzilla.addAttachment", + params : params, + callRPC : "AddAttachmentCallback" + })); + reqCounter++; +} |