[%# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # This Source Code Form is "Incompatible With Secondary Licenses", as # defined by the Mozilla Public License, v. 2.0. #%] [% max_local = Param('maxlocalattachment') * 1024 %] [% max_limit = Param('maxattachmentsize')> max_local ? Param('maxattachmentsize') : max_local %] <tr class="attachment_data"> <th><label for="data">File</label>:</th> <td> <em>Enter the path to the file on your computer</em> (or <a id="attachment_data_controller" href="javascript:TUI_toggle_class('attachment_text_field'); javascript:TUI_toggle_class('attachment_data')" >paste text as attachment</a>).<br> <input type="file" id="data" name="data" size="50" onchange="DataFieldHandler()"> <br><em>(File size limit: [% max_limit FILTER html %] KB)</em> </td> </tr> <tr class="attachment_text_field"> <th><label for="attach_text">File</label>:</th> <td> <em>Paste the text to be added as an attachment</em> (or <a id="attachment_text_field_controller" href="javascript:TUI_toggle_class('attachment_text_field'); javascript:TUI_toggle_class('attachment_data')" >attach a file</a>).<br> <textarea id="attach_text" name="attach_text" cols="80" rows="15" onkeyup="TextFieldHandler()" onblur="TextFieldHandler()"></textarea> </td> </tr> <tr> <th class="required"><label for="description">Description</label>:</th> <td> <em>Describe the attachment briefly.</em><br> <input type="text" id="description" name="description" class="required" size="60" maxlength="200"> </td> </tr> <tr[% ' class="expert_fields"' UNLESS bug.id %]> <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(this.form);"> <label for="ispatch">patch</label><br><br> [%# Reset this whenever the page loads so that the JS state is up to date %] <script type="text/javascript"> YAHOO.util.Event.onDOMReady(function() { bz_fireEvent(document.getElementById('ispatch'), 'change'); }); </script> <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 content_types %] </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> <tr[% ' class="expert_fields"' UNLESS bug.id %]> <td> </td> <td> [% IF flag_types && flag_types.size > 0 %] [% PROCESS "flag/list.html.tmpl" %]<br> [% END %] </td> </tr> [% BLOCK content_types %] [% mimetypes = [{type => "text/plain", desc => "plain text"}, {type => "text/html", desc => "HTML source"}, {type => "application/xml", desc => "XML source"}, {type => "image/gif", desc => "GIF image"}, {type => "image/jpeg", desc => "JPEG image"}, {type => "image/png", desc => "PNG image"}, {type => "application/pdf", desc => "PDF document"}, {type => "application/octet-stream", desc => "binary file"}] %] [% Hook.process("mimetypes", "attachment/createformcontents.html.tmpl") %] [% FOREACH m = mimetypes %] <option value="[% m.type FILTER html %]">[% m.desc FILTER html %] ([% m.type FILTER html %])</option> [% END %] [% END %]