Skip to content

Commit

Permalink
Merge pull request #5 from okfn/raise_error_on_duplicated_email
Browse files Browse the repository at this point in the history
Search email ignoring case
  • Loading branch information
avdata99 authored Oct 24, 2024
2 parents 179f8c0 + d8ee89b commit bd49194
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions ckanext/saml2auth/views/saml2auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
from flask import Blueprint, session
from saml2 import entity
from saml2.authn_context import requested_authn_context

from sqlalchemy.sql import func
import ckan.plugins.toolkit as toolkit
import ckan.model as model
import ckan.plugins as plugins
Expand Down Expand Up @@ -76,13 +76,18 @@ def _get_user_by_saml_id(saml_id):

def _get_user_by_email(email):

user = model.User.by_email(email)
if user and isinstance(user, list):
user = user[0]
users = model.Session.query(model.User).filter(
func.lower(model.User.email) == func.lower(email)
).all()

h.activate_user_if_deleted(user)
if len(users) == 0:
return None
if len(users) > 1:
raise toolkit.ValidationError(f'Multiple users with the same email found {email}')

return _dictize_user(user) if user else None
user = users[0]
h.activate_user_if_deleted(user)
return _dictize_user(user)


def _update_user(user_dict):
Expand Down

0 comments on commit bd49194

Please sign in to comment.