Koha/acqui/modordernotes.pl
Mathieu Saby 36074fba65 Bug 9416: add new order vendor note field
Currently, there is a single note field in each order. It would be
useful to have 2 notes fields:

- one for the staff (ex: "catalog this book as soon as possible")
- one for the vendor (ex: "urgent", "only the 2d volume"...), which
  could later be printed in basketgroup pdf for example

This patch adds a new note made for vendor in each order. The existing
note is renamed "internal note".

The behavior of the 2 notes are the same

Changes in database structure:
- new column aqorders.order_vendornote
- column aqorders.notes renamed aqorders.order_internalnote

To test :
[1] Make a complete acquisiton process (creating the order > looking at
    the basket > looking the order > receiving); and try to use the 2
    notes (internal note / vendor note)
[2] Check the changes made on one page (eg detail of the order) are
    saved and visible on an other page (eg receipt page)

Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Testing notes on last patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-19 15:55:36 +00:00

89 lines
2.5 KiB
Perl
Executable file

#!/usr/bin/perl
# Copyright 2011 BibLibre SARL
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with Koha; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
=head1 NAME
modordernotes.pl
=head1 DESCRIPTION
Modify just notes when basket is closed.
=cut
use Modern::Perl;
use CGI;
use C4::Auth;
use C4::Output;
use C4::Acquisition;
use C4::Bookseller qw( GetBookSellerFromId);
my $input = new CGI;
my ($template, $loggedinuser, $cookie, $flags) = get_template_and_user( {
template_name => 'acqui/modordernotes.tmpl',
query => $input,
type => 'intranet',
authnotrequired => 0,
flagsrequired => { 'acquisition' => '*' },
debug => 1,
} );
my $op = $input->param('op');
my $ordernumber = $input->param('ordernumber');
my $referrer = $input->param('referrer') || $input->referer();
my $type = $input->param('type');
my $order = GetOrder($ordernumber);
my $basket = GetBasket($order->{basketno});
my ($bookseller) = GetBookSellerFromId($basket->{booksellerid});
if($op and $op eq 'save') {
my $ordernotes = $input->param('ordernotes');
if ($type eq "vendor") {
$order->{'order_vendornote'} = $ordernotes;
} else {
$order->{'order_internalnote'} = $ordernotes;
}
ModOrder($order);
print $input->redirect($referrer);
exit;
} else {
if ($type eq "vendor") {
$template->param(ordernotes => $order->{'order_vendornote'});
} else {
$template->param(ordernotes => $order->{'order_internalnote'});
}
}
if($op) {
$template->param($op => 1);
}
$template->param(
basketname => $basket->{'basketname'},
basketno => $order->{basketno},
booksellerid => $bookseller->{'id'},
booksellername => $bookseller->{'name'},
ordernumber => $ordernumber,
referrer => $referrer,
type => $type,
);
output_html_with_http_headers $input, $cookie, $template->output;