From fbd124bfc141db9a6ad8f7b4734f0db6f9da2f5f Mon Sep 17 00:00:00 2001 From: Frédéric Buclin Date: Fri, 18 Dec 2015 12:50:05 +0100 Subject: Bug 1232186: Component.update and Component.delete are broken r=dkl --- Bugzilla/API/1_0/Resource/Component.pm | 11 +++++------ Bugzilla/WebService/Component.pm | 11 +++++------ 2 files changed, 10 insertions(+), 12 deletions(-) (limited to 'Bugzilla') diff --git a/Bugzilla/API/1_0/Resource/Component.pm b/Bugzilla/API/1_0/Resource/Component.pm index 96c2a3dcd..13a5f24b5 100644 --- a/Bugzilla/API/1_0/Resource/Component.pm +++ b/Bugzilla/API/1_0/Resource/Component.pm @@ -28,6 +28,8 @@ extends 'Bugzilla::API::1_0::Resource'; use constant PUBLIC_METHODS => qw( create + delete + update ); use constant CREATE_MAPPED_FIELDS => { @@ -129,7 +131,7 @@ sub _component_params_to_objects { # To get the component objects for product/component combination # first obtain the product object from the passed product name foreach my $name_hash (@{$params->{names}}) { - my $product = $user->can_admin_product($name_hash->{product}); + my $product = $user->check_can_admin_product($name_hash->{product}); push @components, @{ Bugzilla::Component->match({ product_id => $product->id, name => $name_hash->{component} @@ -157,9 +159,8 @@ sub _component_params_to_objects { sub update { my ($self, $params) = @_; my $dbh = Bugzilla->dbh; - my $user = Bugzilla->user; + my $user = Bugzilla->login(LOGIN_REQUIRED); - Bugzilla->login(LOGIN_REQUIRED); $user->in_group('editcomponents') || scalar @{ $user->get_products_by_permission('editcomponents') } || ThrowUserError("auth_failure", { group => "editcomponents", @@ -248,11 +249,9 @@ sub update { sub delete { my ($self, $params) = @_; - my $dbh = Bugzilla->dbh; - my $user = Bugzilla->user; + my $user = Bugzilla->login(LOGIN_REQUIRED); - Bugzilla->login(LOGIN_REQUIRED); $user->in_group('editcomponents') || scalar @{ $user->get_products_by_permission('editcomponents') } || ThrowUserError("auth_failure", { group => "editcomponents", diff --git a/Bugzilla/WebService/Component.pm b/Bugzilla/WebService/Component.pm index 9f3dfb4d4..a59087492 100644 --- a/Bugzilla/WebService/Component.pm +++ b/Bugzilla/WebService/Component.pm @@ -21,6 +21,8 @@ use Bugzilla::WebService::Util qw(translate params_to_objects validate); use constant PUBLIC_METHODS => qw( create + delete + update ); use constant CREATE_MAPPED_FIELDS => { @@ -78,7 +80,7 @@ sub _component_params_to_objects { # To get the component objects for product/component combination # first obtain the product object from the passed product name foreach my $name_hash (@{$params->{names}}) { - my $product = $user->can_admin_product($name_hash->{product}); + my $product = $user->check_can_admin_product($name_hash->{product}); push @components, @{ Bugzilla::Component->match({ product_id => $product->id, name => $name_hash->{component} @@ -106,9 +108,8 @@ sub _component_params_to_objects { sub update { my ($self, $params) = @_; my $dbh = Bugzilla->dbh; - my $user = Bugzilla->user; + my $user = Bugzilla->login(LOGIN_REQUIRED); - Bugzilla->login(LOGIN_REQUIRED); $user->in_group('editcomponents') || scalar @{ $user->get_products_by_permission('editcomponents') } || ThrowUserError("auth_failure", { group => "editcomponents", @@ -197,11 +198,9 @@ sub update { sub delete { my ($self, $params) = @_; - my $dbh = Bugzilla->dbh; - my $user = Bugzilla->user; + my $user = Bugzilla->login(LOGIN_REQUIRED); - Bugzilla->login(LOGIN_REQUIRED); $user->in_group('editcomponents') || scalar @{ $user->get_products_by_permission('editcomponents') } || ThrowUserError("auth_failure", { group => "editcomponents", -- cgit v1.2.3-24-g4f1b