auth_user in Django username is limited in number of characters so use only the 1st...
authorLoic Baron <loic.baron@lip6.fr>
Tue, 1 Dec 2015 16:55:30 +0000 (17:55 +0100)
committerLoic Baron <loic.baron@lip6.fr>
Tue, 1 Dec 2015 16:55:30 +0000 (17:55 +0100)
localauth/manifoldbackend.py
portal/actions.py

index 504a85b..3e23515 100644 (file)
@@ -23,11 +23,12 @@ class ManifoldBackend:
         person = {}
 
         try:
-            username = token['username']
+            email = token['username']
+            username = email.split('@')[-1]
             password = token['password']
             request = token['request']
 
-            auth = {'AuthMethod': 'password', 'Username': username, 'AuthString': password}
+            auth = {'AuthMethod': 'password', 'Username': email, 'AuthString': password}
             api = ManifoldAPI(auth)
             sessions_result = api.forward(Query.create('local:session').to_dict())
             sessions = sessions_result.ok_value()
@@ -69,10 +70,10 @@ class ManifoldBackend:
 
         try:
             # Check if the user exists in Django's local database
-            user = User.objects.get(username=username)
+            user = User.objects.get(email=email)
         except User.DoesNotExist:
             # Create a user in Django's local database
-            user = User.objects.create_user(username, username, 'passworddoesntmatter')
+            user = User.objects.create_user(username, email, 'passworddoesntmatter')
             user.email = person['email']
 
         if 'firstname' in person:
index 523a9e1..e0dc131 100644 (file)
@@ -1114,7 +1114,6 @@ def manifold_add_reference_user_accounts(wsgi_request, request):
         .select('user_id', 'config', 'email', 'status') \
         .filter_by('email', '==', request['email'])
     user_details = execute_admin_query(wsgi_request, user_query)
-
     # USER MAIN ACCOUNT != reference
     #print 'USER MAIN ACCOUNT != reference'
     list_accounts_query = Query().get('local:account')              \
@@ -1286,7 +1285,7 @@ def create_pending_user(wsgi_request, request, user_detail):
     msg.send()
    
     # saves the user to django auth_user table [needed for password reset]
-    user = User.objects.create_user(request['email'], request['email'], request['password'])
+    user = User.objects.create_user(request['email'].split('@')[-1], request['email'], request['password'])
 
     # Creating a manifold user
     user_id = manifold_add_user(wsgi_request, request)