Bugzilla – Attachment 130748 Details for
Bug 30120
Allow extended attributes during self registration when using PatronSelfRegistrationVerifyByEmail
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 30120: Save and apply extended attributes during self registration verification by email
Bug-30120-Save-and-apply-extended-attributes-durin.patch (text/plain), 5.31 KB, created by
Nick Clemens (kidclamp)
on 2022-02-17 14:06:52 UTC
(
hide
)
Description:
Bug 30120: Save and apply extended attributes during self registration verification by email
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2022-02-17 14:06:52 UTC
Size:
5.31 KB
patch
obsolete
>From 412b380a9f578bb15929d8c2763e07341529ba43 Mon Sep 17 00:00:00 2001 >From: Nick Clemens <nick@bywatersolutions.com> >Date: Thu, 17 Feb 2022 14:02:35 +0000 >Subject: [PATCH] Bug 30120: Save and apply extended attributes during self > registration verification by email > >The self registration form stores a new borrower as a borrower modification when verifying by email. > >Borrower modifications can handle extended attributes. > >This patch simply sotres the extended attributes in the modifications table, and approves a modification >to the extended attributes only after patron is created > >To test: >1 - Apply patch >2 - Create a patron attribute and set it as viewable/editable in the OPAC >3 - Set system preference PatronSelfRegistrationVerifyByEmail >4 - Reigster a new patron on the OPAC, provide an email and populate the extended attribute >5 - Retrieve the verification token, the last on in the messages table > SELECT * FROM message_queue; >6 - Go tot he url from above >7 - Confirm successful patron creation >8 - View patron record and confirm attribute was set >--- > .../prog/en/modules/admin/patron-attr-types.tt | 2 +- > .../opac-tmpl/bootstrap/en/modules/opac-memberentry.tt | 2 +- > opac/opac-memberentry.pl | 1 + > opac/opac-registration-verify.pl | 9 ++++++++- > 4 files changed, 11 insertions(+), 3 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/patron-attr-types.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/patron-attr-types.tt >index b57890ace2..8a809c7d8c 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/patron-attr-types.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/patron-attr-types.tt >@@ -165,7 +165,7 @@ Patron attribute types › Administration › Koha > [% ELSE %] > <input type="checkbox" id="opac_editable" name="opac_editable" /> > [% END %] >- <span class="hint">Check to allow patrons to edit this attribute from their details page in the OPAC. (Requires above, does not work during <a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=PatronSelfRegistration" target="_blank">self-registration</a> if <a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=PatronSelfRegistrationVerifyByEmail" target="_blank">PatronSelfRegistrationVerifyByEmail</a> is set.)</span> >+ <span class="hint">Check to allow patrons to edit this attribute from their details page in the OPAC. (Requires above)</span> > </li> > <li><label for="staff_searchable">Searchable: </label> > [% IF attribute_type AND attribute_type.staff_searchable %] >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt >index 9357a63eaa..a9b82e6000 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt >@@ -883,7 +883,7 @@ > </div> <!-- /.row --> > [% END %] > >- [% IF ( Koha.Preference('ExtendedPatronAttributes') && patron_attribute_classes.size && ! ( action == 'new' && Koha.Preference('PatronSelfRegistrationVerifyByEmail') ) ) %] >+ [% IF ( Koha.Preference('ExtendedPatronAttributes') && patron_attribute_classes.size ) %] > <div class="row"> > <div class="col"> > [% FOREACH pa_class IN patron_attribute_classes %] >diff --git a/opac/opac-memberentry.pl b/opac/opac-memberentry.pl >index db3795dbf4..204b4686a6 100755 >--- a/opac/opac-memberentry.pl >+++ b/opac/opac-memberentry.pl >@@ -189,6 +189,7 @@ if ( $action eq 'create' ) { > $borrower{password} = Koha::AuthUtils::generate_password(Koha::Patron::Categories->find($borrower{categorycode})) unless $borrower{password}; > $borrower{verification_token} = $verification_token; > >+ $borrower{extended_attributes} = to_json($attributes); > Koha::Patron::Modification->new( \%borrower )->store(); > > #Send verification email >diff --git a/opac/opac-registration-verify.pl b/opac/opac-registration-verify.pl >index c4e4f22963..e78b1a5927 100755 >--- a/opac/opac-registration-verify.pl >+++ b/opac/opac-registration-verify.pl >@@ -66,12 +66,19 @@ if ( > delete $patron_attrs->{timestamp}; > delete $patron_attrs->{verification_token}; > delete $patron_attrs->{changed_fields}; >+ delete $patron_attrs->{extended_attributes}; > my $patron = Koha::Patron->new( $patron_attrs )->store; > > Koha::Patron::Consent->new({ borrowernumber => $patron->borrowernumber, type => 'GDPR_PROCESSING', given_on => $consent_dt })->store if $consent_dt; > > if ($patron) { >- $m->delete(); >+ if( $m->extended_attributes ){ >+ $m->borrowernumber( $patron->borrowernumber); >+ $m->changed_fields(['extended_attributes']); >+ $m->approve(); >+ } else { >+ $m->delete(); >+ } > C4::Form::MessagingPreferences::handle_form_action($cgi, { borrowernumber => $patron->borrowernumber }, $template, 1, C4::Context->preference('PatronSelfRegistrationDefaultCategory') ) if C4::Context->preference('EnhancedMessagingPreferences'); > > $template->param( password_cleartext => $patron->plain_text_password ); >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 30120
:
130748
|
130750
|
132273