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

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt (-2 / +2 lines)
Lines 573-579 legend:hover { Link Here
573
                                        </fieldset> <!-- /#memberentry_guarantor -->
573
                                        </fieldset> <!-- /#memberentry_guarantor -->
574
                                    </div> <!-- #/memberentry_guarantor_anchor -->
574
                                    </div> <!-- #/memberentry_guarantor_anchor -->
575
575
576
                                    [% UNLESS nocontactname && nocontactfirstname && norelationship %]
576
                                    [% UNLESS nocontactname && nocontactfirstname && norelationship || Koha.Preference('GuarantorHasToBePatron') %]
577
                                        <fieldset class="rows" id="non_patron_guarantor">
577
                                        <fieldset class="rows" id="non_patron_guarantor">
578
                                            <legend>Non-patron guarantor</legend>
578
                                            <legend>Non-patron guarantor</legend>
579
                                            <ol>
579
                                            <ol>
Lines 637-643 legend:hover { Link Here
637
                                    [% PROCESS 'main-address-style' %]
637
                                    [% PROCESS 'main-address-style' %]
638
                                [% END # /UNLESS nostreet && nocity etc group%]
638
                                [% END # /UNLESS nostreet && nocity etc group%]
639
639
640
                                [% UNLESS nophone && nophonepro && nomobile && noemail && noemailpro && nofax || Koha.Preference('GuarantorHasToBePatron') %]
640
                                [% UNLESS nophone && nophonepro && nomobile && noemail && noemailpro && nofax %]
641
                                    <fieldset class="rows" id="memberentry_contact">
641
                                    <fieldset class="rows" id="memberentry_contact">
642
                                        <legend id="contact_lgd">Contact information</legend>
642
                                        <legend id="contact_lgd">Contact information</legend>
643
                                        <ol>
643
                                        <ol>
(-)a/members/memberentry.pl (-9 / +15 lines)
Lines 110-128 $template->param( relationships => scalar $patron->guarantor_relationships ) if Link Here
110
my @relations = split /,|\|/, C4::Context->preference('borrowerRelationship');
110
my @relations = split /,|\|/, C4::Context->preference('borrowerRelationship');
111
my $empty_relationship_allowed = grep {$_ eq ""} @relations;
111
my $empty_relationship_allowed = grep {$_ eq ""} @relations;
112
$template->param( empty_relationship_allowed => $empty_relationship_allowed );
112
$template->param( empty_relationship_allowed => $empty_relationship_allowed );
113
114
my $guarantorinfo = $input->param('guarantorinfo');
115
my $guarantor_id = $input->param('new_guarantor_id');
113
my $guarantor_id = $input->param('new_guarantor_id');
116
my $guarantor = undef;
114
my $guarantor = undef;
117
$guarantor = Koha::Patrons->find( $guarantor_id ) if $guarantor_id;
115
$guarantor = Koha::Patrons->find( $guarantor_id ) if $guarantor_id;
118
$template->param( guarantor => $guarantor );
116
$template->param( guarantor => $guarantor );
119
120
my @delete_guarantor = $input->multi_param('delete_guarantor');
117
my @delete_guarantor = $input->multi_param('delete_guarantor');
121
foreach my $id ( @delete_guarantor ) {
118
foreach my $id ( @delete_guarantor ) {
122
    my $r = Koha::Patron::Relationships->find( $id );
119
    my $r = Koha::Patron::Relationships->find( $id );
123
    $r->delete() if $r;
120
    $r->delete() if $r;
124
}
121
}
125
122
123
#Search existing guarantor id(s) and new ones from params
124
my @guarantor_ids;
125
my @guarantors = $patron->guarantor_relationships()->guarantors unless !$patron;
126
foreach my $guarantor (@guarantors){
127
    push @guarantor_ids, $guarantor->id;
128
};
129
my @new_guarantor_ids = grep { $_ ne '' } $input->multi_param('new_guarantor_id');
130
push (@guarantor_ids, @new_guarantor_ids);
131
126
## Deal with debarments
132
## Deal with debarments
127
$template->param(
133
$template->param(
128
    debarments => scalar GetDebarments( { borrowernumber => $borrowernumber } ) );
134
    debarments => scalar GetDebarments( { borrowernumber => $borrowernumber } ) );
Lines 287-301 if ( ( $op eq 'insert' ) and !$nodouble ) { Link Here
287
    }
293
    }
288
}
294
}
289
295
290
if ( $guarantor_id ) {
296
if ( @guarantor_ids ) {
291
    if (my $guarantor = Koha::Patrons->find( $guarantor_id )) {
297
    foreach my $guarantor_id ( @guarantor_ids ){
292
        my $guarantor_category = $guarantor->category->category_type;
298
        if (my $guarantor = Koha::Patrons->find( $guarantor_id )){
293
        push @errors, 'ERROR_guarantor_is_guarantee' if ( ($guarantor_category eq 'C') &&
299
            push @errors, 'ERROR_guarantor_is_guarantee' if ( ($guarantor->is_child) &&
294
                                                          ($op eq 'save' || $op eq 'insert') );
300
                                                          ($op eq 'save' || $op eq 'insert') );
301
        }
295
    }
302
    }
296
}
303
}
297
304
298
my $valid_guarantor = $guarantor_id ? $guarantor_id : $newdata{'contactname'};
305
my $valid_guarantor = @guarantor_ids or $newdata{'contactname'} ? 1 : 0;
299
306
300
if($category_type eq 'C' && ($op eq 'save' ||  $op eq 'insert') && C4::Context->preference('ChildNeedsGuarantor')){
307
if($category_type eq 'C' && ($op eq 'save' ||  $op eq 'insert') && C4::Context->preference('ChildNeedsGuarantor')){
301
    if(!$valid_guarantor){
308
    if(!$valid_guarantor){
302
- 

Return to bug 12133