From 2addcaadedfe714bd0502911cc85cdab24736465 Mon Sep 17 00:00:00 2001 From: Frédéric Buclin Date: Sun, 18 Jul 2010 19:17:26 +0200 Subject: Bug 119703: Create an attachment by pasting it into a text field r/a=mkanat --- Bugzilla/Attachment.pm | 56 +++------------------- Bugzilla/Config/Attachment.pm | 5 -- Bugzilla/DB/Schema.pm | 2 - Bugzilla/Field.pm | 1 - Bugzilla/Install/DB.pm | 19 ++++++-- Bugzilla/WebService/Bug.pm | 35 +++++--------- Bugzilla/WebService/Constants.pm | 4 +- attachment.cgi | 5 +- bugzilla.dtd | 1 - docs/en/xml/using.xml | 10 +++- js/attachment.js | 12 ++--- post_bug.cgi | 7 ++- .../en/default/admin/params/attachment.html.tmpl | 4 -- template/en/default/attachment/create.html.tmpl | 8 +++- .../attachment/createformcontents.html.tmpl | 30 ++++++------ template/en/default/attachment/edit.html.tmpl | 44 +++++------------ template/en/default/attachment/list.html.tmpl | 5 +- template/en/default/bug/create/create.html.tmpl | 3 +- template/en/default/bug/show.xml.tmpl | 1 - template/en/default/global/code-error.html.tmpl | 6 +-- template/en/default/global/field-descs.none.tmpl | 1 - template/en/default/global/user-error.html.tmpl | 14 +----- xt/lib/Bugzilla/Test/Search/Constants.pm | 6 --- 23 files changed, 93 insertions(+), 186 deletions(-) diff --git a/Bugzilla/Attachment.pm b/Bugzilla/Attachment.pm index 0f91d29c4..f63973875 100644 --- a/Bugzilla/Attachment.pm +++ b/Bugzilla/Attachment.pm @@ -83,7 +83,6 @@ sub DB_COLUMNS { isobsolete ispatch isprivate - isurl mimetype modification_time submitter_id), @@ -107,14 +106,13 @@ use constant UPDATE_COLUMNS => qw( use constant VALIDATORS => { bug => \&_check_bug, description => \&_check_description, + filename => \&_check_filename, ispatch => \&Bugzilla::Object::check_boolean, isprivate => \&_check_is_private, - isurl => \&_check_is_url, mimetype => \&_check_content_type, }; use constant UPDATE_VALIDATORS => { - filename => \&_check_filename, isobsolete => \&Bugzilla::Object::check_boolean, }; @@ -268,21 +266,6 @@ sub ispatch { =over -=item C - -whether or not the attachment is a URL - -=back - -=cut - -sub isurl { - my $self = shift; - return $self->{isurl}; -} - -=over - =item C whether or not the attachment is obsolete @@ -527,7 +510,7 @@ sub _check_bug { sub _check_content_type { my ($invocant, $content_type) = @_; - $content_type = 'text/plain' if (ref $invocant && ($invocant->isurl || $invocant->ispatch)); + $content_type = 'text/plain' if (ref $invocant && $invocant->ispatch); my $legal_types = join('|', LEGAL_CONTENT_TYPES); if (!$content_type or $content_type !~ /^($legal_types)\/.+$/) { ThrowUserError("invalid_content_type", { contenttype => $content_type }); @@ -541,17 +524,8 @@ sub _check_data { my ($invocant, $params) = @_; my $data = $params->{data}; - if ($params->{isurl}) { - ($data && $data =~ m#^(http|https|ftp)://\S+#) - || ThrowUserError('attachment_illegal_url', { url => $data }); + $params->{filesize} = ref $data ? -s $data : length($data); - $params->{mimetype} = 'text/plain'; - $params->{ispatch} = 0; - $params->{filesize} = length($data); - } - else { - $params->{filesize} = ref $data ? -s $data : length($data); - } Bugzilla::Hook::process('attachment_process_data', { data => \$data, attributes => $params }); @@ -576,11 +550,7 @@ sub _check_description { } sub _check_filename { - my ($invocant, $filename, $is_url) = @_; - - $is_url = $invocant->isurl if ref $invocant; - # No file is attached, so it has no name. - return '' if $is_url; + my ($invocant, $filename) = @_; $filename = trim($filename); $filename || ThrowUserError('file_not_specified'); @@ -612,15 +582,6 @@ sub _check_is_private { return $is_private; } -sub _check_is_url { - my ($invocant, $is_url) = @_; - - if ($is_url && !Bugzilla->params->{'allow_attach_url'}) { - ThrowCodeError('attachment_url_disabled'); - } - return $is_url ? 1 : 0; -} - =pod =head2 Class Methods @@ -783,8 +744,6 @@ Params: takes a hashref with the following keys: attachment is a patch. C - boolean (optional, default false) - true if the attachment is private. - C - boolean (optional, default false) - true if the - attachment is a URL pointing to some external ressource. Returns: The new attachment object. @@ -852,7 +811,6 @@ sub run_create_validators { $params->{data} = $class->_check_data($params); $params = $class->SUPER::run_create_validators($params); - $params->{filename} = $class->_check_filename($params->{filename}, $params->{isurl}); $params->{creation_ts} ||= Bugzilla->dbh->selectrow_array('SELECT LOCALTIMESTAMP(0)'); $params->{modification_time} = $params->{creation_ts}; $params->{submitter_id} = Bugzilla->user->id || ThrowCodeError('invalid_user'); @@ -917,8 +875,8 @@ sub remove_from_db { $dbh->bz_start_transaction(); $dbh->do('DELETE FROM flags WHERE attach_id = ?', undef, $self->id); $dbh->do('DELETE FROM attach_data WHERE id = ?', undef, $self->id); - $dbh->do('UPDATE attachments SET mimetype = ?, ispatch = ?, isurl = ?, isobsolete = ? - WHERE attach_id = ?', undef, ('text/plain', 0, 0, 1, $self->id)); + $dbh->do('UPDATE attachments SET mimetype = ?, ispatch = ?, isobsolete = ? + WHERE attach_id = ?', undef, ('text/plain', 0, 1, $self->id)); $dbh->bz_commit_transaction(); } @@ -930,7 +888,7 @@ sub remove_from_db { sub get_content_type { my $cgi = Bugzilla->cgi; - return 'text/plain' if ($cgi->param('ispatch') || $cgi->param('attachurl')); + return 'text/plain' if ($cgi->param('ispatch') || $cgi->param('attach_text')); my $content_type; if (!defined $cgi->param('contenttypemethod')) { diff --git a/Bugzilla/Config/Attachment.pm b/Bugzilla/Config/Attachment.pm index ed4c4e459..e6e3b7f3d 100644 --- a/Bugzilla/Config/Attachment.pm +++ b/Bugzilla/Config/Attachment.pm @@ -58,11 +58,6 @@ sub get_param_list { type => 'b', default => 0 }, - { - name => 'allow_attach_url', - type => 'b', - default => 0 - }, { name => 'maxattachmentsize', diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm index a00a7b9d9..a4d44d191 100644 --- a/Bugzilla/DB/Schema.pm +++ b/Bugzilla/DB/Schema.pm @@ -453,8 +453,6 @@ use constant ABSTRACT_SCHEMA => { DEFAULT => 'FALSE'}, isprivate => {TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 'FALSE'}, - isurl => {TYPE => 'BOOLEAN', NOTNULL => 1, - DEFAULT => 'FALSE'}, ], INDEXES => [ attachments_bug_id_idx => ['bug_id'], diff --git a/Bugzilla/Field.pm b/Bugzilla/Field.pm index c0e88fc37..484d6536a 100644 --- a/Bugzilla/Field.pm +++ b/Bugzilla/Field.pm @@ -238,7 +238,6 @@ use constant DEFAULT_FIELDS => ( buglist => 1}, {name => 'content', desc => 'Content'}, {name => 'attach_data.thedata', desc => 'Attachment data'}, - {name => 'attachments.isurl', desc => 'Attachment is a URL'}, {name => "owner_idle_time", desc => "Time Since Assignee Touched"}, {name => 'see_also', desc => "See Also", type => FIELD_TYPE_BUG_URLS}, diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index 225e862de..33f37208f 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -429,10 +429,6 @@ sub update_table_definitions { # PUBLIC is a reserved word in Oracle. $dbh->bz_rename_column('series', 'public', 'is_public'); - # 2005-09-28 bugreport@peshkin.net Bug 149504 - $dbh->bz_add_column('attachments', 'isurl', - {TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 0}); - # 2005-10-21 LpSolit@gmail.com - Bug 313020 $dbh->bz_add_column('namedqueries', 'query_type', {TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 0}); @@ -630,6 +626,9 @@ sub update_table_definitions { $dbh->bz_alter_column('products', 'allows_unconfirmed', { TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 'TRUE' }); + # 2010-07-18 LpSolit@gmail.com - Bug 119703 + _remove_attachment_isurl(); + ################################################################ # New --TABLE-- changes should go *** A B O V E *** this point # ################################################################ @@ -3401,6 +3400,18 @@ sub _fix_series_creator_fk { } } +sub _remove_attachment_isurl { + my $dbh = Bugzilla->dbh; + + if ($dbh->bz_column_info('attachments', 'isurl')) { + # Now all attachments must have a filename. + $dbh->do('UPDATE attachments SET filename = ? WHERE isurl = 1', + undef, 'url.txt'); + $dbh->bz_drop_column('attachments', 'isurl'); + $dbh->do("DELETE FROM fielddefs WHERE name='attachments.isurl'"); + } +} + 1; __END__ diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm index 78709d81e..6065ee493 100644 --- a/Bugzilla/WebService/Bug.pm +++ b/Bugzilla/WebService/Bug.pm @@ -623,7 +623,6 @@ sub add_attachment { mimetype => $params->{content_type}, ispatch => $params->{is_patch}, isprivate => $params->{is_private}, - isurl => $params->{is_url}, }); my $comment = $params->{comment} || ''; $attachment->bug->add_comment($comment, @@ -846,7 +845,6 @@ sub _attachment_to_hash { content_type => $self->type('string', $attach->contenttype), is_private => $self->type('int', $attach->isprivate), is_obsolete => $self->type('int', $attach->isobsolete), - is_url => $self->type('int', $attach->isurl), is_patch => $self->type('int', $attach->ispatch), creator => $self->type('string', $attach->attacher->login), attacher => $self->type('string', $attach->attacher->login), @@ -1231,13 +1229,6 @@ group called the "insidergroup"), False otherwise. C True if the attachment is obsolete, False otherwise. -=item C - -C True if the attachment is a URL instead of actual data, -False otherwise. Note that such attachments only happen when the -Bugzilla installation has at some point had the C -parameter enabled. - =item C C True if the attachment is a patch, False otherwise. @@ -1279,6 +1270,9 @@ C. =item In Bugzilla B<4.0>, the C return value was renamed to C. +=item In Bugzilla B<4.2>, the C return value was removed +(this attribute no longer exists for attachments). + =back =back @@ -2163,13 +2157,6 @@ to the "insidergroup"), False if the attachment should be public. Defaults to False if not specified. -=item C - -C True if the attachment is just a URL, pointing to data elsewhere. -If so, the C item should just contain the URL. - -Defaults to False if not specified. - =back =item B @@ -2193,11 +2180,6 @@ You tried to attach a file that was larger than Bugzilla will accept. You specified a C argument that was blank, not a valid MIME type, or not a MIME type that Bugzilla accepts for attachments. -=item 602 (Illegal URL) - -You specified C as True, but the data that you attempted -to attach was not a valid URL. - =item 603 (File Name Not Specified) You did not specify a valid for the C argument. @@ -2206,10 +2188,15 @@ You did not specify a valid for the C argument. You did not specify a value for the C argument. -=item 605 (URL Attaching Disabled) +=back + +=item B + +=over + +=item Added in Bugzilla B<4.0>. -You attempted to attach a URL, setting C to True, -but this Bugzilla does not support attaching URLs. +=item The C parameter was removed in Bugzilla B<4.2>. =back diff --git a/Bugzilla/WebService/Constants.pm b/Bugzilla/WebService/Constants.pm index aec2b9855..f77c54c85 100644 --- a/Bugzilla/WebService/Constants.pm +++ b/Bugzilla/WebService/Constants.pm @@ -124,10 +124,10 @@ use constant WS_ERROR_CODE => { # Attachment errors are 600-700. file_too_large => 600, invalid_content_type => 601, - attachment_illegal_url => 602, + # Error 602 attachment_illegal_url no longer exists. file_not_specified => 603, missing_attachment_description => 604, - attachment_url_disabled => 605, + # Error 605 attachment_url_disabled no longer exists. # Errors thrown by the WebService itself. The ones that are negative # conform to http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php diff --git a/attachment.cgi b/attachment.cgi index ca82bc463..5bb2a8537 100755 --- a/attachment.cgi +++ b/attachment.cgi @@ -478,12 +478,11 @@ sub insert { my $attachment = Bugzilla::Attachment->create( {bug => $bug, creation_ts => $timestamp, - data => scalar $cgi->param('attachurl') || $cgi->upload('data'), + data => scalar $cgi->param('attach_text') || $cgi->upload('data'), description => scalar $cgi->param('description'), - filename => $cgi->param('attachurl') ? '' : scalar $cgi->upload('data'), + filename => $cgi->param('attach_text') ? 'attachment.txt' : scalar $cgi->upload('data'), ispatch => scalar $cgi->param('ispatch'), isprivate => scalar $cgi->param('isprivate'), - isurl => scalar $cgi->param('attachurl'), mimetype => $content_type, }); diff --git a/bugzilla.dtd b/bugzilla.dtd index b449d6ba4..2fa990494 100644 --- a/bugzilla.dtd +++ b/bugzilla.dtd @@ -64,7 +64,6 @@ isobsolete (0|1) #IMPLIED ispatch (0|1) #IMPLIED isprivate (0|1) #IMPLIED - isurl (0|1) #IMPLIED > diff --git a/docs/en/xml/using.xml b/docs/en/xml/using.xml index 23207938e..0dbff34bc 100644 --- a/docs/en/xml/using.xml +++ b/docs/en/xml/using.xml @@ -862,14 +862,20 @@ - Also, if the administrator turned on the allow_attach_url - parameter, you can enter the URL pointing to the attachment instead of + Also, you can enter the URL pointing to the attachment instead of uploading the attachment itself. For example, this is useful if you want to point to an external application, a website or a very large file. Note that there is no guarantee that the source file will always be available, nor that its content will remain unchanged. + + Another way to attach data is to paste text directly in the text field, + and Bugzilla will convert it into an attachment. This is pretty useful + when you do copy and paste, and you don't want to put the text in a temporary + file first. + +
Patch Viewer diff --git a/js/attachment.js b/js/attachment.js index 314e4acb1..dfa6d472d 100644 --- a/js/attachment.js +++ b/js/attachment.js @@ -53,13 +53,13 @@ function setContentTypeDisabledState(form) form.contenttypeentry.disabled = isdisabled; } -function URLFieldHandler() { - var field_attachurl = document.getElementById("attachurl"); +function TextFieldHandler() { + var field_text = document.getElementById("attach_text"); var greyfields = new Array("data", "ispatch", "autodetect", "list", "manual", "contenttypeselection", "contenttypeentry"); var i, thisfield; - if (field_attachurl.value.match(/^\s*$/)) { + if (field_text.value.match(/^\s*$/)) { for (i = 0; i < greyfields.length; i++) { thisfield = document.getElementById(greyfields[i]); if (thisfield) { @@ -78,7 +78,7 @@ function URLFieldHandler() { function DataFieldHandler() { var field_data = document.getElementById("data"); - var greyfields = new Array("attachurl"); + var greyfields = new Array("attach_text"); var i, thisfield; if (field_data.value.match(/^\s*$/)) { for (i = 0; i < greyfields.length; i++) { @@ -102,9 +102,9 @@ function clearAttachmentFields() { document.getElementById('data').value = ''; DataFieldHandler(); - if ((element = document.getElementById('attachurl'))) { + if ((element = document.getElementById('attach_text'))) { element.value = ''; - URLFieldHandler(); + TextFieldHandler(); } document.getElementById('description').value = ''; /* Fire onchange so that the disabled state of the content-type diff --git a/post_bug.cgi b/post_bug.cgi index 956856b12..74d26af2b 100755 --- a/post_bug.cgi +++ b/post_bug.cgi @@ -183,7 +183,7 @@ if (defined $cgi->param('version')) { # after the bug is filed. # Add an attachment if requested. -if (defined($cgi->upload('data')) || $cgi->param('attachurl')) { +if (defined($cgi->upload('data')) || $cgi->param('attach_text')) { $cgi->param('isprivate', $cgi->param('commentprivacy')); # Must be called before create() as it may alter $cgi->param('ispatch'). @@ -198,12 +198,11 @@ if (defined($cgi->upload('data')) || $cgi->param('attachurl')) { $attachment = Bugzilla::Attachment->create( {bug => $bug, creation_ts => $timestamp, - data => scalar $cgi->param('attachurl') || $cgi->upload('data'), + data => scalar $cgi->param('attach_text') || $cgi->upload('data'), description => scalar $cgi->param('description'), - filename => $cgi->param('attachurl') ? '' : scalar $cgi->upload('data'), + filename => $cgi->param('attach_text') ? 'attachment.txt' : scalar $cgi->upload('data'), ispatch => scalar $cgi->param('ispatch'), isprivate => scalar $cgi->param('isprivate'), - isurl => scalar $cgi->param('attachurl'), mimetype => $content_type, }); }; diff --git a/template/en/default/admin/params/attachment.html.tmpl b/template/en/default/admin/params/attachment.html.tmpl index 159588625..69f62e9be 100644 --- a/template/en/default/admin/params/attachment.html.tmpl +++ b/template/en/default/admin/params/attachment.html.tmpl @@ -60,10 +60,6 @@ allow_attachment_deletion => "If this option is on, administrators will be able to delete " _ "the content of attachments.", - allow_attach_url => "If this option is on, it will be possible to " _ - "specify a URL when creating an attachment and " _ - "treat the URL itself as if it were an attachment.", - maxattachmentsize => "The maximum size (in kilobytes) of attachments to be stored " _ "in the database. If a file larger than this size is attached " _ "to ${terms.abug}, $terms.Bugzilla will look at the " _ diff --git a/template/en/default/attachment/create.html.tmpl b/template/en/default/attachment/create.html.tmpl index f440f4583..7ca4d4bba 100644 --- a/template/en/default/attachment/create.html.tmpl +++ b/template/en/default/attachment/create.html.tmpl @@ -34,10 +34,16 @@ header = header subheader = subheader style_urls = [ 'skins/standard/attachment.css' ] - javascript_urls = [ "js/attachment.js", "js/util.js" ] + javascript_urls = [ "js/attachment.js", "js/util.js", "js/TUI.js" ] doc_section = "attachments.html" %] + +
diff --git a/template/en/default/attachment/createformcontents.html.tmpl b/template/en/default/attachment/createformcontents.html.tmpl index ad3a25bc6..9d2fa9f48 100644 --- a/template/en/default/attachment/createformcontents.html.tmpl +++ b/template/en/default/attachment/createformcontents.html.tmpl @@ -21,29 +21,27 @@ # Marc Schumann #%] - + : - Enter the path to the file on your computer.
- + Enter the path to the file on your computer (or + paste text as attachment).
+ -[% IF Param("allow_attach_url") %] - - : + + : - URL to be attached instead.
- + Paste the text to be added as an attachment (or + attach a file).
+ - -[% END %] : diff --git a/template/en/default/attachment/edit.html.tmpl b/template/en/default/attachment/edit.html.tmpl index 6a98a7f05..d1861a7d3 100644 --- a/template/en/default/attachment/edit.html.tmpl +++ b/template/en/default/attachment/edit.html.tmpl @@ -68,19 +68,17 @@ (edit) [% END %] - [% IF NOT attachment.isurl %] -
- [% attachment.filename FILTER html %] ([% attachment.contenttype FILTER html %]) - [% IF attachment.datasize %] - [%+ attachment.datasize FILTER unitconvert %] - [% ELSE %] - deleted - [% END %], created by [%+ INCLUDE global/user.html.tmpl who = attachment.attacher %] - [% IF attachment.isprivate %] - Only visible to [% Param('insidergroup') FILTER html %] - [% END %] -
- [% END %] +
+ [% attachment.filename FILTER html %] ([% attachment.contenttype FILTER html %]) + [% IF attachment.datasize %] + [%+ attachment.datasize FILTER unitconvert %] + [% ELSE %] + deleted + [% END %], created by [%+ INCLUDE global/user.html.tmpl who = attachment.attacher %] + [% IF attachment.isprivate %] + Only visible to [% Param('insidergroup') FILTER html %] + [% END %] +
@@ -99,12 +97,6 @@ %]
- [% IF attachment.isurl %] - - - [% ELSE %]
- [% END %] +
@@ -168,18 +160,6 @@
[% IF !attachment.datasize %]
The content of this attachment has been deleted.
- [% ELSIF attachment.isurl %] - [% ELSIF !Param("allow_attachment_display") %]

diff --git a/template/en/default/attachment/list.html.tmpl b/template/en/default/attachment/list.html.tmpl index 89eef1836..33d9a6c04 100644 --- a/template/en/default/attachment/list.html.tmpl +++ b/template/en/default/attachment/list.html.tmpl @@ -68,9 +68,8 @@ function toggle_display(link) { [% obsolete_attachments = obsolete_attachments + 1 %] [% END %] @@ -87,8 +86,6 @@ function toggle_display(link) { ([% attachment.datasize FILTER unitconvert %], [% IF attachment.ispatch %] patch) - [% ELSIF attachment.isurl %] - url) [% ELSE %] [%+ attachment.contenttype FILTER html %]) [% END %] diff --git a/template/en/default/bug/create/create.html.tmpl b/template/en/default/bug/create/create.html.tmpl index 43fa1646e..425d82343 100644 --- a/template/en/default/bug/create/create.html.tmpl +++ b/template/en/default/bug/create/create.html.tmpl @@ -170,7 +170,8 @@ TUI_alternates['expert_fields'] = 'Show Advanced Fields'; // Hide the Advanced Fields by default, unless the user has a cookie // that specifies otherwise. TUI_hide_default('expert_fields'); - +// Also hide the "Paste text as attachment" textarea by default. +TUI_hide_default('attachment_text_field'); --> diff --git a/template/en/default/bug/show.xml.tmpl b/template/en/default/bug/show.xml.tmpl index 2349602dc..152f3e0a9 100644 --- a/template/en/default/bug/show.xml.tmpl +++ b/template/en/default/bug/show.xml.tmpl @@ -89,7 +89,6 @@ isobsolete="[% a.isobsolete FILTER xml %]" ispatch="[% a.ispatch FILTER xml %]" isprivate="[% a.isprivate FILTER xml %]" - isurl="[% a.isurl FILTER xml %]" > [% a.id %] [% a.attached FILTER time("%Y-%m-%d %T %z") FILTER xml %] diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl index dd05c239a..e507c584f 100644 --- a/template/en/default/global/code-error.html.tmpl +++ b/template/en/default/global/code-error.html.tmpl @@ -37,11 +37,7 @@ [% DEFAULT title = "Internal Error" %] [% error_message = BLOCK %] - [% IF error == "attachment_url_disabled" %] - [% title = "Attachment URL Disabled" %] - You cannot attach a URL. This feature is currently disabled. - - [% ELSIF error == "auth_invalid_email" %] + [% IF error == "auth_invalid_email" %] [% title = "Invalid Email Address" %] We received an email address ([% addr FILTER html %]) that didn't pass our syntax checking for a legal email address, diff --git a/template/en/default/global/field-descs.none.tmpl b/template/en/default/global/field-descs.none.tmpl index 2ef558ce4..741eecf83 100644 --- a/template/en/default/global/field-descs.none.tmpl +++ b/template/en/default/global/field-descs.none.tmpl @@ -108,7 +108,6 @@ "attachments.ispatch" => "Attachment is patch", "attachments.isobsolete" => "Attachment is obsolete", "attachments.isprivate" => "Attachment is private", - "attachments.isurl" => "Attachment is a URL", "attachments.submitter" => "Attachment creator", "blocked" => "Blocks", "bug_file_loc" => "URL", diff --git a/template/en/default/global/user-error.html.tmpl b/template/en/default/global/user-error.html.tmpl index 0f094b3a5..8380f7f0c 100644 --- a/template/en/default/global/user-error.html.tmpl +++ b/template/en/default/global/user-error.html.tmpl @@ -222,11 +222,6 @@ [% title = "Attachment Deletion Disabled" %] Attachment deletion is disabled on this installation. - [% ELSIF error == "attachment_illegal_url" %] - [% title = "Illegal Attachment URL" %] - [% url FILTER html %] is not a legal URL for attachments. - It must start either with http://, https:// or ftp://. - [% ELSIF error == "attachment_removed" %] [% title = "Attachment Removed" %] The attachment you are attempting to access has been removed. @@ -582,13 +577,8 @@ [%# Hack to get the max value between both limits %] [%+ max_limit.nsort.last FILTER html %] KB.
We recommend that you store your attachment elsewhere - [% IF Param("allow_attach_url") %] - and then specify the URL to this file on the attachment - creation page in the AttachURL field. - [% ELSE %] - and then insert the URL to it in a comment, or in the URL field - for this [% terms.bug %]. - [% END %] + and then paste the URL to this file on the attachment + creation page in the appropriate text field.
Alternately, if your attachment is an image, you could convert it to a compressible format like JPG or PNG and try again. diff --git a/xt/lib/Bugzilla/Test/Search/Constants.pm b/xt/lib/Bugzilla/Test/Search/Constants.pm index 2b3534f8b..b509cf76b 100644 --- a/xt/lib/Bugzilla/Test/Search/Constants.pm +++ b/xt/lib/Bugzilla/Test/Search/Constants.pm @@ -128,13 +128,8 @@ use constant FLAG_FIELDS => { # These are fields that we don't test. Test::More will mark these # "TODO & SKIP", and not run tests for them at all. # -# attachments.isurl can't easily be supported by us, but it's basically -# identical to isprivate and isobsolete for searching, so that's not a big -# loss. -# # We don't support days_elapsed or owner_idle_time yet. use constant SKIP_FIELDS => qw( - attachments.isurl owner_idle_time days_elapsed ); @@ -1183,7 +1178,6 @@ use constant INJECTION_BROKEN_FIELD => { 'attachments.isobsolete' => { db_skip => ['Pg'] }, 'attachments.ispatch' => { db_skip => ['Pg'] }, 'attachments.isprivate' => { db_skip => ['Pg'] }, - 'attachments.isurl' => { db_skip => ['Pg'] }, blocked => { db_skip => ['Pg'] }, bug_id => { db_skip => ['Pg'] }, cclist_accessible => { db_skip => ['Pg'] }, -- cgit v1.2.3-24-g4f1b