- allowed_extension = ['.pub','.txt']
- if file_extension in allowed_extension and re.search(r'ssh-rsa',file_content):
- account_config = '{"user_public_key":"'+ file_content + '", "user_hrn":"'+ user_hrn +'"}'
- account_config = re.sub("\r", "", account_config)
- account_config = re.sub("\n", "\\n",account_config)
- account_config = ''.join(account_config.split())
- auth_type = 'user'
- # for sending email
- public_key = file_content
- public_key = ''.join(public_key.split())
- else:
- errors.append('Please upload a valid RSA public key [.txt or .pub].')
-
- #b = PendingUser(first_name=reg_fname, last_name=reg_lname, affiliation=reg_aff,
- # email=reg_email, password=request.POST['password'], keypair=keypair)
- #b.save()
- #saving to django db 'portal_pendinguser' table
- if not errors:
- b = PendingUser(
- first_name = reg_fname,
- last_name = reg_lname,
- #affiliation = reg_aff,
- authority_hrn = reg_auth,
- #login = reg_login,
- email = reg_email,
- password = request.POST['password'],
- keypair = account_config,
- )
- b.save()
- # saves the user to django auth_user table [needed for password reset]
- user = User.objects.create_user(reg_email, reg_email, request.POST['password'])
- #creating user to manifold local:user
- user_config = '{"firstname":"'+ reg_fname + '", "lastname":"'+ reg_lname + '", "authority":"'+ reg_auth + '"}'
- user_params = {'email': reg_email, 'password': request.POST['password'], 'config': user_config}
- manifold_add_user(request,user_params)
- #creating local:account in manifold
- user_id = user_detail['user_id']+1 # the user_id for the newly created user in local:user
- account_params = {'platform_id': 5, 'user_id': user_id, 'auth_type': auth_type, 'config': account_config}
- manifold_add_account(request,account_params)
-
- # Send email
- ctx = {
- 'first_name' : reg_fname,
- 'last_name' : reg_lname,
- 'authority_hrn' : reg_auth,
- 'email' : reg_email,
- 'user_hrn' : user_hrn,
- 'public_key' : public_key,
- }
- recipients = authority_get_pi_emails(request,reg_auth)