From cee67bdc0eff06b16f5d374be9cc6ca8961e11c4 Mon Sep 17 00:00:00 2001 From: Max Kanat-Alexander Date: Thu, 10 Feb 2011 16:27:18 -0800 Subject: Bug 633041: Add an error code for zero_length_file and fill in content_type for patches when content_type is missing in Bug.add_attachment in the WebService r=LpSolit, a=LpSolit --- Bugzilla/Attachment.pm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'Bugzilla/Attachment.pm') diff --git a/Bugzilla/Attachment.pm b/Bugzilla/Attachment.pm index 0f6bf0a74..2bd5d8f3c 100644 --- a/Bugzilla/Attachment.pm +++ b/Bugzilla/Attachment.pm @@ -112,6 +112,10 @@ use constant VALIDATORS => { mimetype => \&_check_content_type, }; +use constant VALIDATOR_DEPENDENCIES => { + mimetype => ['ispatch'], +}; + use constant UPDATE_VALIDATORS => { isobsolete => \&Bugzilla::Object::check_boolean, }; @@ -508,9 +512,10 @@ sub _check_bug { } sub _check_content_type { - my ($invocant, $content_type) = @_; - - $content_type = 'text/plain' if (ref $invocant && $invocant->ispatch); + my ($invocant, $content_type, undef, $params) = @_; + + my $is_patch = ref($invocant) ? $invocant->ispatch : $params->{ispatch}; + $content_type = 'text/plain' if $is_patch; $content_type = trim($content_type); my $legal_types = join('|', LEGAL_CONTENT_TYPES); if (!$content_type or $content_type !~ /^($legal_types)\/.+$/) { -- cgit v1.2.3-24-g4f1b