Impedire agli utenti di spostare argomenti in altre categorie

Sto cercando un’opzione per disabilitare questa funzionalità poiché potrebbe causare alcune complicazioni nella gestione dei thread quando si hanno diversi team di moderatori per diverse categorie e improvvisamente si trovano con un thread di grandi dimensioni o controverso nella loro categoria senza preavviso.

Ho letto qui Access rights for moving a topic to another category ma dice che questa è una cosa che solo il Livello di Fiducia 3 dovrebbe essere in grado di fare. Ho un ambiente di test in cui un utente di Livello di Fiducia 2 è stato in grado di farlo.

Ho provato ad abilitare “disabilita la modifica dopo che lo staff ha modificato un post” ma non sembra aver influenzato la capacità di cambiare categoria per un thread.

Mi sto perdendo qualcosa qui? Probabilmente sì :smiley:

2 Mi Piace

Non sono sicuro, sarebbe necessario fare dei test. Una mod di gruppo di categorie potrebbe comunque essere in grado di spostare un argomento tramite modifica o comando di spostamento.

Potresti anche dare un’occhiata al Plugin Custom Trust Levels.

L’ho controllato e lo terrò in considerazione, ma prima proverò a creare un componente semplice che nasconda quella selezione per la modifica, tranne per lo staff.

Preferisco plugin che fanno cose semplici :slight_smile:

1 Mi Piace

@Canapin mi ha fornito del codice per nascondere il pulsante “Mi piace” dai gruppi non inclusi in un elenco specificato.

Potrebbe fornirti una buona base di partenza.

link corretto

2 Mi Piace

Grazie mille @Heliosurge (e l’onnipresente @Canapin :stuck_out_tongue: ) Stavo giusto pensando a dove potrei cercare un plugin simile da usare come esempio :slight_smile:

2 Mi Piace

Prego! Il team e questa community sono fantastici nella mia esperienza. :clinking_beer_mugs::smiling_face_with_sunglasses::+1:

2 Mi Piace

Ho dato un’occhiata, è un buon MVP ma la community che cerco è piuttosto esperta di tecnologia e sarebbe meglio se il DOM saltasse completamente il disegno di quel componente invece di nasconderlo semplicemente alla vista.

Ciò richiederebbe un plugin o è qualcosa che potrei comunque ottenere con un componente?

Quello che devo fare, all’incirca, è fondamentalmente determinare se l’HTML per quella select viene generato o meno, in base al ruolo.

1 Mi Piace

Sono abbastanza sicuro che un componente sarebbe sufficiente.

1 Mi Piace

Non sono un programmatore.

Per nascondere il selettore di categoria quando modifichi il primo post (dall’azione di modifica del post, non dalla modifica del titolo), questo funziona:

    <script type="text/discourse-plugin" version="1.6.0">
    let currentUser = api.getCurrentUser();
    api.modifyClass("component:composer-title", {
      pluginId: "PreventCategoryChange",
      didInsertElement: function() {
        if(currentUser.trust_level == 1) {
            let categoryInput = document.getElementsByClassName('category-input')[0];
            let miniTagChoser = document.getElementsByClassName('mini-tag-chooser')[0];
            if(categoryInput != null) {
                categoryInput.remove();
                if(miniTagChoser != null) {
                    miniTagChoser.style.marginLeft = '0';
                }
            }
        }
      }
    });
    </script>

chrome_NTAAc37JXB

Ho usato il livello di fiducia, ma penso che tu possa gestire il controllo del gruppo di utenti invece, è tutto nell’oggetto currentUser.

Non so come rimuovere dinamicamente il selettore di categoria quando modifichiamo il titolo.
Forse puoi capirlo dai file che sembrano correlati:

2 Mi Piace

Grazie mille @Canapin

Dovrò aggiungere anche qualcosa per la modifica dal titolo, ma questo aiuta sicuramente già :slight_smile:

Quando sarà finito, lo pubblicherò qui nella sezione dei componenti del tema in modo che altri possano usarlo :wink:

2 Mi Piace

Questo discourse/app/assets/javascripts/discourse/app/templates/topic.hbs at 53695e7d29e718041fa53bf4fef21e02354a4088 · discourse/discourse · GitHub

sembra essere il gestore giusto a cui accedere, ora se qualcuno sapesse come interagire con esso tramite un componente tema… :stuck_out_tongue:

1 Mi Piace

Per l’amor degli dei non riesco a trovare un hook per rilevare quando viene attivata la modifica del titolo. Qualcuno sa cosa potrei ascoltare?

L’occultamento del cambio di categoria durante la modifica del primo messaggio di un argomento funziona, rileva solo quando si è in modalità di modifica e tutto.

1 Mi Piace

Grazie a un buon amico che soffre di insonnia abbiamo capito dove trovare il giusto hook :stuck_out_tongue:

Eccolo, regola anche la grafica del modulo e consente di selezionare un livello di fiducia minimo da cui l’accesso alla modifica della categoria sarà comunque disponibile (livello di fiducia predefinito 0 per essere in linea con le impostazioni predefinite di Discourse)

Ora creerò un nuovo argomento nella sezione Plugin.

Grazie MILLE @Canapin per averci indicato la giusta direzione all’inizio :heart_eyes:

3 Mi Piace

Ho esaminato il tuo codice, ottimo lavoro :+1:

Credo che tu mi abbia insegnato più di quanto io abbia insegnato a te!

Solo una nota, quello che hai creato è un Theme component, non un Plugin :slight_smile:

2 Mi Piace

Solo per informazione, un TL3 e TL4 possono ricategorizzare qualsiasi argomento purché sia abilitato trusted users can edit others. Un TL0/1/2 dovrebbe essere in grado di farlo solo sui propri argomenti, e solo entro il proprio periodo di modifica [1]. Se blocchi il primo post usando la chiave inglese del post, ciò dovrebbe anche impedire la modifica della categoria (e del titolo e dei tag).

Non sono sicuro al 100% di aver capito il tuo caso d’uso, ma sono felice che tu abbia trovato una soluzione. :slightly_smiling_face::+1:


  1. impostato da post edit time limit per TL0 e TL1 e tl2 post edit time limit per TL2 e TL3 ↩︎

3 Mi Piace

Ah, sì, non ero a conoscenza di questa opzione:

Impedisce qualsiasi ulteriore modifica (tranne la cancellazione) anche da parte di un moderatore di categoria.

Ma un blocco del primo post non può essere automatizzato da un timer dell’argomento né da un’ attività automatizzata.

1 Mi Piace

Sì, ne ero a conoscenza.

Tuttavia, la mia intenzione era quella di evitare che i moderatori dovessero affrontare diversi casi di cambio di categoria, il che potrebbe portare a complicazioni nella moderazione quando un argomento si trova prima in una categoria, poi si sposta in un’altra, ecc. ecc.

1 Mi Piace

Penso che sarebbe importante aggiungere poiché è un componente tematico, un utente può aggirare queste limitazioni iniettando javascript (penso) o abilitando la modalità sicura se è disponibile per loro (vedi impostazione abilita modalità sicura).

È necessario un plugin se si desidera un modo più sicuro per farlo.

2 Mi Piace

Sì, è per questo che stavo esaminando anche i plugin, ma per una prima versione, un componente è sufficiente.

1 Mi Piace

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