From 8ec8da0491ad89604700b3e29a227966f6d84ba1 Mon Sep 17 00:00:00 2001 From: Perl Tidy Date: Wed, 5 Dec 2018 15:38:52 -0500 Subject: no bug - reformat all the code using the new perltidy rules --- extensions/TrackingFlags/lib/Flag/Visibility.pm | 195 +++++++++++++----------- 1 file changed, 104 insertions(+), 91 deletions(-) (limited to 'extensions/TrackingFlags/lib/Flag/Visibility.pm') diff --git a/extensions/TrackingFlags/lib/Flag/Visibility.pm b/extensions/TrackingFlags/lib/Flag/Visibility.pm index 878c16f99..e90c0bf22 100644 --- a/extensions/TrackingFlags/lib/Flag/Visibility.pm +++ b/extensions/TrackingFlags/lib/Flag/Visibility.pm @@ -25,20 +25,20 @@ use Scalar::Util qw(blessed); use constant DB_TABLE => 'tracking_flags_visibility'; use constant DB_COLUMNS => qw( - id - tracking_flag_id - product_id - component_id + id + tracking_flag_id + product_id + component_id ); use constant LIST_ORDER => 'id'; -use constant UPDATE_COLUMNS => (); # imutable +use constant UPDATE_COLUMNS => (); # imutable use constant VALIDATORS => { - tracking_flag_id => \&_check_tracking_flag, - product_id => \&_check_product, - component_id => \&_check_component, + tracking_flag_id => \&_check_tracking_flag, + product_id => \&_check_product, + component_id => \&_check_component, }; ############################### @@ -46,66 +46,72 @@ use constant VALIDATORS => { ############################### sub match { - my $class= shift; - my ($params) = @_; - my $dbh = Bugzilla->dbh; - - # Allow matching component and product by name - # (in addition to matching by ID). - # Borrowed from Bugzilla::Bug::match - my %translate_fields = ( - product => 'Bugzilla::Product', - component => 'Bugzilla::Component', - ); - - foreach my $field (keys %translate_fields) { - my @ids; - # Convert names to ids. We use "exists" everywhere since people can - # legally specify "undef" to mean IS NULL - if (exists $params->{$field}) { - my $names = $params->{$field}; - my $type = $translate_fields{$field}; - my $objects = Bugzilla::Object::match($type, { name => $names }); - push(@ids, map { $_->id } @$objects); - } - # You can also specify ids directly as arguments to this function, - # so include them in the list if they have been specified. - if (exists $params->{"${field}_id"}) { - my $current_ids = $params->{"${field}_id"}; - my @id_array = ref $current_ids ? @$current_ids : ($current_ids); - push(@ids, @id_array); - } - # We do this "or" instead of a "scalar(@ids)" to handle the case - # when people passed only invalid object names. Otherwise we'd - # end up with a SUPER::match call with zero criteria (which dies). - if (exists $params->{$field} or exists $params->{"${field}_id"}) { - delete $params->{$field}; - $params->{"${field}_id"} = scalar(@ids) == 1 ? [ $ids[0] ] : \@ids; - } + my $class = shift; + my ($params) = @_; + my $dbh = Bugzilla->dbh; + + # Allow matching component and product by name + # (in addition to matching by ID). + # Borrowed from Bugzilla::Bug::match + my %translate_fields + = (product => 'Bugzilla::Product', component => 'Bugzilla::Component',); + + foreach my $field (keys %translate_fields) { + my @ids; + + # Convert names to ids. We use "exists" everywhere since people can + # legally specify "undef" to mean IS NULL + if (exists $params->{$field}) { + my $names = $params->{$field}; + my $type = $translate_fields{$field}; + my $objects = Bugzilla::Object::match($type, {name => $names}); + push(@ids, map { $_->id } @$objects); } - # If we aren't matching on the product, use the default matching code - if (!exists $params->{product_id}) { - return $class->SUPER::match(@_); + # You can also specify ids directly as arguments to this function, + # so include them in the list if they have been specified. + if (exists $params->{"${field}_id"}) { + my $current_ids = $params->{"${field}_id"}; + my @id_array = ref $current_ids ? @$current_ids : ($current_ids); + push(@ids, @id_array); } - my @criteria = ("1=1"); - - if ($params->{product_id}) { - push(@criteria, $dbh->sql_in('product_id', $params->{'product_id'})); - if ($params->{component_id}) { - my $component_id = $params->{component_id}; - push(@criteria, "(" . $dbh->sql_in('component_id', $params->{'component_id'}) . - " OR component_id IS NULL)"); - } + # We do this "or" instead of a "scalar(@ids)" to handle the case + # when people passed only invalid object names. Otherwise we'd + # end up with a SUPER::match call with zero criteria (which dies). + if (exists $params->{$field} or exists $params->{"${field}_id"}) { + delete $params->{$field}; + $params->{"${field}_id"} = scalar(@ids) == 1 ? [$ids[0]] : \@ids; + } + } + + # If we aren't matching on the product, use the default matching code + if (!exists $params->{product_id}) { + return $class->SUPER::match(@_); + } + + my @criteria = ("1=1"); + + if ($params->{product_id}) { + push(@criteria, $dbh->sql_in('product_id', $params->{'product_id'})); + if ($params->{component_id}) { + my $component_id = $params->{component_id}; + push(@criteria, + "(" + . $dbh->sql_in('component_id', $params->{'component_id'}) + . " OR component_id IS NULL)"); } + } - my $where = join(' AND ', @criteria); - my $flag_ids = $dbh->selectcol_arrayref("SELECT id + my $where = join(' AND ', @criteria); + my $flag_ids = $dbh->selectcol_arrayref( + "SELECT id FROM tracking_flags_visibility - WHERE $where"); + WHERE $where" + ); - return Bugzilla::Extension::TrackingFlags::Flag::Visibility->new_from_list($flag_ids); + return Bugzilla::Extension::TrackingFlags::Flag::Visibility->new_from_list( + $flag_ids); } ############################### @@ -113,34 +119,40 @@ sub match { ############################### sub _check_tracking_flag { - my ($invocant, $flag) = @_; - if (blessed $flag) { - return $flag->flag_id; - } - $flag = Bugzilla::Extension::TrackingFlags::Flag->new($flag) - || ThrowCodeError('tracking_flags_invalid_param', { name => 'flag_id', value => $flag }); + my ($invocant, $flag) = @_; + if (blessed $flag) { return $flag->flag_id; + } + $flag + = Bugzilla::Extension::TrackingFlags::Flag->new($flag) + || ThrowCodeError('tracking_flags_invalid_param', + {name => 'flag_id', value => $flag}); + return $flag->flag_id; } sub _check_product { - my ($invocant, $product) = @_; - if (blessed $product) { - return $product->id; - } - $product = Bugzilla::Product->new($product) - || ThrowCodeError('tracking_flags_invalid_param', { name => 'product_id', value => $product }); + my ($invocant, $product) = @_; + if (blessed $product) { return $product->id; + } + $product + = Bugzilla::Product->new($product) + || ThrowCodeError('tracking_flags_invalid_param', + {name => 'product_id', value => $product}); + return $product->id; } sub _check_component { - my ($invocant, $component) = @_; - return undef unless defined $component; - if (blessed $component) { - return $component->id; - } - $component = Bugzilla::Component->new($component) - || ThrowCodeError('tracking_flags_invalid_param', { name => 'component_id', value => $component }); + my ($invocant, $component) = @_; + return undef unless defined $component; + if (blessed $component) { return $component->id; + } + $component + = Bugzilla::Component->new($component) + || ThrowCodeError('tracking_flags_invalid_param', + {name => 'component_id', value => $component}); + return $component->id; } ############################### @@ -148,26 +160,27 @@ sub _check_component { ############################### sub tracking_flag_id { return $_[0]->{'tracking_flag_id'}; } -sub product_id { return $_[0]->{'product_id'}; } -sub component_id { return $_[0]->{'component_id'}; } +sub product_id { return $_[0]->{'product_id'}; } +sub component_id { return $_[0]->{'component_id'}; } sub tracking_flag { - my ($self) = @_; - $self->{'tracking_flag'} ||= Bugzilla::Extension::TrackingFlags::Flag->new($self->tracking_flag_id); - return $self->{'tracking_flag'}; + my ($self) = @_; + $self->{'tracking_flag'} + ||= Bugzilla::Extension::TrackingFlags::Flag->new($self->tracking_flag_id); + return $self->{'tracking_flag'}; } sub product { - my ($self) = @_; - $self->{'product'} ||= Bugzilla::Product->new($self->product_id); - return $self->{'product'}; + my ($self) = @_; + $self->{'product'} ||= Bugzilla::Product->new($self->product_id); + return $self->{'product'}; } sub component { - my ($self) = @_; - return undef unless $self->component_id; - $self->{'component'} ||= Bugzilla::Component->new($self->component_id); - return $self->{'component'}; + my ($self) = @_; + return undef unless $self->component_id; + $self->{'component'} ||= Bugzilla::Component->new($self->component_id); + return $self->{'component'}; } 1; -- cgit v1.2.3-24-g4f1b