From 3f42e312d9f9aa3f43bc5099e68834f9c9680b96 Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Thu, 4 Dec 2014 11:15:36 +0100 Subject: [PATCH] Bug 13392: Add suggestions.ordereddate and suggestions.orderedby Those fields are updated when suggestion status is changed to 'ORDERED' and are displayed on suggestion/suggestion.pl page --- C4/Suggestions.pm | 7 +++++++ installer/data/mysql/kohastructure.sql | 7 ++++++- installer/data/mysql/updatedatabase.pl | 14 ++++++++++++++ .../intranet-tmpl/prog/en/modules/suggestion/suggestion.tt | 5 +++++ suggestion/suggestion.pl | 2 +- 5 files changed, 33 insertions(+), 2 deletions(-) diff --git a/C4/Suggestions.pm b/C4/Suggestions.pm index f34c942..9315622 100644 --- a/C4/Suggestions.pm +++ b/C4/Suggestions.pm @@ -485,6 +485,13 @@ sub ModSuggestion { or $suggestion->{$field} eq '' ); } + if ($suggestion->{STATUS} and $suggestion->{STATUS} eq 'ORDERED') { + $suggestion->{ordereddate} = dt_from_string; + if (C4::Context->userenv) { + $suggestion->{orderedby} = C4::Context->userenv->{number}; + } + } + my $rs = Koha::Database->new->schema->resultset('Suggestion')->find($suggestion->{suggestionid}); my $status_update_table = 1; eval { diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index 08ef9ee..00550d6 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -2187,6 +2187,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 + orderedby INT(11) NULL DEFAULT NULL, -- borrowernumber for the librarian who ordered the suggestion + ordereddate DATE NULL DEFAULT NULL, -- date the suggestion was marked as ordered `STATUS` varchar(10) NOT NULL default '', -- suggestion status (ASKED, CHECKED, ACCEPTED, or REJECTED) `note` mediumtext, -- note entered on the suggestion `author` varchar(80) default NULL, -- author of the suggested item @@ -2213,7 +2215,10 @@ CREATE TABLE `suggestions` ( -- purchase suggestions PRIMARY KEY (`suggestionid`), KEY `suggestedby` (`suggestedby`), KEY `managedby` (`managedby`), - CONSTRAINT `suggestions_budget_id_fk` FOREIGN KEY (`budgetid`) REFERENCES `aqbudgets` (`budget_id`) 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_orderedby_fk + FOREIGN KEY (orderedby) REFERENCES borrowers (borrowernumber) + ON DELETE SET NULL ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 0ed56c6..80d9217 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -9790,6 +9790,20 @@ if(CheckVersion($DBversion)) { }); print "Upgrade to $DBversion done (Bug 13523 - Remove NOT NULL restriction on field marcxml due to mysql STRICT_TRANS_TABLES)\n"; + SetVersion ($DBversion); +} + +$DBversion = 'XXX'; +if ( CheckVersion($DBversion) ) { + $dbh->do(q| + ALTER TABLE suggestions + ADD COLUMN orderedby INT(11) NULL DEFAULT NULL AFTER rejecteddate, + ADD COLUMN ordereddate DATE NULL DEFAULT NULL AFTER orderedby, + ADD CONSTRAINT suggestions_orderedby_fk + FOREIGN KEY (orderedby) REFERENCES borrowers (borrowernumber) + ON DELETE SET NULL ON UPDATE CASCADE + |); + print "Upgrade to $DBversion done (Bug 13392: Add suggestions.orderedby and suggestions.ordereddate)\n"; SetVersion($DBversion); } 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 aeb8946..1663c7a 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt @@ -277,6 +277,11 @@ h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o [% accepteddate | $KohaDates %] [% IF ( acceptedby_borrowernumber ) %][% acceptedby_surname %], [% acceptedby_firstname %] [% Branches.GetName( acceptedby_branchcode ) %] ([% acceptedby_description %])[% END %] + + Suggestion ordered + [% ordereddate | $KohaDates %] + [% IF ( orderedby_borrowernumber ) %][% orderedby_surname %], [% orderedby_firstname %] [% Branches.GetName( orderedby_branchcode ) %] ([% orderedby_description %])[% END %] + diff --git a/suggestion/suggestion.pl b/suggestion/suggestion.pl index b54703a..c11a2bf 100755 --- a/suggestion/suggestion.pl +++ b/suggestion/suggestion.pl @@ -271,7 +271,7 @@ if ($op=~/else/) { ); } -foreach my $element ( qw(managedby suggestedby acceptedby) ) { +foreach my $element ( qw(managedby suggestedby acceptedby orderedby) ) { # $debug || warn $$suggestion_ref{$element}; if ($$suggestion_ref{$element}){ my $member=GetMember(borrowernumber=>$$suggestion_ref{$element}); -- 2.1.0