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

(-)a/C4/Members.pm (-21 / +20 lines)
Lines 84-90 use C4::Members; Link Here
84
84
85
=head1 DESCRIPTION
85
=head1 DESCRIPTION
86
86
87
This module contains routines for adding, modifying and deleting members/patrons/borrowers 
87
This module contains routines for adding, modifying and deleting members/patrons/borrowers
88
88
89
=head1 FUNCTIONS
89
=head1 FUNCTIONS
90
90
Lines 126-132 The following will be set where applicable: Link Here
126
 $flags->{WAITING}->{message}       Message -- deprecated
126
 $flags->{WAITING}->{message}       Message -- deprecated
127
 $flags->{WAITING}->{itemlist}      ref-to-array: list of available items
127
 $flags->{WAITING}->{itemlist}      ref-to-array: list of available items
128
128
129
=over 
129
=over
130
130
131
=item C<$flags-E<gt>{ODUES}-E<gt>{itemlist}> is a reference-to-array listing the
131
=item C<$flags-E<gt>{ODUES}-E<gt>{itemlist}> is a reference-to-array listing the
132
overdue items. Its elements are references-to-hash, each describing an
132
overdue items. Its elements are references-to-hash, each describing an
Lines 142-148 fields from the reserves table of the Koha database. Link Here
142
142
143
=back
143
=back
144
144
145
All the "message" fields that include language generated in this function are deprecated, 
145
All the "message" fields that include language generated in this function are deprecated,
146
because such strings belong properly in the display layer.
146
because such strings belong properly in the display layer.
147
147
148
The "message" field that comes from the DB is OK.
148
The "message" field that comes from the DB is OK.
Lines 281-294 sub GetAllIssues { Link Here
281
    my $dbh = C4::Context->dbh;
281
    my $dbh = C4::Context->dbh;
282
    my $query =
282
    my $query =
283
'SELECT *, issues.timestamp as issuestimestamp, issues.renewals AS renewals,items.renewals AS totalrenewals,items.timestamp AS itemstimestamp
283
'SELECT *, issues.timestamp as issuestimestamp, issues.renewals AS renewals,items.renewals AS totalrenewals,items.timestamp AS itemstimestamp
284
  FROM issues 
284
  FROM issues
285
  LEFT JOIN items on items.itemnumber=issues.itemnumber
285
  LEFT JOIN items on items.itemnumber=issues.itemnumber
286
  LEFT JOIN biblio ON items.biblionumber=biblio.biblionumber
286
  LEFT JOIN biblio ON items.biblionumber=biblio.biblionumber
287
  LEFT JOIN biblioitems ON items.biblioitemnumber=biblioitems.biblioitemnumber
287
  LEFT JOIN biblioitems ON items.biblioitemnumber=biblioitems.biblioitemnumber
288
  WHERE borrowernumber=? 
288
  WHERE borrowernumber=?
289
  UNION ALL
289
  UNION ALL
290
  SELECT *, old_issues.timestamp as issuestimestamp, old_issues.renewals AS renewals,items.renewals AS totalrenewals,items.timestamp AS itemstimestamp 
290
  SELECT *, old_issues.timestamp as issuestimestamp, old_issues.renewals AS renewals,items.renewals AS totalrenewals,items.timestamp AS itemstimestamp
291
  FROM old_issues 
291
  FROM old_issues
292
  LEFT JOIN items on items.itemnumber=old_issues.itemnumber
292
  LEFT JOIN items on items.itemnumber=old_issues.itemnumber
293
  LEFT JOIN biblio ON items.biblionumber=biblio.biblionumber
293
  LEFT JOIN biblio ON items.biblionumber=biblio.biblionumber
294
  LEFT JOIN biblioitems ON items.biblioitemnumber=biblioitems.biblioitemnumber
294
  LEFT JOIN biblioitems ON items.biblioitemnumber=biblioitems.biblioitemnumber
Lines 385-395 sub GetBorrowersToExpunge { Link Here
385
    my $filtercategory   = $params->{'category_code'};
385
    my $filtercategory   = $params->{'category_code'};
386
    my $filterbranch     = $params->{'branchcode'} ||
386
    my $filterbranch     = $params->{'branchcode'} ||
387
                        ((C4::Context->preference('IndependentBranches')
387
                        ((C4::Context->preference('IndependentBranches')
388
                             && C4::Context->userenv 
388
                             && C4::Context->userenv
389
                             && !C4::Context->IsSuperLibrarian()
389
                             && !C4::Context->IsSuperLibrarian()
390
                             && C4::Context->userenv->{branch})
390
                             && C4::Context->userenv->{branch})
391
                         ? C4::Context->userenv->{branch}
391
                         ? C4::Context->userenv->{branch}
392
                         : "");  
392
                         : "");
393
    my $filterpatronlist = $params->{'patron_list_id'};
393
    my $filterpatronlist = $params->{'patron_list_id'};
394
394
395
    my $dbh   = C4::Context->dbh;
395
    my $dbh   = C4::Context->dbh;
Lines 447-459 sub GetBorrowersToExpunge { Link Here
447
    warn $query if $debug;
447
    warn $query if $debug;
448
448
449
    my $sth = $dbh->prepare($query);
449
    my $sth = $dbh->prepare($query);
450
    if (scalar(@query_params)>0){  
450
    if (scalar(@query_params)>0){
451
        $sth->execute(@query_params);
451
        $sth->execute(@query_params);
452
    }
452
    }
453
    else {
453
    else {
454
        $sth->execute;
454
        $sth->execute;
455
    }
455
    }
456
    
456
457
    my @results;
457
    my @results;
458
    while ( my $data = $sth->fetchrow_hashref ) {
458
    while ( my $data = $sth->fetchrow_hashref ) {
459
        push @results, $data;
459
        push @results, $data;
Lines 630-647 sub DeleteExpiredOpacRegistrations { Link Here
630
    my $category_code = C4::Context->preference('PatronSelfRegistrationDefaultCategory');
630
    my $category_code = C4::Context->preference('PatronSelfRegistrationDefaultCategory');
631
631
632
    return 0 if not $category_code or not defined $delay or $delay eq q||;
632
    return 0 if not $category_code or not defined $delay or $delay eq q||;
633
    my $date_enrolled = dt_from_string();
634
    $date_enrolled->subtract( days => $delay );
633
635
634
    my $query = qq|
636
    my $registrations_to_del = Koha::Patrons->search({
635
SELECT borrowernumber
637
        dateenrolled => {'<=' => $date_enrolled->ymd},
636
FROM borrowers
638
        categorycode => $category_code,
637
WHERE categorycode = ? AND DATEDIFF( NOW(), dateenrolled ) > ? |;
639
    });
638
640
639
    my $dbh = C4::Context->dbh;
640
    my $sth = $dbh->prepare($query);
641
    $sth->execute( $category_code, $delay );
642
    my $cnt=0;
641
    my $cnt=0;
643
    while ( my ($borrowernumber) = $sth->fetchrow_array() ) {
642
    while ( my $registration = $registrations_to_del->next() ) {
644
        Koha::Patrons->find($borrowernumber)->delete;
643
        next if $registration->checkouts->count || $registration->account->balance;
644
        $registration->delete;
645
        $cnt++;
645
        $cnt++;
646
    }
646
    }
647
    return $cnt;
647
    return $cnt;
648
- 

Return to bug 22052