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

(-)a/C4/Circulation.pm (+60 lines)
Lines 43-48 use Date::Calc qw( Link Here
43
  Date_to_Days
43
  Date_to_Days
44
  Day_of_Week
44
  Day_of_Week
45
  Add_Delta_Days	
45
  Add_Delta_Days	
46
  check_date
46
);
47
);
47
use POSIX qw(strftime);
48
use POSIX qw(strftime);
48
use C4::Branch; # GetBranches
49
use C4::Branch; # GetBranches
Lines 1626-1631 sub AddReturn { Link Here
1626
    if ($borrowernumber) {
1627
    if ($borrowernumber) {
1627
        my $fix = _FixOverduesOnReturn($borrowernumber, $item->{itemnumber}, $exemptfine, $dropbox);
1628
        my $fix = _FixOverduesOnReturn($borrowernumber, $item->{itemnumber}, $exemptfine, $dropbox);
1628
        defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $item->{itemnumber}...) failed!";  # zero is OK, check defined
1629
        defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $item->{itemnumber}...) failed!";  # zero is OK, check defined
1630
        
1631
        # fix fine days
1632
        my $debardate = _FixFineDaysOnReturn( $borrower, $item, $issue->{date_due} );
1633
        $messages->{'Debarred'} = $debardate if ($debardate);
1629
    }
1634
    }
1630
1635
1631
    # find reserves.....
1636
    # find reserves.....
Lines 1749-1754 sub MarkIssueReturned { Link Here
1749
    $sth_del->execute($borrowernumber, $itemnumber);
1754
    $sth_del->execute($borrowernumber, $itemnumber);
1750
}
1755
}
1751
1756
1757
=head2 _FixFineDaysOnReturn
1758
1759
    &_FixFineDaysOnReturn($borrower, $item, $datedue);
1760
1761
C<$borrower> borrower hashref
1762
1763
C<$item> item hashref
1764
1765
C<$datedue> date due
1766
1767
Internal function, called only by AddReturn that calculate and update the user fine days, and debars him
1768
1769
=cut
1770
1771
sub _FixFineDaysOnReturn {
1772
    my ( $borrower, $item, $datedue ) = @_;
1773
1774
    if ($datedue) {
1775
        $datedue = C4::Dates->new( $datedue, "iso" );
1776
    } else {
1777
        return;
1778
    }
1779
1780
    my $branchcode = _GetCircControlBranch( $item, $borrower );
1781
    my $calendar = C4::Calendar->new( branchcode => $branchcode );
1782
    my $today = C4::Dates->new();
1783
1784
    my $deltadays = $calendar->daysBetween( $datedue, C4::Dates->new() );
1785
1786
    my $circcontrol = C4::Context::preference('CircControl');
1787
    my $issuingrule = GetIssuingRule( $borrower->{categorycode}, $item->{itype}, $branchcode );
1788
    my $finedays    = $issuingrule->{finedays};
1789
1790
    # exit if no finedays defined
1791
    return unless $finedays;
1792
    my $grace = $issuingrule->{firstremind};
1793
1794
    if ( $deltadays - $grace > 0 ) {
1795
        my @newdate = Add_Delta_Days( Today(), $deltadays * $finedays );
1796
        my $isonewdate = join( '-', @newdate );
1797
        my ( $deby, $debm, $debd ) = split( /-/, $borrower->{debarred} );
1798
        if ( check_date( $deby, $debm, $debd ) ) {
1799
            my @olddate = split( /-/, $borrower->{debarred} );
1800
1801
            if ( Delta_Days( @olddate, @newdate ) > 0 ) {
1802
                C4::Members::DebarMember( $borrower->{borrowernumber}, $isonewdate );
1803
                return $isonewdate;
1804
            }
1805
        } else {
1806
            C4::Members::DebarMember( $borrower->{borrowernumber}, $isonewdate );
1807
            return $isonewdate;
1808
        }
1809
    }
1810
}
1811
1752
=head2 _FixOverduesOnReturn
1812
=head2 _FixOverduesOnReturn
1753
1813
1754
   &_FixOverduesOnReturn($brn,$itm, $exemptfine, $dropboxmode);
