| 
					
				 | 
			
			
				@@ -1,15 +1,16 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # -*- coding:utf-8 -*- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from flask import current_app 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from flask_login import current_user 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from flask_restful import Resource, abort, fields, marshal_with, reqparse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import services 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from controllers.console import api 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from controllers.console.setup import setup_required 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from extensions.ext_database import db 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-from flask import current_app 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-from flask_login import current_user 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-from flask_restful import Resource, abort, fields, marshal, marshal_with, reqparse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from libs.helper import TimestampField 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from libs.login import login_required 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-from models.account import Account, TenantAccountJoin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from models.account import Account 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from services.account_service import RegisterService, TenantService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 account_fields = { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -64,18 +65,12 @@ class MemberInviteEmailApi(Resource): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for invitee_email in invitee_emails: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 token = RegisterService.invite_new_member(inviter.current_tenant, invitee_email, role=invitee_role, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                        inviter=inviter) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                account = db.session.query(Account, TenantAccountJoin.role).join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    TenantAccountJoin, Account.id == TenantAccountJoin.account_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ).filter(Account.email == invitee_email).first() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                account, role = account 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                          inviter=inviter) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 invitation_results.append({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     'status': 'success', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     'email': invitee_email, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     'url': f'{console_web_url}/activate?email={invitee_email}&token={token}' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                account = marshal(account, account_fields) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                account['role'] = role 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 invitation_results.append({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     'status': 'failed', 
			 |