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

(-)a/C4/Members.pm (-4 / +5 lines)
Lines 757-766 sub AddMember { Link Here
757
    # generate a proper login if none provided
757
    # generate a proper login if none provided
758
    $data{'userid'} = Generate_Userid($data{'borrowernumber'}, $data{'firstname'}, $data{'surname'}) if $data{'userid'} eq '';
758
    $data{'userid'} = Generate_Userid($data{'borrowernumber'}, $data{'firstname'}, $data{'surname'}) if $data{'userid'} eq '';
759
759
760
    # create a disabled account if no password provided
761
    $data{'password'} = ($data{'password'})? md5_base64($data{'password'}) : '!';
762
    $data{'borrowernumber'}=InsertInTable("borrowers",\%data);
763
764
    # add expiration date if it isn't already there
760
    # add expiration date if it isn't already there
765
    unless ( $data{'dateexpiry'} ) {
761
    unless ( $data{'dateexpiry'} ) {
766
        $data{'dateexpiry'} = GetExpiryDate( $data{'categorycode'}, C4::Dates->new()->output("iso") );
762
        $data{'dateexpiry'} = GetExpiryDate( $data{'categorycode'}, C4::Dates->new()->output("iso") );
Lines 771-776 sub AddMember { Link Here
771
        $data{'dateenrolled'} = C4::Dates->new()->output("iso");
767
        $data{'dateenrolled'} = C4::Dates->new()->output("iso");
772
    }
768
    }
773
769
770
    # create a disabled account if no password provided
771
    $data{'password'} = ($data{'password'})? md5_base64($data{'password'}) : '!';
772
    $data{'borrowernumber'}=InsertInTable("borrowers",\%data);
773
774
774
    # mysql_insertid is probably bad.  not necessarily accurate and mysql-specific at best.
775
    # mysql_insertid is probably bad.  not necessarily accurate and mysql-specific at best.
775
    logaction("MEMBERS", "CREATE", $data{'borrowernumber'}, "") if C4::Context->preference("BorrowersLog");
776
    logaction("MEMBERS", "CREATE", $data{'borrowernumber'}, "") if C4::Context->preference("BorrowersLog");
776
    
777
    
(-)a/C4/SQLHelper.pm (-7 / +8 lines)
Lines 233-255 Get the Primary Key field names of the table Link Here
233
=cut
233
=cut
234
234
235
sub GetPrimaryKeys($) {
235
sub GetPrimaryKeys($) {
236
	my $tablename=shift;
236
    my $tablename = shift;
237
    my $result;
237
238
    my @results;
238
    my $cache;
239
    my $cache;
239
    if (Koha::Cache->is_cache_active()) {
240
    if (Koha::Cache->is_cache_active()) {
240
        $cache = Koha::Cache->new();
241
        $cache = Koha::Cache->new();
241
        if (defined $cache) {
242
        if (defined $cache) {
242
            $result = $cache->get_from_cache("sqlhelper:GetPrimaryKeys:$tablename");
243
            @results = $cache->get_from_cache("sqlhelper:GetPrimaryKeys:$tablename");
243
        }
244
        }
244
    }
245
    }
245
    unless (defined $result) {
246
    unless (@results) {
246
        my $hash_columns=_get_columns($tablename);
247
        my $hash_columns=_get_columns($tablename);
247
        $result = grep { $hash_columns->{$_}->{'Key'} =~/PRI/i}  keys %$hash_columns;
248
        @results = grep { $hash_columns->{$_}->{'Key'} =~/PRI/i}  keys %$hash_columns;
248
        if (Koha::Cache->is_cache_active() && defined $cache) {
249
        if (Koha::Cache->is_cache_active() && defined $cache) {
249
            $cache->set_in_cache("sqlhelper:GetPrimaryKeys:$tablename", $result);
250
            $cache->set_in_cache("sqlhelper:GetPrimaryKeys:$tablename", @results);
250
        }
251
        }
251
    }
252
    }
252
    return $result;
253
    return @results;
253
}
254
}
254
255
255
256
(-)a/Koha/Borrower/Modifications.pm (-9 / +23 lines)
Lines 144-160 Returns the number of pending modifications for existing borrowers. Link Here
144
=cut
144
=cut
145
145
146
sub GetPendingModificationsCount {
146
sub GetPendingModificationsCount {
147
    my ($self) = @_;
147
    my ( $self, $branchcode ) = @_;
148
148
149
    my $dbh   = C4::Context->dbh;
149
    my $dbh   = C4::Context->dbh;
150
    my $query = "
150
    my $query = "
151
        SELECT COUNT(*) AS count
151
        SELECT COUNT(*) AS count
152
        FROM borrower_modifications
152
        FROM borrower_modifications, borrowers
153
        WHERE borrowernumber > 0
153
        WHERE borrower_modifications.borrowernumber > 0
154
        AND borrower_modifications.borrowernumber = borrowers.borrowernumber
154
    ";
155
    ";
155
156
157
    my @params;
158
    if ($branchcode) {
159
        $query .= " AND borrowers.branchcode = ? ";
160
        push( @params, $branchcode );
161
    }
162
156
    my $sth = $dbh->prepare($query);
163
    my $sth = $dbh->prepare($query);
157
    $sth->execute();
164
    $sth->execute(@params);
158
    my $result = $sth->fetchrow_hashref();
165
    my $result = $sth->fetchrow_hashref();
159
166
160
    return $result->{'count'};
167
    return $result->{'count'};
Lines 169-185 Returns an arrayref of hashrefs for all pending modifications for existing borro Link Here
169
=cut
176
=cut
170
177
171
sub GetPendingModifications {
178
sub GetPendingModifications {
172
    my ($self) = @_;
179
    my ( $self, $branchcode ) = @_;
173
180
174
    my $dbh   = C4::Context->dbh;
181
    my $dbh   = C4::Context->dbh;
175
    my $query = "
182
    my $query = "
176
        SELECT *
183
        SELECT borrower_modifications.*
177
        FROM borrower_modifications
184
        FROM borrower_modifications, borrowers
178
        WHERE borrowernumber > 0
185
        WHERE borrower_modifications.borrowernumber > 0
186
        AND borrower_modifications.borrowernumber = borrowers.borrowernumber
179
    ";
187
    ";
180
188
189
    my @params;
190
    if ($branchcode) {
191
        $query .= " AND borrowers.branchcode = ? ";
192
        push( @params, $branchcode );
193
    }
194
181
    my $sth = $dbh->prepare($query);
195
    my $sth = $dbh->prepare($query);
182
    $sth->execute();
196
    $sth->execute(@params);
183
197
184
    my @m;
198
    my @m;
185
    while ( my $row = $sth->fetchrow_hashref() ) {
199
    while ( my $row = $sth->fetchrow_hashref() ) {
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/intranet-main.tt (-1 / +2 lines)
Lines 100-105 Link Here
100
<div class="yui-g">
100
<div class="yui-g">
101
            [% IF ( ( CAN_user_tools_moderate_comments  && pendingcomments ) 
101
            [% IF ( ( CAN_user_tools_moderate_comments  && pendingcomments ) 
102
                    || ( CAN_user_tools_moderate_tags && pendingtags )
102
                    || ( CAN_user_tools_moderate_tags && pendingtags )
103
                    || ( CAN_user_borrowers && pending_borrower_modifications )
103
                    || ( CAN_user_acquisition && pendingsuggestions ) ) %]
104
                    || ( CAN_user_acquisition && pendingsuggestions ) ) %]
104
                <div id="area-pending">
105
                <div id="area-pending">
105
                    [% IF ( CAN_user_acquisition && pendingsuggestions ) %]
106
                    [% IF ( CAN_user_acquisition && pendingsuggestions ) %]
Lines 125-131 Link Here
125
                    [% END %]
126
                    [% END %]
126
127
127
128
128
                    [% IF ( CAN_user_borrowers && pending_borrower_modifications )%]
129
                    [% IF ( CAN_user_borrowers && pending_borrower_modifications ) %]
129
                    <div class="pending-info">
130
                    <div class="pending-info">
130
                        <a href="/cgi-bin/koha/members/members-update.pl">Patrons requesting modifications</a>:
131
                        <a href="/cgi-bin/koha/members/members-update.pl">Patrons requesting modifications</a>:
131
                        <span class="pending-number-link">[% pending_borrower_modifications %]</span>
132
                        <span class="pending-number-link">[% pending_borrower_modifications %]</span>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/members-update.tt (-55 / +59 lines)
Lines 37-42 Link Here
37
        B_email         => "Alternate address - email"
37
        B_email         => "Alternate address - email"
38
        B_phone         => "Alertnate address - phone"
38
        B_phone         => "Alertnate address - phone"
39
        dateofbirth     => "Date of birth"
39
        dateofbirth     => "Date of birth"
40
        branchcode      => "Library"
40
        contactname     => "Contact - last name"
41
        contactname     => "Contact - last name"
41
        contactfirstname=> "Contact - first name"
42
        contactfirstname=> "Contact - first name"
42
        contacttitle    => "Contact - title"
43
        contacttitle    => "Contact - title"
Lines 64-135 Link Here
64
        <div id="yui-main">
65
        <div id="yui-main">
65
            <div class="yui-b">
66
            <div class="yui-b">
66
                <div class="yui-g">
67
                <div class="yui-g">
68
                    [% IF PendingModifications %]
69
                        <form method="post" action="members-update-do.pl">
67
70
68
                    <form method="post" action="members-update-do.pl">
71
                            <table>
69
72
                                <thead>
70
                        <table>
73
                                    <tr>
71
                            <thead>
74
                                        <th colspan="3">Action</th>
72
                                <tr>
75
                                        <th rowspan="2">Patron</th>
73
                                    <th colspan="3">Action</th>
76
                                        <th rowspan="2">Changes</th>
74
                                    <th rowspan="2">Patron</th>
77
                                    </tr>
75
                                    <th rowspan="2">Changes</th>
76
                                </tr>
77
78
                                <tr>
79
                                    <th>Approve</th>
80
                                    <th>Deny</th>
81
                                    <th>Ignore</th>
82
                                </tr>
83
                            </thead>
84
78
85
                            <tbody>
86
                                [% FOREACH pm IN PendingModifications %]
87
                                    [% SET borrowernumber = pm.borrowernumber %]
88
                                    <tr>
79
                                    <tr>
89
                                        <td>
80
                                        <th>Approve</th>
90
                                            <input type="radio" name="modify_[% pm.borrowernumber %]" value="approve" />
81
                                        <th>Deny</th>
91
                                        </td>
82
                                        <th>Ignore</th>
92
                                        <td>
83
                                    </tr>
93
                                            <input type="radio" name="modify_[% pm.borrowernumber %]" value="deny" />
84
                                </thead>
94
                                        </td>
85
95
                                        <td>
86
                                <tbody>
96
                                            <input type="radio" name="modify_[% pm.borrowernumber %]" value="ignore" checked="checked"/>
87
                                    [% FOREACH pm IN PendingModifications %]
97
                                        </td>
88
                                        [% SET borrowernumber = pm.borrowernumber %]
89
                                        <tr>
90
                                            <td>
91
                                                <input type="radio" name="modify_[% pm.borrowernumber %]" value="approve" />
92
                                            </td>
93
                                            <td>
94
                                                <input type="radio" name="modify_[% pm.borrowernumber %]" value="deny" />
95
                                            </td>
96
                                            <td>
97
                                                <input type="radio" name="modify_[% pm.borrowernumber %]" value="ignore" checked="checked"/>
98
                                            </td>
98
99
99
                                        <td>
100
                                            <td>
100
                                            [% borrowers.$borrowernumber.firstname %] [% borrowers.$borrowernumber.surname %]
101
                                                [% borrowers.$borrowernumber.firstname %] [% borrowers.$borrowernumber.surname %]
101
                                        </td>
102
                                            </td>
102
103
103
                                        <td>
104
                                            <td>
104
                                            <table>
105
                                                <table>
105
                                                <tr>
106
                                                    <tr>
106
                                                    <th>Field</th>
107
                                                        <th>Field</th>
107
                                                    <th>From</th>
108
                                                        <th>From</th>
108
                                                    <th>To</th>
109
                                                        <th>To</th>
109
                                                </tr>
110
                                                    </tr>
110
111
111
112
112
                                                [% FOREACH key IN pm.keys %]
113
                                                    [% FOREACH key IN pm.keys %]
113
                                                    [% IF field_display_names.$key %]
114
                                                        [% IF field_display_names.$key %]
114
                                                        [% IF ( ( pm.$key OR borrowers.$borrowernumber.$key ) && ( pm.$key != borrowers.$borrowernumber.$key ) ) %]
115
                                                            [% IF ( ( pm.$key OR borrowers.$borrowernumber.$key ) && ( pm.$key != borrowers.$borrowernumber.$key ) ) %]
115
                                                            <tr>
116
                                                                <tr>
116
                                                                <td>[% field_display_names.$key %]</td>
117
                                                                    <td>[% field_display_names.$key %]</td>
117
                                                                <td>[% borrowers.$borrowernumber.$key %]</td>
118
                                                                    <td>[% borrowers.$borrowernumber.$key %]</td>
118
                                                                <td>[% pm.$key %]</td>
119
                                                                    <td>[% pm.$key %]</td>
119
                                                            </td>
120
                                                                </tr>
121
                                                            [% END %]
120
                                                        [% END %]
122
                                                        [% END %]
121
                                                    [% END %]
123
                                                    [% END %]
122
                                                [% END %]
124
                                                </table>
123
                                            </table>
125
                                            </td>
124
                                        </td>
126
                                        </tr>
125
                                    </tr>
127
                                    [% END %]
126
                                [% END %]
128
                                </tbody>
127
                            </tbody>
129
                            </table>
128
                        </table>
129
130
130
                        <p><input type="submit" /></p>
131
                            <p><input type="submit" /></p>
131
132
132
                    </form>
133
                        </form>
134
                    [% ELSE %]
135
                        <p>There are no pending patron modifications.</p>
136
                    [% END %]
133
                </div>
137
                </div>
134
            </div>
138
            </div>
135
        </div>
139
        </div>
(-)a/koha-tmpl/opac-tmpl/prog/en/modules/opac-memberentry.tt (-11 / +34 lines)
Lines 7-13 Link Here
7
7
8
    <script type="text/javascript">
8
    <script type="text/javascript">
9
        $(document).ready(function() {
9
        $(document).ready(function() {
10
            $( "#borrower_dateofbirth" ).datepicker({ yearRange: "c-120:c" });
10
            [% IF action == 'edit' && !OPACPatronDetails %]
11
                $("#memberentry-form :input").attr('readonly', true);
12
                $("#borrower_branchcode").attr('disabled',true);
13
                $("#borrower_title").attr('disabled',true);
14
                $('#memberentry-form :radio').attr('disabled',true);
15
                $('span.required').remove();
16
                $('label.required').removeClass('required');
17
            [% ELSE %]
18
                $( "#borrower_dateofbirth" ).datepicker({ yearRange: "c-120:c" });
19
            [% END %]
11
        });
20
        });
12
    </script>
21
    </script>
13
</head>
22
</head>
Lines 21-26 Link Here
21
                <div class="yui-b">
30
                <div class="yui-b">
22
                    <div class="yui-g">
31
                    <div class="yui-g">
23
                        <div id="useraccount" class="container">
32
                        <div id="useraccount" class="container">
33
                            [% UNLESS OPACPatronDetails %]
34
                                <div>To make changes to your record please contact the library.</div>
35
                            [% END %]
24
36
25
                            [% IF empty_mandatory_fields %]
37
                            [% IF empty_mandatory_fields %]
26
                                <div class="dialog alert">You have not filled out all required fields. Please fill in all missing fields and resubmit.</div>
38
                                <div class="dialog alert">You have not filled out all required fields. Please fill in all missing fields and resubmit.</div>
Lines 30-36 Link Here
30
                                <div class="dialog alert">You typed in the wrong characters in the box before submitting. Please try again.</div>
42
                                <div class="dialog alert">You typed in the wrong characters in the box before submitting. Please try again.</div>
31
                            [% END %]
43
                            [% END %]
32
44
33
                            <form method="post">
45
                            <form method="post" id="memberentry-form">
34
46
35
                                [% UNLESS
47
                                [% UNLESS
36
                                    hidden.defined('branchcode')
48
                                    hidden.defined('branchcode')
Lines 132-140 Link Here
132
                                                    [% END %]
144
                                                    [% END %]
133
                                                    Date of birth:</label>
145
                                                    Date of birth:</label>
134
146
135
                                                    <input type="text" id="borrower_dateofbirth" name="borrower_dateofbirth" value="[% borrower.dateofbirth | $KohaDates %]" readonly="readonly" size="10" />
147
                                                    <input type="text" id="borrower_dateofbirth" name="borrower_dateofbirth" value="[% borrower.dateofbirth | $KohaDates %]" size="10" />
136
148
137
                                                    <a href="#" style="font-size:85%;text-decoration:none;" onclick="document.getElementById('borrower_dateofbirth').value='';return false;">Clear date</a><p></p>
149
                                                    [% UNLESS action == 'edit' && !OPACPatronDetails %]
150
                                                        <a href="#" style="font-size:85%;text-decoration:none;" onclick="document.getElementById('borrower_dateofbirth').value='';return false;">Clear date</a><p></p>
151
                                                    [% END %]
138
152
139
                                                    [% IF mandatory.defined('dateofbirth') %]<span class="required">Required</span>[% END %]
153
                                                    [% IF mandatory.defined('dateofbirth') %]<span class="required">Required</span>[% END %]
140
                                                </li>
154
                                                </li>
Lines 682-697 Link Here
682
                                [% END %]
696
                                [% END %]
683
697
684
                                [% UNLESS action == 'edit' %]
698
                                [% UNLESS action == 'edit' %]
685
                                    <p>Please type this following characters into the box below : [% captcha %]</p>
699
                                    <fieldset class="rows" id="memberentry_captcha">
686
                                    <p>
700
                                        <ol>
687
                                        <input type="text" name="captcha" id="captcha" />
701
                                            <li>
688
                                        <input type="hidden" name="captcha_digest" value="[% captcha_digest %]" />
702
                                                <label for="borrower_altcontactphone" class="required">Verification</label>
689
                                    </p>
703
704
                                                <input type="text" name="captcha" id="captcha" />
705
                                                <input type="hidden" name="captcha_digest" value="[% captcha_digest %]" />
706
707
                                                <span class="required">Please type this following characters into the preceding box: <strong>[% captcha %]</strong></span>
708
                                            </li>
709
                                        </ol>
710
                                    </fieldset>
690
                                [% END %]
711
                                [% END %]
691
712
692
                                [% IF action == 'edit' %]
713
                                [% IF action == 'edit' %]
693
                                    <input type="hidden" name="action" value="update" />
714
                                    [% IF OPACPatronDetails %]
694
                                    <input type="submit" value="Submit Update Request" />
715
                                        <input type="hidden" name="action" value="update" />
716
                                        <input type="submit" value="Submit Update Request" />
717
                                    [% END %]
695
                                [% ELSE %]
718
                                [% ELSE %]
696
                                    <input type="hidden" name="action" value="create" />
719
                                    <input type="hidden" name="action" value="create" />
697
                                    <input type="submit" value="Submit" />
720
                                    <input type="submit" value="Submit" />
(-)a/mainpage.pl (-2 / +8 lines)
Lines 32-38 use Koha::Borrower::Modifications; Link Here
32
32
33
my $query = new CGI;
33
my $query = new CGI;
34
34
35
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
35
my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
36
    {
36
    {
37
        template_name   => "intranet-main.tmpl",
37
        template_name   => "intranet-main.tmpl",
38
        query           => $query,
38
        query           => $query,
Lines 50-60 $template->param( Link Here
50
    koha_news_count => $koha_news_count
50
    koha_news_count => $koha_news_count
51
);
51
);
52
52
53
my $branch =
54
  C4::Context->preference("IndependantBranches")
55
  && !$flags->{'superlibrarian'}
56
  ? C4::Context->userenv()->{'branch'}
57
  : undef;
58
53
my $pendingcomments    = numberofreviews(0);
59
my $pendingcomments    = numberofreviews(0);
54
my $pendingtags        = get_count_by_tag_status(0);
60
my $pendingtags        = get_count_by_tag_status(0);
55
my $pendingsuggestions = CountSuggestion("ASKED");
61
my $pendingsuggestions = CountSuggestion("ASKED");
56
my $pending_borrower_modifications =
62
my $pending_borrower_modifications =
57
  Koha::Borrower::Modifications->GetPendingModificationsCount();
63
  Koha::Borrower::Modifications->GetPendingModificationsCount( $branch );
58
64
59
$template->param(
65
$template->param(
60
    pendingcomments                => $pendingcomments,
66
    pendingcomments                => $pendingcomments,
(-)a/members/members-update-do.pl (-1 / +1 lines)
Lines 61-64 foreach my $param (@params) { Link Here
61
    }
61
    }
62
}
62
}
63
63
64
print $query->redirect("/cgi-bin/koha/mainpage.pl");
64
print $query->redirect("/cgi-bin/koha/members/members-update.pl");
(-)a/members/members-update.pl (-2 / +8 lines)
Lines 30-36 use Koha::Borrower::Modifications; Link Here
30
30
31
my $query = new CGI;
31
my $query = new CGI;
32
32
33
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
33
my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
34
    {
34
    {
35
        template_name   => "members/members-update.tmpl",
35
        template_name   => "members/members-update.tmpl",
36
        query           => $query,
36
        query           => $query,
Lines 41-48 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
41
    }
41
    }
42
);
42
);
43
43
44
my $branch =
45
  C4::Context->preference("IndependantBranches")
46
  && !$flags->{'superlibrarian'}
47
  ? C4::Context->userenv()->{'branch'}
48
  : undef;
49
44
my $pending_modifications =
50
my $pending_modifications =
45
  Koha::Borrower::Modifications->GetPendingModifications();
51
  Koha::Borrower::Modifications->GetPendingModifications($branch);
46
52
47
my $borrowers;
53
my $borrowers;
48
foreach my $pm (@$pending_modifications) {
54
foreach my $pm (@$pending_modifications) {
(-)a/opac/opac-memberentry.pl (-14 / +16 lines)
Lines 30-40 use C4::Branch qw(GetBranchesLoop); Link Here
30
my $cgi = new CGI;
30
my $cgi = new CGI;
31
my $dbh = C4::Context->dbh;
31
my $dbh = C4::Context->dbh;
32
32
33
unless ( C4::Context->preference('PatronSelfRegistration') ) {
34
    print $cgi->redirect("/cgi-bin/koha/opac-main.pl");
35
    exit;
36
}
37
38
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
33
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
39
    {
34
    {
40
        template_name   => "opac-memberentry.tmpl",
35
        template_name   => "opac-memberentry.tmpl",
Lines 44-54 my ( $template, $borrowernumber, $cookie ) = get_template_and_user( Link Here
44
    }
39
    }
45
);
40
);
46
41
42
unless ( C4::Context->preference('PatronSelfRegistration') || $borrowernumber ) {
43
    print $cgi->redirect("/cgi-bin/koha/opac-main.pl");
44
    exit;
45
}
46
47
$template->param(
47
$template->param(
48
    hidden        => GetHiddenFields(),
48
    hidden            => GetHiddenFields(),
49
    mandatory     => GetMandatoryFields(),
49
    mandatory         => GetMandatoryFields(),
50
    member_titles => GetTitles(),
50
    member_titles     => GetTitles(),
51
    branches      => GetBranchesLoop()
51
    branches          => GetBranchesLoop(),
52
    OPACPatronDetails => C4::Context->preference('OPACPatronDetails'),
52
);
53
);
53
54
54
my $action = $cgi->param('action') || q{};
55
my $action = $cgi->param('action') || q{};
Lines 167-173 elsif ($borrowernumber) { #Display logged in borrower's data Link Here
167
    $action = 'edit';
168
    $action = 'edit';
168
169
169
    $template->param(
170
    $template->param(
170
        borrower => GetMember( borrowernumber => $borrowernumber ) );
171
        borrower => GetMember( borrowernumber => $borrowernumber ),
172
    );
171
}
173
}
172
174
173
my $captcha = random_string("CCCCC");
175
my $captcha = random_string("CCCCC");
Lines 236-244 sub ParseCgiForBorrower { Link Here
236
    my %borrower;
238
    my %borrower;
237
239
238
    foreach ( $cgi->param ) {
240
    foreach ( $cgi->param ) {
239
        my ($key) = substr( $_, 9 );
241
        if ( $_ =~ '^borrower_' ) {
240
        $borrower{$key} = $cgi->param($_)
242
            my ($key) = substr( $_, 9 );
241
          if ( $_ =~ '^borrower_' );
243
            $borrower{$key} = $cgi->param($_);
244
        }
242
    }
245
    }
243
246
244
    $borrower{'dateofbirth'} =
247
    $borrower{'dateofbirth'} =
245
- 

Return to bug 7067