From 4baa4b85a0a57e3fda48cf2ac475b8db6a9cb173 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 7 Nov 2019 15:32:50 +0100 Subject: [PATCH] Bug 23590: Add lastmodification by and date columns No tests are provided for the changes made to SearchSuggestion. It is going to be remove very soon as it is super ugly... --- C4/Suggestions.pm | 3 +++ installer/data/mysql/kohastructure.sql | 3 +++ .../prog/en/modules/suggestion/suggestion.tt | 20 ++++++++++++++++++++ suggestion/suggestion.pl | 5 ++++- 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/C4/Suggestions.pm b/C4/Suggestions.pm index ff3bc89090..47c30d42a1 100644 --- a/C4/Suggestions.pm +++ b/C4/Suggestions.pm @@ -113,6 +113,8 @@ sub SearchSuggestion { U2.email AS emailmanagedby, U2.branchcode AS branchcodemanagedby, U2.borrowernumber AS borrnummanagedby, + U3.surname AS surnamelastmodificationby, + U3.firstname AS firstnamelastmodificationby, BU.budget_name AS budget_name FROM suggestions LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber @@ -121,6 +123,7 @@ sub SearchSuggestion { LEFT JOIN borrowers AS U2 ON managedby=U2.borrowernumber LEFT JOIN branches AS B2 ON B2.branchcode=U2.branchcode LEFT JOIN categories AS C2 ON C2.categorycode=U2.categorycode + LEFT JOIN borrowers AS U3 ON lastmodificationby=U3.borrowernumber LEFT JOIN aqbudgets AS BU ON budgetid=BU.budget_id WHERE 1=1 } diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index 15e13047af..37857a268c 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -3026,6 +3026,8 @@ CREATE TABLE `suggestions` ( -- purchase suggestions accepteddate date default NULL, -- date the suggestion was marked as accepted rejectedby INT(11) default NULL, -- borrowernumber for the librarian who rejected the suggestion, foreign key linking to the borrowers table rejecteddate date default NULL, -- date the suggestion was marked as rejected + lastmodificationby INT(11) default NULL, -- borrowernumber for the librarian who edit the suggestion for the last time + lastmodificationdate date default NULL, -- date of the last modification `STATUS` varchar(10) NOT NULL default '', -- suggestion status (ASKED, CHECKED, ACCEPTED, or REJECTED) `note` LONGTEXT, -- note entered on the suggestion `author` varchar(80) default NULL, -- author of the suggested item @@ -3061,6 +3063,7 @@ CREATE TABLE `suggestions` ( -- purchase suggestions CONSTRAINT `suggestions_ibfk_managedby` FOREIGN KEY (`managedby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `suggestions_ibfk_acceptedby` FOREIGN KEY (`acceptedby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `suggestions_ibfk_rejectedby` FOREIGN KEY (`rejectedby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `suggestions_ibfk_lastmodificationby` FOREIGN KEY (`lastmodificationby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `suggestions_ibfk_biblionumber` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `suggestions_budget_id_fk` FOREIGN KEY (`budgetid`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `suggestions_ibfk_branchcode` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE SET NULL ON UPDATE CASCADE diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt index 75abc66e9d..ca225e841b 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt @@ -189,6 +189,16 @@ [% END %] + + Last modification on: + [% lastmodificationdate | $KohaDates %] + + [% IF ( lastmodificationby_patron.borrowernumber ) %] + [% lastmodificationby_patron.surname | html %], [% lastmodificationby_patron.firstname | html %] ([% lastmodificationby_patron.cardnumber | html %]) + [% Branches.GetName( lastmodificationby_patron.branchcode ) | html %] ([% lastmodificationby_patron.category.description | html %]) + [% END %] + + @@ -368,6 +378,11 @@ [% INCLUDE 'date-format.inc' %] [% IF ( acceptedby_patron.borrowernumber ) %][% acceptedby_patron.surname | html %], [% acceptedby_patron.firstname | html %] ([% suggestedby_patron.cardnumber | html %]) [% Branches.GetName( acceptedby_patron.branchcode ) | html %] ([% acceptedby_patron.category.description | html %])[% END %] + + + [% lastmodificationdate | $KohaDates %] + [% INCLUDE 'patron-title.inc' patron=lastmodificationby_patron hide_patron_infos_if_needed=1 %] [% Branches.GetName( lastmodificationby_patron.branchcode ) | html %] ([% lastmodificationby_patron.category.description | html %]) + @@ -525,6 +540,7 @@ Suggestion Suggested by - on Managed by - on + Last modification by - on Library Fund Status @@ -554,6 +570,10 @@ [% IF ( suggestions_loo.manageddate ) %] - [% suggestions_loo.manageddate | $KohaDates %][% END %] + [% suggestions_loo.surnamelastmodificationby | html %][% IF ( suggestions_loo.firstnamelastmodificationby ) %], [% suggestions_loo.firstnamelastmodificationby | html %][% END %] + [% IF ( suggestions_loo.lastmodificationdate ) %] - [% suggestions_loo.lastmodificationdate | $KohaDates %][% END %] + + [% Branches.GetName( suggestions_loo.branchcode ) | html %] diff --git a/suggestion/suggestion.pl b/suggestion/suggestion.pl index b67fc0df84..ff39b3daf9 100755 --- a/suggestion/suggestion.pl +++ b/suggestion/suggestion.pl @@ -166,6 +166,9 @@ if ( $op =~ /save/i ) { if ( $suggestion_only->{'suggestionid'} > 0 ) { + $suggestion_only->{lastmodificationdate} = dt_from_string; + $suggestion_only->{lastmodificationby} = C4::Context->userenv->{number}; + &ModSuggestion($suggestion_only); if ( $notify ) { @@ -372,7 +375,7 @@ if ($op=~/else/) { $template->param( "${_}_patron" => scalar Koha::Patrons->find( $suggestion_ref->{$_} ) ) - for qw(managedby suggestedby acceptedby); + for qw(managedby suggestedby acceptedby lastmodificationby); $template->param( %$suggestion_ref, -- 2.11.0