Mi chiedo se sia possibile abilitare la modifica del testo sui gruppi più che sugli amministratori. Almeno i moderatori?
Vogliamo usare un tono diverso e usare le nostre parole nella nostra community, al fine di ottenere una chiusura con i nostri utenti.
2 Mi Piace
Puoi concedere ai gruppi l’autorizzazione a modificare i post creati da altri modificando l’impostazione del sito Edit all post groups — è questo che stai cercando?
1 Mi Piace
Ciao, grazie per la tua risposta. Sto cercando di abilitare le modifiche al testo di Discourse (aka localizzazione, stringhe di lingua) :)\n\nCapisco che attualmente sia abilitato solo per gli amministratori, e penso che sia una funzione più fattibile per moderatori/editor.
1 Mi Piace
oh grazie per aver chiarito, al momento non è possibile
Ok, condivido la risposta di Discourse Helper per chi è interessato e ha le conoscenze per farlo 
Penso sia essenziale migliorare l’UI/UX (modernizzare i nostri forum), come il composer, l’AI e i recenti miglioramenti che abbiamo visto.
L’inglese usato è super neutro/piano e ha senso, ma -nel mio caso- le traduzioni in spagnolo non sono buone di default.
Modificare le stringhe nell’UI di Discourse va bene ma richiede molto tempo, e voglio solo delegare questo compito.
Capisco che non sia possibile scaricare tutte le stringhe come file JSON ma i testi modificati?
Scaricare tutti i testi della lingua e modificare il file dovrebbe essere una soluzione alternativa per ottenere il risultato desiderato in 1/5 del tempo.
Struttura del Plugin di Alto Livello
-
Crea Scheletro Plugin
-
Backend: Estendi Permessi
-
Sovrascrivi il controller pertinente, ad esempio Admin::SiteTextController, per consentire ai membri del tuo gruppo personalizzato di accedere agli endpoint di modifica del testo.
-
Potresti usare qualcosa di simile a:
add_to_class(:admin_constraint, :matches?) do |request|
user = ... # carica l'utente corrente dalla richiesta
return true if user.admin?
# Controlla l'appartenenza al tuo gruppo
group_id = Group.find_by(name: 'tuogrupponome')&.id
return user.group_ids.include?(group_id)
end
Questo è solo illustrativo—dovrai individuare il controllo dei permessi corretto e assicurarti che sia limitato solo alla modifica della localizzazione, non all’amministrazione completa.
-
Frontend: Esponi UI ai Membri del Gruppo
-
Sicurezza
- Ricontrolla i permessi in qualsiasi azione del controller e route sovrascritta. Non fidarti mai dei controlli lato client.