CSS para ocultar alguns elementos

Existe uma maneira de direcionar os botões “Impersonate” e “Anonymize user” na página admin/user?

Quero ocultar esses botões específicos. Na verdade, só consigo identificar
.btn-danger, .admin-wizards-custom-fields .btn.destroy
que também oculta os botões de exclusão, mesclagem, silenciamento e suspensão.

Além disso, não consigo ocultar a aba de mensagens no cartão do usuário com a capacidade de restaurar/exibir o elemento para “self”.

Alguma ideia?

Não parece que sim.

Qual problema você está tentando resolver? Você está dizendo que não confia em seus administradores para não personificar ou anonimizar usuários? E que eles não saberão como usar o safe-mode para contornar a ocultação desses botões? Se for o caso, você tem um problema que não pode ser resolvido com CSS.

2 curtidas

Eu já fiz isso há um tempo, só não me lembro do CSS específico que escrevi para isso.

O caso de uso para este fórum é um grupo de trabalho, mas não um típico. É um sindicato e este é especificamente para representantes eleitos. Alguns dos representantes estão na liderança, outros não. De qualquer forma, aqueles na liderança precisam de capacidades funcionais de administrador, mas não da maneira como um administrador de fórum comunitário tem acesso.

Não há NECESSIDADE ZERO de moderação, não há absolutamente nenhuma boa razão para ler as mensagens privadas de alguém (já que estamos tentando abandonar o e-mail como meio principal de discussão, mas clientes de chat como o Slack não são tão úteis quanto um quadro no estilo fórum), e não há necessidade de se passar por um usuário. Além disso, o anonimato é absolutamente desnecessário.

Além disso, nenhum dos administradores (cargos de liderança no grupo) tem formação em TI. A maneira como implementei isso antes foi criar um componente de tema que ocultava tudo o que torna o Discourse útil para um fórum comunitário e não para um grupo de trabalho empresarial. Em seguida, criei uma consulta no Data Explorer para mostrar se/quando esse componente de tema foi desativado. Dessa forma, se isso acontecesse, qualquer pessoa poderia responsabilizar a pessoa que estivesse invadindo a privacidade/categorias protegidas.

Este é um pequeno grupo de trabalho, não temos acesso a um departamento de TI para mantê-lo. O CSS o oculta, e sim, eu sei que qualquer um pode extrair as informações que deseja da CLI, mas nesse ponto teríamos problemas muito maiores.

Bem, o template pode ter mudado, já que nenhum de nós consegue ver como direcionar apenas aquele botão. (Embora isso pareça uma mudança improvável).

Pelo que posso ver, eu provavelmente tentaria descobrir como adicionar qualquer coisa administrativa que os usuários normais precisam em vez de fingir que os administradores não podem fazer tudo.

Eu acho que pode ter, pois esses botões não tinham um ember dinâmico antes.

Eu sei que a configuração que estou tentando fazer é um pouco estranha, mas é bem pensada com um entendimento completo de sua mecânica. Eu realmente quero usar o Discourse em vez de outras opções de comunicação para o nosso grupo porque acredito que é o melhor para o que podemos usá-lo em todos os aspectos. Existem apenas algumas coisas integradas que o tornam um desafio, pois não há como desativar as funcionalidades por completo (e ativá-las apenas se necessário com ações registradas).

Desculpe se não estou seguindo isso 100%, mas posso ocultar os botões Impersonate, Anonymise User e Merge direcionando pull-right:

.pull-right {
    display: none;
}

certo, mas isso também oculta os botões de excluir usuário e mesclar. Eu esperava mantê-los.
Estou tentando direcionar o próprio botão. Eu fiz isso com a aba de mensagens na página do usuário desta forma para ocultar de todos os usuários (admin) e reexibir para mim mesmo

.user-main .main-nav a[href$=“/messages”] {
display: none !important;
}
.viewing-self .user-main .main-nav a {
display: inline-block !important;
}

também tentei isso, acredito que foi assim que fiz há um tempo, mas não tenho 100% de certeza, faz tempo. mas infelizmente não está funcionando..

button[aria-label=“Impersonate”] {
display: none;
}

Eu simplesmente não consigo descobrir como replicar essa funcionalidade na página de admin/usuário.. (não profissional/amador)

1 curtida

Adicionaremos algumas classes aqui, são adições muito fáceis.

2 curtidas

.pull-right é uma classe utilitária que é usada em muitos lugares, então isso provavelmente teria impactos negativos! Geralmente com CSS, se você está tentando selecionar um elemento… você quer considerar o quão específico o seletor soa. Se soa como algo genérico que poderia ser usado em outro lugar (como .btn para outro exemplo), então provavelmente é muito amplo. Algo como .admin-user .pull-right pode ser específico o suficiente.


De qualquer forma, enviei um pull request para adicionar algumas classes a esses botões de administrador. Isso deve estar disponível nas atualizações do Discourse em alguns dias.

Assim que isso for mesclado, você poderá fazer qualquer combinação de

.btn-user-delete,
.btn-user-merge,
.btn-anonymize,
.btn-impersonate {
  display: none;
}
5 curtidas

Obrigado. :slightly_smiling_face: Eu me perguntei por que não soava tão específico quanto a maioria dos outros exemplos com os quais mexi.

Obrigado, Kris! Você continua absolutamente incrível, incrivelmente prestativo e é sinceramente apreciado!

1 curtida

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.