@@ -, +, @@ populated --- Koha/Auth/Identity/Provider.pm | 4 ++-- Koha/REST/V1/Auth/Identity/Providers.pm | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) --- a/Koha/Auth/Identity/Provider.pm +++ a/Koha/Auth/Identity/Provider.pm @@ -107,7 +107,7 @@ sub set_config { try { my $encoded_config = encode_json($config); - $self->config($encoded_config)->store; + $self->config($encoded_config); } catch { Koha::Exceptions::Object::BadValue->throw("Error serializing data into JSON: $_"); }; @@ -147,7 +147,7 @@ sub set_mapping { try { my $encoded_mapping = encode_json( $mapping ); - $self->mapping( $encoded_mapping )->store; + $self->mapping( $encoded_mapping ); } catch { Koha::Exceptions::Object::BadValue->throw("Error serializing data into JSON: $_"); --- a/Koha/REST/V1/Auth/Identity/Providers.pm +++ a/Koha/REST/V1/Auth/Identity/Providers.pm @@ -108,11 +108,10 @@ sub add { my $class = Koha::Auth::Identity::Provider::protocol_to_class_mapping->{$protocol}; - my $provider = $class->new_from_api( $body ); - $provider->store; - - $provider->set_config( $config ); - $provider->set_mapping( $mapping ); + my $provider = $class->new_from_api( $body ) + ->set_config( $config ) + ->set_mapping( $mapping ) + ->store; $c->res->headers->location( $c->req->url->to_string . '/' . $provider->identity_provider_id ); return $c->render( @@ -173,9 +172,10 @@ sub update { $provider = $provider->set_from_api( $body )->upgrade_class; - $provider->set_config( $config ); - $provider->set_mapping( $mapping ); - # set_config and set_mapping already called store() + $provider->set_config( $config ) + ->set_mapping( $mapping ) + ->store; + $provider->discard_changes; return $c->render( --