1814
   &_FixOverduesOnReturn($brn,$itm, $exemptfine, $dropboxmode);
(-)a/C4/Members.pm (-4 / +7 lines)
Lines 2090-2096 sub GetBorrowersNamesAndLatestIssue { Link Here
2090
2090
2091
=head2 DebarMember
2091
=head2 DebarMember
2092
2092
2093
  my $success = DebarMember( $borrowernumber );
2093
my $success = DebarMember( $borrowernumber, $todate );
2094
2094
2095
marks a Member as debarred, and therefore unable to checkout any more
2095
marks a Member as debarred, and therefore unable to checkout any more
2096
items.
2096
items.
Lines 2102-2114 true on success, false on failure Link Here
2102
2102
2103
sub DebarMember {
2103
sub DebarMember {
2104
    my $borrowernumber = shift;
2104
    my $borrowernumber = shift;
2105
    my $todate         = shift;
2105
2106
2106
    return unless defined $borrowernumber;
2107
    return unless defined $borrowernumber;
2107
    return unless $borrowernumber =~ /^\d+$/;
2108
    return unless $borrowernumber =~ /^\d+$/;
2108
2109
2109
    return ModMember( borrowernumber => $borrowernumber,
2110
    return ModMember(
2110
                      debarred       => 1 );
2111
        borrowernumber => $borrowernumber,
2111
    
2112
        debarred       => $todate
2113
    );
2114
2112
}
2115
}
2113
2116
2114
=head2 ModPrivacy
2117
=head2 ModPrivacy
(-)a/C4/Overdues.pm (-11 / +12 lines)
Lines 1048-1063 sub CheckBorrowerDebarred { Link Here
1048
        SELECT debarred
1048
        SELECT debarred
1049
        FROM borrowers
1049
        FROM borrowers
1050
        WHERE borrowernumber=?
1050
        WHERE borrowernumber=?
1051
        AND debarred > NOW()
1051
    |;
1052
    |;
1052
    my $sth = $dbh->prepare($query);
1053
    my $sth = $dbh->prepare($query);
1053
    $sth->execute($borrowernumber);
1054
    $sth->execute($borrowernumber);
1054
    my ($debarredstatus) = $sth->fetchrow;
1055
    my $debarredstatus = $sth->fetchrow;
1055
    return ( $debarredstatus eq '1' ? 1 : 0 );
1056
    return $debarredstatus;
1056
}
1057
}
1057
1058
1058
=head2 UpdateBorrowerDebarred
1059
=head2 UpdateBorrowerDebarred
1059
1060
1060
    ($borrowerstatut) = &UpdateBorrowerDebarred($borrowernumber);
1061
($borrowerstatut) = &UpdateBorrowerDebarred($borrowernumber, $todate);
1061
1062
1062
update status of borrowers in borrowers table (field debarred)
1063
update status of borrowers in borrowers table (field debarred)
1063
1064
Lines 1066-1081 C<$borrowernumber> borrower number Link Here
1066
=cut
1067
=cut
1067
1068
1068
sub UpdateBorrowerDebarred{
1069
sub UpdateBorrowerDebarred{
1069
    my($borrowernumber) = @_;
1070
    my ( $borrowernumber, $todate ) = @_;
1070
    my $dbh = C4::Context->dbh;
1071
    my $dbh   = C4::Context->dbh;
1071
        my $query=qq|UPDATE borrowers
1072
    my $query = qq|UPDATE borrowers
1072
             SET debarred='1'
1073
             SET debarred=?
1073
                     WHERE borrowernumber=?
1074
                     WHERE borrowernumber=?
1074
            |;
1075
            |;
1075
    my $sth=$dbh->prepare($query);
1076
    my $sth = $dbh->prepare($query);
1076
        $sth->execute($borrowernumber);
1077
    $sth->execute( $todate, $borrowernumber );
1077
        $sth->finish;
1078
    $sth->finish;
1078
        return 1;
1079
    return 1;
1079
}
1080
}
1080
1081
1081
=head2 CheckExistantNotifyid
1082
=head2 CheckExistantNotifyid
(-)a/circ/circulation.pl (+11 lines)
Lines 30-35 use C4::Dates qw/format_date/; Link Here
30
use C4::Branch; # GetBranches
30
use C4::Branch; # GetBranches
31
use C4::Koha;   # GetPrinter
31
use C4::Koha;   # GetPrinter
32
use C4::Circulation;
32
use C4::Circulation;
33
use C4::Overdues qw/CheckBorrowerDebarred/;
33
use C4::Members;
34
use C4::Members;
34
use C4::Biblio;
35
use C4::Biblio;
35
use C4::Reserves;
36
use C4::Reserves;
Lines 259-264 if ($borrowernumber) { Link Here
259
        issuecount   => $issue,
260
        issuecount   => $issue,
260
        finetotal    => $fines
261
        finetotal    => $fines
261
    );
