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 597-603 legend:hover { Link Here
597
                                        </fieldset> <!-- /#memberentry_guarantor -->
597
                                        </fieldset> <!-- /#memberentry_guarantor -->
598
                                    </div> <!-- #/memberentry_guarantor_anchor -->
598
                                    </div> <!-- #/memberentry_guarantor_anchor -->
599
599
600
                                    [% UNLESS nocontactname && nocontactfirstname && norelationship %]
600
                                    [% UNLESS nocontactname && nocontactfirstname && norelationship || Koha.Preference('GuarantorHasToBePatron') %]
601
                                        <fieldset class="rows" id="non_patron_guarantor">
601
                                        <fieldset class="rows" id="non_patron_guarantor">
602
                                            <legend>Non-patron guarantor</legend>
602
                                            <legend>Non-patron guarantor</legend>
603
                                            <ol>
603
                                            <ol>
Lines 661-667 legend:hover { Link Here
661
                                    [% PROCESS 'main-address-style' %]
661
                                    [% PROCESS 'main-address-style' %]
662
                                [% END # /UNLESS nostreet && nocity etc group%]
662
                                [% END # /UNLESS nostreet && nocity etc group%]
663
663
664
                                [% UNLESS nophone && nophonepro && nomobile && noemail && noemailpro && nofax || Koha.Preference('GuarantorHasToBePatron') %]
664
                                [% UNLESS nophone && nophonepro && nomobile && noemail && noemailpro && nofax %]
665
                                    <fieldset class="rows" id="memberentry_contact">
665
                                    <fieldset class="rows" id="memberentry_contact">
666
                                        <legend id="contact_lgd">Contact information</legend>
666
                                        <legend id="contact_lgd">Contact information</legend>
667
                                        <ol>
667
                                        <ol>
(-)a/members/memberentry.pl (-9 / +15 lines)
Lines 102-120 my @relations = split /\|/, C4::Context->preference('borrowerRelationship'), -1; Link Here
102
@relations = ('') unless @relations;
102
@relations = ('') unless @relations;
103
my $empty_relationship_allowed = grep {$_ eq ""} @relations;
103
my $empty_relationship_allowed = grep {$_ eq ""} @relations;
104
$template->param( empty_relationship_allowed => $empty_relationship_allowed );
104
$template->param( empty_relationship_allowed => $empty_relationship_allowed );
105
106
my $guarantorinfo = $input->param('guarantorinfo');
107
my $guarantor_id = $input->param('new_guarantor_id');
105
my $guarantor_id = $input->param('new_guarantor_id');
108
my $guarantor = undef;
106
my $guarantor = undef;
109
$guarantor = Koha::Patrons->find( $guarantor_id ) if $guarantor_id;
107
$guarantor = Koha::Patrons->find( $guarantor_id ) if $guarantor_id;
110
$template->param( guarantor => $guarantor );
108
$template->param( guarantor => $guarantor );
111
112
my @delete_guarantor = $input->multi_param('delete_guarantor');
109
my @delete_guarantor = $input->multi_param('delete_guarantor');
113
foreach my $id ( @delete_guarantor ) {
110
foreach my $id ( @delete_guarantor ) {
114
    my $r = Koha::Patron::Relationships->find( $id );
111
    my $r = Koha::Patron::Relationships->find( $id );
115
    $r->delete() if $r;
112
    $r->delete() if $r;
116
}
113
}
117
114
115
#Search existing guarantor id(s) and new ones from params
116
my @guarantor_ids;
117
my @guarantors = $patron->guarantor_relationships()->guarantors unless !$patron;
118
foreach my $guarantor (@guarantors){
119
    push @guarantor_ids, $guarantor->id;
120
};
121
my @new_guarantor_ids = grep { $_ ne '' } $input->multi_param('new_guarantor_id');
122
push (@guarantor_ids, @new_guarantor_ids);
123
118
## Deal with debarments
124
## Deal with debarments
119
$template->param(
125
$template->param(
120
    debarments => scalar GetDebarments( { borrowernumber => $borrowernumber } ) );
126
    debarments => scalar GetDebarments( { borrowernumber => $borrowernumber } ) );
Lines 280-294 if ( ( $op eq 'insert' ) and !$nodouble ) { Link Here
280
    }
286
    }
281
}
287
}
282
288
283
if ( $guarantor_id ) {
289
if ( @guarantor_ids ) {
284
    if (my $guarantor = Koha::Patrons->find( $guarantor_id )) {
290
    foreach my $guarantor_id ( @guarantor_ids ){
285
        my $guarantor_category = $guarantor->category->category_type;
291
        if (my $guarantor = Koha::Patrons->find( $guarantor_id )){
286
        push @errors, 'ERROR_guarantor_is_guarantee' if ( ($guarantor_category eq 'C') &&
292
            push @errors, 'ERROR_guarantor_is_guarantee' if ( ($guarantor->is_child) &&
287
                                                          ($op eq 'save' || $op eq 'insert') );
293
                                                          ($op eq 'save' || $op eq 'insert') );
294
        }
288
    }
295
    }
289
}
296
}
290
297
291
my $valid_guarantor = $guarantor_id ? $guarantor_id : $newdata{'contactname'};
298
my $valid_guarantor = @guarantor_ids || $newdata{'contactname'} ? 1 : 0;
292
299
293
if($category_type eq 'C' && ($op eq 'save' ||  $op eq 'insert') && C4::Context->preference('ChildNeedsGuarantor')){
300
if($category_type eq 'C' && ($op eq 'save' ||  $op eq 'insert') && C4::Context->preference('ChildNeedsGuarantor')){
294
    if(!$valid_guarantor){
301
    if(!$valid_guarantor){
295
- 

Return to bug 12133