|
Lines 35-41
use C4::Members;
Link Here
|
| 35 |
use C4::Members::Attributes; |
35 |
use C4::Members::Attributes; |
| 36 |
use C4::Members::AttributeTypes; |
36 |
use C4::Members::AttributeTypes; |
| 37 |
use C4::Koha; |
37 |
use C4::Koha; |
| 38 |
use C4::Dates qw/format_date format_date_in_iso/; |
|
|
| 39 |
use C4::Log; |
38 |
use C4::Log; |
| 40 |
use C4::Letters; |
39 |
use C4::Letters; |
| 41 |
use C4::Branch; # GetBranches |
40 |
use C4::Branch; # GetBranches |
|
Lines 167-185
if ( $op eq 'insert' || $op eq 'modify' || $op eq 'save' || $op eq 'duplicate' )
Link Here
|
| 167 |
} |
166 |
} |
| 168 |
} |
167 |
} |
| 169 |
|
168 |
|
| 170 |
my $dateobject = C4::Dates->new(); |
|
|
| 171 |
my $syspref = $dateobject->regexp(); # same syspref format for all 3 dates |
| 172 |
my $iso = $dateobject->regexp('iso'); # |
| 173 |
foreach (qw(dateenrolled dateexpiry dateofbirth)) { |
169 |
foreach (qw(dateenrolled dateexpiry dateofbirth)) { |
| 174 |
next unless exists $newdata{$_}; |
170 |
next unless exists $newdata{$_}; |
| 175 |
my $userdate = $newdata{$_} or next; |
171 |
my $userdate = $newdata{$_} or next; |
| 176 |
if ($userdate =~ /$syspref/) { |
172 |
|
| 177 |
$newdata{$_} = format_date_in_iso($userdate); # if they match syspref format, then convert to ISO |
173 |
my $formatteddate = eval { output_pref({ dt => dt_from_string( $userdate ), dateformat => 'iso', dateonly => 1 } ); }; |
| 178 |
} elsif ($userdate =~ /$iso/) { |
174 |
if ( $formatteddate ) { |
| 179 |
warn "Date $_ ($userdate) is already in ISO format"; |
175 |
$newdata{$_} = $formatteddate; |
| 180 |
} else { |
176 |
} else { |
| 181 |
($userdate eq '0000-00-00') and warn "Data error: $_ is '0000-00-00'"; |
177 |
($userdate eq '0000-00-00') and warn "Data error: $_ is '0000-00-00'"; |
| 182 |
$template->param( "ERROR_$_" => 1 ); # else ERROR! |
178 |
$template->param( "ERROR_$_" => 1 ); |
| 183 |
push(@errors,"ERROR_$_"); |
179 |
push(@errors,"ERROR_$_"); |
| 184 |
} |
180 |
} |
| 185 |
} |
181 |
} |
|
Lines 360-366
if ($op eq 'save' || $op eq 'insert'){
Link Here
|
| 360 |
|
356 |
|
| 361 |
if ( ($op eq 'modify' || $op eq 'insert' || $op eq 'save'|| $op eq 'duplicate') and ($step == 0 or $step == 3 )){ |
357 |
if ( ($op eq 'modify' || $op eq 'insert' || $op eq 'save'|| $op eq 'duplicate') and ($step == 0 or $step == 3 )){ |
| 362 |
unless ($newdata{'dateexpiry'}){ |
358 |
unless ($newdata{'dateexpiry'}){ |
| 363 |
my $arg2 = $newdata{'dateenrolled'} || C4::Dates->today('iso'); |
359 |
my $arg2 = $newdata{'dateenrolled'} || output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 }); |
| 364 |
$newdata{'dateexpiry'} = GetExpiryDate($newdata{'categorycode'},$arg2); |
360 |
$newdata{'dateexpiry'} = GetExpiryDate($newdata{'categorycode'},$arg2); |
| 365 |
} |
361 |
} |
| 366 |
} |
362 |
} |
|
Lines 643-652
if ($nok) {
Link Here
|
| 643 |
#Formatting data for display |
639 |
#Formatting data for display |
| 644 |
|
640 |
|
| 645 |
if (!defined($data{'dateenrolled'}) or $data{'dateenrolled'} eq ''){ |
641 |
if (!defined($data{'dateenrolled'}) or $data{'dateenrolled'} eq ''){ |
| 646 |
$data{'dateenrolled'}=C4::Dates->today('iso'); |
642 |
$data{'dateenrolled'} = output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 }); |
| 647 |
} |
643 |
} |
| 648 |
if ( $op eq 'duplicate' ) { |
644 |
if ( $op eq 'duplicate' ) { |
| 649 |
$data{'dateenrolled'} = C4::Dates->today('iso'); |
645 |
$data{'dateenrolled'} = output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 }); |
| 650 |
$data{'dateexpiry'} = GetExpiryDate( $data{'categorycode'}, $data{'dateenrolled'} ); |
646 |
$data{'dateexpiry'} = GetExpiryDate( $data{'categorycode'}, $data{'dateenrolled'} ); |
| 651 |
} |
647 |
} |
| 652 |
if (C4::Context->preference('uppercasesurnames')) { |
648 |
if (C4::Context->preference('uppercasesurnames')) { |
|
Lines 655-662
if (C4::Context->preference('uppercasesurnames')) {
Link Here
|
| 655 |
} |
651 |
} |
| 656 |
|
652 |
|
| 657 |
foreach (qw(dateenrolled dateexpiry dateofbirth)) { |
653 |
foreach (qw(dateenrolled dateexpiry dateofbirth)) { |
| 658 |
$data{$_} = format_date($data{$_}); # back to syspref for display |
654 |
if ( $data{$_} ) { |
| 659 |
$template->param( $_ => $data{$_}); |
655 |
$data{$_} = eval { output_pref({ dt => dt_from_string( $data{$_} ), dateonly => 1 } ); }; # back to syspref for display |
|
|
656 |
} |
| 657 |
$template->param( $_ => $data{$_}); |
| 660 |
} |
658 |
} |
| 661 |
|
659 |
|
| 662 |
if (C4::Context->preference('ExtendedPatronAttributes')) { |
660 |
if (C4::Context->preference('ExtendedPatronAttributes')) { |
| 663 |
- |
|
|