[Koha-patches] [PATCH] [Bug 5783] Authorities edit logging
Tomas Cohen Arazi
tomascohen at gmail.com
Mon Feb 21 15:40:03 CET 2011
---
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 e5808b0..7ccf381 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);
$dbh->do("delete from auth_header where authid=$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.1
More information about the Koha-patches
mailing list