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

(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt (-1 / +13 lines)
Lines 893-900 Link Here
893
                    [% END %]
893
                    [% END %]
894
                [% END %]
894
                [% END %]
895
895
896
                [% UNLESS action == 'edit' %]
896
                [% IF Koha.Preference('GDPR_Policy') && action != 'edit' %]
897
                    <fieldset class="rows" id="memberentry_gdpr_consent">
898
                        <legend>GDPR consent</legend>
899
                        <ol>
900
                        <li>
901
                            <label></label><span><input type="checkbox" name="borrower_gdpr_proc_consent" value="agreed"> I agree with your processing of my personal data as outlined in the <a target="_blank" href="[% PrivacyPolicyURL %]">privacy policy</a>. <span class="required">Required</span></span>
902
                        </li>
903
                        </ol>
904
                    </fieldset>
905
               [% END %]
906
907
               [% UNLESS action == 'edit' %]
897
                    <fieldset class="rows" id="memberentry_captcha">
908
                    <fieldset class="rows" id="memberentry_captcha">
909
                        <legend>Verification</legend>
898
                        <ol>
910
                        <ol>
899
911
900
                            <li>
912
                            <li>
(-)a/opac/opac-memberentry.pl (+8 lines)
Lines 30-35 use C4::Members::Attributes qw( GetBorrowerAttributes ); Link Here
30
use C4::Form::MessagingPreferences;
30
use C4::Form::MessagingPreferences;
31
use Koha::AuthUtils;
31
use Koha::AuthUtils;
32
use Koha::Patrons;
32
use Koha::Patrons;
33
use Koha::Patron::Consent;
33
use Koha::Patron::Modification;
34
use Koha::Patron::Modification;
34
use Koha::Patron::Modifications;
35
use Koha::Patron::Modifications;
35
use C4::Scrubber;
36
use C4::Scrubber;
Lines 207-214 if ( $action eq 'create' ) { Link Here
207
            $template->param( OpacPasswordChange =>
208
            $template->param( OpacPasswordChange =>
208
                  C4::Context->preference('OpacPasswordChange') );
209
                  C4::Context->preference('OpacPasswordChange') );
209
210
211
            my $consent_dt = delete $borrower{gdpr_proc_consent};
210
            my ( $borrowernumber, $password ) = AddMember_Opac(%borrower);
212
            my ( $borrowernumber, $password ) = AddMember_Opac(%borrower);
213
            Koha::Patron::Consent->new({ borrowernumber => $borrowernumber, type => 'GDPR_PROCESSING', given_on => $consent_dt })->store if $consent_dt;
211
            C4::Members::Attributes::SetBorrowerAttributes( $borrowernumber, $attributes );
214
            C4::Members::Attributes::SetBorrowerAttributes( $borrowernumber, $attributes );
215
212
            C4::Form::MessagingPreferences::handle_form_action($cgi, { borrowernumber => $borrowernumber }, $template, 1, C4::Context->preference('PatronSelfRegistrationDefaultCategory') ) if $borrowernumber && C4::Context->preference('EnhancedMessagingPreferences');
216
            C4::Form::MessagingPreferences::handle_form_action($cgi, { borrowernumber => $borrowernumber }, $template, 1, C4::Context->preference('PatronSelfRegistrationDefaultCategory') ) if $borrowernumber && C4::Context->preference('EnhancedMessagingPreferences');
213
217
214
            $template->param( password_cleartext => $password );
218
            $template->param( password_cleartext => $password );
Lines 353-358 sub GetMandatoryFields { Link Here
353
      C4::Context->preference("PatronSelfRegistrationBorrowerMandatoryField");
357
      C4::Context->preference("PatronSelfRegistrationBorrowerMandatoryField");
354
358
355
    my @fields = split( /\|/, $BorrowerMandatoryField );
359
    my @fields = split( /\|/, $BorrowerMandatoryField );
360
    push @fields, 'gdpr_proc_consent' if C4::Context->preference('GDPR_Policy');
356
361
357
    foreach (@fields) {
362
    foreach (@fields) {
358
        $mandatory_fields{$_} = 1;
363
        $mandatory_fields{$_} = 1;
Lines 459-464 sub ParseCgiForBorrower { Link Here
459
        $borrower{'dateofbirth'} = undef;
464
        $borrower{'dateofbirth'} = undef;
460
    }
465
    }
461
466
467
    # Replace checkbox 'agreed' by datetime in gdpr_proc_consent
468
    $borrower{gdpr_proc_consent} = dt_from_string if  $borrower{gdpr_proc_consent} && $borrower{gdpr_proc_consent} eq 'agreed';
469
462
    return %borrower;
470
    return %borrower;
463
}
471
}
464
472
(-)a/opac/opac-registration-verify.pl (-1 / +3 lines)
Lines 24-29 use C4::Output; Link Here
24
use C4::Members;
24
use C4::Members;
25
use C4::Form::MessagingPreferences;
25
use C4::Form::MessagingPreferences;
26
use Koha::Patrons;
26
use Koha::Patrons;
27
use Koha::Patron::Consent;
27
use Koha::Patron::Modifications;
28
use Koha::Patron::Modifications;
28
29
29
my $cgi = new CGI;
30
my $cgi = new CGI;
Lines 61-68 if ( Link Here
61
62
62
    my $borrower = $m->unblessed();
63
    my $borrower = $m->unblessed();
63
64
65
    my $consent_dt = delete $borrower->{gdpr_proc_consent};
64
    my $password;
66
    my $password;
65
    ( $borrowernumber, $password ) = AddMember_Opac(%$borrower);
67
    ( $borrowernumber, $password ) = AddMember_Opac(%$borrower);
68
    Koha::Patron::Consent->new({ borrowernumber => $borrowernumber, type => 'GDPR_PROCESSING', given_on => $consent_dt })->store if $consent_dt;
66
69
67
    if ($borrowernumber) {
70
    if ($borrowernumber) {
68
        $m->delete();
71
        $m->delete();
69
- 

Return to bug 20819