Lines 103-108
my @errors;
Link Here
|
103 |
my $borrower_data; |
103 |
my $borrower_data; |
104 |
my $NoUpdateLogin; |
104 |
my $NoUpdateLogin; |
105 |
my $userenv = C4::Context->userenv; |
105 |
my $userenv = C4::Context->userenv; |
|
|
106 |
my @messages; |
106 |
|
107 |
|
107 |
## Deal with guarantor stuff |
108 |
## Deal with guarantor stuff |
108 |
$template->param( relationships => scalar $patron->guarantor_relationships ) if $patron; |
109 |
$template->param( relationships => scalar $patron->guarantor_relationships ) if $patron; |
Lines 439-444
if ((!$nok) and $nodouble and ($op eq 'insert' or $op eq 'save')){
Link Here
|
439 |
# FIXME Urgent error handling here, we cannot fail without relevant feedback |
440 |
# FIXME Urgent error handling here, we cannot fail without relevant feedback |
440 |
# Lot of code will need to be removed from this script to handle exceptions raised by Koha::Patron->store |
441 |
# Lot of code will need to be removed from this script to handle exceptions raised by Koha::Patron->store |
441 |
warn "Patron creation failed! - $@"; # Maybe we must die instead of just warn |
442 |
warn "Patron creation failed! - $@"; # Maybe we must die instead of just warn |
|
|
443 |
push @messages, {error => 'error_on_insert_patron'}; |
444 |
$op = "add"; |
442 |
} else { |
445 |
} else { |
443 |
add_guarantors( $patron, $input ); |
446 |
add_guarantors( $patron, $input ); |
444 |
$borrowernumber = $patron->borrowernumber; |
447 |
$borrowernumber = $patron->borrowernumber; |
Lines 479-488
if ((!$nok) and $nodouble and ($op eq 'insert' or $op eq 'save')){
Link Here
|
479 |
} |
482 |
} |
480 |
} |
483 |
} |
481 |
|
484 |
|
482 |
if (C4::Context->preference('ExtendedPatronAttributes') and $input->param('setting_extended_patron_attributes')) { |
485 |
if ($patron && C4::Context->preference('ExtendedPatronAttributes') and $input->param('setting_extended_patron_attributes')) { |
483 |
C4::Members::Attributes::SetBorrowerAttributes($borrowernumber, $extended_patron_attributes); |
486 |
C4::Members::Attributes::SetBorrowerAttributes($borrowernumber, $extended_patron_attributes); |
484 |
} |
487 |
} |
485 |
if (C4::Context->preference('EnhancedMessagingPreferences') and $input->param('setting_messaging_prefs')) { |
488 |
if ($patron && C4::Context->preference('EnhancedMessagingPreferences') and $input->param('setting_messaging_prefs')) { |
486 |
C4::Form::MessagingPreferences::handle_form_action($input, { borrowernumber => $borrowernumber }, $template, 1, $newdata{'categorycode'}); |
489 |
C4::Form::MessagingPreferences::handle_form_action($input, { borrowernumber => $borrowernumber }, $template, 1, $newdata{'categorycode'}); |
487 |
} |
490 |
} |
488 |
|
491 |
|
Lines 492-498
if ((!$nok) and $nodouble and ($op eq 'insert' or $op eq 'save')){
Link Here
|
492 |
$hsbnd_chooser = 1 if $input->param('housebound_chooser'); |
495 |
$hsbnd_chooser = 1 if $input->param('housebound_chooser'); |
493 |
$hsbnd_deliverer = 1 if $input->param('housebound_deliverer'); |
496 |
$hsbnd_deliverer = 1 if $input->param('housebound_deliverer'); |
494 |
# Only create a HouseboundRole if patron has a role. |
497 |
# Only create a HouseboundRole if patron has a role. |
495 |
if ( $hsbnd_chooser || $hsbnd_deliverer ) { |
498 |
if ( $patron && ( $hsbnd_chooser || $hsbnd_deliverer ) ) { |
496 |
Koha::Patron::HouseboundRole->new({ |
499 |
Koha::Patron::HouseboundRole->new({ |
497 |
borrowernumber_id => $borrowernumber, |
500 |
borrowernumber_id => $borrowernumber, |
498 |
housebound_chooser => $hsbnd_chooser, |
501 |
housebound_chooser => $hsbnd_chooser, |
Lines 549-573
if ((!$nok) and $nodouble and ($op eq 'insert' or $op eq 'save')){
Link Here
|
549 |
} |
552 |
} |
550 |
|
553 |
|
551 |
add_guarantors( $patron, $input ); |
554 |
add_guarantors( $patron, $input ); |
552 |
if (C4::Context->preference('ExtendedPatronAttributes') and $input->param('setting_extended_patron_attributes')) { |
|
|
553 |
C4::Members::Attributes::SetBorrowerAttributes($borrowernumber, $extended_patron_attributes); |
554 |
} |
555 |
if (C4::Context->preference('EnhancedMessagingPreferences') and $input->param('setting_messaging_prefs')) { |
555 |
if (C4::Context->preference('EnhancedMessagingPreferences') and $input->param('setting_messaging_prefs')) { |
556 |
C4::Form::MessagingPreferences::handle_form_action($input, { borrowernumber => $borrowernumber }, $template); |
556 |
C4::Form::MessagingPreferences::handle_form_action($input, { borrowernumber => $borrowernumber }, $template); |
557 |
} |
557 |
} |
558 |
} |
558 |
} |
559 |
|
559 |
|
560 |
if ( $destination eq 'circ' and not C4::Auth::haspermission( C4::Context->userenv->{id}, { circulate => 'circulate_remaining_permissions' } ) ) { |
560 |
if ( $patron ) { |
561 |
# If we want to redirect to circulation.pl and need to check if the logged in user has the necessary permission |
561 |
if (C4::Context->preference('ExtendedPatronAttributes') and $input->param('setting_extended_patron_attributes')) { |
562 |
$destination = 'not_circ'; |
562 |
C4::Members::Attributes::SetBorrowerAttributes($borrowernumber, $extended_patron_attributes); |
|
|
563 |
} |
564 |
|
565 |
if ( $destination eq 'circ' and not C4::Auth::haspermission( C4::Context->userenv->{id}, { circulate => 'circulate_remaining_permissions' } ) ) { |
566 |
# If we want to redirect to circulation.pl and need to check if the logged in user has the necessary permission |
567 |
$destination = 'not_circ'; |
568 |
} |
569 |
print scalar( $destination eq "circ" ) |
570 |
? $input->redirect( |
571 |
"/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber") |
572 |
: $input->redirect( |
573 |
"/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber" |
574 |
); |
575 |
exit; # You can only send 1 redirect! After that, content or other headers don't matter. |
563 |
} |
576 |
} |
564 |
print scalar( $destination eq "circ" ) |
|
|
565 |
? $input->redirect( |
566 |
"/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber") |
567 |
: $input->redirect( |
568 |
"/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber" |
569 |
); |
570 |
exit; # You can only send 1 redirect! After that, content or other headers don't matter. |
571 |
} |
577 |
} |
572 |
|
578 |
|
573 |
if ($delete){ |
579 |
if ($delete){ |
Lines 828-833
if ( C4::Context->preference('TranslateNotices') ) {
Link Here
|
828 |
$template->param( languages => $translated_languages ); |
834 |
$template->param( languages => $translated_languages ); |
829 |
} |
835 |
} |
830 |
|
836 |
|
|
|
837 |
$template->param( messages => \@messages ); |
831 |
output_html_with_http_headers $input, $cookie, $template->output; |
838 |
output_html_with_http_headers $input, $cookie, $template->output; |
832 |
|
839 |
|
833 |
sub parse_extended_patron_attributes { |
840 |
sub parse_extended_patron_attributes { |
834 |
- |
|
|