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 |
- |
|
|