From: Tomas Cohen Arazi <[email protected]>

Signed-off-by: Galen Charlton <[email protected]>
---
 C4/AuthoritiesMarc.pm                              |    4 ++++
 installer/data/mysql/en/mandatory/sysprefs.sql     |    1 +
 installer/data/mysql/updatedatabase.pl             |    7 +++++++
 .../prog/en/modules/admin/preferences/logs.pref    |    6 ++++++
 .../prog/en/modules/tools/viewlog.tmpl             |    7 ++++++-
 5 files changed, 24 insertions(+), 1 deletions(-)

diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm
index bd5fe64..5d1378c 100644
--- a/C4/AuthoritiesMarc.pm
+++ b/C4/AuthoritiesMarc.pm
@@ -26,6 +26,7 @@ use C4::Search;
 use C4::AuthoritiesMarc::MARC21;
 use C4::AuthoritiesMarc::UNIMARC;
 use C4::Charset;
+use C4::Log;
 
 use vars qw($VERSION @ISA @EXPORT);
 
@@ -701,6 +702,7 @@ sub AddAuthority {
     
$sth->execute($authid,$authtypecode,$record->as_usmarc,$record->as_xml_record($format));
     $sth->finish;
   }
+  logaction( "AUTHORITIES", "ADD", $authid, "authority" ) if 
C4::Context->preference("AuthoritiesLog");
   ModZebra($authid,'specialUpdate',"authorityserver",$oldRecord,$record);
   return ($authid);
 }
@@ -718,6 +720,7 @@ sub DelAuthority {
     my ($authid) = @_;
     my $dbh=C4::Context->dbh;
 
+    logaction( "AUTHORITIES", "DELETE", $authid, "authority" ) if 
C4::Context->preference("AuthoritiesLog");
     
ModZebra($authid,"recordDelete","authorityserver",GetAuthority($authid),undef);
     my $sth = $dbh->prepare("DELETE FROM auth_header WHERE authid=?");
     $sth->execute($authid);
@@ -748,6 +751,7 @@ sub ModAuthority {
       print AUTH $authid;
       close AUTH;
   }
+  logaction( "AUTHORITIES", "MODIFY", $authid, "BEFORE=>" . 
$oldrecord->as_formatted ) if C4::Context->preference("AuthoritiesLog");
   return $authid;
 }
 
diff --git a/installer/data/mysql/en/mandatory/sysprefs.sql 
b/installer/data/mysql/en/mandatory/sysprefs.sql
index 0b75e98..674326d 100644
--- a/installer/data/mysql/en/mandatory/sysprefs.sql
+++ b/installer/data/mysql/en/mandatory/sysprefs.sql
@@ -285,3 +285,4 @@ INSERT INTO `systempreferences` 
(variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) 
VALUES ('ShelfBrowserUsesLocation','1','Use the item location when finding 
items for the shelf browser.','1','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) 
VALUES ('ShelfBrowserUsesHomeBranch','1','Use the item home branch when finding 
items for the shelf browser.','1','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) 
VALUES ('ShelfBrowserUsesCcode','1','Use the item collection code when finding 
items for the shelf browser.','0','YesNo');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) 
VALUES ('AuthoritiesLog','0','If ON, log edit/create/delete actions on 
authorities.','0','YesNo');
diff --git a/installer/data/mysql/updatedatabase.pl 
b/installer/data/mysql/updatedatabase.pl
index 31aa998..25f7707 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -4014,6 +4014,13 @@ if (C4::Context->preference("Version") < 
TransformToNum($DBversion)) {
     SetVersion ($DBversion);
 }
 
+$DBversion = 'XXX';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+   $dbh->do("INSERT INTO `systempreferences` 
(variable,value,explanation,options,type) VALUES ('AuthoritiesLog','0','If ON, 
log edit/create/delete actions on authorities.','0','YesNo');");
+   print "Upgrade to $DBversion done (Add AuthoritiesLog syspref)\n";
+   SetVersion ($DBversion);
+}
+
 =head1 FUNCTIONS
 
 =head2 DropAllForeignKeys($table)
diff --git 
a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/logs.pref 
b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/logs.pref
index 78140f8..ade8a13 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/logs.pref
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/logs.pref
@@ -18,6 +18,12 @@ Logging:
               off: "Don't log"
         - any changes to bibliographic or item records. Since this occurs 
whenever a book is checked in or out as well, it is not advisable to turn this 
on.
     -
+        - pref: AuthoritiesLog
+          choices:
+              on: Log
+              off: "Don't log"
+        - changes to authorities records.
+    -
         - pref: FinesLog
           choices:
               on: Log
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/viewlog.tmpl 
b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/viewlog.tmpl
index fa99af2..9984144 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/viewlog.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/viewlog.tmpl
@@ -44,6 +44,7 @@
                                                                <select 
name="modules" id="modules" multiple="multiple">
                                                                        <option 
value="" selected="selected">All</option>
                                                                        <option 
value ="CATALOGUING">Catalog</option>
+                                                                       <option 
value ="AUTHORITIES">Authorities</option>
                                                                        <option 
value ="MEMBERS">Patrons</option>
                                                                        <option 
value ="ACQUISITION">Acquisitions</option>
                                                                        <option 
value ="SERIAL">Serials</option>
@@ -172,7 +173,11 @@
                                                                                
                                <!-- TMPL_IF EXPR="module eq 'SERIAL'" -->
                                                                                
                                        <a 
href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=<!-- TMPL_VAR 
NAME="object" -->"> <!-- TMPL_VAR NAME="object" --> </a>
                                                                                
                                <!-- TMPL_ELSE -->
-                                                                               
                                        <!-- TMPL_VAR NAME="object" -->
+                                                                               
                                        <!-- TMPL_IF EXPR="module eq 
'AUTHORITIES'" -->
+                                                                               
                                                <a 
href="/cgi-bin/koha/authorities/detail.pl?authid=<!-- TMPL_VAR NAME="object" 
-->" title="Display detail for this authority">auth <!-- TMPL_VAR NAME="object" 
--></a>
+                                                                               
                                        <!-- TMPL_ELSE -->
+                                                                               
                                                <!-- TMPL_VAR NAME="object" -->
+                                                                               
                                        <!-- /TMPL_IF -->
                                                                                
                                <!-- /TMPL_IF -->
                                                                                
                        <!-- /TMPL_IF -->
                                                                                
                <!-- /TMPL_IF -->
-- 
1.7.2.3

_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to