View | Details | Raw Unified | Return to bug 5347
Collapse All | Expand All

(-)a/C4/Acquisition.pm (+30 lines)
Lines 61-66 BEGIN { Link Here
61
        &GetContracts &GetContract
61
        &GetContracts &GetContract
62
62
63
        &GetItemnumbersFromOrder
63
        &GetItemnumbersFromOrder
64
65
        &AddClaim
64
    );
66
    );
65
}
67
}
66
68
Lines 1416-1424 sub GetLateOrders { Link Here
1416
        DATE(aqbasket.closedate)  AS orderdate,
1418
        DATE(aqbasket.closedate)  AS orderdate,
1417
        aqorders.rrp              AS unitpricesupplier,
1419
        aqorders.rrp              AS unitpricesupplier,
1418
        aqorders.ecost            AS unitpricelib,
1420
        aqorders.ecost            AS unitpricelib,
1421
        aqorders.claims_count     AS claims_count,
1422
        aqorders.claimed_date     AS claimed_date,
1419
        aqbudgets.budget_name     AS budget,
1423
        aqbudgets.budget_name     AS budget,
1420
        borrowers.branchcode      AS branch,
1424
        borrowers.branchcode      AS branch,
1421
        aqbooksellers.name        AS supplier,
1425
        aqbooksellers.name        AS supplier,
1426
        aqbooksellers.id          AS supplierid,
1422
        biblio.author, biblio.title,
1427
        biblio.author, biblio.title,
1423
        biblioitems.publishercode AS publisher,
1428
        biblioitems.publishercode AS publisher,
1424
        biblioitems.publicationyear,
1429
        biblioitems.publicationyear,
Lines 1742-1747 sub GetContract { Link Here
1742
    return $result;
1747
    return $result;
1743
}
1748
}
1744
1749
1750
=head3 AddClaim
1751
1752
=over 4
1753
1754
&AddClaim($ordernumber);
1755
1756
Add a claim for an order
1757
1758
=back
1759
1760
=cut
1761
sub AddClaim {
1762
    my ($ordernumber) = @_;
1763
    my $dbh          = C4::Context->dbh;
1764
    my $query        = "
1765
        UPDATE aqorders SET
1766
            claims_count = claims_count + 1,
1767
            claimed_date = CURDATE()
1768
        WHERE ordernumber = ?
1769
        ";
1770
    my $sth = $dbh->prepare($query);
1771
    $sth->execute($ordernumber);
1772
1773
}
1774
1745
1;
1775
1;
1746
__END__
1776
__END__
1747
1777
(-)a/C4/Letters.pm (-117 / +81 lines)
Lines 243-248 sub findrelatedto ($$) { Link Here
243
sub SendAlerts {
243
sub SendAlerts {
244
    my ( $type, $externalid, $letter ) = @_;
244
    my ( $type, $externalid, $letter ) = @_;
245
    my $dbh = C4::Context->dbh;
245
    my $dbh = C4::Context->dbh;
246
    my $strsth;
246
    if ( $type eq 'issue' ) {
247
    if ( $type eq 'issue' ) {
247
248
248
        # 		warn "sending issues...";
249
        # 		warn "sending issues...";
Lines 290-388 sub SendAlerts { Link Here
290
                    );
291
                    );
291
                sendmail(%mail) or carp $Mail::Sendmail::error;
292
                sendmail(%mail) or carp $Mail::Sendmail::error;
292
293
293
# warn "sending to $mail{To} From $mail{From} subj $mail{Subject} Mess $mail{Message}";
294
            }
294
            }
295
        }
295
        }
296
    }
296
    }
