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

(-)a/C4/Auth.pm (+1 lines)
Lines 333-338 sub get_template_and_user { Link Here
333
            $template->param( CAN_user_stockrotation    => 1 );
333
            $template->param( CAN_user_stockrotation    => 1 );
334
            $template->param( CAN_user_cash_management  => 1 );
334
            $template->param( CAN_user_cash_management  => 1 );
335
            $template->param( CAN_user_problem_reports  => 1 );
335
            $template->param( CAN_user_problem_reports  => 1 );
336
            $template->param( CAN_user_recalls          => 1 );
336
337
337
            foreach my $module ( keys %$all_perms ) {
338
            foreach my $module ( keys %$all_perms ) {
338
                foreach my $subperm ( keys %{ $all_perms->{$module} } ) {
339
                foreach my $subperm ( keys %{ $all_perms->{$module} } ) {
(-)a/C4/InstallAuth.pm (+1 lines)
Lines 143-148 sub get_template_and_user { Link Here
143
            $template->param( CAN_user_serials          => 1 );
143
            $template->param( CAN_user_serials          => 1 );
144
            $template->param( CAN_user_reports          => 1 );
144
            $template->param( CAN_user_reports          => 1 );
145
            $template->param( CAN_user_problem_reports   => 1 );
145
            $template->param( CAN_user_problem_reports   => 1 );
146
            $template->param( CAN_user_recalls          => 1 );
146
        }
147
        }
147
148
148
        my $minPasswordLength = C4::Context->preference('minPasswordLength');
149
        my $minPasswordLength = C4::Context->preference('minPasswordLength');
(-)a/Koha/CirculationRules.pm (+18 lines)
Lines 169-174 our $RULE_KINDS = { Link Here
169
    decreaseloanholds => {
169
    decreaseloanholds => {
170
        scope => [ 'branchcode', 'categorycode', 'itemtype' ],
170
        scope => [ 'branchcode', 'categorycode', 'itemtype' ],
171
    },
171
    },
172
    recalls_allowed => {
173
        scope => [ 'branchcode', 'categorycode', 'itemtype' ],
174
    },
175
    recalls_per_record => {
176
        scope => [ 'branchcode', 'categorycode', 'itemtype' ],
177
    },
178
    on_shelf_recalls => {
179
        scope => [ 'branchcode', 'categorycode', 'itemtype' ],
180
    },
181
    recall_due_date_interval => {
182
        scope => [ 'branchcode', 'categorycode', 'itemtype' ],
183
    },
184
    recall_overdue_fine => {
185
        scope => [ 'branchcode', 'categorycode', 'itemtype' ],
186
    },
187
    recall_shelf_time => {
188
        scope => [ 'branchcode', 'categorycode', 'itemtype' ],
189
    },
172
    # Not included (deprecated?):
190
    # Not included (deprecated?):
173
    #   * accountsent
191
    #   * accountsent
174
    #   * reservecharge
192
    #   * reservecharge
(-)a/Makefile.PL (+1 lines)
Lines 351-356 my $target_map = { Link Here
351
  './patron_lists'              => 'INTRANET_CGI_DIR',
351
  './patron_lists'              => 'INTRANET_CGI_DIR',
352
  './plugins'                   => 'INTRANET_CGI_DIR',
352
  './plugins'                   => 'INTRANET_CGI_DIR',
353
  './pos'                       => 'INTRANET_CGI_DIR',
353
  './pos'                       => 'INTRANET_CGI_DIR',
354
  './recalls'                   => 'INTRANET_CGI_DIR',
354
  './reports'                   => 'INTRANET_CGI_DIR',
355
  './reports'                   => 'INTRANET_CGI_DIR',
355
  './reserve'                   => 'INTRANET_CGI_DIR',
356
  './reserve'                   => 'INTRANET_CGI_DIR',
356
  './reviews'                   => 'INTRANET_CGI_DIR',
357
  './reviews'                   => 'INTRANET_CGI_DIR',
(-)a/admin/smart-rules.pl (+19 lines)
Lines 112-117 if ($op eq 'delete') { Link Here
112
                cap_fine_to_replacement_price    => undef,
112
                cap_fine_to_replacement_price    => undef,
113
                article_requests                 => undef,
113
                article_requests                 => undef,
114
                note                             => undef,
114
                note                             => undef,
115
                recalls_allowed                  => undef,
116
                recalls_per_record               => undef,
117
                on_shelf_recalls                 => undef,
118
                recall_due_date_interval         => undef,
119
                recall_overdue_fine              => undef,
120
                recall_shelf_time                => undef,
115
            }
121
            }
116
        }
122
        }
117
    );
123
    );
Lines 290-295 elsif ($op eq 'add') { Link Here
290
    my $cap_fine_to_replacement_price = ($input->param('cap_fine_to_replacement_price') || '') eq 'on';
296
    my $cap_fine_to_replacement_price = ($input->param('cap_fine_to_replacement_price') || '') eq 'on';
291
    my $note = $input->param('note');
297
    my $note = $input->param('note');
292
    my $decreaseloanholds = $input->param('decreaseloanholds') || undef;
298
    my $decreaseloanholds = $input->param('decreaseloanholds') || undef;
299
    my $recalls_allowed = $input->param('recalls_allowed');
300
    my $recalls_per_record = $input->param('recalls_per_record');
301
    my $on_shelf_recalls = $input->param('on_shelf_recalls');
302
    my $recall_due_date_interval = $input->param('recall_due_date_interval');
303
    my $recall_overdue_fine = $input->param('recall_overdue_fine');
304
    my $recall_shelf_time = $input->param('recall_shelf_time');
293
    $debug and warn "Adding $br, $bor, $itemtype, $fine, $maxissueqty, $maxonsiteissueqty, $cap_fine_to_replacement_price";
305
    $debug and warn "Adding $br, $bor, $itemtype, $fine, $maxissueqty, $maxonsiteissueqty, $cap_fine_to_replacement_price";
294
306
295
    my $rules = {
307
    my $rules = {
Lines 325-330 elsif ($op eq 'add') { Link Here
325
        article_requests              => $article_requests,
337
        article_requests              => $article_requests,
326
        note                          => $note,
338
        note                          => $note,
327
        decreaseloanholds             => $decreaseloanholds,
339
        decreaseloanholds             => $decreaseloanholds,
340
        recalls_allowed               => $recalls_allowed,
341
        recalls_per_record            => $recalls_per_record,
342
        on_shelf_recalls              => $on_shelf_recalls,
343
        recall_due_date_interval      => $recall_due_date_interval,
344
        recall_overdue_fine           => $recall_overdue_fine,
345
        recall_shelf_time             => $recall_shelf_time,
346
>>>>>>> Bug 19532: Database and installer stuff
328
    };
347
    };
329
348
330
    Koha::CirculationRules->set_rules(
349
    Koha::CirculationRules->set_rules(
(-)a/installer/data/mysql/atomicupdate/bug_19532-add_recalls_enum_branchtransfers.perl (+6 lines)
Line 0 Link Here
1
$DBversion = 'XXX';
2
if( CheckVersion( $DBversion ) ) {
3
    $dbh->do(q{ ALTER TABLE branchtransfers MODIFY COLUMN reason ENUM('Manual', 'StockrotationAdvance', 'StockrotationRepatriation', 'ReturnToHome', 'ReturnToHolding', 'RotatingCollection', 'Reserve', 'LostReserve', 'CancelReserve', 'Recall', 'CancelRecall') });
4
5
    NewVersion( $DBversion, 19532, "Add Recall and CancelReserve ENUM options to branchtransfers.reason" );
6
}
(-)a/installer/data/mysql/atomicupdate/bug_19532-add_recalls_flags.perl (+7 lines)
Line 0 Link Here
1
$DBversion = 'XXX';
2
if( CheckVersion( $DBversion ) ) {
3
    $dbh->do(q{ INSERT IGNORE INTO userflags (bit, flag, flagdesc, defaulton) VALUES (27, 'recalls', 'Recalls', 0) });
4
    $dbh->do(q{ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (27, 'manage_recalls', 'Manage recalls for patrons') });
5
6
    NewVersion( $DBversion, 19532, "Add recalls user flag and manage_recalls user permission" );
7
}
(-)a/installer/data/mysql/atomicupdate/bug_19532-add_recalls_notices.perl (+36 lines)
Line 0 Link Here
1
$DBversion = 'XXX';
2
if( CheckVersion( $DBversion ) ) {
3
    $dbh->do(q{
4
        INSERT IGNORE INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`) VALUES
5
        ('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <<today>>
6
7
<<borrowers.firstname>> <<borrowers.surname>>,
8
9
A recall has been placed on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>). The due date has been updated, and is now <<issues.date_due>>. Please return the item before the due date.
10
11
Thank you!','email'),
12
        ('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <<today>>
13
14
<<borrowers.firstname>> <<borrowers.surname>>,
15
16
A recall that you requested on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>) is now ready for you to pick up at <<recalls.branchcode>>. Please pick up your item by <<recalls.expirationdate>>.
17
18
Thank you!','email'),
19
        ('circulation','RECALL_REQUESTER_DET','','Details of patron who recalled item',0,'Details of patron who recalled item','Date: <<today>>
20
21
Recall for pickup at <<branches.branchname>>
22
<<borrowers.surname>>, <<borrowers.firstname>> (<<borrowers.cardnumber>>)
23
<<borrowers.phone>>
24
<<borrowers.streetnumber>> <<borrowers.address>>, <<borrowers.address2>>, <<borrowers.city>> <<borrowers.zipcode>>
25
<<borrowers.email>>
26
27
ITEM RECALLED
28
<<biblio.title>> by <<biblio.author>>
29
Barcode: <<items.barcode>>
30
Callnumber: <<items.itemcallnumber>>
31
Waiting since: <<recalls.waitingdate>>
32
Notes: <<recalls.recallnotes>>', 'print')
33
    });
34
35
    NewVersion( $DBversion, 19532, "Add recalls notices: RETURN_RECALLED_ITEM, PICKUP_RECALLED_ITEM, RECALL_REQUESTER_DET" );
36
}
(-)a/installer/data/mysql/atomicupdate/bug_19532-add_recalls_sysprefs.perl (+11 lines)
Line 0 Link Here
1
$DBversion = 'XXX';
2
if( CheckVersion( $DBversion ) ) {
3
    $dbh->do(q{
4
        INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type) VALUES
5
        ('RecallsLog','1',NULL,'If ON, log create/cancel/expire/fulfill actions on recalls','YesNo'),
6
        ('RecallsMaxPickUpDelay','7',NULL,'Define the maximum time a recall can be awaiting pickup','Integer'),
7
        ('UseRecalls','0',NULL,'Enable or disable recalls','YesNo')
8
    });
9
10
    NewVersion( $DBversion, 19532, "Add RecallsLog, RecallsMaxPickUpDelay and UseRecalls system preferences");
11
}
(-)a/installer/data/mysql/atomicupdate/bug_19532-add_recalls_table.perl (+34 lines)
Line 0 Link Here
1
$DBversion = 'XXX';
2
if( CheckVersion( $DBversion ) ) {
3
    $dbh->do(q{ DROP TABLE IF EXISTS recalls });
4
    $dbh->do(q{
5
        CREATE TABLE recalls (
6
            recall_id int(11) NOT NULL auto_increment,
7
            borrowernumber int(11) NOT NULL DEFAULT 0,
8
            recalldate datetime DEFAULT NULL,
9
            biblionumber int(11) NOT NULL DEFAULT 0,
10
            branchcode varchar(10) DEFAULT NULL,
11
            cancellationdate datetime DEFAULT NULL,
12
            recallnotes mediumtext,
13
            priority smallint(6) DEFAULT NULL,
14
            status varchar(1) DEFAULT NULL,
15
            timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
16
            itemnumber int(11) DEFAULT NULL,
17
            waitingdate datetime DEFAULT NULL,
18
            expirationdate datetime DEFAULT NULL,
19
            old TINYINT(1) DEFAULT NULL,
20
            item_level_recall TINYINT(1) NOT NULL DEFAULT 0,
21
            PRIMARY KEY (recall_id),
22
            KEY borrowernumber (borrowernumber),
23
            KEY biblionumber (biblionumber),
24
            KEY itemnumber (itemnumber),
25
            KEY branchcode (branchcode),
26
            CONSTRAINT recalls_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE,
27
            CONSTRAINT recalls_ibfk_2 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE,
28
            CONSTRAINT recalls_ibfk_3 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE CASCADE ON UPDATE CASCADE,
29
            CONSTRAINT recalls_ibfk_4 FOREIGN KEY (branchcode) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE
30
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
31
    });
32
33
    NewVersion( $DBversion, 19532, "Add recalls table" );
34
}
(-)a/installer/data/mysql/en/mandatory/sample_notices.yml (+58 lines)
Lines 1478-1480 tables: Link Here
1478
            - "Barcode: [% item.barcode %] <br />"
1478
            - "Barcode: [% item.barcode %] <br />"
1479
            - "</p>"
1479
            - "</p>"
1480
            - "[% END %]"
1480
            - "[% END %]"
1481
1482
        - module: circulation
1483
          code: RETURN_RECALLED_ITEM
1484
          branchcode: ""
1485
          name: "Notification to return a recalled item"
1486
          is_html: 0
1487
          title: "Notification to return a recalled item"
1488
          message_transport_type: email
1489
          lang: default
1490
          content:
1491
            - "Date: <<today>>"
1492
            - ""
1493
            - "<<borrowers.firstname>> <<borrowers.surname>>,"
1494
            - ""
1495
            - "A recall has been placed on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>). The due date has been updated, and is now <<issues.date_due>>. Please return the item before the due date."
1496
            - ""
1497
            - "Thank you!"
1498
1499
        - module: circulation
1500
          code: PICKUP_RECALLED_ITEM
1501
          branchcode: ""
1502
          name: "Recalled item awaiting pickup"
1503
          is_html: 0
1504
          title: "Recalled item awaiting pickup"
1505
          message_transport_type: email
1506
          lang: default
1507
          content:
1508
            - "Date: <<today>>"
1509
            - ""
1510
            - "<<borrowers.firstname>> <<borrowers.surname>>,"
1511
            - ""
1512
            - "A recall that you requested on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>) is now ready for you to pick up at <<recalls.branchcode>>. Please pick up your item by <<recalls.expirationdate>>."
1513
            - ""
1514
            - "Thank you!"
1515
1516
        - module: circulation
1517
          code: RECALL_REQUESTER_DET
1518
          branchcode: ""
1519
          name: "Details of patron who recalled item"
1520
          is_html: 0
1521
          title: "Details of patron who recalled item"
1522
          message_transport_type: print
1523
          lang: default
1524
          content:
1525
            - "Date: <<today>>"
1526
            - ""
1527
            - "Recall for pickup at <<branches.branchname>>"
1528
            - "<<borrowers.surname>>, <<borrowers.firstname>> (<<borrowers.cardnumber>>)"
1529
            - "<<borrowers.phone>>"
1530
            - "<<borrowers.streetnumber>> <<borrowers.address>>, <<borrowers.address2>>, <<borrowers.city>> <<borrowers.zipcode>>"
1531
            - "<<borrowers.email>>"
1532
            - ""
1533
            - "ITEM RECALLED"
1534
            - "<<biblio.title>> by <<biblio.author>>"
1535
            - "Barcode: <<items.barcode>>"
1536
            - "Callnumber: <<items.itemcallnumber>>"
1537
            - "Waiting since: <<recalls.waitingdate>>"
1538
            - "Notes: <<recalls.recallnotes>>"
(-)a/installer/data/mysql/fr-CA/obligatoire/sample_notices.sql (-1 / +29 lines)
Lines 98-104 INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title` Link Here
98
('circulation', 'AR_PENDING', '', 'Demande d\'article - en attente', 0, 'Demande d\'article reçue', 'Bonjour <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nNous avons bien reçu votre demande d\'article de <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle demandé :\r\nTitre : <<article_requests.title>>\r\nAuteur : <<article_requests.author>>\r\nVolume : <<article_requests.volume>>\r\nNuméro : <<article_requests.issue>>\r\nDate : <<article_requests.date>>\r\nPages : <<article_requests.pages>>\r\nChapitres : <<article_requests.chapters>>\r\nNotes : <<article_requests.patron_notes>>\r\n\r\n\r\nMerci.', 'email'),
98
('circulation', 'AR_PENDING', '', 'Demande d\'article - en attente', 0, 'Demande d\'article reçue', 'Bonjour <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nNous avons bien reçu votre demande d\'article de <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle demandé :\r\nTitre : <<article_requests.title>>\r\nAuteur : <<article_requests.author>>\r\nVolume : <<article_requests.volume>>\r\nNuméro : <<article_requests.issue>>\r\nDate : <<article_requests.date>>\r\nPages : <<article_requests.pages>>\r\nChapitres : <<article_requests.chapters>>\r\nNotes : <<article_requests.patron_notes>>\r\n\r\n\r\nMerci.', 'email'),
99
('circulation', 'AR_SLIP', '', 'Demande d\'article - ticket', 0, 'Demande d\'article', 'Demande d\'article :\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nTitre : <<biblio.title>>\r\nCode-barres : <<items.barcode>>\r\n\r\nArticle demandé :\r\nTitre : <<article_requests.title>>\r\nAuteur : <<article_requests.author>>\r\nVolume : <<article_requests.volume>>\r\nNuméro : <<article_requests.issue>>\r\nDate : <<article_requests.date>>\r\nPages : <<article_requests.pages>>\r\nChapitres : <<article_requests.chapters>>\r\nNotes : <<article_requests.patron_notes>>\r\n', 'print'),
99
('circulation', 'AR_SLIP', '', 'Demande d\'article - ticket', 0, 'Demande d\'article', 'Demande d\'article :\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nTitre : <<biblio.title>>\r\nCode-barres : <<items.barcode>>\r\n\r\nArticle demandé :\r\nTitre : <<article_requests.title>>\r\nAuteur : <<article_requests.author>>\r\nVolume : <<article_requests.volume>>\r\nNuméro : <<article_requests.issue>>\r\nDate : <<article_requests.date>>\r\nPages : <<article_requests.pages>>\r\nChapitres : <<article_requests.chapters>>\r\nNotes : <<article_requests.patron_notes>>\r\n', 'print'),
100
('circulation', 'AR_PROCESSING', '', 'Demande d\'article - en traitement', 0, 'Demande d\'article en traitement', 'Bonjour <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nNous traitons votre demande d\'article de <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle demandé :\r\nTitre : <<article_requests.title>>\r\nAuteur : <<article_requests.author>>\r\nVolume : <<article_requests.volume>>\r\nNuméro : <<article_requests.issue>>\r\nDate : <<article_requests.date>>\r\nPages : <<article_requests.pages>>\r\nChapitres : <<article_requests.chapters>>\r\nNotes : <<article_requests.patron_notes>>\r\n\r\nMerci.', 'email'),
100
('circulation', 'AR_PROCESSING', '', 'Demande d\'article - en traitement', 0, 'Demande d\'article en traitement', 'Bonjour <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nNous traitons votre demande d\'article de <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle demandé :\r\nTitre : <<article_requests.title>>\r\nAuteur : <<article_requests.author>>\r\nVolume : <<article_requests.volume>>\r\nNuméro : <<article_requests.issue>>\r\nDate : <<article_requests.date>>\r\nPages : <<article_requests.pages>>\r\nChapitres : <<article_requests.chapters>>\r\nNotes : <<article_requests.patron_notes>>\r\n\r\nMerci.', 'email'),
101
('circulation', 'CHECKOUT_NOTE', '', 'Notes d\'un utilisateur sur les documents en prêt', '0', 'Notes sur les documents en prêts', '<<borrowers.firstname>> <<borrowers.surname>> a ajouté une note sur un exemplaire de <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email');
101
('circulation', 'CHECKOUT_NOTE', '', 'Notes d\'un utilisateur sur les documents en prêt', '0', 'Notes sur les documents en prêts', '<<borrowers.firstname>> <<borrowers.surname>> a ajouté une note sur un exemplaire de <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email'),
102
('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <<today>>
103
104
<<borrowers.firstname>> <<borrowers.surname>>,
105
106
A recall has been placed on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>). The due date has been updated, and is now <<issues.date_due>>. Please return the item before the due date.
107
108
Thank you!','email'),
109
('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <<today>>
110
111
<<borrowers.firstname>> <<borrowers.surname>>,
112
113
A recall that you requested on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>) is now ready for you to pick up at <<recalls.branchcode>>. Please pick up your item by <<recalls.expirationdate>>.
114
115
Thank you!','email'),
116
('circulation','RECALL_REQUESTER_DET','','Details of patron who recalled item',0,'Date: <<today>>
117
118
Recall for pickup at <<branches.branchname>>
119
<<borrowers.surname>>, <<borrowers.firstname>> (<<borrowers.cardnumber>>)
120
<<borrowers.phone>>
121
<<borrowers.streetnumber>> <<borrowers.address>>, <<borrowers.address2>>, <<borrowers.city>> <<borrowers.zipcode>>
122
<<borrowers.email>>
123
124
ITEM RECALLED
125
<<biblio.title>> by <<biblio.author>>
126
Barcode: <<items.barcode>>
127
Callnumber: <<items.itemcallnumber>>
128
Waiting since: <<recalls.waitingdate>>
129
Notes: <<recalls.recallnotes>>', 'print');
102
130
103
INSERT INTO `letter` (module, code, branchcode, name, is_html, title, content, message_transport_type)
131
INSERT INTO `letter` (module, code, branchcode, name, is_html, title, content, message_transport_type)
104
VALUES ('members','PASSWORD_RESET','','Récupération de mot de passe en ligne',1,'Récupération de mot de passe','<html>\r\n<p>Ce courriel vous a été envoyé suite à une demande de récupération de mot de passe pour le compte de <strong><<user>></strong>.\r\n</p>\r\n<p>\r\nVous pouvez créer un nouveau mot de passe en cliquant le lien suivant :\r\n<br/><a href=\"<<passwordreseturl>>\"><<passwordreseturl>></a>\r\n</p>\r\n<p>Ce lien sera valide pour 2 jours après la réception de ce courriel. Si vous ne changez pas votre mot de passe d\'ici deux jours, vous devrez faire une nouvelle demande de récuération de mot de passe..</p>\r\n<p>Merci.</p>\r\n</html>\r\n','email'),
132
VALUES ('members','PASSWORD_RESET','','Récupération de mot de passe en ligne',1,'Récupération de mot de passe','<html>\r\n<p>Ce courriel vous a été envoyé suite à une demande de récupération de mot de passe pour le compte de <strong><<user>></strong>.\r\n</p>\r\n<p>\r\nVous pouvez créer un nouveau mot de passe en cliquant le lien suivant :\r\n<br/><a href=\"<<passwordreseturl>>\"><<passwordreseturl>></a>\r\n</p>\r\n<p>Ce lien sera valide pour 2 jours après la réception de ce courriel. Si vous ne changez pas votre mot de passe d\'ici deux jours, vous devrez faire une nouvelle demande de récuération de mot de passe..</p>\r\n<p>Merci.</p>\r\n</html>\r\n','email'),
(-)a/installer/data/mysql/fr-FR/1-Obligatoire/sample_notices.sql (-1 / +29 lines)
Lines 215-221 INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title` Link Here
215
('circulation', 'AR_PENDING', '', 'Article request - pending', 0, 'Article request received', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nWe have received your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\n\r\nThank you!', 'email'),
215
('circulation', 'AR_PENDING', '', 'Article request - pending', 0, 'Article request received', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nWe have received your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\n\r\nThank you!', 'email'),
216
('circulation', 'AR_SLIP', '', 'Article request - print slip', 0, 'Article request', 'Article request:\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nTitle: <<biblio.title>>\r\nBarcode: <<items.barcode>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n', 'print'),
216
('circulation', 'AR_SLIP', '', 'Article request - print slip', 0, 'Article request', 'Article request:\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nTitle: <<biblio.title>>\r\nBarcode: <<items.barcode>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n', 'print'),
217
('circulation', 'AR_PROCESSING', '', 'Article request - processing', 0, 'Article request processing', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nWe are now processing your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\nThank you!', 'email'),
217
('circulation', 'AR_PROCESSING', '', 'Article request - processing', 0, 'Article request processing', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nWe are now processing your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\nThank you!', 'email'),
218
('circulation', 'CHECKOUT_NOTE', '', 'Checkout note on item set by patron', '0', 'Checkout note', '<<borrowers.firstname>> <<borrowers.surname>> has added a note to the item <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email');
218
('circulation', 'CHECKOUT_NOTE', '', 'Checkout note on item set by patron', '0', 'Checkout note', '<<borrowers.firstname>> <<borrowers.surname>> has added a note to the item <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email'),
219
('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <<today>>
220
221
<<borrowers.firstname>> <<borrowers.surname>>,
222
223
A recall has been placed on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>). The due date has been updated, and is now <<issues.date_due>>. Please return the item before the due date.
224
225
Thank you!','email'),
226
('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <<today>>
227
228
<<borrowers.firstname>> <<borrowers.surname>>,
229
230
A recall that you requested on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>) is now ready for you to pick up at <<recalls.branchcode>>. Please pick up your item by <<recalls.expirationdate>>.
231
232
Thank you!','email'),
233
('circulation','RECALL_REQUESTER_DET','','Details of patron who recalled item',0,'Date: <<today>>
234
235
Recall for pickup at <<branches.branchname>>
236
<<borrowers.surname>>, <<borrowers.firstname>> (<<borrowers.cardnumber>>)
237
<<borrowers.phone>>
238
<<borrowers.streetnumber>> <<borrowers.address>>, <<borrowers.address2>>, <<borrowers.city>> <<borrowers.zipcode>>
239
<<borrowers.email>>
240
241
ITEM RECALLED
242
<<biblio.title>> by <<biblio.author>>
243
Barcode: <<items.barcode>>
244
Callnumber: <<items.itemcallnumber>>
245
Waiting since: <<recalls.waitingdate>>
246
Notes: <<recalls.recallnotes>>', 'print');
219
247
220
INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES
248
INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES
221
('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'),
249
('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'),
(-)a/installer/data/mysql/it-IT/necessari/notices.sql (-1 / +29 lines)
Lines 217-223 INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title` Link Here
217
('circulation', 'AR_PENDING', '', 'Richiesta articolo - ricevuta', 0, 'Ricevuto la richiesta di un articolo', 'Salve <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nAbbiamo ricevuto la tua richiesta di un articolo di <<biblio.title>> (<<items.barcode>>).\r\n\r\nL\'articolo richiesto:\r\nTitolo: <<article_requests.title>>\r\nAutore: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nFascicolo: <<article_requests.issue>>\r\nData: <<article_requests.date>>\r\nPagine: <<article_requests.pages>>\r\nChapitoli: <<article_requests.chapters>>\r\nNote: <<article_requests.patron_notes>>\r\n\r\nGrazie!', 'email'),
217
('circulation', 'AR_PENDING', '', 'Richiesta articolo - ricevuta', 0, 'Ricevuto la richiesta di un articolo', 'Salve <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nAbbiamo ricevuto la tua richiesta di un articolo di <<biblio.title>> (<<items.barcode>>).\r\n\r\nL\'articolo richiesto:\r\nTitolo: <<article_requests.title>>\r\nAutore: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nFascicolo: <<article_requests.issue>>\r\nData: <<article_requests.date>>\r\nPagine: <<article_requests.pages>>\r\nChapitoli: <<article_requests.chapters>>\r\nNote: <<article_requests.patron_notes>>\r\n\r\nGrazie!', 'email'),
218
('circulation', 'AR_SLIP', '', 'Richiesta articolo - ricevuta a stampa', 0, 'Richiesta articolo', 'Richiesta articolo\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nTitolo: <<biblio.title>>\r\nBarcode: <<items.barcode>>\r\n\r\nArticolo rechiesto:\r\nTitle: <<article_requests.title>>\r\nAutore: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nFascicolo: <<article_requests.issue>>\r\nData: <<article_requests.date>>\r\nPagine: <<article_requests.pages>>\r\nChapitoli: <<article_requests.chapters>>\r\nNote: <<article_requests.patron_notes>>\r\n', 'print'),
218
('circulation', 'AR_SLIP', '', 'Richiesta articolo - ricevuta a stampa', 0, 'Richiesta articolo', 'Richiesta articolo\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nTitolo: <<biblio.title>>\r\nBarcode: <<items.barcode>>\r\n\r\nArticolo rechiesto:\r\nTitle: <<article_requests.title>>\r\nAutore: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nFascicolo: <<article_requests.issue>>\r\nData: <<article_requests.date>>\r\nPagine: <<article_requests.pages>>\r\nChapitoli: <<article_requests.chapters>>\r\nNote: <<article_requests.patron_notes>>\r\n', 'print'),
219
('circulation', 'AR_PROCESSING', '', 'Richiesta articolo - in lavorazione', 0, 'La richiesta di un articolo è in lavorazione', 'Salve <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nStiamo ora lavorando la tua richiesta di un articolo da <<biblio.title>> (<<items.barcode>>).\r\n\r\nL\'articolo richiesto:\r\nTitolo: <<article_requests.title>>\r\nAutore: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nFascicolo: <<article_requests.issue>>\r\nData: <<article_requests.date>>\r\nPagine: <<article_requests.pages>>\r\nChapitoli: <<article_requests.chapters>>\r\nNote: <<article_requests.patron_notes>>\r\n\r\nGrazie!', 'email'),
219
('circulation', 'AR_PROCESSING', '', 'Richiesta articolo - in lavorazione', 0, 'La richiesta di un articolo è in lavorazione', 'Salve <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nStiamo ora lavorando la tua richiesta di un articolo da <<biblio.title>> (<<items.barcode>>).\r\n\r\nL\'articolo richiesto:\r\nTitolo: <<article_requests.title>>\r\nAutore: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nFascicolo: <<article_requests.issue>>\r\nData: <<article_requests.date>>\r\nPagine: <<article_requests.pages>>\r\nChapitoli: <<article_requests.chapters>>\r\nNote: <<article_requests.patron_notes>>\r\n\r\nGrazie!', 'email'),
220
('circulation', 'CHECKOUT_NOTE', '', 'Checkout note on item set by patron', '0', 'Checkout note', '<<borrowers.firstname>> <<borrowers.surname>> has added a note to the item <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email');
220
('circulation', 'CHECKOUT_NOTE', '', 'Checkout note on item set by patron', '0', 'Checkout note', '<<borrowers.firstname>> <<borrowers.surname>> has added a note to the item <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email'),
221
('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <<today>>
222
223
<<borrowers.firstname>> <<borrowers.surname>>,
224
225
A recall has been placed on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>). The due date has been updated, and is now <<issues.date_due>>. Please return the item before the due date.
226
227
Thank you!','email'),
228
('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <<today>>
229
230
<<borrowers.firstname>> <<borrowers.surname>>,
231
232
A recall that you requested on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>) is now ready for you to pick up at <<recalls.branchcode>>. Please pick up your item by <<recalls.expirationdate>>.
233
234
Thank you!','email'),
235
('circulation','RECALL_REQUESTER_DET','','Details of patron who recalled item',0,'Date: <<today>>
236
237
Recall for pickup at <<branches.branchname>>
238
<<borrowers.surname>>, <<borrowers.firstname>> (<<borrowers.cardnumber>>)
239
<<borrowers.phone>>
240
<<borrowers.streetnumber>> <<borrowers.address>>, <<borrowers.address2>>, <<borrowers.city>> <<borrowers.zipcode>>
241
<<borrowers.email>>
242
243
ITEM RECALLED
244
<<biblio.title>> by <<biblio.author>>
245
Barcode: <<items.barcode>>
246
Callnumber: <<items.itemcallnumber>>
247
Waiting since: <<recalls.waitingdate>>
248
Notes: <<recalls.recallnotes>>', 'print');
221
249
222
INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES
250
INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES
223
('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'),
251
('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'),
(-)a/installer/data/mysql/kohastructure.sql (-2 / +34 lines)
Lines 1530-1537 CREATE TABLE `branchtransfers` ( Link Here
1530
  `datecancelled` datetime default NULL COMMENT 'the date the transfer was cancelled',
1530
  `datecancelled` datetime default NULL COMMENT 'the date the transfer was cancelled',
1531
  `tobranch` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'the branch the transfer was going to',
1531
  `tobranch` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'the branch the transfer was going to',
1532
  `comments` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'any comments related to the transfer',
1532
  `comments` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'any comments related to the transfer',
1533
  `reason` enum('Manual','StockrotationAdvance','StockrotationRepatriation','ReturnToHome','ReturnToHolding','RotatingCollection','Reserve','LostReserve','CancelReserve') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'what triggered the transfer',
1533
  `reason` enum('Manual','StockrotationAdvance','StockrotationRepatriation','ReturnToHome','ReturnToHolding','RotatingCollection','Reserve','LostReserve','CancelReserve','Recall','CancelRecall') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'what triggered the transfer',
1534
  `cancellation_reason` ENUM('Manual', 'StockrotationAdvance', 'StockrotationRepatriation', 'ReturnToHome', 'ReturnToHolding', 'RotatingCollection', 'Reserve', 'LostReserve', 'CancelReserve') default NULL COMMENT 'what triggered the transfer cancellation',
1534
  `cancellation_reason` ENUM('Manual', 'StockrotationAdvance', 'StockrotationRepatriation', 'ReturnToHome', 'ReturnToHolding', 'RotatingCollection', 'Reserve', 'LostReserve', 'CancelReserve','Recall','CancelRecall') default NULL COMMENT 'what triggered the transfer cancellation',
1535
  PRIMARY KEY (`branchtransfer_id`),
1535
  PRIMARY KEY (`branchtransfer_id`),
1536
  KEY `frombranch` (`frombranch`),
1536
  KEY `frombranch` (`frombranch`),
1537
  KEY `tobranch` (`tobranch`),
1537
  KEY `tobranch` (`tobranch`),
Lines 4246-4251 CREATE TABLE `ratings` ( Link Here
4246
/*!40101 SET character_set_client = @saved_cs_client */;
4246
/*!40101 SET character_set_client = @saved_cs_client */;
4247
4247
4248
--
4248
--
4249
-- Table structure for table `recalls`
4250
--
4251
4252
DROP TABLE IF EXISTS recalls;
4253
CREATE TABLE recalls ( -- information related to recalls in Koha
4254
    recall_id int(11) NOT NULL auto_increment, -- primary key
4255
    borrowernumber int(11) NOT NULL DEFAULT 0, -- foreign key from the borrowers table defining which patron requested a recall
4256
    recalldate datetime DEFAULT NULL, -- the date the recall request was placed
4257
    biblionumber int(11) NOT NULL DEFAULT 0, -- foreign key from the biblio table defining which bib record this request is for
4258
    branchcode varchar(10) DEFAULT NULL, -- foreign key from the branches table defining which branch the patron wishes to pick up their recall from
4259
    cancellationdate datetime DEFAULT NULL, -- the date this recall was cancelled
4260
    recallnotes mediumtext, -- notes related to this recall
4261
    priority smallint(6) DEFAULT NULL, -- where in the queue the patron sits
4262
    status varchar(1) DEFAULT NULL, -- a one letter code defining the status of the recall. R=requested, O=overdue, W=awaiting pickup, T=in transit, E=expired, C=cancelled, F=finished/completed
4263
    timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- the date and time this recall was last updated
4264
    itemnumber int(11) DEFAULT NULL, -- foreign key from the items table defining the specific item the recall request was placed on
4265
    waitingdate datetime DEFAULT NULL, -- the date the item was marked as waiting for the patron at the library
4266
    expirationdate datetime DEFAULT NULL, -- the date the recall expires
4267
    old TINYINT(1) DEFAULT NULL, -- flag if the recall is old and no longer active, i.e. expired, cancelled or completed
4268
    item_level_recall TINYINT(1) NOT NULL DEFAULT 0, -- flag if item-level recall
4269
     PRIMARY KEY (recall_id),
4270
     KEY borrowernumber (borrowernumber),
4271
     KEY biblionumber (biblionumber),
4272
     KEY itemnumber (itemnumber),
4273
     KEY branchcode (branchcode),
4274
     CONSTRAINT recalls_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE,
4275
     CONSTRAINT recalls_ibfk_2 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE,
4276
     CONSTRAINT recalls_ibfk_3 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE CASCADE ON UPDATE CASCADE,
4277
     CONSTRAINT recalls_ibfk_4 FOREIGN KEY (branchcode) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE
4278
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4279
4280
--
4249
-- Table structure for table `repeatable_holidays`
4281
-- Table structure for table `repeatable_holidays`
4250
--
4282
--
4251
4283
(-)a/installer/data/mysql/mandatory/sysprefs.sql (-1 / +4 lines)
Lines 542-549 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
542
('QueryWeightFields','1',NULL,'If ON, enables field weighting','YesNo'),
542
('QueryWeightFields','1',NULL,'If ON, enables field weighting','YesNo'),
543
('QuoteOfTheDay','','intranet,opac','Enable or disable display of Quote of the Day on the OPAC and staff interface home page','multiple'),
543
('QuoteOfTheDay','','intranet,opac','Enable or disable display of Quote of the Day on the OPAC and staff interface home page','multiple'),
544
('RandomizeHoldsQueueWeight','0',NULL,'if ON, the holds queue in circulation will be randomized, either based on all location codes, or by the location codes specified in StaticHoldsQueueWeight','YesNo'),
544
('RandomizeHoldsQueueWeight','0',NULL,'if ON, the holds queue in circulation will be randomized, either based on all location codes, or by the location codes specified in StaticHoldsQueueWeight','YesNo'),
545
('RecordStaffUserOnCheckout','0',NULL,'If ON, when an item is checked out, the user who checked out the item is recorded','YesNo'),
545
('RecallsLog','1',NULL,'If ON, log create/cancel/expire/fulfill actions on recalls','YesNo'),
546
('RecallsMaxPickUpDelay','7',NULL,'Define the maximum time a recall can be awaiting pickup','Integer'),
546
('RecordLocalUseOnReturn','0',NULL,'If ON, statistically record returns of unissued items as local use, instead of return','YesNo'),
547
('RecordLocalUseOnReturn','0',NULL,'If ON, statistically record returns of unissued items as local use, instead of return','YesNo'),
548
('RecordStaffUserOnCheckout','0',NULL,'If ON, when an item is checked out, the user who checked out the item is recorded','YesNo'),
547
('RefundLostOnReturnControl','CheckinLibrary','CheckinLibrary|ItemHomeBranch|ItemHoldingBranch','If a lost item is returned, choose which branch to pick rules for refunding.','Choice'),
549
('RefundLostOnReturnControl','CheckinLibrary','CheckinLibrary|ItemHomeBranch|ItemHoldingBranch','If a lost item is returned, choose which branch to pick rules for refunding.','Choice'),
548
('RenewAccruingItemWhenPaid','0','','If enabled, when the fines on an item accruing is paid off, attempt to renew that item. If the syspref "RenewalPeriodBase" is set to "due date", renewed items may still be overdue','YesNo'),
550
('RenewAccruingItemWhenPaid','0','','If enabled, when the fines on an item accruing is paid off, attempt to renew that item. If the syspref "RenewalPeriodBase" is set to "due date", renewed items may still be overdue','YesNo'),
549
('RenewAccruingItemInOpac','0','','If enabled, when the fines on an item accruing is paid off in the OPAC via a payment plugin, attempt to renew that item. If the syspref "RenewalPeriodBase" is set to "due date", renewed items may still be overdue','YesNo'),
551
('RenewAccruingItemInOpac','0','','If enabled, when the fines on an item accruing is paid off in the OPAC via a payment plugin, attempt to renew that item. If the syspref "RenewalPeriodBase" is set to "due date", renewed items may still be overdue','YesNo'),
Lines 710-715 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
710
('useDischarge','0','','Allows librarians to discharge borrowers and borrowers to request a discharge','YesNo'),
712
('useDischarge','0','','Allows librarians to discharge borrowers and borrowers to request a discharge','YesNo'),
711
('UseEmailReceipts','0','','Send email receipts for payments and write-offs','YesNo'),
713
('UseEmailReceipts','0','','Send email receipts for payments and write-offs','YesNo'),
712
('UseICUStyleQuotes','0','1','Tell Koha whether to use ICU style quotes ({) or default (") when tracing subjects .','YesNo'),
714
('UseICUStyleQuotes','0','1','Tell Koha whether to use ICU style quotes ({) or default (") when tracing subjects .','YesNo'),
715
('UseRecalls','0',NULL,'Enable or disable recalls','YesNo'),
713
('UseTransportCostMatrix','0','','Use Transport Cost Matrix when filling holds','YesNo'),
716
('UseTransportCostMatrix','0','','Use Transport Cost Matrix when filling holds','YesNo'),
714
('UseWYSIWYGinSystemPreferences','0','','Show WYSIWYG editor when editing certain HTML system preferences.','YesNo'),
717
('UseWYSIWYGinSystemPreferences','0','','Show WYSIWYG editor when editing certain HTML system preferences.','YesNo'),
715
('viewISBD','1','','Allow display of ISBD view of bibiographic records','YesNo'),
718
('viewISBD','1','','Allow display of ISBD view of bibiographic records','YesNo'),
(-)a/installer/data/mysql/mandatory/userflags.sql (-1 / +2 lines)
Lines 23-27 INSERT INTO userflags (bit, flag, flagdesc, defaulton) VALUES Link Here
23
(23,'self_check','Self check modules',0),
23
(23,'self_check','Self check modules',0),
24
(24, 'stockrotation', 'Manage stockrotation operations', 0),
24
(24, 'stockrotation', 'Manage stockrotation operations', 0),
25
(25, 'cash_management', 'Cash management', 0),
25
(25, 'cash_management', 'Cash management', 0),
26
(26, 'problem_reports', 'Manage problem reports', 0)
26
(26, 'problem_reports', 'Manage problem reports', 0),
27
(27, 'recalls', 'Recalls', 0)
27
;
28
;
(-)a/installer/data/mysql/mandatory/userpermissions.sql (-1 / +2 lines)
Lines 135-139 INSERT INTO permissions (module_bit, code, description) VALUES Link Here
135
   (25, 'anonymous_refund', 'Perform refund actions from cash registers'),
135
   (25, 'anonymous_refund', 'Perform refund actions from cash registers'),
136
   (25, 'cashup', 'Perform cash register cashup action'),
136
   (25, 'cashup', 'Perform cash register cashup action'),
137
   (25, 'takepayment', 'Access the point of sale page and take payments'),
137
   (25, 'takepayment', 'Access the point of sale page and take payments'),
138
   (26, 'manage_problem_reports', 'Manage OPAC problem reports')
138
   (26, 'manage_problem_reports', 'Manage OPAC problem reports'),
139
   (27, 'manage_recalls', 'Manage recalls for patrons')
139
;
140
;
(-)a/installer/data/mysql/nb-NO/1-Obligatorisk/sample_notices.sql (-1 / +29 lines)
Lines 233-239 INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title` Link Here
233
('circulation', 'AR_PENDING', '', 'Article request - pending', 0, 'Article request received', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nWe have received your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\n\r\nThank you!', 'email'),
233
('circulation', 'AR_PENDING', '', 'Article request - pending', 0, 'Article request received', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nWe have received your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\n\r\nThank you!', 'email'),
234
('circulation', 'AR_SLIP', '', 'Article request - print slip', 0, 'Article request', 'Article request:\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nTitle: <<biblio.title>>\r\nBarcode: <<items.barcode>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n', 'print'),
234
('circulation', 'AR_SLIP', '', 'Article request - print slip', 0, 'Article request', 'Article request:\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nTitle: <<biblio.title>>\r\nBarcode: <<items.barcode>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n', 'print'),
235
('circulation', 'AR_PROCESSING', '', 'Article request - processing', 0, 'Article request processing', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nWe are now processing your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\nThank you!', 'email'),
235
('circulation', 'AR_PROCESSING', '', 'Article request - processing', 0, 'Article request processing', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nWe are now processing your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\nThank you!', 'email'),
236
('circulation', 'CHECKOUT_NOTE', '', 'Checkout note on item set by patron', '0', 'Checkout note', '<<borrowers.firstname>> <<borrowers.surname>> has added a note to the item <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email');
236
('circulation', 'CHECKOUT_NOTE', '', 'Checkout note on item set by patron', '0', 'Checkout note', '<<borrowers.firstname>> <<borrowers.surname>> has added a note to the item <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email'),
237
('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <<today>>
238
239
<<borrowers.firstname>> <<borrowers.surname>>,
240
241
A recall has been placed on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>). The due date has been updated, and is now <<issues.date_due>>. Please return the item before the due date.
242
243
Thank you!','email'),
244
('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <<today>>
245
246
<<borrowers.firstname>> <<borrowers.surname>>,
247
248
A recall that you requested on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>) is now ready for you to pick up at <<recalls.branchcode>>. Please pick up your item by <<recalls.expirationdate>>.
249
250
Thank you!','email'),
251
('circulation','RECALL_REQUESTER_DET','','Details of patron who recalled item',0,'Date: <<today>>
252
253
Recall for pickup at <<branches.branchname>>
254
<<borrowers.surname>>, <<borrowers.firstname>> (<<borrowers.cardnumber>>)
255
<<borrowers.phone>>
256
<<borrowers.streetnumber>> <<borrowers.address>>, <<borrowers.address2>>, <<borrowers.city>> <<borrowers.zipcode>>
257
<<borrowers.email>>
258
259
ITEM RECALLED
260
<<biblio.title>> by <<biblio.author>>
261
Barcode: <<items.barcode>>
262
Callnumber: <<items.itemcallnumber>>
263
Waiting since: <<recalls.waitingdate>>
264
Notes: <<recalls.recallnotes>>', 'print');
237
265
238
INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES
266
INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES
239
('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'),
267
('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'),
(-)a/installer/data/mysql/pl-PL/mandatory/sample_notices.sql (-1 / +29 lines)
Lines 212-218 INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title` Link Here
212
('circulation', 'AR_PENDING', '', 'Article request - pending', 0, 'Article request received', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nWe have received your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\n\r\nThank you!', 'email'),
212
('circulation', 'AR_PENDING', '', 'Article request - pending', 0, 'Article request received', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nWe have received your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\n\r\nThank you!', 'email'),
213
('circulation', 'AR_SLIP', '', 'Article request - print slip', 0, 'Article request', 'Article request:\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nTitle: <<biblio.title>>\r\nBarcode: <<items.barcode>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n', 'print'),
213
('circulation', 'AR_SLIP', '', 'Article request - print slip', 0, 'Article request', 'Article request:\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nTitle: <<biblio.title>>\r\nBarcode: <<items.barcode>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n', 'print'),
214
('circulation', 'AR_PROCESSING', '', 'Article request - processing', 0, 'Article request processing', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nWe are now processing your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\nThank you!', 'email'),
214
('circulation', 'AR_PROCESSING', '', 'Article request - processing', 0, 'Article request processing', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nWe are now processing your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\nThank you!', 'email'),
215
('circulation', 'CHECKOUT_NOTE', '', 'Checkout note on item set by patron', '0', 'Checkout note', '<<borrowers.firstname>> <<borrowers.surname>> has added a note to the item <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email');
215
('circulation', 'CHECKOUT_NOTE', '', 'Checkout note on item set by patron', '0', 'Checkout note', '<<borrowers.firstname>> <<borrowers.surname>> has added a note to the item <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email'),
216
('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <<today>>
217
218
<<borrowers.firstname>> <<borrowers.surname>>,
219
220
A recall has been placed on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>). The due date has been updated, and is now <<issues.date_due>>. Please return the item before the due date.
221
222
Thank you!','email'),
223
('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <<today>>
224
225
<<borrowers.firstname>> <<borrowers.surname>>,
226
227
A recall that you requested on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>) is now ready for you to pick up at <<recalls.branchcode>>. Please pick up your item by <<recalls.expirationdate>>.
228
229
Thank you!','email'),
230
('circulation','RECALL_REQUESTER_DET','','Details of patron who recalled item',0,'Date: <<today>>
231
232
Recall for pickup at <<branches.branchname>>
233
<<borrowers.surname>>, <<borrowers.firstname>> (<<borrowers.cardnumber>>)
234
<<borrowers.phone>>
235
<<borrowers.streetnumber>> <<borrowers.address>>, <<borrowers.address2>>, <<borrowers.city>> <<borrowers.zipcode>>
236
<<borrowers.email>>
237
238
ITEM RECALLED
239
<<biblio.title>> by <<biblio.author>>
240
Barcode: <<items.barcode>>
241
Callnumber: <<items.itemcallnumber>>
242
Waiting since: <<recalls.waitingdate>>
243
Notes: <<recalls.recallnotes>>', 'print');
216
244
217
INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES
245
INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES
218
('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'),
246
('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'),
(-)a/installer/data/mysql/ru-RU/mandatory/sample_notices.sql (-1 / +29 lines)
Lines 214-220 INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title` Link Here
214
('circulation', 'AR_PENDING', '', 'Article request - pending', 0, 'Article request received', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nWe have received your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\n\r\nThank you!', 'email'),
214
('circulation', 'AR_PENDING', '', 'Article request - pending', 0, 'Article request received', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nWe have received your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\n\r\nThank you!', 'email'),
215
('circulation', 'AR_SLIP', '', 'Article request - print slip', 0, 'Article request', 'Article request:\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nTitle: <<biblio.title>>\r\nBarcode: <<items.barcode>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n', 'print'),
215
('circulation', 'AR_SLIP', '', 'Article request - print slip', 0, 'Article request', 'Article request:\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nTitle: <<biblio.title>>\r\nBarcode: <<items.barcode>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n', 'print'),
216
('circulation', 'AR_PROCESSING', '', 'Article request - processing', 0, 'Article request processing', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nWe are now processing your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\nThank you!', 'email'),
216
('circulation', 'AR_PROCESSING', '', 'Article request - processing', 0, 'Article request processing', 'Dear <<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>),\r\n\r\nWe are now processing your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\nThank you!', 'email'),
217
('circulation', 'CHECKOUT_NOTE', '', 'Checkout note on item set by patron', '0', 'Checkout note', '<<borrowers.firstname>> <<borrowers.surname>> has added a note to the item <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email');
217
('circulation', 'CHECKOUT_NOTE', '', 'Checkout note on item set by patron', '0', 'Checkout note', '<<borrowers.firstname>> <<borrowers.surname>> has added a note to the item <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email'),
218
('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <<today>>
219
220
<<borrowers.firstname>> <<borrowers.surname>>,
221
222
A recall has been placed on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>). The due date has been updated, and is now <<issues.date_due>>. Please return the item before the due date.
223
224
Thank you!','email'),
225
('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <<today>>
226
227
<<borrowers.firstname>> <<borrowers.surname>>,
228
229
A recall that you requested on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>) is now ready for you to pick up at <<recalls.branchcode>>. Please pick up your item by <<recalls.expirationdate>>.
230
231
Thank you!','email'),
232
('circulation','RECALL_REQUESTER_DET','','Details of patron who recalled item',0,'Date: <<today>>
233
234
Recall for pickup at <<branches.branchname>>
235
<<borrowers.surname>>, <<borrowers.firstname>> (<<borrowers.cardnumber>>)
236
<<borrowers.phone>>
237
<<borrowers.streetnumber>> <<borrowers.address>>, <<borrowers.address2>>, <<borrowers.city>> <<borrowers.zipcode>>
238
<<borrowers.email>>
239
240
ITEM RECALLED
241
<<biblio.title>> by <<biblio.author>>
242
Barcode: <<items.barcode>>
243
Callnumber: <<items.itemcallnumber>>
244
Waiting since: <<recalls.waitingdate>>
245
Notes: <<recalls.recallnotes>>', 'print');
218
246
219
INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES
247
INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES
220
('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'),
248
('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'),
(-)a/installer/data/mysql/uk-UA/mandatory/sample_notices.sql (-1 / +33 lines)
Lines 305-311 INSERT INTO `letter` (module, code, branchcode, name, is_html, title, content, m Link Here
305
 ('circulation', 'AR_PROCESSING', '', 'запит статті - обробка', 0, 'Обробка запиту статті', '<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\n Ми зараз обробляємо Ваш запит на статтю зі „<<biblio.title>>“ (<<items.barcode>>).\r\n\r\n Запитувана стаття:\r\n Заголовок: <<article_requests.title>>\r\n Автор: <<article_requests.author>>\r\n Том: <<article_requests.volume>>\r\n Випуск: <<article_requests.issue>>\r\n Дата: <<article_requests.date>>\r\n Сторінки: <<article_requests.pages>>\r\n Розділи: <<article_requests.chapters>>\r\n Примітки: <<article_requests.patron_notes>>\r\n\r\n Спасибі!',
305
 ('circulation', 'AR_PROCESSING', '', 'запит статті - обробка', 0, 'Обробка запиту статті', '<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\n Ми зараз обробляємо Ваш запит на статтю зі „<<biblio.title>>“ (<<items.barcode>>).\r\n\r\n Запитувана стаття:\r\n Заголовок: <<article_requests.title>>\r\n Автор: <<article_requests.author>>\r\n Том: <<article_requests.volume>>\r\n Випуск: <<article_requests.issue>>\r\n Дата: <<article_requests.date>>\r\n Сторінки: <<article_requests.pages>>\r\n Розділи: <<article_requests.chapters>>\r\n Примітки: <<article_requests.patron_notes>>\r\n\r\n Спасибі!',
306
 'email'),
306
 'email'),
307
307
308
('circulation', 'CHECKOUT_NOTE', '', 'Checkout note on item set by patron', '0', 'Checkout note', '<<borrowers.firstname>> <<borrowers.surname>> has added a note to the item <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email');
308
('circulation', 'CHECKOUT_NOTE', '', 'Checkout note on item set by patron', '0', 'Checkout note', '<<borrowers.firstname>> <<borrowers.surname>> has added a note to the item <<biblio.title>> - <<biblio.author>> (<<biblio.biblionumber>>).','email'),
309
310
('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <<today>>
311
312
<<borrowers.firstname>> <<borrowers.surname>>,
313
314
A recall has been placed on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>). The due date has been updated, and is now <<issues.date_due>>. Please return the item before the due date.
315
316
Thank you!','email'),
317
318
('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <<today>>
319
320
<<borrowers.firstname>> <<borrowers.surname>>,
321
322
A recall that you requested on the following item: <<biblio.title>> / <<biblio.author>> (<<items.barcode>>) is now ready for you to pick up at <<recalls.branchcode>>. Please pick up your item by <<recalls.expirationdate>>.
323
324
Thank you!','email'),
325
326
('circulation','RECALL_REQUESTER_DET','','Details of patron who recalled item',0,'Date: <<today>>
327
328
Recall for pickup at <<branches.branchname>>
329
<<borrowers.surname>>, <<borrowers.firstname>> (<<borrowers.cardnumber>>)
330
<<borrowers.phone>>
331
<<borrowers.streetnumber>> <<borrowers.address>>, <<borrowers.address2>>, <<borrowers.city>> <<borrowers.zipcode>>
332
<<borrowers.email>>
333
334
ITEM RECALLED
335
<<biblio.title>> by <<biblio.author>>
336
Barcode: <<items.barcode>>
337
Callnumber: <<items.itemcallnumber>>
338
Waiting since: <<recalls.waitingdate>>
339
Notes: <<recalls.recallnotes>>', 'print')
340
;
309
341
310
INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES
342
INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES
311
('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'),
343
('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'),
(-)a/installer/onboarding.pl (+6 lines)
Lines 288-293 if ( $step == 5 ) { Link Here
288
                reservesallowed                  => $reservesallowed,
288
                reservesallowed                  => $reservesallowed,
289
                suspension_chargeperiod          => undef,
289
                suspension_chargeperiod          => undef,
290
                decreaseloanholds                => undef,
290
                decreaseloanholds                => undef,
291
                recalls_allowed                  => undef,
292
                recalls_per_record               => undef,
293
                on_shelf_recalls                 => undef,
294
                recall_due_date_interval         => undef,
295
                recall_overdue_fine              => undef,
296
                recall_shelf_time                => undef,
291
              }
297
              }
292
        };
298
        };
293
299
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc (+9 lines)
Lines 75-80 Link Here
75
    [%- CASE 'problem_reports' -%]
75
    [%- CASE 'problem_reports' -%]
76
        <span class="main_permission problem_reports_permission">OPAC problem reports management</span>
76
        <span class="main_permission problem_reports_permission">OPAC problem reports management</span>
77
        <span class="permissioncode">([% name | html %])</span>
77
        <span class="permissioncode">([% name | html %])</span>
78
    [%- CASE 'recalls' -%]
79
        <span class="main_permission recalls_permission">Recalls</span>
80
        <span class="permissioncode">([% name | html %])</span>
78
    [%- END -%]
81
    [%- END -%]
79
[%- END -%]
82
[%- END -%]
80
83
Lines 773-777 Link Here
773
            Manage OPAC problem reports
776
            Manage OPAC problem reports
774
        </span>
777
        </span>
775
        <span class="permissioncode">([% name | html %])</span>
778
        <span class="permissioncode">([% name | html %])</span>
779
  [%# recalls %]
780
    [%- CASE 'manage_recalls' -%]
781
        <span class="sub_permission place_recalls_subpermission">
782
            Manage recalls for patrons
783
        </span>
784
        <span class="permissioncode">([% name | html %])</span>
776
  [%- END -%]
785
  [%- END -%]
777
[%- END -%]
786
[%- END -%]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref (+12 lines)
Lines 1227-1229 Circulation: Link Here
1227
            - pref: ClaimReturnedWarningThreshold
1227
            - pref: ClaimReturnedWarningThreshold
1228
              class: integer
1228
              class: integer
1229
            - items.
1229
            - items.
1230
    Recalls:
1231
        -
1232
            - Mark a recall as problematic if it has been waiting to be picked up for
1233
            - pref: RecallsMaxPickUpDelay
1234
            - class: integer
1235
            - days.
1236
        -
1237
            - pref: UseRecalls
1238
              choices:
1239
                  yes: Use
1240
                  no: "Don't use"
1241
            - recalls. Make sure you configure <a href="/cgi-bin/koha/admin/smart-rules.pl">circulation and fines rules</a> for recalls once enabled.
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/logs.pref (+6 lines)
Lines 90-95 Logging: Link Here
90
                  1: Log
90
                  1: Log
91
                  0: "Don't log"
91
                  0: "Don't log"
92
            - " successful authentications."
92
            - " successful authentications."
93
        -
94
            - pref: RecallsLog
95
              choices:
96
                  on: Log
97
                  off: "Don't log"
98
            - any actions on recalls (create, cancel, expire, fulfill).
93
99
94
    Debugging:
100
    Debugging:
95
        -
101
        -
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt (-2 / +50 lines)
Lines 128-133 Link Here
128
                <th>OPAC item level holds</th>
128
                <th>OPAC item level holds</th>
129
                <th>Article requests</th>
129
                <th>Article requests</th>
130
                <th>Rental discount (%)</th>
130
                <th>Rental discount (%)</th>
131
                [% IF Koha.Preference('UseRecalls') %]
132
                    <th>Recalls allowed (total)</th>
133
                    <th>Recalls per record (count)</th>
134
                    <th>On shelf recalls allowed</th>
135
                    <th>Recall due date interval (day)</th>
136
                    <th>Recall overdue fine amount</th>
137
                    <th>Recall pickup period (day)</th>
138
                [% END %]
131
                <th class="noExport">Actions</th>
139
                <th class="noExport">Actions</th>
132
            </tr>
140
            </tr>
133
            </thead>
141
            </thead>
Lines 169-176 Link Here
169
                        [% SET article_requests = all_rules.$c.$i.article_requests %]
177
                        [% SET article_requests = all_rules.$c.$i.article_requests %]
170
                        [% SET rentaldiscount = all_rules.$c.$i.rentaldiscount %]
178
                        [% SET rentaldiscount = all_rules.$c.$i.rentaldiscount %]
171
                        [% SET decreaseloanholds = all_rules.$c.$i.decreaseloanholds %]
179
                        [% SET decreaseloanholds = all_rules.$c.$i.decreaseloanholds %]
180
                        [% SET recalls_allowed = all_rules.$c.$i.recalls_allowed %]
181
                        [% SET recalls_per_record = all_rules.$c.$i.recalls_per_record %]
182
                        [% SET on_shelf_recalls = all_rules.$c.$i.on_shelf_recalls %]
183
                        [% SET recall_due_date_interval = all_rules.$c.$i.recall_due_date_interval %]
184
                        [% SET recall_overdue_fine = all_rules.$c.$i.recall_overdue_fine %]
185
                        [% SET recall_shelf_time = all_rules.$c.$i.recall_shelf_time %]
172
186
173
                        [% SET show_rule = note || maxissueqty || maxonsiteissueqty || issuelength || daysmode || lengthunit || hardduedate || hardduedatecompare || fine || chargeperiod || chargeperiod_charge_at || firstremind || overduefinescap || cap_fine_to_replacement_price || finedays || maxsuspensiondays || suspension_chargeperiod || renewalsallowed || unseenrenewalsallowed || renewalperiod || norenewalbefore || auto_renew || no_auto_renewal_after || no_auto_renewal_after_hard_limit || reservesallowed || holds_per_day || holds_per_record || onshelfholds || opacitemholds || article_requests || rentaldiscount || decreaseloanholds %]
187
                        [% SET show_rule = note || maxissueqty || maxonsiteissueqty || issuelength || daysmode || lengthunit || hardduedate || hardduedatecompare || fine || chargeperiod || chargeperiod_charge_at || firstremind || overduefinescap || cap_fine_to_replacement_price || finedays || maxsuspensiondays || suspension_chargeperiod || renewalsallowed || unseenrenewalsallowed || renewalperiod || norenewalbefore || auto_renew || no_auto_renewal_after || no_auto_renewal_after_hard_limit || reservesallowed || holds_per_day || holds_per_record || onshelfholds || opacitemholds || article_requests || rentaldiscount || decreaseloanholds || recalls_allowed || recalls_per_record || on_shelf_recalls || recall_due_date_interval || recall_overdue_fine || recall_shelf_time %]
174
                        [% IF show_rule %]
188
                        [% IF show_rule %]
175
                            [% SET row_count = row_count + 1 %]
189
                            [% SET row_count = row_count + 1 %]
176
                            <tr row_countd="row_[% row_count | html %]">
190
                            <tr row_countd="row_[% row_count | html %]">
Lines 330-335 Link Here
330
                                        [% END %]
344
                                        [% END %]
331
                                    </td>
345
                                    </td>
332
                                    <td>[% rentaldiscount | html %]</td>
346
                                    <td>[% rentaldiscount | html %]</td>
347
                                    [% IF Koha.Preference('UseRecalls') %]
348
                                        <td>[% recalls_allowed | html %]</td>
349
                                        <td>[% recalls_per_record | html %]</td>
350
                                        <td>
351
                                            [% IF on_shelf_recalls == 'all' %]
352
                                                <span>If all unavailable</span>
353
                                            [% ELSE %]
354
                                                <span>If any unavailable</span>
355
                                            [% END %]
356
                                        </td>
357
                                        <td>[% recall_due_date_interval | html %]</td>
358
                                        <td>[% recall_overdue_fine FILTER format("%.2f") %]</td>
359
                                        <td>[% recall_shelf_time | html %]</td>
360
                                    [% END %]
333
                                    <td class="actions">
361
                                    <td class="actions">
334
                                      <a href="#" class="editrule btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a>
362
                                      <a href="#" class="editrule btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a>
335
                                      <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete&amp;itemtype=[% i || '*' | uri %]&amp;categorycode=[% c || '*' | uri %]&amp;branch=[% current_branch | uri %]"><i class="fa fa-trash"></i> Delete</a>
363
                                      <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete&amp;itemtype=[% i || '*' | uri %]&amp;categorycode=[% c || '*' | uri %]&amp;branch=[% current_branch | uri %]"><i class="fa fa-trash"></i> Delete</a>
Lines 459-464 Link Here
459
                        </select>
487
                        </select>
460
                    </td>
488
                    </td>
461
                    <td><input type="text" name="rentaldiscount" id="rentaldiscount" size="2" /></td>
489
                    <td><input type="text" name="rentaldiscount" id="rentaldiscount" size="2" /></td>
490
                    [% IF Koha.Preference('UseRecalls') %]
491
                        <td><input type="text" name="recalls_allowed" id="recalls_allowed" size="3"></td>
492
                        <td><input type="text" name="recalls_per_record" id="recalls_per_record" size="3"></td>
493
                        <td>
494
                            <select name="on_shelf_recalls" id="on_shelf_recalls">
495
                                <option value="any">If any unavailable</option>
496
                                <option value="all">If all unavailable</option>
497
                            </select>
498
                        </td>
499
                        <td><input type="text" name="recall_due_date_interval" id="recall_due_date_interval" size="3"></td>
500
                        <td><input type="text" name="recall_overdue_fine" id="recall_overdue_fine" size="6"></td>
501
                        <td><input type="text" name="recall_shelf_time" id="recall_shelf_time" size="3"></td>
502
                    [% END %]
462
                    <td class="actions">
503
                    <td class="actions">
463
                        <input type="hidden" name="branch" value="[% current_branch | html %]"/>
504
                        <input type="hidden" name="branch" value="[% current_branch | html %]"/>
464
                        <button type="submit" class="btn btn-default btn-xs"><i class="fa fa-save"></i> Save</button>
505
                        <button type="submit" class="btn btn-default btn-xs"><i class="fa fa-save"></i> Save</button>
Lines 505-510 Link Here
505
                      <th>OPAC item level holds</th>
546
                      <th>OPAC item level holds</th>
506
                      <th>Article requests</th>
547
                      <th>Article requests</th>
507
                      <th>Rental discount (%)</th>
548
                      <th>Rental discount (%)</th>
549
                      [% IF Koha.Preference('UseRecalls') %]
550
                        <th>Recalls allowed (total)</th>
551
                        <th>Recalls per record (count)</th>
552
                        <th>On shelf recalls allowed</th>
553
                        <th>Recall due date interval (day)</th>
554
                        <th>Recall overdue fine amount</th>
555
                        <th>Recall pickup period (day)</th>
556
                      [% END %]
508
                      <th>&nbsp;</th>
557
                      <th>&nbsp;</th>
509
                    </tr>
558
                    </tr>
510
                  </tfoot>
559
                  </tfoot>
511
- 

Return to bug 19532