def add_saas_tenant(request, creator, workspace): # Sync workspace list before searching it creator_user = get_object_or_404(User, username=creator) get_workspace_list(creator_user) workspace = get_object_or_404(Workspace, creator=creator_user, name=workspace) status = 201 id_4CaaSt = request.GET.get('message') if id_4CaaSt is None: return build_error_response(request, 400, _('Missing 4CaaStID')) if not isinstance(id_4CaaSt, string_types) or id_4CaaSt.strip() == '': return build_error_response(request, 400, _('Invalid 4CaaStID')) username = parse_username(id_4CaaSt) try: user = User.objects.create_user(username, '*****@*****.**', username) except: user = User.objects.get(username=username) try: user_workspace = UserWorkspace.objects.get(user=user, workspace=workspace) except: packageLinker = PackageLinker() user_workspace = packageLinker.link_workspace(workspace, user, creator_user) setActiveWorkspace(user, user_workspace.workspace) try: user_workspace.profile4caast.id_4CaaSt = id_4CaaSt user_workspace.profile4caast.save() except: Profile4CaaSt.objects.create(user_workspace=user_workspace, id_4CaaSt=id_4CaaSt) return HttpResponse(status=status)