262
    );
263
264
    my $debar = CheckBorrowerDebarred($borrowernumber);
265
    if ($debar) {
266
        $template->param( 'userdebarred'    => 1 );
267
        $template->param( 'debarredcomment' => $borrower->{debarredcomment} );
268
        if ( $debar ne "9999-12-31" ) {
269
            $template->param( 'userdebarreddate' => C4::Dates::format_date($debar) );
270
        }
271
    }
272
262
}
273
}
263
274
264
#
275
#
(-)a/circ/returns.pl (-1 / +6 lines)
Lines 454-460 foreach my $code ( keys %$messages ) { Link Here
454
    }
454
    }
455
    elsif ( $code eq 'Wrongbranch' ) {
455
    elsif ( $code eq 'Wrongbranch' ) {
456
    }
456
    }
457
457
    elsif ( $code eq 'Debarred' ) {
458
        $err{debarred}            = format_date( $messages->{'Debarred'} );
459
        $err{debarcardnumber}     = $borrower->{cardnumber};
460
        $err{debarborrowernumber} = $borrower->{borrowernumber};
461
        $err{debarname}           = "$borrower->{firstname} $borrower->{surname}";
462
    }
458
    else {
463
    else {
459
        die "Unknown error code $code";    # note we need all the (empty) elsif's above, or we die.
464
        die "Unknown error code $code";    # note we need all the (empty) elsif's above, or we die.
460
        # This forces the issue of staying in sync w/ Circulation.pm
465
        # This forces the issue of staying in sync w/ Circulation.pm
(-)a/installer/data/mysql/updatedatabase.pl (+11 lines)
Lines 4332-4337 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
4332
    SetVersion($DBversion);
4332
    SetVersion($DBversion);
4333
}
4333
}
4334
4334
4335
$DBversion = "3.05.00.002";
4336
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
4337
    my $borrowers = $dbh->selectcol_arrayref( "SELECT borrowernumber from borrowers where debarred <>0;", { Columns => [1] } );
4338
    $dbh->do("ALTER TABLE borrowers MODIFY debarred DATE DEFAULT NULL;");
4339
    $dbh->do( "UPDATE borrowers set debarred='9999-12-31' where borrowernumber IN (" . join( ",", @$borrowers ) . ");" ) if ($borrowers and scalar(@$borrowers)>0);
4340
    $dbh->do("ALTER TABLE borrowers ADD COLUMN debarredcomment VARCHAR(255) DEFAULT NULL AFTER debarred;");
4341
    print "Upgrade done (Change borrowers.debarred into Date )\n";
4342
4343
    SetVersion($DBversion);
4344
}
4345
4335
=head1 FUNCTIONS
4346
=head1 FUNCTIONS
4336
4347
4337
=head2 DropAllForeignKeys($table)
4348
=head2 DropAllForeignKeys($table)
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt (+10 lines)
Lines 567-572 No patron matched <span class="ex">[% message %]</span> Link Here
567
			<li class="blocker"><span class="circ-hlt">Lost: </span>Patron's card is lost</li>
567
			<li class="blocker"><span class="circ-hlt">Lost: </span>Patron's card is lost</li>