297
    elsif ( $type eq 'claimacquisition' ) {
297
    elsif ( $type eq 'claimacquisition' ) {
298
298
299
        # 		warn "sending issues...";
299
        $letter = getletter( 'claimacquisition', $letter );
300
        my $letter = getletter( 'claimacquisition', $letter );
301
300
302
        # prepare the letter...
301
        # prepare the letter...
303
        # search the biblionumber
302
        # search the biblionumber
304
        my $strsth =
303
        $strsth = qq{
305
"select aqorders.*,aqbasket.*,biblio.*,biblioitems.* from aqorders LEFT JOIN aqbasket on aqbasket.basketno=aqorders.basketno LEFT JOIN biblio on aqorders.biblionumber=biblio.biblionumber LEFT JOIN biblioitems on aqorders.biblioitemnumber=biblioitems.biblioitemnumber where aqorders.ordernumber IN ("
304
            SELECT aqorders.*,aqbasket.*,biblio.*,biblioitems.*,aqbooksellers.*
306
          . join( ",", @$externalid ) . ")";
305
            FROM aqorders
307
        my $sthorders = $dbh->prepare($strsth);
306
            LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno
308
        $sthorders->execute;
307
            LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
309
        my $dataorders = $sthorders->fetchall_arrayref( {} );
308
            LEFT JOIN biblioitems ON aqorders.biblioitemnumber=biblioitems.biblioitemnumber
310
        parseletter( $letter, 'aqbooksellers',
309
            LEFT JOIN aqbooksellers ON aqbasket.booksellerid=aqbooksellers.id
311
            $dataorders->[0]->{booksellerid} );
310
            WHERE aqorders.ordernumber IN (
312
        my $sthbookseller =
313
          $dbh->prepare("select * from aqbooksellers where id=?");
314
        $sthbookseller->execute( $dataorders->[0]->{booksellerid} );
315
        my $databookseller = $sthbookseller->fetchrow_hashref;
316
317
        # parsing branch info
318
        my $userenv = C4::Context->userenv;
319
        parseletter( $letter, 'branches', $userenv->{branch} );
320
321
        # parsing librarian name
322
        $letter->{content} =~ s/<<LibrarianFirstname>>/$userenv->{firstname}/g;
323
        $letter->{content} =~ s/<<LibrarianSurname>>/$userenv->{surname}/g;
324
        $letter->{content} =~
325
          s/<<LibrarianEmailaddress>>/$userenv->{emailaddress}/g;
326
        foreach my $data ( @{$dataorders} ) {
327
            if ( $letter->{content} =~ m/(<<.*>>)/ ) {
328
                my $line = $1;
329
                foreach my $field ( keys %{$data} ) {
330
                    $line =~ s/(<<[^\.]+.$field>>)/$data->{$field}/;
331
                }
332
                $letter->{content} =~ s/(<<.*>>)/$line\n$1/;
333
            }
334
        }
335
        $letter->{content} =~ s/<<[^>]*>>//g;
336
        my $innerletter = $letter;
337
338
        # ... then send mail
339
        if (   $databookseller->{bookselleremail}
340
            || $databookseller->{contemail} )
341
        {
342
            my %mail = (
343
                To => $databookseller->{bookselleremail}
344
                  . (
345
                    $databookseller->{contemail}
346
                    ? "," . $databookseller->{contemail}
347
                    : ""
348
                  ),
349
                From           => $userenv->{emailaddress},
350
                Subject        => "" . $innerletter->{title},
351
                Message        => "" . $innerletter->{content},
352
                'Content-Type' => 'text/plain; charset="utf8"',
353
            );
354
            sendmail(%mail) or carp $Mail::Sendmail::error;
355
        }
356
        if ( C4::Context->preference("LetterLog") ) {
357
            logaction(
358
                "ACQUISITION",
359
                "Send Acquisition claim letter",
360
                "",
361
                "order list : "
362
                  . join( ",", @$externalid )
363
                  . "\n$innerletter->{title}\n$innerletter->{content}"
364
            );
365
        }
311
        }
312
          . join( ",", @$externalid ) . ")";
366
    }
313
    }
367
    elsif ( $type eq 'claimissues' ) {
314
    elsif ( $type eq 'claimissues' ) {
368
315
369
        # 		warn "sending issues...";
316
        $letter = getletter( 'claimissues', $letter );
370
        my $letter = getletter( 'claimissues', $letter );
371
317
372
        # prepare the letter...
318
        # prepare the letter...
373
        # search the biblionumber
319
        # search the biblionumber
374
        my $strsth =
320
        $strsth = qq{
375
"select serial.*,subscription.*, biblio.* from serial LEFT JOIN subscription on serial.subscriptionid=subscription.subscriptionid LEFT JOIN biblio on serial.biblionumber=biblio.biblionumber where serial.serialid IN ("
321
            SELECT serial.*,subscription.*, biblio.*, aqbooksellers.*
322
            FROM serial
323
            LEFT JOIN subscription ON serial.subscriptionid=subscription.subscriptionid
324
            LEFT JOIN biblio ON serial.biblionumber=biblio.biblionumber
325
            LEFT JOIN aqbooksellers ON subscription.aqbooksellerid=aqbooksellers.id
326
            WHERE serial.serialid IN (
327
        }
376
          . join( ",", @$externalid ) . ")";
328
          . join( ",", @$externalid ) . ")";
329
    }
330
331
    if ( $type eq 'claimacquisition' or $type eq 'claimissues' ) {
377
        my $sthorders = $dbh->prepare($strsth);
332
        my $sthorders = $dbh->prepare($strsth);
378
        $sthorders->execute;
333
        $sthorders->execute;
379
        my $dataorders = $sthorders->fetchall_arrayref( {} );
334
        my @fields = map {
380
        parseletter( $letter, 'aqbooksellers',
335
            $sthorders->{mysql_table}[$_] . "." . $sthorders->{NAME}[$_] }
381
            $dataorders->[0]->{aqbooksellerid} );
336
            (0 .. $#{$sthorders->{NAME}} ) ;
382
        my $sthbookseller =
337
383
          $dbh->prepare("select * from aqbooksellers where id=?");
338
        my @orders_infos;
384
        $sthbookseller->execute( $dataorders->[0]->{aqbooksellerid} );
339
        while ( my $row = $sthorders->fetchrow_arrayref() ) {
385
        my $databookseller = $sthbookseller->fetchrow_hashref;
340
            my %rec = ();
341
            @rec{@fields} = @$row;
342
            push @orders_infos, \%rec;
343
        }
386
344
387
        # parsing branch info
345
        # parsing branch info
388
        my $userenv = C4::Context->userenv;
346
        my $userenv = C4::Context->userenv;
Lines 391-449 sub SendAlerts { Link Here
391
        # parsing librarian name
349
        # parsing librarian name
392
        $letter->{content} =~ s/<<LibrarianFirstname>>/$userenv->{firstname}/g;
350
        $letter->{content} =~ s/<<LibrarianFirstname>>/$userenv->{firstname}/g;
393
        $letter->{content} =~ s/<<LibrarianSurname>>/$userenv->{surname}/g;
351
        $letter->{content} =~ s/<<LibrarianSurname>>/$userenv->{surname}/g;
394
        $letter->{content} =~
352
        $letter->{content} =~ s/<<LibrarianEmailaddress>>/$userenv->{emailaddress}/g;
395
          s/<<LibrarianEmailaddress>>/$userenv->{emailaddress}/g;
353
396
        foreach my $data ( @{$dataorders} ) {
354
        # Get Fields remplacement
397
            if ( $letter->{content} =~ m/(<<.*>>)/ ) {
355
        my $item_format = $1 if ( $letter->{content} =~ m/(<item>.*<\/item>)/xms );
398
                my $line = $1;
356
399
                foreach my $field ( keys %{$data} ) {
357
        # Foreach field to remplace
400
                    $line =~ s/(<<[^\.]+.$field>>)/$data->{$field}/;
358
        while ( $letter->{content} =~ m/<<([^>]*)>>/g ) {
359
            my $field = $1;
360
            my $value = $orders_infos[0]->{$field} || "";
361
            $value = sprintf("%.2f", $value) if $field =~ /price/;
362
            $letter->{content} =~ s/<<$field>>/$value/g;
363
        }
364
365
        if ( $item_format ) {
366
            # For each order
367
            foreach my $infos ( @orders_infos ) {
368
                my $order_content = $item_format;
369
                # We replace by value
370
                while ( $order_content =~ m/<<([^>]*)>>/g ) {
371
                    my $field = $1;
372
                    my $value = $infos->{$field} || "";
373
                    $value = sprintf("%.2f", $value) if $field =~ /price/;
374
                    $order_content =~ s/(<<$field>>)/$value/g;
401
                }
375
                }
402
                $letter->{content} =~ s/(<<.*>>)/$line\n$1/;
376
                $order_content =~ s/<\/{0,1}?item>//g;
377
                $letter->{content} =~ s/<item>.*<\/item>/$order_content\n$item_format/xms;
403
            }
378
            }
379
            $letter->{content} =~ s/<item>.*<\/item>//xms;
404
        }
380
        }
405
        $letter->{content} =~ s/<<[^>]*>>//g;
381
406
        my $innerletter = $letter;
382
        my $innerletter = $letter;
407
383
408
        # ... then send mail
384
        # ... then send mail
409
        if (   $databookseller->{bookselleremail}
385
        if (   $orders_infos[0]->{'aqbooksellers.bookselleremail'}
410
            || $databookseller->{contemail} ) {
386
            || $orders_infos[0]->{'aqbooksellers.contemail'} ) {
411
            my $mail_to = $databookseller->{bookselleremail};
387
            my $to = $orders_infos[0]->{'aqbooksellers.bookselleremail'};
412
            if ($databookseller->{contemail}) {
388
            $to .= ", " if $to;
413
                if (!$mail_to) {
389
            $to .= $orders_infos[0]->{'aqbooksellers.contemail'} || "";
414
                    $mail_to = $databookseller->{contemail};
415
                } else {
416
                    $mail_to .= q|,|;
417
                    $mail_to .= $databookseller->{contemail};
418
                }
419
            }
420
            my $mail_subj = $innerletter->{title};
421
            my $mail_msg  = $innerletter->{content};
422
            $mail_msg  ||= q{};
423
            $mail_subj ||= q{};
424
425
            my %mail = (
390
            my %mail = (
426
                To => $mail_to,
391
                To             => $to,
427
                From    => $userenv->{emailaddress},
392
                From           => $userenv->{emailaddress},
428
                Subject => $mail_subj,
393
                Subject        => "" . $innerletter->{title},
429
                Message => $mail_msg,
394
                Message        => "" . $innerletter->{content},
430
                'Content-Type' => 'text/plain; charset="utf8"',
395
                'Content-Type' => 'text/plain; charset="utf8"',
431
            );
396
            );
432
            sendmail(%mail) or carp $Mail::Sendmail::error;
397
            sendmail(%mail) or carp $Mail::Sendmail::error;
433
            logaction(
398
            warn "sending to $mail{To} From $mail{From} subj $mail{Subject} Mess $mail{Message}";
434
                "ACQUISITION",
399
            if ( C4::Context->preference("LetterLog") ) {
435
                "CLAIM ISSUE",
400
                logaction( "ACQUISITION", "Send Acquisition claim letter", "", "order list : " . join( ",", @$externalid ) . "\n$innerletter->{title}\n$innerletter->{content}" ) if $type eq 'claimacquisition';
436
                undef,
401
                logaction( "ACQUISITION", "CLAIM ISSUE", undef, "To=" . $mail{To} . " Title=" . $innerletter->{title} . " Content=" . $innerletter->{content} ) if $type eq 'claimissues';
437
                "To="
402
            }
438
                  . $databookseller->{contemail}
403
        } else {
439
                  . " Title="
404
            die "This bookseller have no email\n";
440
                  . $innerletter->{title}
441
                  . " Content="
442
                  . $innerletter->{content}
443
            ) if C4::Context->preference("LetterLog");
444
        }
405
        }
445
    }    
406
446
   # send an "account details" notice to a newly created user 
407
        warn "sending to From $userenv->{emailaddress} subj $innerletter->{title} Mess $innerletter->{content}";
408
    }
409
410
    # send an "account details" notice to a newly created user 
447
    elsif ( $type eq 'members' ) {
411
    elsif ( $type eq 'members' ) {
448
        # must parse the password special, before it's hashed.
412
        # must parse the password special, before it's hashed.
449
        $letter->{content} =~ s/<<borrowers.password>>/$externalid->{'password'}/g;
413
        $letter->{content} =~ s/<<borrowers.password>>/$externalid->{'password'}/g;
(-)a/acqui/lateorders.pl (-5 / +13 lines)
Lines 76-81 unless ($delay =~ /^\d{1,3}$/) { Link Here
76
	$delay = 30;	#default value for delay
76
	$delay = 30;	#default value for delay
77
}
77
}
78
78
79
if ($op and $op eq "send_alert"){
80
    my @ordernums = $input->param("claim_for");# FIXME: Fallback values?
81
    eval {
82
        SendAlerts( 'claimacquisition', \@ordernums, $input->param("letter_code") );    # FIXME: Fallback value?
83
        AddClaim ( $_ ) for @ordernums;
84
    };
85
    if ( $@ ) {
86
        $template->param(error_claim => $@);
87
    } else {
88
        $template->param(info_claim => "Emails have been sent");
89
    }
90
}
91
79
my %supplierlist = GetBooksellersWithLateOrders($delay);
92
my %supplierlist = GetBooksellersWithLateOrders($delay);
80
my (@sloopy);	# supplier loop
93
my (@sloopy);	# supplier loop
81
foreach (keys %supplierlist){
94
foreach (keys %supplierlist){
Lines 100-110 foreach (keys %$letters){ Link Here
100
}
113
}
101
$template->param(letters=>\@letters) if (@letters);
114
$template->param(letters=>\@letters) if (@letters);
102
115
103
if ($op and $op eq "send_alert"){
104
	my @ordernums = $input->param("claim_for");									# FIXME: Fallback values?
105
	SendAlerts('claimacquisition',\@ordernums,$input->param("letter_code"));	# FIXME: Fallback value?
106
}
107
108
$template->param(ERROR_LOOP => \@errors) if (@errors);
116
$template->param(ERROR_LOOP => \@errors) if (@errors);
109
$template->param(
117
$template->param(
110
	lateorders => \@lateorders,
118
	lateorders => \@lateorders,
(-)a/installer/data/mysql/en/mandatory/sample_notices.sql (-1 / +1 lines)
Lines 1-6 Link Here
1
INSERT INTO `letter` (module, code, name, title, content) 
1
INSERT INTO `letter` (module, code, name, title, content) 
2
VALUES ('circulation','ODUE','Overdue Notice','Item Overdue','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nAccording to our current records, you have items that are overdue.Your library does not charge late fines, but please return or renew them at the branch below as soon as possible.\n\n<<branches.branchname>>\n<<branches.branchaddress1>>\n<<branches.branchaddress2>> <<branches.branchaddress3>>\nPhone: <<branches.branchphone>>\nFax: <<branches.branchfax>>\nEmail: <<branches.branchemail>>\n\nIf you have registered a password with the library, and you have a renewal available, you may renew online. If an item becomes more than 30 days overdue, you will be unable to use your library card until the item is returned.\n\nThe following item(s) is/are currently overdue:\n\n<item>"<<biblio.title>>" by <<biblio.author>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>\n\nThank-you for your prompt attention to this matter.\n\n<<branches.branchname>> Staff\n'),
2
VALUES ('circulation','ODUE','Overdue Notice','Item Overdue','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nAccording to our current records, you have items that are overdue.Your library does not charge late fines, but please return or renew them at the branch below as soon as possible.\n\n<<branches.branchname>>\n<<branches.branchaddress1>>\n<<branches.branchaddress2>> <<branches.branchaddress3>>\nPhone: <<branches.branchphone>>\nFax: <<branches.branchfax>>\nEmail: <<branches.branchemail>>\n\nIf you have registered a password with the library, and you have a renewal available, you may renew online. If an item becomes more than 30 days overdue, you will be unable to use your library card until the item is returned.\n\nThe following item(s) is/are currently overdue:\n\n<item>"<<biblio.title>>" by <<biblio.author>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>\n\nThank-you for your prompt attention to this matter.\n\n<<branches.branchname>> Staff\n'),
3
('claimacquisition','ACQCLAIM','Acquisition Claim','Item Not Received','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nOrdernumber <<aqorders.ordernumber>> (<<aqorders.title>>) (<<aqorders.quantity>> ordered) ($<<aqorders.listprice>> each) has not been received.'),
3
('claimacquisition','ACQCLAIM','Acquisition Claim','Item Not Received','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nOrdernumber <<aqorders.ordernumber>> (<<biblio.title>>) (<<aqorders.quantity>> ordered) ($<<aqorders.listprice>> each) has not been received.'),
4
('serial','RLIST','Routing List','Serial is now available','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following issue is now available:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)\r\n\r\nPlease pick it up at your convenience.'),
4
('serial','RLIST','Routing List','Serial is now available','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following issue is now available:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)\r\n\r\nPlease pick it up at your convenience.'),
5
('members','ACCTDETAILS','Account Details Template - DEFAULT','Your new Koha account details.','Hello <<borrowers.title>> <<borrowers.firstname>> <<borrowers.surname>>.\r\n\r\nYour new Koha account details are:\r\n\r\nUser:  <<borrowers.userid>>\r\nPassword: <<borrowers.password>>\r\n\r\nIf you have any problems or questions regarding your account, please contact your Koha Administrator.\r\n\r\nThank you,\r\nKoha Administrator\r\nkohaadmin@yoursite.org'), 
5
('members','ACCTDETAILS','Account Details Template - DEFAULT','Your new Koha account details.','Hello <<borrowers.title>> <<borrowers.firstname>> <<borrowers.surname>>.\r\n\r\nYour new Koha account details are:\r\n\r\nUser:  <<borrowers.userid>>\r\nPassword: <<borrowers.password>>\r\n\r\nIf you have any problems or questions regarding your account, please contact your Koha Administrator.\r\n\r\nThank you,\r\nKoha Administrator\r\nkohaadmin@yoursite.org'), 
6
('circulation','DUE','Item Due Reminder','Item Due Reminder','Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following item is now due:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)'), 
6
('circulation','DUE','Item Due Reminder','Item Due Reminder','Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following item is now due:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)'), 
(-)a/installer/data/mysql/fr-FR/1-Obligatoire/sample_notices.sql (-1 / +1 lines)
Lines 2-8 INSERT IGNORE INTO `letter` Link Here
2
(module, code, name, title, content)
2
(module, code, name, title, content)
3
VALUES
3
VALUES
4
('circulation','ODUE','Overdue Notice','Item Overdue','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nAccording to our current records, you have items that are overdue.Your library does not charge late fines, but please return or renew them at the branch below as soon as possible.\n\n<<branches.branchname>>\n<<branches.branchaddress1>>\n<<branches.branchaddress2>> <<branches.branchaddress3>>\nPhone: <<branches.branchphone>>\nFax: <<branches.branchfax>>\nEmail: <<branches.branchemail>>\n\nIf you have registered a password with the library, and you have a renewal available, you may renew online. If an item becomes more than 30 days overdue, you will be unable to use your library card until the item is returned.\n\nThe following item(s) is/are currently overdue:\n\n<item>"<<biblio.title>>" by <<biblio.author>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>\n\nThank-you for your prompt attention to this matter.\n\n<<branches.branchname>> Staff\n'),
4
('circulation','ODUE','Overdue Notice','Item Overdue','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nAccording to our current records, you have items that are overdue.Your library does not charge late fines, but please return or renew them at the branch below as soon as possible.\n\n<<branches.branchname>>\n<<branches.branchaddress1>>\n<<branches.branchaddress2>> <<branches.branchaddress3>>\nPhone: <<branches.branchphone>>\nFax: <<branches.branchfax>>\nEmail: <<branches.branchemail>>\n\nIf you have registered a password with the library, and you have a renewal available, you may renew online. If an item becomes more than 30 days overdue, you will be unable to use your library card until the item is returned.\n\nThe following item(s) is/are currently overdue:\n\n<item>"<<biblio.title>>" by <<biblio.author>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>\n\nThank-you for your prompt attention to this matter.\n\n<<branches.branchname>> Staff\n'),
5
('claimacquisition','ACQCLAIM','Acquisition Claim','Item Not Received','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nOrdernumber <<aqorders.ordernumber>> (<<aqorders.title>>) (<<aqorders.quantity>> ordered) ($<<aqorders.listprice>> each) has not been received.'),
5
('claimacquisition','ACQCLAIM','Acquisition Claim','Item Not Received','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nOrdernumber <<aqorders.ordernumber>> (<<biblio.title>>) (<<aqorders.quantity>> ordered) ($<<aqorders.listprice>> each) has not been received.'),
6
('serial','RLIST','Routing List','Serial is now available','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following issue is now available:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)\r\n\r\nPlease pick it up at your convenience.'),
6
('serial','RLIST','Routing List','Serial is now available','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following issue is now available:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)\r\n\r\nPlease pick it up at your convenience.'),
7
('members','ACCTDETAILS','Account Details Template - DEFAULT','Your new Koha account details.','Hello <<borrowers.title>> <<borrowers.firstname>> <<borrowers.surname>>.\r\n\r\nYour new Koha account details are:\r\n\r\nUser:  <<borrowers.userid>>\r\nPassword: <<borrowers.password>>\r\n\r\nIf you have any problems or questions regarding your account, please contact your Koha Administrator.\r\n\r\nThank you,\r\nKoha Administrator\r\nkohaadmin@yoursite.org'),
7
('members','ACCTDETAILS','Account Details Template - DEFAULT','Your new Koha account details.','Hello <<borrowers.title>> <<borrowers.firstname>> <<borrowers.surname>>.\r\n\r\nYour new Koha account details are:\r\n\r\nUser:  <<borrowers.userid>>\r\nPassword: <<borrowers.password>>\r\n\r\nIf you have any problems or questions regarding your account, please contact your Koha Administrator.\r\n\r\nThank you,\r\nKoha Administrator\r\nkohaadmin@yoursite.org'),
8
('circulation','DUE','Item Due Reminder','Item Due Reminder','Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following item is now due:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)'),
8
('circulation','DUE','Item Due Reminder','Item Due Reminder','Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following item is now due:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)'),
(-)a/installer/data/mysql/kohastructure.sql (+2 lines)
Lines 2631-2636 CREATE TABLE `aqorders` ( Link Here
2631
  `sort1_authcat` varchar(10) default NULL,
2631
  `sort1_authcat` varchar(10) default NULL,
2632
  `sort2_authcat` varchar(10) default NULL,
2632
  `sort2_authcat` varchar(10) default NULL,
2633
  `uncertainprice` tinyint(1),
2633
  `uncertainprice` tinyint(1),
2634
  `claims_count` int(11) default 0,
2635
  `claimed_date` date default NULL,
2634
  PRIMARY KEY  (`ordernumber`),
2636
  PRIMARY KEY  (`ordernumber`),
2635
  KEY `basketno` (`basketno`),
2637
  KEY `basketno` (`basketno`),
2636
  KEY `biblionumber` (`biblionumber`),
2638
  KEY `biblionumber` (`biblionumber`),
(-)a/installer/data/mysql/pl-PL/mandatory/sample_notices.sql (-1 / +1 lines)
Lines 2-8 INSERT INTO `letter` (module, code, name, title, content) Link Here
2
VALUES 
2
VALUES 
3
('circulation','ODUE','Overdue Notice',
3
('circulation','ODUE','Overdue Notice',
4
'Item Overdue','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nAccording to our current records, you have items that are overdue.Your library does not charge late fines, but please return or renew them at the branch below as soon as possible.\n\n<<branches.branchname>>\n<<branches.branchaddress1>>\n<<branches.branchaddress2>> <<branches.branchaddress3>>\nPhone: <<branches.branchphone>>\nFax: <<branches.branchfax>>\nEmail: <<branches.branchemail>>\n\nIf you have registered a password with the library, and you have a renewal available, you may renew online. If an item becomes more than 30 days overdue, you will be unable to use your library card until the item is returned.\n\nThe following item(s) is/are currently overdue:\n\n<item>"<<biblio.title>>" by <<biblio.author>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>\n\nThank-you for your prompt attention to this matter.\n\n<<branches.branchname>> Staff\n'),
4
'Item Overdue','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nAccording to our current records, you have items that are overdue.Your library does not charge late fines, but please return or renew them at the branch below as soon as possible.\n\n<<branches.branchname>>\n<<branches.branchaddress1>>\n<<branches.branchaddress2>> <<branches.branchaddress3>>\nPhone: <<branches.branchphone>>\nFax: <<branches.branchfax>>\nEmail: <<branches.branchemail>>\n\nIf you have registered a password with the library, and you have a renewal available, you may renew online. If an item becomes more than 30 days overdue, you will be unable to use your library card until the item is returned.\n\nThe following item(s) is/are currently overdue:\n\n<item>"<<biblio.title>>" by <<biblio.author>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>\n\nThank-you for your prompt attention to this matter.\n\n<<branches.branchname>> Staff\n'),
5
('claimacquisition','ACQCLAIM','Acquisition Claim','Item Not Received','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nOrdernumber <<aqorders.ordernumber>> (<<aqorders.title>>) (<<aqorders.quantity>> ordered) ($<<aqorders.listprice>> each) has not been received.'),
5
('claimacquisition','ACQCLAIM','Acquisition Claim','Item Not Received','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nOrdernumber <<aqorders.ordernumber>> (<<biblio.title>>) (<<aqorders.quantity>> ordered) ($<<aqorders.listprice>> each) has not been received.'),
6
('serial','RLIST','Routing List','Serial is now available','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following issue is now available:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)\r\n\r\nPlease pick it up at your convenience.'),
6
('serial','RLIST','Routing List','Serial is now available','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following issue is now available:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)\r\n\r\nPlease pick it up at your convenience.'),
7
('members','ACCTDETAILS','Account Details Template - DEFAULT','Your new Koha account details.','Hello <<borrowers.title>> <<borrowers.firstname>> <<borrowers.surname>>.\r\n\r\nYour new Koha account details are:\r\n\r\nUser:  <<borrowers.userid>>\r\nPassword: <<borrowers.password>>\r\n\r\nIf you have any problems or questions regarding your account, please contact your Koha Administrator.\r\n\r\nThank you,\r\nKoha Administrator\r\nkohaadmin@yoursite.org'), 
7
('members','ACCTDETAILS','Account Details Template - DEFAULT','Your new Koha account details.','Hello <<borrowers.title>> <<borrowers.firstname>> <<borrowers.surname>>.\r\n\r\nYour new Koha account details are:\r\n\r\nUser:  <<borrowers.userid>>\r\nPassword: <<borrowers.password>>\r\n\r\nIf you have any problems or questions regarding your account, please contact your Koha Administrator.\r\n\r\nThank you,\r\nKoha Administrator\r\nkohaadmin@yoursite.org'), 
8
('circulation','DUE','Item Due Reminder','Item Due Reminder','Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following item is now due:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)'), 
8
('circulation','DUE','Item Due Reminder','Item Due Reminder','Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following item is now due:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)'), 
(-)a/installer/data/mysql/ru-RU/mandatory/sample_notices.sql (-1 / +1 lines)
Lines 1-6 Link Here
1
INSERT INTO `letter` (module, code, name, title, content) 
1
INSERT INTO `letter` (module, code, name, title, content) 
2
VALUES ('circulation','ODUE','Overdue Notice','Item Overdue','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nAccording to our current records, you have items that are overdue.Your library does not charge late fines, but please return or renew them at the branch below as soon as possible.\n\n<<branches.branchname>>\n<<branches.branchaddress1>>\n<<branches.branchaddress2>> <<branches.branchaddress3>>\nPhone: <<branches.branchphone>>\nFax: <<branches.branchfax>>\nEmail: <<branches.branchemail>>\n\nIf you have registered a password with the library, and you have a renewal available, you may renew online. If an item becomes more than 30 days overdue, you will be unable to use your library card until the item is returned.\n\nThe following item(s) is/are currently overdue:\n\n<item>"<<biblio.title>>" by <<biblio.author>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>\n\nThank-you for your prompt attention to this matter.\n\n<<branches.branchname>> Staff\n'),
2
VALUES ('circulation','ODUE','Overdue Notice','Item Overdue','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nAccording to our current records, you have items that are overdue.Your library does not charge late fines, but please return or renew them at the branch below as soon as possible.\n\n<<branches.branchname>>\n<<branches.branchaddress1>>\n<<branches.branchaddress2>> <<branches.branchaddress3>>\nPhone: <<branches.branchphone>>\nFax: <<branches.branchfax>>\nEmail: <<branches.branchemail>>\n\nIf you have registered a password with the library, and you have a renewal available, you may renew online. If an item becomes more than 30 days overdue, you will be unable to use your library card until the item is returned.\n\nThe following item(s) is/are currently overdue:\n\n<item>"<<biblio.title>>" by <<biblio.author>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>\n\nThank-you for your prompt attention to this matter.\n\n<<branches.branchname>> Staff\n'),
3
('claimacquisition','ACQCLAIM','Acquisition Claim','Item Not Received','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nOrdernumber <<aqorders.ordernumber>> (<<aqorders.title>>) (<<aqorders.quantity>> ordered) ($<<aqorders.listprice>> each) has not been received.'),
3
('claimacquisition','ACQCLAIM','Acquisition Claim','Item Not Received','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nOrdernumber <<aqorders.ordernumber>> (<<biblio.title>>) (<<aqorders.quantity>> ordered) ($<<aqorders.listprice>> each) has not been received.'),
4
('serial','RLIST','Routing List','Serial is now available','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following issue is now available:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)\r\n\r\nPlease pick it up at your convenience.'),
4
('serial','RLIST','Routing List','Serial is now available','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following issue is now available:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)\r\n\r\nPlease pick it up at your convenience.'),
5
('members','ACCTDETAILS','Account Details Template - DEFAULT','Your new Koha account details.','Hello <<borrowers.title>> <<borrowers.firstname>> <<borrowers.surname>>.\r\n\r\nYour new Koha account details are:\r\n\r\nUser:  <<borrowers.userid>>\r\nPassword: <<borrowers.password>>\r\n\r\nIf you have any problems or questions regarding your account, please contact your Koha Administrator.\r\n\r\nThank you,\r\nKoha Administrator\r\nkohaadmin@yoursite.org'), 
5
('members','ACCTDETAILS','Account Details Template - DEFAULT','Your new Koha account details.','Hello <<borrowers.title>> <<borrowers.firstname>> <<borrowers.surname>>.\r\n\r\nYour new Koha account details are:\r\n\r\nUser:  <<borrowers.userid>>\r\nPassword: <<borrowers.password>>\r\n\r\nIf you have any problems or questions regarding your account, please contact your Koha Administrator.\r\n\r\nThank you,\r\nKoha Administrator\r\nkohaadmin@yoursite.org'), 
6
('circulation','DUE','Item Due Reminder','Item Due Reminder','Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following item is now due:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)'), 
6
('circulation','DUE','Item Due Reminder','Item Due Reminder','Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following item is now due:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)'), 
(-)a/installer/data/mysql/ru-RU/optional/sample_notices.sql (-1 / +1 lines)
Lines 5-11 INSERT INTO `letter` Link Here
5
VALUES
5
VALUES
6
('circulation','ODUE','Уведомление о просрочке','Единица прострочена','Любезный <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nПо нашим нынешним записям, у Вас есть простроченные экземпляры. Ваша библиотека не взимает штрафы за опоздание, но, пожалуйста, поверните или обновите их как можно скорее.\r\n\r\n<<branches.branchname>><<branches.branchaddress1>><<branches.branchaddress2>><<branches.branchaddress3>><<branches.branchphone>><<branches.branchfax>><<branches.branchemail>>Если Вы зарегистрировали пароль в библиотеке, вы можете использовать его с вашим номером библиотечного билета для продолжения онлайн. Если экземпляр имеет просрочки более чем на 30 дней, Вы не сможете использовать Ваш читательский билет пока не вернете экземпляр. Следующий экземпляр в настоящее время является просроченным:\r\n\r\n<<items.content>>'),
6
('circulation','ODUE','Уведомление о просрочке','Единица прострочена','Любезный <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nПо нашим нынешним записям, у Вас есть простроченные экземпляры. Ваша библиотека не взимает штрафы за опоздание, но, пожалуйста, поверните или обновите их как можно скорее.\r\n\r\n<<branches.branchname>><<branches.branchaddress1>><<branches.branchaddress2>><<branches.branchaddress3>><<branches.branchphone>><<branches.branchfax>><<branches.branchemail>>Если Вы зарегистрировали пароль в библиотеке, вы можете использовать его с вашим номером библиотечного билета для продолжения онлайн. Если экземпляр имеет просрочки более чем на 30 дней, Вы не сможете использовать Ваш читательский билет пока не вернете экземпляр. Следующий экземпляр в настоящее время является просроченным:\r\n\r\n<<items.content>>'),
7
7
8
('claimacquisition','ACQCLAIM','Требование приобретения','Экземпляр не получено','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nНомер заказа <<aqorders.ordernumber>> (<<aqorders.title>>) (<<aqorders.quantity>> каждый) получено не было.'),
8
('claimacquisition','ACQCLAIM','Требование приобретения','Экземпляр не получено','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nНомер заказа <<aqorders.ordernumber>> (<<biblio.title>>) (<<aqorders.quantity>> каждый) получено не было.'),
9
9
10
('serial','RLIST','Список скерування','Сериальные издания уже доступное','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nСледующий выпуск уже доступен:\r\n\r\n<<items.content>>\r\n\r\nПросьба забрать его в любое удобное для Вас время.'),
10
('serial','RLIST','Список скерування','Сериальные издания уже доступное','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nСледующий выпуск уже доступен:\r\n\r\n<<items.content>>\r\n\r\nПросьба забрать его в любое удобное для Вас время.'),
11
11
(-)a/installer/data/mysql/uk-UA/mandatory/sample_notices.sql (-1 / +1 lines)
Lines 1-6 Link Here
1
INSERT INTO `letter` (module, code, name, title, content) 
1
INSERT INTO `letter` (module, code, name, title, content) 
2
VALUES ('circulation','ODUE','Overdue Notice','Item Overdue','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nAccording to our current records, you have items that are overdue.Your library does not charge late fines, but please return or renew them at the branch below as soon as possible.\n\n<<branches.branchname>>\n<<branches.branchaddress1>>\n<<branches.branchaddress2>> <<branches.branchaddress3>>\nPhone: <<branches.branchphone>>\nFax: <<branches.branchfax>>\nEmail: <<branches.branchemail>>\n\nIf you have registered a password with the library, and you have a renewal available, you may renew online. If an item becomes more than 30 days overdue, you will be unable to use your library card until the item is returned.\n\nThe following item(s) is/are currently overdue:\n\n<item>"<<biblio.title>>" by <<biblio.author>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>\n\nThank-you for your prompt attention to this matter.\n\n<<branches.branchname>> Staff\n'),
2
VALUES ('circulation','ODUE','Overdue Notice','Item Overdue','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nAccording to our current records, you have items that are overdue.Your library does not charge late fines, but please return or renew them at the branch below as soon as possible.\n\n<<branches.branchname>>\n<<branches.branchaddress1>>\n<<branches.branchaddress2>> <<branches.branchaddress3>>\nPhone: <<branches.branchphone>>\nFax: <<branches.branchfax>>\nEmail: <<branches.branchemail>>\n\nIf you have registered a password with the library, and you have a renewal available, you may renew online. If an item becomes more than 30 days overdue, you will be unable to use your library card until the item is returned.\n\nThe following item(s) is/are currently overdue:\n\n<item>"<<biblio.title>>" by <<biblio.author>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>\n\nThank-you for your prompt attention to this matter.\n\n<<branches.branchname>> Staff\n'),
3
('claimacquisition','ACQCLAIM','Acquisition Claim','Item Not Received','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nOrdernumber <<aqorders.ordernumber>> (<<aqorders.title>>) (<<aqorders.quantity>> ordered) ($<<aqorders.listprice>> each) has not been received.'),
3
('claimacquisition','ACQCLAIM','Acquisition Claim','Item Not Received','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nOrdernumber <<aqorders.ordernumber>> (<<biblio.title>>) (<<aqorders.quantity>> ordered) ($<<aqorders.listprice>> each) has not been received.'),
4
('serial','RLIST','Routing List','Serial is now available','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following issue is now available:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)\r\n\r\nPlease pick it up at your convenience.'),
4
('serial','RLIST','Routing List','Serial is now available','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following issue is now available:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)\r\n\r\nPlease pick it up at your convenience.'),
5
('members','ACCTDETAILS','Account Details Template - DEFAULT','Your new Koha account details.','Hello <<borrowers.title>> <<borrowers.firstname>> <<borrowers.surname>>.\r\n\r\nYour new Koha account details are:\r\n\r\nUser:  <<borrowers.userid>>\r\nPassword: <<borrowers.password>>\r\n\r\nIf you have any problems or questions regarding your account, please contact your Koha Administrator.\r\n\r\nThank you,\r\nKoha Administrator\r\nkohaadmin@yoursite.org'), 
5
('members','ACCTDETAILS','Account Details Template - DEFAULT','Your new Koha account details.','Hello <<borrowers.title>> <<borrowers.firstname>> <<borrowers.surname>>.\r\n\r\nYour new Koha account details are:\r\n\r\nUser:  <<borrowers.userid>>\r\nPassword: <<borrowers.password>>\r\n\r\nIf you have any problems or questions regarding your account, please contact your Koha Administrator.\r\n\r\nThank you,\r\nKoha Administrator\r\nkohaadmin@yoursite.org'), 
6
('circulation','DUE','Item Due Reminder','Item Due Reminder','Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following item is now due:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)'), 
6
('circulation','DUE','Item Due Reminder','Item Due Reminder','Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following item is now due:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)'), 
(-)a/installer/data/mysql/uk-UA/optional/sample_notices.sql (-1 / +1 lines)
Lines 5-11 INSERT INTO `letter` Link Here
5
VALUES
5
VALUES
6
('circulation','ODUE','Повідомлення про прострочення','Одиниця прострочена','Добродію <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nПо нашим нинішнім записам, у Вас є прострочені екземпляри. Ваша бібліотека не стягує штрафи за запізнення, але, будь ласка, поверніть або оновіть їх як можна швидше.\r\n\r\n<<branches.branchname>><<branches.branchaddress1>><<branches.branchaddress2>><<branches.branchaddress3>><<branches.branchphone>><<branches.branchfax>><<branches.branchemail>>Якщо Ви зареєстрували пароль у бібліотеці, ви можете використовувати його з Вашим номером бібліотечного квитка для продовження онлайн. Якщо примірник має прострочення більш ніж на 30 днів, Ви не зможете використовувати Ваш читацький квиток доки не повернете примірник. Наступний примірник в даний час є простроченим:\r\n\r\n<<items.content>>'),
6
('circulation','ODUE','Повідомлення про прострочення','Одиниця прострочена','Добродію <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nПо нашим нинішнім записам, у Вас є прострочені екземпляри. Ваша бібліотека не стягує штрафи за запізнення, але, будь ласка, поверніть або оновіть їх як можна швидше.\r\n\r\n<<branches.branchname>><<branches.branchaddress1>><<branches.branchaddress2>><<branches.branchaddress3>><<branches.branchphone>><<branches.branchfax>><<branches.branchemail>>Якщо Ви зареєстрували пароль у бібліотеці, ви можете використовувати його з Вашим номером бібліотечного квитка для продовження онлайн. Якщо примірник має прострочення більш ніж на 30 днів, Ви не зможете використовувати Ваш читацький квиток доки не повернете примірник. Наступний примірник в даний час є простроченим:\r\n\r\n<<items.content>>'),
7
7
8
('claimacquisition','ACQCLAIM','Вимога придбання','Примірник не отримано','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nНомер замовлення <<aqorders.ordernumber>> (<<aqorders.title>>) (<<aqorders.quantity>> замовлено) (<<aqorders.listprice>> кожний) отримано не було.'),
8
('claimacquisition','ACQCLAIM','Вимога придбання','Примірник не отримано','<<aqbooksellers.name>>\r\n<<aqbooksellers.address1>>\r\n<<aqbooksellers.address2>>\r\n<<aqbooksellers.address3>>\r\n<<aqbooksellers.address4>>\r\n<<aqbooksellers.phone>>\r\n\r\nНомер замовлення <<aqorders.ordernumber>> (<<biblio.title>>) (<<aqorders.quantity>> замовлено) (<<aqorders.listprice>> кожний) отримано не було.'),
9
9
10
('serial','RLIST','Список направления','Серіальне видання вже доступне','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nНаступний випуск вже доступний:\r\n\r\n<<items.content>>\r\n\r\nПрохання забрати його в будь-який зручний для Вас час.'),
10
('serial','RLIST','Список направления','Серіальне видання вже доступне','<<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nНаступний випуск вже доступний:\r\n\r\n<<items.content>>\r\n\r\nПрохання забрати його в будь-який зручний для Вас час.'),
11
11
(-)a/installer/data/mysql/updatedatabase.pl (+6 lines)
Lines 4571-4576 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
4571
    SetVersion($DBversion);
4571
    SetVersion($DBversion);
4572
}
4572
}
4573
4573
4574
$DBversion = "3.06.00.XXX";
4575
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
4576
    $dbh->do("ALTER TABLE `aqorders` ADD COLUMN `claims_count` INT(11)  DEFAULT 0, ADD COLUMN `claimed_date` DATE  DEFAULT NULL AFTER `claims_count`");
4577
    print "Upgrade to $DBversion done (Add claims_count and claimed_date fields in aqorders table)\n";
4578
    SetVersion($DBversion);
4579
}
4574
4580
4575
=head1 FUNCTIONS
4581
=head1 FUNCTIONS
4576
4582
(-)a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css (-1 / +9 lines)
Lines 2080-2083 div.pager input.pagedisplay { Link Here
2080
	background-color : transparent;
2080
	background-color : transparent;
2081
	font-weight: bold;
2081
	font-weight: bold;
2082
	text-align : center;
2082
	text-align : center;
2083
}
2083
}
2084
2085
div.info {
2086
   border : 2px dashed #990000;
2087
   background-color : #99FFCC;
2088
   padding : .5em;
2089
   margin : 1em;
2090
}
2091
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt (-3 / +37 lines)
Lines 1-6 Link Here
1
[% INCLUDE 'doc-head-open.inc' %]
1
[% INCLUDE 'doc-head-open.inc' %]
2
<title>Koha &rsaquo; Acquisitions &rsaquo; Late orders</title>
2
<title>Koha &rsaquo; Acquisitions &rsaquo; Late orders</title>
3
[% INCLUDE 'doc-head-close.inc' %]
3
[% INCLUDE 'doc-head-close.inc' %]
4
<script type="text/javascript">
5
//<![CDATA[
6
$(document).ready(function() {
7
    $("input:checkbox[name=claim_for]").click(function(){
8
        var supplierid = $(this).attr('supplierid');
9
        if ( $("input:checkbox[name=claim_for]:checked").length > 0) {
10
            $("input:checkbox[name=claim_for][supplierid!="+supplierid+"]").attr('disabled', true);
11
        } else {
12
            $("input:checkbox[name=claim_for]").attr('disabled', false);
13
        }
14
    });
15
});
16
//]]>
17
</script>
4
</head>
18
</head>
5
<body>
19
<body>
6
[% INCLUDE 'header.inc' %]
20
[% INCLUDE 'header.inc' %]
Lines 17-22 Link Here
17
<h1>[% IF ( Supplier ) %][% Supplier %] : [% END %]Late orders</h1>
31
<h1>[% IF ( Supplier ) %][% Supplier %] : [% END %]Late orders</h1>
18
<div id="acqui_lateorders">
32
<div id="acqui_lateorders">
19
33
34
[% IF error_claim %]
35
    <div class="error">[% error_claim %]</div>
36
[% END %]
37
[% IF info_claim %]
38
    <div class="info">[% info_claim %]</div>
39
[% END %]
20
[% IF ( lateorders ) %]
40
[% IF ( lateorders ) %]
21
<form action="lateorders.pl" name="claim" method="post">
41
<form action="lateorders.pl" name="claim" method="post">
22
  <input type="hidden" name="op" value="send_alert" />
42
  <input type="hidden" name="op" value="send_alert" />
Lines 35-46 Link Here
35
            <th>Information</th>
55
            <th>Information</th>
36
            <th>Total cost</th>
56
            <th>Total cost</th>
37
            <th>Basket</th>
57
            <th>Basket</th>
38
            <th>&nbsp;</th>
58
            <th>claims count</th>
59
            <th>claimed date</th>
60
            <!-- TMPL_IF name="Supplier" -->
61
            [% IF Supplier %]
62
                <th><input type="checkbox" id="checkAll"></th>
63
            [% ELSE %]
64
                <th></th>
65
            [% END %]
39
        </tr>
66
        </tr>
40
    [% FOREACH lateorder IN lateorders %]
67
    [% FOREACH lateorder IN lateorders %]
41
        [% UNLESS ( loop.odd ) %]<tr class="highlight">
68
        [% UNLESS ( loop.odd ) %]<tr class="highlight">
42
        [% ELSE %]<tr>[% END %]
69
        [% ELSE %]<tr>[% END %]
43
            <td>
70
            <td>
71
                ([% lateorder.supplierid %])
44
                [% lateorder.orderdate %]
72
                [% lateorder.orderdate %]
45
                ([% lateorder.latesince %] days)
73
                ([% lateorder.latesince %] days)
46
            </td>
74
            </td>
Lines 69-76 Link Here
69
                 </p>
97
                 </p>
70
                 <p title="branch">[% lateorder.branch %]</p>
98
                 <p title="branch">[% lateorder.branch %]</p>
71
            </td>
99
            </td>
100
            <td>[% lateorder.claims_count %]</td>
101
            <td>[% lateorder.claimed_date %]</td>
72
            <td>
102
            <td>
73
                <input type="checkbox" name="claim_for" value="[% lateorder.ordernumber %]" />
103
                [% UNLESS lateorder.budget_lock %]
104
                    <input type="checkbox" name="claim_for" value="[% lateorder.ordernumber %]"  supplierid="[% lateorder.supplierid %]"/>
105
                [% END %]
106
             </td>
74
            </td>
107
            </td>
75
        </tr>
108
        </tr>
76
        [% END %]
109
        [% END %]
Lines 79-84 Link Here
79
            <th colspan="2">&nbsp;</th>
112
            <th colspan="2">&nbsp;</th>
80
            <th>[% total %]</th>
113
            <th>[% total %]</th>
81
            <th>&nbsp;</th>
114
            <th>&nbsp;</th>
115
            <th>&nbsp;</th>
116
            <th>&nbsp;</th>
82
            <td>
117
            <td>
83
                <input type="submit" value="Claim Order" />
118
                <input type="submit" value="Claim Order" />
84
            </td>
119
            </td>
85
- 

Return to bug 5347