it-swarm.it

Crea una nuova revisione automaticamente al momento della modifica

Quando un nodo viene modificato, voglio sempre creare una nuova revisione. Non voglio che le persone siano in grado di disattivarlo. Come posso fare questo?

13
Lucy

Per abilitare la creazione automatica delle revisioni vai alla pagina del tipo di contenuto (admin/contenuto/tipo di nodo) e seleziona modifica per qualunque tipo di contenuto desideri che la revisione venga creata automaticamente.

Sotto il set di campi del flusso di lavoro ci sarà un'opzione "Crea nuova revisione" assicurati di selezionare quella casella e salvare le impostazioni del tipo di contenuto.

Ora sotto le tue autorizzazioni (amministratore/utente/autorizzazioni) assicurati di non dare ai tuoi utenti l'autorizzazione "amministrare i nodi". Ciò impedirà loro di sovrascrivere tale opzione.

16
ericduran

Esistono diversi modi per farlo, ma supponendo che tu voglia farlo senza disabilitare le autorizzazioni administer nodes Per gli utenti, probabilmente il modo più semplice è semplicemente disattivare l'accesso a Crea nuova revisione = casella di spunta creando un modulo personalizzato che implementa hook_form_alter():

function sandbox_form_alter(&$form, &$form_state, $form_id) {
  // Node forms have an ID of the form CONTENTTYPE_node_form: only modify those
  if (strstr($form_id, '_node_form') === FALSE) {
    return;
  }

  if (isset($form['revision_information'])) {
    $form['revision_information']['revision']['#access'] = FALSE;
  }
}

In questo modo, gli utenti non hanno la possibilità di modificare il valore predefinito della casella di controllo, che è impostato nella pagina delle impostazioni per ciascun tipo di contenuto.

2
user7