568
			[% END %]
568
			[% END %]
569
569
570
            [% IF ( userdebarred ) %]
571
               <li class="blocker">
572
               <span class="circ-hlt"> Restricted:</span> Patron's account is restricted [% IF (userdebarreddate ) %] until [% userdebarreddate %] [% END %] [% IF (debarredcomment ) %]([% debarredcomment %])[% END %]
573
               <form class="inline compact" action="/cgi-bin/koha/members/setstatus.pl" method="post">
574
	                <input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
575
	                <input type="hidden" name="destination" value="circ" />
576
	                <input type="submit" value="Lift Debarment" />
577
               </form>
578
			</li>[% END %]
579
570
            [% IF ( dbarred ) %]<li class="blocker">
580
            [% IF ( dbarred ) %]<li class="blocker">
571
               <span class="circ-hlt"> Restricted:</span> Patron's account is restricted <a href="/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% borrowernumber %]&amp;cardnumber=[% cardnumber %]&amp;destination=circ&amp;status=0">Lift restriction</a>
581
               <span class="circ-hlt"> Restricted:</span> Patron's account is restricted <a href="/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% borrowernumber %]&amp;cardnumber=[% cardnumber %]&amp;destination=circ&amp;status=0">Lift restriction</a>
572
</li>[% END %]
582
</li>[% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt (+3 lines)
Lines 304-309 function Dopop(link) { Link Here
304
                    [% IF ( errmsgloo.withdrawn ) %]
304
                    [% IF ( errmsgloo.withdrawn ) %]
305
                        <p class="problem">Item is withdrawn.</p>
305
                        <p class="problem">Item is withdrawn.</p>
306
                    [% END %]
306
                    [% END %]
307
                    [% IF ( errmsgloo.debarred ) %]
308
                        <p class="problem"><a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% errmsgloo.debarborrowernumber %]">[% errmsgloo.debarname %]([% errmsgloo.debarcardnumber %])</a> is now debarred until [% errmsgloo.debarred %] </p>
309
                    [% END %]
307
            [% END %]
310
            [% END %]
308
[% IF ( soundon ) %]
311
[% IF ( soundon ) %]
309
<audio src="/intranet-tmpl/prog/sound/critical.ogg" autoplay="autoplay" autobuffer="autobuffer"></audio>
312
<audio src="/intranet-tmpl/prog/sound/critical.ogg" autoplay="autoplay" autobuffer="autobuffer"></audio>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt (-2 / +34 lines)
Lines 947-953 Link Here
947
			[% FOREACH flagloo IN flagloop %]
947
			[% FOREACH flagloo IN flagloop %]
948
				<li><label class="radio" for="yes[% flagloo.name %]">
948
				<li><label class="radio" for="yes[% flagloo.name %]">
949
				[% IF ( flagloo.key == 'gonenoaddress' ) %]Gone no Address:[% END %]
949
				[% IF ( flagloo.key == 'gonenoaddress' ) %]Gone no Address:[% END %]
950
				[% IF ( flagloo.key == 'debarred' ) %]Debarred:[% END %]
951
				[% IF ( flagloo.key == 'lost' ) %]Lost Card:[% END %]
950
				[% IF ( flagloo.key == 'lost' ) %]Lost Card:[% END %]
952
                </label>
951
                </label>
953
				<label for="yes[% flagloo.name %]">Yes </label>
952
				<label for="yes[% flagloo.name %]">Yes </label>
Lines 963-972 Link Here
963
				<input type="radio" id="no[% flagloo.name %]" name="[% flagloo.name %]" value="0" />
962
				<input type="radio" id="no[% flagloo.name %]" name="[% flagloo.name %]" value="0" />
964
				[% END %]
963
				[% END %]
965
964
966
</li>
965
            </li>
967
			[% END %]
966
			[% END %]
967
			<li>
968
				<label for="yesdebarred" class="radio">Debarred: </label>
969
				[% IF ( debarred ) %]
970
				<label for="yesdebarred">Yes </label>
971
				<input type="radio" id="yesdebarred" name="debarred" value="1" checked="checked"/>
972
                <label for="nodebarred">No </label>
973
                <input type="radio" id="nodebarred" name="debarred" value="0"/>
974
				[% ELSE %]
975
				<label for="yesdebarred">Yes </label>
976
				<input type="radio" id="yesdebarred" name="debarred" value="1" />
977
                <label for="nodebarred">No </label>
978
                <input type="radio" id="nodebarred" name="debarred" value="0" checked="checked"/>
979
				[% END %]
980
				
981
				<br />
982
				<label for="datedebarred" class="radio">until:</label> 
983
				<input type="text" name="datedebarred" id="debarred" class="debarred" value="[% datedebarred %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
984
				<img src="[% themelang %]/lib/calendar/cal.gif" id="debarred_button" alt="Show Calendar" />
985
		         <script language="JavaScript" type="text/javascript">
986
		            Calendar.setup(
987
		            {
988
		                inputField : "debarred",
989
		                ifFormat : "[% DHTMLcalendar_dateformat %]",
990
		                button : "debarred_button"
991
		            }
992
		            );
993
		        </script>
994
		        <br />
995
		        <label for="debarredcomment" class="radio">comment:</label>
996
		        <input type="text" id="debarredcomment" name="debarredcomment" value="[% debarredcomment %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] class="debarred" size="150"/>		        
997
	        </li>
998
968
			</ol>
999
			</ol>
969
			</fieldset>
1000
			</fieldset>
1001
    
970
		[% END %]	
1002
		[% END %]	
971
1003
972
[% END %]
1004
[% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt (-3 / +2 lines)
Lines 158-168 function validate1(date) { Link Here
158
158
159
    [% IF ( flagged ) %]
159
    [% IF ( flagged ) %]
160
    <ul>
160
    <ul>
161
        [% IF ( debarred ) %]
161
        [% IF ( userdebarred ) %]
162
            <li>Patron is restricted
162
            <li>Patron is restricted[% IF ( userdebarreddate ) %] until [% userdebarreddate%] [% IF (debarredcomment ) %]([% debarredcomment %])[% END %][% END %]
163
            <form class="inline compact" action="/cgi-bin/koha/members/setdebar.pl" method="post">
163
            <form class="inline compact" action="/cgi-bin/koha/members/setdebar.pl" method="post">
164
                <input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
164
                <input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
165
                <input type="hidden" name="status" value="0" />
166
                <input type="submit" value="Lift Debarment" />
165
                <input type="submit" value="Lift Debarment" />
167
            </form>
166
            </form>
168
            </li>
167
            </li>
(-)a/koha-tmpl/opac-tmpl/prog/en/modules/opac-user.tt (-1 / +1 lines)
Lines 102-108 $.tablesorter.addParser({ Link Here
102
		<div class="dialog alert">
102
		<div class="dialog alert">
103
        <ul>
103
        <ul>
104
            [% IF ( BORROWER_INF.debarred ) %]
104
            [% IF ( BORROWER_INF.debarred ) %]
105
                <li><strong>Please note:</strong> Your account has been frozen. Usually the reason for freezing an account is old overdues or damage fees.If <a href="/cgi-bin/koha/opac-user.pl">your account page</a> shows your account to be clear, please contact the library.</li>
105
                <li><strong>Please note:</strong> Your account has been frozen until [% BORROWER_INF.debarred %] - [% BORROWER_INF.debarredcomment %]. Usually the reason for freezing an account is old overdues or damage fees.If <a href="/cgi-bin/koha/opac-user.pl">your account page</a> shows your account to be clear, please contact the library.</li>
106
            [% END %]
106
            [% END %]
107
            [% IF ( BORROWER_INF.gonenoaddress ) %]
107
            [% IF ( BORROWER_INF.gonenoaddress ) %]
108
                <li><strong>Please note:</strong> According to our records, we don't have up-to-date [% UNLESS ( BORROWER_INF.OPACPatronDetails ) %]<a href="/cgi-bin/koha/opac-userupdate.pl">contact information</a>[% ELSE %]contact information[% END %] on file.  Please contact the library[% IF ( BORROWER_INF.OPACPatronDetails ) %] or use the <a href="/cgi-bin/koha/opac-userupdate.pl">online update form</a> to submit current information (<em>Please note:</em> there may be a delay in restoring your account if you submit online)[% END %].</li>
108
                <li><strong>Please note:</strong> According to our records, we don't have up-to-date [% UNLESS ( BORROWER_INF.OPACPatronDetails ) %]<a href="/cgi-bin/koha/opac-userupdate.pl">contact information</a>[% ELSE %]contact information[% END %] on file.  Please contact the library[% IF ( BORROWER_INF.OPACPatronDetails ) %] or use the <a href="/cgi-bin/koha/opac-userupdate.pl">online update form</a> to submit current information (<em>Please note:</em> there may be a delay in restoring your account if you submit online)[% END %].</li>
(-)a/kohaversion.pl (-1 / +1 lines)
Lines 16-22 the kohaversion is divided in 4 parts : Link Here
16
use strict;
16
use strict;
17
17
18
sub kohaversion {
18
sub kohaversion {
19
    our $VERSION = '3.05.00.001';
19
    our $VERSION = '3.05.00.002';
20
    # version needs to be set this way
20
    # version needs to be set this way
21
    # so that it can be picked up by Makefile.PL
21
    # so that it can be picked up by Makefile.PL
22
    # during install
22
    # during install
(-)a/members/memberentry.pl (-3 / +16 lines)
Lines 128-133 if ( $op eq 'insert' || $op eq 'modify' || $op eq 'save' || $op eq 'duplicate' ) Link Here
128
            $newdata{$key} =~ s/\"/&quot;/g unless $key eq 'borrowernotes' or $key eq 'opacnote';
128
            $newdata{$key} =~ s/\"/&quot;/g unless $key eq 'borrowernotes' or $key eq 'opacnote';
129
        }
129
        }
130
    }
130
    }
131
132
    ## Manipulate debarred
133
    if ( $newdata{debarred} ) {
134
        $newdata{debarred} = $newdata{datedebarred} ? $newdata{datedebarred} : "9999-12-31";
135
    } elsif ( exists( $newdata{debarred} ) && !( $newdata{debarred} ) ) {
136
        undef( $newdata{debarred} );
137
        undef( $newdata{debarredcomment} );
138
    } elsif ( exists( $newdata{debarredcomment} ) && $newdata{debarredcomment} eq "" ) {
139
        undef( $newdata{debarredcomment} );
140
    }
141
    
131
    my $dateobject = C4::Dates->new();
142
    my $dateobject = C4::Dates->new();
132
    my $syspref = $dateobject->regexp();		# same syspref format for all 3 dates
143
    my $syspref = $dateobject->regexp();		# same syspref format for all 3 dates
133
    my $iso     = $dateobject->regexp('iso');	#
144
    my $iso     = $dateobject->regexp('iso');	#
Lines 507-514 while (@relationships) { Link Here
507
}
518
}
508
519
509
my %flags = ( 'gonenoaddress' => ['gonenoaddress' ],
520
my %flags = ( 'gonenoaddress' => ['gonenoaddress' ],
510
        'lost'          => ['lost'],
521
        'lost'          => ['lost']);
511
        'debarred'      => ['debarred']);
512
522
513
 
523
 
514
my @flagdata;
524
my @flagdata;
Lines 627-633 if (C4::Context->preference('uppercasesurnames')) { Link Here
627
	$data{'surname'}    =uc($data{'surname'}    );
637
	$data{'surname'}    =uc($data{'surname'}    );
628
	$data{'contactname'}=uc($data{'contactname'});
638
	$data{'contactname'}=uc($data{'contactname'});
629
}
639
}
630
foreach (qw(dateenrolled dateexpiry dateofbirth)) {
640
641
$data{debarred} = C4::Overdues::CheckBorrowerDebarred($borrowernumber);
642
$data{datedebarred} = $data{debarred} if ( $data{debarred} ne "9999-12-31" );
643
foreach (qw(dateenrolled dateexpiry dateofbirth datedebarred)) {
631
	$data{$_} = format_date($data{$_});	# back to syspref for display
644
	$data{$_} = format_date($data{$_});	# back to syspref for display
632
	$template->param( $_ => $data{$_});
645
	$template->param( $_ => $data{$_});
633
}
646
}
(-)a/members/moremember.pl (-1 / +11 lines)
Lines 49-54 use C4::Letters; Link Here
49
use C4::Biblio;
49
use C4::Biblio;
50
use C4::Reserves;
50
use C4::Reserves;
51
use C4::Branch; # GetBranchName
51
use C4::Branch; # GetBranchName
52
use C4::Overdues qw/CheckBorrowerDebarred/;
52
use C4::Form::MessagingPreferences;
53
use C4::Form::MessagingPreferences;
53
use C4::NewsChannels; #get slip news
54
use C4::NewsChannels; #get slip news
54
use List::MoreUtils qw/uniq/;
55
use List::MoreUtils qw/uniq/;
Lines 148-157 foreach (qw(dateenrolled dateexpiry dateofbirth)) { Link Here
148
}
149
}
149
$data->{'IS_ADULT'} = ( $data->{'categorycode'} ne 'I' );
150
$data->{'IS_ADULT'} = ( $data->{'categorycode'} ne 'I' );
150
151
151
for (qw(debarred gonenoaddress lost borrowernotes)) {
152
for (qw(gonenoaddress lost borrowernotes)) {
152
	 $data->{$_} and $template->param(flagged => 1) and last;
153
	 $data->{$_} and $template->param(flagged => 1) and last;
153
}
154
}
154
155
156
my $debar = CheckBorrowerDebarred($borrowernumber);
157
if ($debar) {
158
    $template->param( 'userdebarred' => 1, 'flagged' => 1 );
159
    if ( $debar ne "9999-12-31" ) {
160
        $template->param( 'userdebarreddate' => C4::Dates::format_date($debar) );
161
        $template->param( 'debarredcomment'  => $data->{debarredcomment} );
162
    }
163
}
164
155
$data->{'ethnicity'} = fixEthnicity( $data->{'ethnicity'} );
165
$data->{'ethnicity'} = fixEthnicity( $data->{'ethnicity'} );
156
$data->{ "sex_".$data->{'sex'}."_p" } = 1;
166
$data->{ "sex_".$data->{'sex'}."_p" } = 1;
157
167
(-)a/members/setstatus.pl (-2 / +2 lines)
Lines 51-58 if ( $reregistration eq 'y' ) { Link Here
51
	# re-reregistration function to automatic calcul of date expiry
51
	# re-reregistration function to automatic calcul of date expiry
52
	$dateexpiry = ExtendMemberSubscriptionTo( $borrowernumber );
52
	$dateexpiry = ExtendMemberSubscriptionTo( $borrowernumber );
53
} else {
53
} else {
54
	my $sth=$dbh->prepare("Update borrowers set debarred = ? where borrowernumber = ?");
54
    my $sth = $dbh->prepare("UPDATE borrowers SET debarred = ?, debarredcomment = '' WHERE borrowernumber = ?");
55
	$sth->execute($status,$borrowernumber);	
55
    $sth->execute( $status, $borrowernumber );
56
	$sth->finish;
56
	$sth->finish;
57
	}
57
	}
58
58
(-)a/opac/opac-user.pl (-1 / +1 lines)
Lines 93-98 if ( $borr->{'amountoutstanding'} < 0 ) { Link Here
93
}
93
}
94
94
95
$borr->{'amountoutstanding'} = sprintf "%.02f", $borr->{'amountoutstanding'};
95
$borr->{'amountoutstanding'} = sprintf "%.02f", $borr->{'amountoutstanding'};
96
$borr->{'debarred'} = C4::Dates->new($borr->{'debarred'},'iso')->output;
96
97
97
my @bordat;
98
my @bordat;
98
$bordat[0] = $borr;
99
$bordat[0] = $borr;
99
- 

Return to bug 6328