Bug 33161: Clarify method names
authorMartin Renvoize <martin.renvoize@ptfs-europe.com>
Thu, 9 Mar 2023 13:14:04 +0000 (13:14 +0000)
committerTomas Cohen Arazi <tomascohen@theke.io>
Fri, 10 Mar 2023 13:20:10 +0000 (10:20 -0300)
The api_strings_mapping method isn't really only about api strings.. we
deal with database fields in and out.. we just happen to then use those
in to_api to map in the api.

This patch simply renames the standard method whilst we're still early.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Koha/Item.pm
Koha/Object.pm

index d311302..2f77660 100644 (file)
@@ -2058,13 +2058,20 @@ sub is_denied_renewal {
     return 0;
 }
 
-=head3 api_strings_mapping
+=head3 strings_map
 
-Retrieves for each column name the unblessed authorised value.
+Returns a map of column name to string representations including the string,
+the mapping type and the mapping category where appropriate.
+
+Currently handles authorised value mappings, library, callnumber and itemtype
+expansions.
+
+Accepts a param hashref where the 'public' key denotes whether we want the public
+or staff client strings.
 
 =cut
 
-sub api_strings_mapping {
+sub strings_map {
     my ( $self, $params ) = @_;
 
     my $columns_info  = $self->_result->result_source->columns_info;
index 102d715..7f51125 100644 (file)
@@ -562,9 +562,9 @@ sub to_api {
     my $strings = delete $params->{strings};
 
     # coded values handling
-    my $avs = {};
-    if ( $strings and $self->can('api_strings_mapping') ) {
-        $avs = $self->api_strings_mapping($params);
+    my $string_map = {};
+    if ( $strings and $self->can('strings_map') ) {
+        $string_map = $self->strings_map($params);
     }
 
     # Remove forbidden attributes if required (including their coded values)
@@ -575,8 +575,8 @@ sub to_api {
         }
 
         if ($strings) {
-            foreach my $field ( keys %{$avs} ) {
-                delete $avs->{$field}
+            foreach my $field ( keys %{$string_map} ) {
+                delete $string_map->{$field}
                   unless any { $_ eq $field } @{ $self->public_read_list };
             }
         }
@@ -594,8 +594,8 @@ sub to_api {
 
                 # key != undef
                 $json_object->{$mapped_column} = delete $json_object->{$column};
-                $avs->{$mapped_column}         = delete $avs->{$column}
-                  if exists $avs->{$column};
+                $string_map->{$mapped_column}  = delete $string_map->{$column}
+                  if exists $string_map->{$column};
 
             }
             elsif ( exists $json_object->{$column}
@@ -604,12 +604,12 @@ sub to_api {
 
                 # key == undef
                 delete $json_object->{$column};
-                delete $avs->{$column};
+                delete $string_map->{$column};
             }
         }
     }
 
-    $json_object->{_strings} = $avs
+    $json_object->{_strings} = $string_map
       if $strings;
 
     if ($embeds) {
@@ -676,10 +676,10 @@ sub to_api_mapping {
     return {};
 }
 
-=head3 api_strings_mapping
+=head3 strings_map
 
     my $params = { is_public => 1 };
-    my $string_map = $object->api_strings_mapping($params);
+    my $string_map = $object->strings_map($params);
 
 Generic method that returns the string map for coded attributes.
 
@@ -693,7 +693,7 @@ own mapping returned.
 
 =cut
 
-sub api_strings_mapping {
+sub strings_map {
     return {};
 }