lpsolit%gmail.com d820bc8f07 Bug 313256: Update CSS for attachment comment in real time to private comments - Patch by André Batosti <batosti@async.com.br> r=vladd a=myk
git-svn-id: svn://10.0.0.236/trunk@192021 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-08 22:41:51 +00:00

290 lines
9.6 KiB
Cheetah

[%# 1.0@bugzilla.org %]
[%# 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>
# Joel Peshkin <bugreport@peshkin.net>
# Erik Stambaugh <erik@dasbistro.com>
#%]
[% PROCESS global/variables.none.tmpl %]
[%# Define strings that will serve as the title and header of this page %]
[% title = BLOCK %]Create New Attachment for [% terms.Bug %] #[% bugid %][% END %]
[% h1 = BLOCK %]Create New Attachment for
[%+ "$terms.Bug $bugid" FILTER bug_link(bugid) FILTER none %][% END %]
[% h2 = BLOCK %][% bugsummary FILTER html %][% END %]
[% PROCESS global/header.html.tmpl
title = title
h1 = h1
h2 = h2
style = "
table.attachment_entry th {
text-align: right;
vertical-align: baseline;
white-space: nowrap;
}
table.attachment_entry td {
text-align: left;
vertical-align: baseline;
padding-bottom: 5px;
}
table#flags th, table#flags td {
text-align: left;
vertical-align: baseline;
font-size: small;
}
"
onload="setContentTypeDisabledState();"
%]
[% IF Param("allow_attach_url") %]
<script type="text/javascript">
function URLFieldHandler() {
var field_attachurl = document.getElementById("attachurl");
var greyfields = new Array("data", "ispatch", "autodetect",
"list", "manual", "bigfile",
"contenttypeselection",
"contenttypeentry");
var i;
if (field_attachurl.value.match(/^\s*$/)) {
for (i = 0; i < greyfields.length; i++) {
thisfield = document.getElementById(greyfields[i]);
if (thisfield) {
thisfield.removeAttribute("disabled");
}
}
} else {
for (i = 0; i < greyfields.length; i++) {
thisfield = document.getElementById(greyfields[i]);
if (thisfield) {
thisfield.setAttribute("disabled", "disabled");
}
}
}
}
function DataFieldHandler() {
var field_data = document.getElementById("data");
var greyfields = new Array("attachurl");
if (field_data.value.match(/^\s*$/)) {
var i;
for (i = 0; i < greyfields.length; i++) {
thisfield = document.getElementById(greyfields[i]);
if (thisfield) {
thisfield.removeAttribute("disabled");
}
}
} else {
for (i = 0; i < greyfields.length; i++) {
thisfield = document.getElementById(greyfields[i]);
if (thisfield) {
thisfield.setAttribute("disabled", "disabled");
}
}
}
}
</script>
[% END %]
<script type="text/javascript">
function updateCommentPrivacy(checkbox) {
var text_elem = document.getElementById('comment');
if (checkbox.checked) {
text_elem.className='bz_private';
} else {
text_elem.className='';
}
}
</script>
<form name="entryform" method="post" action="attachment.cgi" enctype="multipart/form-data">
<input type="hidden" name="bugid" value="[% bugid %]">
<input type="hidden" name="action" value="insert">
<table class="attachment_entry">
<tr>
<th><label for="data">File:</label></th>
<td>
<em>Enter the path to the file on your computer.</em><br>
<input type="file" id="data" name="data" size="50"
[% IF Param("allow_attach_url") %]
onchange="DataFieldHandler()"
[% END %]
>
</td>
</tr>
[% IF Param("maxlocalattachment") %]
<tr>
<th>BigFile:</th>
<td>
<input type="checkbox" id="bigfile"
name="bigfile" value="bigfile">
<label for="bigfile">
Big File - Stored locally and may be purged
</label>
</td>
</tr>
[% END %]
[% IF Param("allow_attach_url") %]
<tr>
<th><label for="attachurl">AttachURL:</label></th>
<td>
<em>URL to be attached instead.</em><br>
<input type="text" id="attachurl" name="attachurl" size="60"
maxlength="2000"
onkeyup="URLFieldHandler()" onblur="URLFieldHandler()">
</td>
</tr>
[% END %]
<tr>
<th><label for="description">Description:</label></th>
<td>
<em>Describe the attachment briefly.</em><br>
<input type="text" id="description" name="description" size="60" maxlength="200">
</td>
</tr>
<tr>
<th></th>
<td>
</td>
</tr>
<tr>
<th>Content Type:</th>
<td>
<em>If the attachment is a patch, check the box below.</em><br>
<input type="checkbox" id="ispatch" name="ispatch" value="1"
onchange="setContentTypeDisabledState();">
<label for="ispatch">patch</label><br><br>
<em>Otherwise, choose a method for determining the content type.</em><br>
<input type="radio" id="autodetect"
name="contenttypemethod" value="autodetect" checked="checked">
<label for="autodetect">auto-detect</label><br>
<input type="radio" id="list"
name="contenttypemethod" value="list">
<label for="list">select from list:</label>
<select name="contenttypeselection" id="contenttypeselection"
onchange="this.form.contenttypemethod[1].checked = true;">
[% PROCESS "attachment/content-types.html.tmpl" %]
</select><br>
<input type="radio" id="manual"
name="contenttypemethod" value="manual">
<label for="manual">enter manually:</label>
<input type="text" name="contenttypeentry" id="contenttypeentry"
size="30" maxlength="200"
onchange="if (this.value) this.form.contenttypemethod[2].checked = true;">
</td>
</tr>
[% IF (Param("insidergroup") && UserInGroup(Param("insidergroup"))) %]
<tr>
<th>Privacy:</th>
<td>
<em>If the attachment is private, check the box below.</em><br>
<input type="checkbox" name="isprivate" id="isprivate"
value="1" onClick="updateCommentPrivacy(this)">
<label for="isprivate">Private</label>
</td>
</tr>
[% END %]
<tr>
<th>Obsoletes:</th>
<td>
<em>(optional) Check each existing attachment made obsolete by your new attachment.</em><br>
[% IF attachments.size %]
[% FOREACH attachment = attachments %]
[% IF ((attachment.isprivate == 0) || (Param("insidergroup")
&& UserInGroup(Param("insidergroup")))) %]
<input type="checkbox" id="[% attachment.id %]"
name="obsolete" value="[% attachment.id %]">
<a href="attachment.cgi?id=[% attachment.id %]&amp;action=edit">[% attachment.id %]: [% attachment.description FILTER html %]</a><br>
[% END %]
[% END %]
[% ELSE %]
[no attachments can be made obsolete]
[% END %]
</td>
</tr>
[% IF (user.id != bugassignee_id) AND user.groups.editbugs %]
<tr>
<th>Reassignment:</th>
<td>
<em>If you want to assign this [% terms.bug %] to yourself,
check the box below.</em><br>
<input type="checkbox" id="takebug" name="takebug" value="1">
<label for="takebug">take [% terms.bug %]</label>
</td>
</tr>
[% END %]
<tr>
<td> </td>
<td>
[% IF flag_types.size > 0 %]
[% PROCESS "flag/list.html.tmpl" bug_id=bugid attach_id=attachid %]<br>
[% END %]
</td>
</tr>
<tr>
<th><label for="comment">Comment:</label></th>
<td>
<em>(optional) Add a comment about this attachment to the [% terms.bug %].</em><br>
[% INCLUDE global/textarea.html.tmpl
name = 'comment'
id = 'comment'
minrows = 6
maxrows = 15
cols = constants.COMMENT_COLS
wrap = 'soft'
%]
</td>
</tr>
<tr>
<th>&nbsp;</th>
<td><input type="submit" value="Submit"></td>
</tr>
</table>
</form>
<script type="text/javascript">
<!--
function setContentTypeDisabledState()
{
var entryform = document.entryform;
var isdisabled = false;
if (entryform.ispatch.checked)
isdisabled = true;
for (var i=0 ; i<entryform.contenttypemethod.length ; i++)
entryform.contenttypemethod[i].disabled = isdisabled;
entryform.contenttypeselection.disabled = isdisabled;
entryform.contenttypeentry.disabled = isdisabled;
}
//-->
</script>
[% PROCESS global/footer.html.tmpl %]