def create_sysadmin_user(self): """ Creates the OCL sysadmin user """ from users.models import User sysadmin = User.objects.create_superuser('sysadmin', '*****@*****.**', 'password') sysadmin.first_name = 'System' sysadmin.last_name = 'Administrator' sysadmin.save() ocl = OclApi(admin=True) data = { "username": sysadmin.username, "name": "System Administrator", "email": sysadmin.email, 'hashed_password': sysadmin.password, "company": self.company_name, "location": self.location, "preferred_locale": 'en', } result = ocl.create_user(data) self.stdout.write('Sysadmin user created, result:' + str(result.status_code))
def test_create_user(self): """ Test create OCL user """ # ocl = OclApi(debug=True) ocl = OclApi(admin=True) username = '******' data = { "username":username, "name":"Test User995", "email":"*****@*****.**", 'hashed_password':"******", "company":"Some Company", "location":"Eldoret, Kenya", "preferred_locale":"en,sw", "extras":{"my-field":"my-value"} } result = ocl.create_user(data) print 'create:', result.status_code print result.text print len(result.text) print result.json() if result.status_code == 400: # try reactivate print 'reactivate?' result = ocl.reactivate_user('blah') # username) print result.status_code # , result.json() print result.json() result = ocl.get_user_auth(username, 'aaaaaa') print 'get auth:', result.status_code if len(result.text) > 0: print result.json()
def create_test_user(self): """ Creates the OCL sysadmin user """ from users.models import User from allauth.account.models import EmailAddress print '===================================' print 'Creating Test User' if User.objects.filter(username=self.username).count() > 0: test_user = User.objects.get(username=self.username) else: test_user = User.objects.create_user(username=self.username) test_user.email = self.username + '@example.com' test_user.set_password(self.password) test_user.first_name = 'Test' test_user.last_name = 'User' test_user.save() print test_user if EmailAddress.objects.filter(user=test_user).count() > 0: email = EmailAddress.objects.get(user=test_user) else: email = EmailAddress.objects.create(user=test_user) email.email = test_user.email email.verified = True email.save() ocl = OclApi(admin=True) data = { "username": test_user.username, "name": test_user.first_name + ' ' + test_user.last_name, "email": test_user.email, 'hashed_password': test_user.password, "company": self.company_name, "location": self.location, "preferred_locale": 'en' } result = ocl.create_user(data) print 'Test User Submitted to API: username='******', password='******', status_code=' + str(result.status_code) if result.status_code == 201: print '===================================' elif result.status_code == 400: # try reactivate for now, this is very not secure, #TODO result = ocl.reactivate_user(test_user.username) if result == 204: print 'reactivated' print '===================================' else: exit(1)
def create_test_user(self): """ Creates the OCL sysadmin user """ from users.models import User from allauth.account.models import EmailAddress print '===================================' print 'Creating Test User' if User.objects.filter(username=self.username).count() > 0: test_user = User.objects.get(username=self.username) else: test_user = User.objects.create_user(username=self.username) test_user.email = self.username + '@example.com' test_user.set_password(self.password) test_user.first_name = 'Test' test_user.last_name = 'User' test_user.save() print test_user if EmailAddress.objects.filter(user=test_user).count() > 0: email = EmailAddress.objects.get(user=test_user) else: email = EmailAddress.objects.create(user=test_user) email.email = test_user.email email.verified = True email.save() ocl = OclApi(admin=True) data = { "username": test_user.username, "name": test_user.first_name + ' ' + test_user.last_name, "email": test_user.email, 'hashed_password': test_user.password, "company": self.company_name, "location": self.location, "preferred_locale": 'en' } result = ocl.create_user(data) print 'Test User Submitted to API: username='******', password='******', status_code=' + str( result.status_code) if result.status_code == 201: print '===================================' elif result.status_code == 400: # try reactivate for now, this is very not secure, #TODO result = ocl.reactivate_user(test_user.username) if result == 204: print 'reactivated' print '===================================' else: exit(1)
def user_created_handler(sender, request, user, **kwargs): """ Signal handler called when a new user is created, so that we can create a corresponding user at the backend. """ ocl = OclApi(admin=True, debug=True) data = { 'username': user.username, 'email': user.email, 'hashed_password': user.password, 'name': '%s %s' % (user.first_name, user.last_name), # not great } result = ocl.create_user(data) if result.status_code == 201: return elif result.status_code == 400: # try reactivate for now, this is very not secure, #TODO result = ocl.reactivate_user(user.username) if result != 204: return raise Exception('Failed to create user due to: %s' % result)
def create_sysadmin_user(self): """ Creates the OCL sysadmin user """ from users.models import User sysadmin = User.objects.create_superuser( 'sysadmin', '*****@*****.**', 'password') sysadmin.first_name = 'System' sysadmin.last_name = 'Administrator' sysadmin.save() ocl = OclApi(admin=True) data = { "username": sysadmin.username, "name": "System Administrator", "email": sysadmin.email, 'hashed_password': sysadmin.password, "company": self.company_name, "location": self.location, "preferred_locale": 'en', } result = ocl.create_user(data) self.stdout.write('Sysadmin user created, result:' + str(result.status_code))
def test_create_user(self): """ Test create OCL user """ # ocl = OclApi(debug=True) ocl = OclApi(admin=True) username = '******' data = { "username": username, "name": "Test User995", "email": "*****@*****.**", 'hashed_password': "******", "company": "Some Company", "location": "Eldoret, Kenya", "preferred_locale": "en,sw", "extras": { "my-field": "my-value" } } result = ocl.create_user(data) print 'create:', result.status_code print result.text print len(result.text) print result.json() if result.status_code == 400: # try reactivate print 'reactivate?' result = ocl.reactivate_user('blah') # username) print result.status_code # , result.json() print result.json() result = ocl.get_user_auth(username, 'aaaaaa') print 'get auth:', result.status_code if len(result.text) > 0: print result.json()
def user_created_handler(sender, request, user, **kwargs): """ Signal handler called when a new user is created, so that we can create a corresponding user at the backend. """ print 'user created handler %s' % user.username ocl = OclApi(admin=True, debug=True) data = { 'username': user.username, 'email': user.email, 'hashed_password': user.password, 'name': '%s %s' % (user.first_name, user.last_name), # not great } result = ocl.create_user(data) print result.status_code if result.status_code == 201: # result.json() has data pass elif result.status_code == 400: # try reactivate for now, this is very not secure, #TODO result = ocl.reactivate_user(user.username) if result == 204: print 'reactivated'
def create_test_user(self): """ Creates the OCL sysadmin user """ from users.models import User from allauth.account.models import EmailAddress print '===================================' print 'Creating "' + self.username + '" User' email = self.username + '@openconceptlab.org' user = None if User.objects.filter(username=self.username).count() > 0: user = User.objects.get(username=self.username) if self.superuser and not user.is_superuser: user.delete() user = None if user is None: if self.superuser: user = User.objects.create_superuser(self.username, email, self.password) else: user = User.objects.create_user(username=self.username) user.email = email user.set_password(self.password) user.first_name = 'none' user.last_name = 'none' user.save() if EmailAddress.objects.filter(user=user).count() > 0: email = EmailAddress.objects.get(user=user) else: email = EmailAddress.objects.create(user=user) email.email = user.email email.verified = True email.save() ocl = OclApi(admin=True) data = { "username": user.username, "name": user.first_name + ' ' + user.last_name, "email": user.email, 'hashed_password': user.password, "company": self.company_name, "location": self.location, "preferred_locale": 'en' } result = ocl.create_user(data) if result.status_code == 201: print 'User "' + user.username + '" synced to API' print '===================================' elif result.status_code == 400: print 'User "' + user.username + '" exists in API, trying to reactivate...' # try reactivate for now, this is very not secure, #TODO result = ocl.reactivate_user(user.username) if result == 204: print 'User "' + user.username + '" reactivated in API' else: print 'Failed to reactivate user "' + user.username + '" in API. Server responded with ' + str( result.status_code) print '===================================' else: print 'Failed to sync user "' + user.username + '" to API. Server responded with ' + str( result.status_code) print '===================================' exit(1)