Quiero revocar la administración de un solo perfil, pero no hay un botón de ‘revocar’. Otras cuentas de ‘Personal’ en mi sitio tienen un botón.
¿Alguna idea de por qué ocurre esto y cómo solucionarlo, por favor?
Quiero revocar la administración de un solo perfil, pero no hay un botón de ‘revocar’. Otras cuentas de ‘Personal’ en mi sitio tienen un botón.
¿Alguna idea de por qué ocurre esto y cómo solucionarlo, por favor?
Solo verificando que no estás intentando revocar el acceso de administrador de la cuenta en la que has iniciado sesión activamente.
No. Es otra cuenta… la llamé ‘Newsbot’ y se usaba para importar fuentes RSS.
Ahora quiero eliminar esas publicaciones.
¿Existe el correo electrónico de esta cuenta en tu archivo app.yml como desarrollador? ¿O concediste permisos de desarrollador a través de la consola?
Los usuarios listados en el archivo de compilación .yml como DEVELOPERS no se pueden eliminar desde la interfaz de usuario por razones de seguridad:
## TODO: Lista de correos electrónicos separados por comas que serán administradores y desarrolladores
## en el registro inicial, ejemplo 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: `incredible_undeletables@myamazingdomain.com'
Deberás eliminarlos del archivo de compilación .yml y volver a compilar.
Alternativamente, aunque no es recomendable y no está soportado (asumo), puedes cambiar su estado de administrador (booleano) en la tabla users para ese usuario a FALSE, directamente en la base de datos. Nota: Nunca he hecho esto (nunca he revocado, pero sí he añadido moderadores de esta manera), pero hacer cosas como esta (manipular directamente la BD con elementos con los que no estás totalmente familiarizado) podría tener consecuencias no deseadas, por lo que no se recomienda a menos que todo lo demás falle (¡y asegúrate al 100 % de tener una copia de seguridad funcional de la BD antes de hacerlo!).
Revisa tu archivo .yml… el problema es más que probable que esté ahí.
Este usuario no aparece en mi archivo .yml.
Es tan frustrante cuando incluso los administradores quedan bloqueados de funciones básicas de mantenimiento del foro.
Entonces, podrías probar algo así directamente en la base de datos:
update users set admin = false where username = 'nombre_de_usuario_del_usuario_rogue';
Donde:
Y:
Esto es lo que haría si tuviera un usuario rogue con privilegios de administrador y necesitara revocarlos pero no pudiera hacerlo desde el panel de administración.
Una suposición arriesgada: ¿acaso personalizaste Discobot y lo renombraste como Newsbot? El bot se considera un usuario del sistema y no puedes revocar su estado de administrador.
Puedes verificar si Newsbot es realmente discobot yendo a su página de perfil y revisando su correo electrónico:
El correo electrónico del bot se mostrará como discobot_email.
Sí, eso es exactamente lo que hicimos. Este perfil de Discobot se utilizó para importar feeds RSS, los cuales ahora queremos eliminar. El perfil puede permanecer, solo quiero que se eliminen todas las publicaciones/temas.
No soy desarrollador, así que agradecería mucho que las instrucciones fueran sencillas.
Vale, así que en realidad no te importa el estado de administrador aquí. ¿Tu objetivo es eliminar publicaciones? Sugerencia para el futuro: avísanos cuál es tu objetivo final, no el paso actual que crees que te ayudará a lograrlo.
No creo que tengamos una tarea rake para eliminar todas las publicaciones de un usuario específico. Déjame probar algunas cosas y te responderé.
Vale. Lo siguiente te permitirá eliminar todas las publicaciones de un usuario. Necesitarás acceso al servidor.
cd /var/www/discourse
sudo ./launcher enter app
rails c
newsbot; si no lo es, asegúrate de editar el comando,id = User.find_by_username('newsbot').id
Post.where(user_id: id).each do |p|
PostDestroyer.new(Discourse.system_user, p).destroy
end;