Bug 28606: Remove $DEBUG and $ENV{DEBUG}
[koha-ffzg.git] / Koha / SharedContent.pm
index 96a23b1..7082fe0 100644 (file)
@@ -4,18 +4,18 @@ package Koha::SharedContent;
 #
 # This file is part of Koha.
 #
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 3 of the License, or (at your option) any later
-# version.
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
 #
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 use Modern::Perl;
 use JSON;
@@ -26,14 +26,14 @@ use Koha::Serials;
 use Koha::Reports;
 use C4::Context;
 
-=head1 SharedContent
+=head1 NAME
 
-Koha::SharedContent - Set of methods to quering Mana KB server
+Koha::SharedContent - Set of methods for querying Mana KB server
 
 =head1 DESCRIPTION
 
 Package for accessing shared content via Mana KB. Methods here are intended
-to build and process queries for requesting Mana KB server.
+to build and process queries for requesting from Mana KB server.
 
 =cut
 
@@ -58,15 +58,7 @@ sub process_request {
         $mana_request->content( to_json($content) );
     }
 
-    my $response = $userAgent->request($mana_request);
-
-    if ( $response->code != 200 ) {
-        return {
-            code => $response->code,
-            msg  => $response->message,
-        };
-    }
-
+    my $response = $userAgent->simple_request($mana_request);
     eval { $result = from_json( $response->decoded_content, { utf8 => 1} ); };
     $result->{code} = $response->code;
     if ( $@ ){
@@ -82,8 +74,8 @@ sub process_request {
 
 Koha::SharedContent::increment_entity_value($entity_type, $mana_entity_id, $field);
 
-Increment of 1 the field $field of a Mana entity. I.e, this is used to count the number
-of Koha instance using a specific entity.
+Increment by 1 the field $field of a Mana entity. I.e, this is used to count the number
+of Koha instances using a specific entity.
 
 =cut
 
@@ -100,11 +92,9 @@ Share a Koha entity (i.e subscription or report) to Mana KB.
 =cut
 
 sub send_entity {
-    my ($lang, $loggedinuser, $resourceid, $resourcetype, $content) = @_;
+    my ($lang, $loggedinuser, $resourceid, $resourcetype) = @_;
 
-    unless ( $content ) {
-        $content = prepare_entity_data($lang, $loggedinuser, $resourceid, $resourcetype);
-    }
+    my $content = prepare_entity_data($lang, $loggedinuser, $resourceid, $resourcetype);
 
     my $result = process_request(build_request('post', $resourcetype, $content));
 
@@ -116,6 +106,23 @@ sub send_entity {
     return $result;
 }
 
+=head3 comment_entity
+
+my $result = Koha::SharedContent::comment_entity($resource_id, $resource_type, $comment);
+
+Send a comment about a Mana entity.
+
+=cut
+
+sub comment_entity {
+    my ($resourceid, $resourcetype, $comment) = @_;
+
+    my $result = process_request(build_request('post', 'resource_comment',
+            { resource_id => $resourceid, resource_type => $resourcetype, message => $comment }));
+
+    return $result;
+}
+
 =head2 prepare_entity_data
 
 $data = prepare_entity_data($language, $borrowernumber, $mana_entity_id, $entity_type);