Bugzilla – Attachment 172650 Details for
Bug 10190
Overdue notice triggers based on item type
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 10190: Update itiva script to reflect move to circ_rules
Bug-10190-Update-itiva-script-to-reflect-move-to-c.patch (text/plain), 4.79 KB, created by
Martin Renvoize (ashimema)
on 2024-10-10 16:20:44 UTC
(
hide
)
Description:
Bug 10190: Update itiva script to reflect move to circ_rules
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2024-10-10 16:20:44 UTC
Size:
4.79 KB
patch
obsolete
>From df14138721b530d8ca52fad49c8ce88e5437732a Mon Sep 17 00:00:00 2001 >From: Martin Renvoize <martin.renvoize@ptfs-europe.com> >Date: Thu, 15 Aug 2024 14:37:03 +0100 >Subject: [PATCH] Bug 10190: Update itiva script to reflect move to circ_rules > >Sponsored-by: Glasgow Colleges Library Group <https://library.cityofglasgowcollege.ac.uk> >Signed-off-by: George Harkins <George.Harkins@cityofglasgowcollege.ac.uk> >--- > .../thirdparty/TalkingTech_itiva_outbound.pl | 56 ++++++++++++------- > 1 file changed, 36 insertions(+), 20 deletions(-) > >diff --git a/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl b/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl >index dfc6812be61..349ab5b9fd9 100755 >--- a/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl >+++ b/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl >@@ -251,43 +251,59 @@ Items and holds from other libraries will still be included for the given patron > =cut > > sub GetOverdueIssues { >- my ( $patron_branchcode ) = @_; >+ my ($patron_branchcode) = @_; > > my $patron_branchcode_filter = $patron_branchcode ? "AND borrowers.branchcode = '$patron_branchcode'" : q{}; > >- my $query = "SELECT borrowers.borrowernumber, borrowers.cardnumber, borrowers.title as patron_title, borrowers.firstname, borrowers.surname, >+ my $query = >+ "SELECT borrowers.borrowernumber, borrowers.cardnumber, borrowers.title as patron_title, borrowers.firstname, borrowers.surname, > borrowers.phone, borrowers.email, borrowers.branchcode, biblio.biblionumber, biblio.title, items.barcode, issues.date_due, >- max(overduerules.branchcode) as rulebranch, TO_DAYS(NOW())-TO_DAYS(date_due) as daysoverdue, delay1, delay2, delay3, >+ TO_DAYS(NOW())-TO_DAYS(date_due) as daysoverdue, borrowers.categorycode as categorycode, items.itemtype as itemtype, > issues.branchcode as site, branches.branchname as site_name > FROM borrowers JOIN issues USING (borrowernumber) > JOIN items USING (itemnumber) > JOIN biblio USING (biblionumber) > JOIN branches ON (issues.branchcode = branches.branchcode) >- JOIN overduerules USING (categorycode) >- JOIN overduerules_transport_types USING ( overduerules_id ) >- WHERE ( overduerules.branchcode = borrowers.branchcode or overduerules.branchcode = '') >- AND overduerules_transport_types.message_transport_type = 'itiva' >- AND ( (TO_DAYS(NOW())-TO_DAYS(date_due) ) = delay1 >- OR (TO_DAYS(NOW())-TO_DAYS(date_due) ) = delay2 >- OR (TO_DAYS(NOW())-TO_DAYS(date_due) ) = delay3 ) >+ WHERE ( overduerules.branchcode = borrowers.branchcode ) > $patron_branchcode_filter > GROUP BY items.itemnumber >+ ORDER BY items.itemtype, borrowers.categorycode, branches.branchcode > "; > my $sth = $dbh->prepare($query); > $sth->execute(); >+ >+ my @trigger_numbers; >+ my $triggers = Koha::CirculationRules->search( >+ { rule_name => { 'like' => 'overdue_%_mtt' }, rule_value => { like => '%itiva%' } } ); >+ for my $trigger ( $triggers->all ) { >+ my $trigger_number = $trigger->rule_name; >+ $trigger_number =~ s/(.*)(\d+)(.*)/$2/; >+ push @trigger_numbers, $trigger_number unless grep { $_ == $trigger_number } @trigger_numbers; >+ } >+ my @rules = map { ( "overdue_$_" . "_delay", "overdue_$_" . "_notice", "overdue_$_" . "_mtt" ) } @trigger_numbers; >+ > my @results; > while ( my $issue = $sth->fetchrow_hashref() ) { >- if ( $issue->{'daysoverdue'} == $issue->{'delay1'} ) { >- $issue->{'level'} = 1; >- } elsif ( $issue->{'daysoverdue'} == $issue->{'delay2'} ) { >- $issue->{'level'} = 2; >- } elsif ( $issue->{'daysoverdue'} == $issue->{'delay3'} ) { >- $issue->{'level'} = 3; >- } else { >- >- # this shouldn't ever happen, based our SQL criteria >+ my $effective_rules = Koha::CirculationRules->get_effective_rules( >+ { >+ categorycode => $issue->{'categorycode'}, >+ branchcode => $issue->{'branchcode'}, >+ itemtype => $issue->{'itemtype'}, >+ rules => \@rules >+ } >+ ); >+ >+ my $i = 1; >+ PERIOD: while (1) { >+ last PERIOD if ( !defined( $effective_rules->{ "overdue_$i" . '_delay' } ) ); >+ if ( $effective_rules->{ "overdue_$i" . '_mtt' } =~ /itiva/ >+ && $issue->{'daysoverdue'} == $effective_rules->{ "overdue_$i" . '_delay' } ) >+ { >+ $issue->{'level'} = $i; >+ push @results, $issue; >+ } >+ $i++; > } >- push @results, $issue; > } > return @results; > } >-- >2.47.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 10190
:
170357
|
170358
|
170359
|
170360
|
170361
|
170362
|
170363
|
170364
|
170365
|
170366
|
170367
|
170368
|
170369
|
170370
|
170371
|
170372
|
170373
|
170374
|
170375
|
170376
|
170380
|
170449
|
171727
|
171728
|
171729
|
171730
|
171731
|
171732
|
171733
|
171734
|
171735
|
171736
|
171737
|
171738
|
171739
|
171740
|
171741
|
171742
|
171743
|
171744
|
171745
|
171746
|
171747
|
171748
|
171749
|
171750
|
171751
|
171752
|
171753
|
171754
|
171755
|
172588
|
172589
|
172590
|
172591
|
172592
|
172593
|
172594
|
172595
|
172596
|
172597
|
172598
|
172599
|
172600
|
172601
|
172602
|
172603
|
172604
|
172605
|
172606
|
172607
|
172608
|
172609
|
172612
|
172614
|
172617
|
172619
|
172621
|
172622
|
172623
|
172624
|
172625
|
172626
|
172630
|
172631
|
172632
|
172633
|
172634
|
172635
|
172636
|
172637
|
172638
|
172639
|
172640
|
172641
|
172642
|
172643
|
172644
|
172645
|
172646
|
172647
|
172648
|
172649
| 172650 |
172651
|
172652
|
172653
|
172654
|
172655
|
172656
|
172657
|
172658
|
172659
|
172660
|
172661
|
172662
|
172663