def join(request, caller_context, container_user, join_pyramid_id=None, join_brick_id=None, join_invite_key_name=None, action=None): ''' data only call, json response ''' pyramidController = PyramidController() if join_invite_key_name: if action == 'accept': joinResult, joinInfo = pyramidController.join_from_invite(caller_context.config, container_user, join_invite_key_name) elif action == 'decline': joinResult, joinInfo = pyramidController.decline_invite(container_user, join_invite_key_name) else: joinResult, joinInfo = pyramidController.join_pyramid(caller_context.config, int(join_pyramid_id), int(join_brick_id), container_user.character) joinResponse = { 'success' : joinResult, 'result' : joinInfo} include_experience_data = False if joinResult: characterController = CharacterController() characterController.add_character_reward(container_user.character, "brick join", 'experience', 75) include_experience_data = True return json_response(caller_context, container_user, joinResponse, include_experience_data)