blob: 7b210a6d8923c6beec375909d2a545f4ba9eb744 [file] [log] [blame]
[%# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Myk Melez <myk@mozilla.org>
#%]
[% PROCESS global/variables.none.tmpl %]
[% USE CGI %]
[%
# We use a query string rietveldreview=true to indicate when in rietveld mode.
rietveldReview = CGI.param('rietveldreview')
%]
<link href="skins/standard/global.css" rel="stylesheet" type="text/css">
<link href="skins/custom/global.css" rel="stylesheet" type="text/css">
<style>
* { font-size: small; }
#comment { width: 100%; height: 100%; font-family: monospace; }
#form-controls { height: 40px; }
#form-controls td { width: 25%; text-align: center; }
</style>
<script type="text/javascript">
<!--
var viewing_formatted_diff = true;
function viewPrettyPatch()
{
viewing_formatted_diff = !viewing_formatted_diff;
var src = "attachment.cgi?id=[% attachment.id %]";
var buttonText = "View Formatted Diff";
if (viewing_formatted_diff) {
src += "&action=prettypatch"
buttonText = "View Plain Diff";
}
top.document.getElementById('viewFrame').src = src;
document.getElementById('viewPrettyPatchButton').innerHTML = buttonText;
}
function onSubmitComments()
{
[% IF rietveldReview %]
var submitBtn = document.getElementById('submitBtn');
submitBtn.innerHTML = 'Fetching comments from Rietveld...';
submitBtn.disabled = true; // Disable since this is asynch.
top.getComments();
// Handle the error case of Rietveld not responding by giving
// the user another chance.
setTimeout(function() {
submitBtn.innerHTML = 'Fetching comments timed out ... retry?';
submitBtn.disabled = false;
}, 30000);
return false;
[% ELSE %]
// If someone just left the entire comment alone, then upload the form
// with no comment at all.
var textarea = document.getElementById("comment");
if (textarea.defaultValue === textarea.value)
textarea.value = "";
return true;
[% END %]
}
//-->
</script>
<form method="post" action="attachment.cgi" target="_top" onsubmit="return onSubmitComments();">
<input type="hidden" name="id" value="[% attachment.id %]">
<input type="hidden" name="action" value="update">
<input type="hidden" name="contenttypemethod" value="manual">
<input type="hidden" name="delta_ts" value="[% attachment.modification_time FILTER html %]">
[% IF user.id %]
<input type="hidden" name="token" value="[% issue_hash_token([attachment.id, attachment.modification_time]) FILTER html %]">
[% END %]
<input type="hidden" name="description" value="[% attachment.description FILTER html %]">
<input type="hidden" name="filename" value="[% attachment.filename FILTER html %]">
<input type="hidden" name="contenttypeentry" value="[% attachment.contenttype FILTER html %]">
<input type="hidden" name="ispatch" [% IF attachment.ispatch %] value="1" [% ELSE %] value="0" [% END %] >
<input type="hidden" name="isobsolete" [% IF attachment.isobsolete %] value="1" [% ELSE %] value="0" [% END %] >
[% IF (Param("insidergroup") && user.in_group(Param("insidergroup"))) %]
<input type="hidden" name="isprivate" [% IF attachment.isprivate %] value="1" [% ELSE %] value="0" [% END %] >
[% END %]
<table style="width:100%; height:90%" cellpadding=0 cellspacing=0>
<tr id="form-controls">
<td>
<button id="submitBtn" type="submit">Submit</button>
</td>
<td>
[% IF flag_types.size > 0 %]
[% PROCESS "flag/list.html.tmpl" bug_id=attachment.bug_id attach_id=attachment.id %]<br>
[% END %]
</td>
<td>
[% IF attachment.ispatch %]
<table>
<tr><th style="text-align: left;">Bot Status:</th></tr>
<tr>
<td>
<div class="statusBubble" style="margin-left: 30px;">
<iframe src="https://webkit-queues.appspot.com/status-bubble/[% attachment.id %]"
style="width: 400px; height: 20px; border: none;" scrolling="no">
</iframe>
</div>
</td>
</tr>
</table>
[% END %]
</td>
<td>
<div>Back to <a href="show_bug.cgi?id=[% attachment.bug_id %]" target="_top">[% terms.Bug %] #[% attachment.bug_id %]</a></div>
[% IF attachment.ispatch %]
<script type="text/javascript">
<!--
if (typeof document.getElementById == "function") {
document.write('<p><button type="button" id="viewPrettyPatchButton" onclick="viewPrettyPatch();">View Plain Diff</button></p>');
}
//-->
</script>
[% END %]
</td>
</tr>
<tr>
<td colspan="4">
[% IF rietveldReview %]
Enter high-level comments below. Make detailed comments above. Submit will submit both.<br>
[% ELSE %]
Enter comments below:<br>
[% END %]
<textarea id=comment name="comment" wrap="soft">
[% IF !rietveldReview %]
[% quotedpatch FILTER html %]
[% END %]
</textarea><br>
</tr>
</table>
</form>