コード例 #1
0
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)