Bug 21206: (QA follow-up) Rebase problem and leftover mocked GetItem
[koha.git] / C4 / UsageStats.pm
index 092e8bd..4f66111 100644 (file)
@@ -23,6 +23,8 @@ use POSIX qw(strftime);
 use LWP::UserAgent;
 use JSON;
 
+use Koha::Libraries;
+
 =head1 NAME
 
 C4::UsageStats
@@ -56,14 +58,24 @@ sub NeedUpdate {
 }
 
 sub BuildReport {
-    my $report = {
-        library => {
-            id      => C4::Context->preference('UsageStatsID')          || 0,
+    my $report;
+    my @libraries;
+    if( C4::Context->preference('UsageStatsLibrariesInfo') ) {
+        my $libraries = Koha::Libraries->search;
+        while ( my $library = $libraries->next ) {
+            push @libraries, { name => $library->branchname, url => $library->branchurl, country => $library->branchcountry, geolocation => $library->geolocation, };
+        }
+    }
+    $report = {
+        installation => {
+            koha_id => C4::Context->preference('UsageStatsID')          || 0,
             name    => C4::Context->preference('UsageStatsLibraryName') || q||,
             url     => C4::Context->preference('UsageStatsLibraryUrl')  || q||,
             type    => C4::Context->preference('UsageStatsLibraryType') || q||,
             country => C4::Context->preference('UsageStatsCountry')     || q||,
+            geolocation => C4::Context->preference('UsageStatsGeolocation') || q||,
         },
+        libraries => \@libraries,
     };
 
     # Get database volumetry.
@@ -96,7 +108,8 @@ sub BuildReport {
         AuthDisplayHierarchy
         AutoCreateAuthorities
         BiblioAddsAuthorities
-        dontmerge
+        AuthorityMergeLimit
+        AuthorityMergeMode
         UseAuthoritiesForTracings
         CatalogModuleRelink
         hide_marc
@@ -115,12 +128,14 @@ sub BuildReport {
         z3950NormalizeAuthor
         SpineLabelAutoPrint
         SpineLabelShowPrintOnBibDetails
+        BlockReturnOfLostItems
         BlockReturnOfWithdrawnItems
         CalculateFinesOnReturn
         AgeRestrictionOverride
         AllFinesNeedOverride
         AllowFineOverride
         AllowItemsOnHoldCheckout
+        AllowItemsOnHoldCheckoutSCO
         AllowNotForLoanOverride
         AllowRenewalLimitOverride
         AllowReturnToBranch
@@ -147,7 +162,7 @@ sub BuildReport {
         finesCalendar
         FinesIncludeGracePeriod
         finesMode
-        RefundLostItemFeeOnReturn
+        RefundLostOnReturnControl
         WhenLostChargeReplacementFee
         WhenLostForgiveFine
         AllowHoldDateInFuture
@@ -201,7 +216,6 @@ sub BuildReport {
         LocalCoverImages
         OPACLocalCoverImages
         NovelistSelectEnabled
-        XISBN
         OpenLibraryCovers
         OpenLibrarySearch
         UseKohaPlugins
@@ -229,11 +243,9 @@ sub BuildReport {
         OpacMaintenance
         OpacPublic
         OpacSeparateHoldings
-        OPACShowBarcode
         OPACShowCheckoutName
         OpacShowFiltersPulldownMobile
         OPACShowHoldQueueDetails
-        OpacShowLibrariesPulldownMobile
         OpacShowRecentComments
         OPACShowUnusedAuthorities
         OpacStarRatings
@@ -278,12 +290,10 @@ sub BuildReport {
         AutoEmailPrimaryAddress
         autoMemberNum
         BorrowerRenewalPeriodBase
-        checkdigit
         EnableBorrowerFiles
         EnhancedMessagingPreferences
         ExtendedPatronAttributes
         intranetreadinghistory
-        memberofinstitution
         patronimages
         TalkingTechItivaPhoneNotification
         uppercasesurnames
@@ -342,7 +352,7 @@ sub ReportToCommunity {
     my $data = shift;
     my $json = encode_json($data);
 
-    my $url = "http://hea.koha-community.org/upload.pl";
+    my $url = "https://hea.koha-community.org/upload.pl";
     my $ua = LWP::UserAgent->new;
     my $res = $ua->post(
         $url,
@@ -350,8 +360,12 @@ sub ReportToCommunity {
         Content => $json,
     );
     my $content = decode_json( $res->decoded_content );
-    C4::Context->set_preference( 'UsageStatsID',
-        $content->{library}{id} );
+    if ( $content->{koha_id} ) {
+        C4::Context->set_preference( 'UsageStatsID', $content->{koha_id} );
+    }
+    if ( $content->{id} ) {
+        C4::Context->set_preference( 'UsageStatsPublicID', $content->{id} );
+    }
 }
 
 =head2 _count