# relatorio da aula de 2024-05-31



1 - Inicialmente entendi qual era o fluxo do sistema, de modo que os botões ao lado da tebela eram responsaveis, ao clicar neles, por enviar um objeto "bloqueado": Boolean, sendo o resultado o oposto do estado atual.

2 - A rota que era enviada era /alterar_comentario

3 - A rota levava para a função comando_altera_comentario, que não estava considerando a possibilidade de bloquear e debloquear o video.

4 - Mudanças:

    A variavel alteraveis teve que ser adicionada com a string 'bloqueado':
        alteraveis = { 'texto', 'nota', 'voto', 'bloqueado'}

    Como somente admin e/ou o próprio autor pode bloquear e desbloquear comentarios, foi feita a alteração:
    if 'bloqueado' in cmd_args na linha 81 a 84:
        if not editavel:
          erros.append("Você não pode desbloquear esse comentário")

        Obs: Lembrando que editavel é:
            editavel = para_admin or (autor == ses_dono and not bloqueado)


    Após isso, eu precisava guardar o valor novo para efetivamente realizar a alteração, de modo que implementei a seguinte lógica na linha 100 a 105:
        if 'bloqueado' in atrs_mod:
            if len(erros) == 0:
                if(atrs_mod['bloqueado'] == 'True'):
                atrs_mod['bloqueado'] = True
                else:
                atrs_mod['bloqueado'] = False

    Onde atrs_mod é:
            atrs_mod = util_dict.para_objetos(cmd_args)

    E ela é enviada para alterar o usuário na linha 108:
          obj_comentario.muda_atributos(com, atrs_mod)