Buongiorno a tutti.
Mi trovo davanti ad un problema abbastanza grave, che non so come risolvere.
Ho creato con il modulo webform una form per la raccolta di dati personali di utenti anonimi (senza un account sul mio sito, è una sorta di preiscrizione).
Ho applicato questa form ad un nodo, che è accessibile all'utente anonimo.
Mi risulta impossibile negare l'accesso all'utente anonimo (bot di google e visitatori del sito) alle pagine che visualizzano gli invii della form, del tipo /node/1/submissions/1 , senza negare anche l'accesso alla form vera e propria.
Utilizzo il modulo content access per restringere i permessi a tipi di contenuto e nodi.
Infatti se io tolgo all'utente anonimo, da content access, l'opzione 'view any content' o 'view own content', per il contenuto di tipo webform, questo non vede gli inserimenti ma nemmeno la form.
Se non ho capito male questo perchè sia i dati inviati che la webform appartengono allo stesso nodo, che quindi non può avere regole di accesso differenti per delle parti diverse dello stesso.
Come posso ottenere una webform accessibile all'utente anonimo, limitando però agli amministratori la visualizzazione dei dati inviati?
Grazie in anticipo!
Premetto che uso la 7, pero' la prima idea che mi viene in mente, se non trovi soluzioni dirette, e' la seguente:
farei una Rules cosi:
Quando un contenuto viene visualizzato
Se l'utente ha ruolo anonimo AND il percorso ha alias URL /node/1/submissions
Fai redirect ad una pagina xxxx
Esportata si legge cosi:
{ "rules_prova_redirect" : {
"LABEL" : "prova redirect",
"PLUGIN" : "reaction rule",
"REQUIRES" : [ "rules", "path" ],
"ON" : [ "node_view" ],
"IF" : [
{ "user_has_role" : {
"account" : [ "site:current-user" ],
"roles" : { "value" : { "1" : "1" } }
}
},
{ "AND" : [] },
{ "path_has_alias" : { "source" : "\/node\/1\/submissions" } }
],
"DO" : [ { "redirect" : { "url" : "xxxxxxxx" } } ]
}
}
grazie per il consiglio, intanto sto tentando di capire se è un conflitto tra content access e webform, o una configurazione sbagliata, o un malfunzionamento del modulo.
Su drupal 7, senza content access, il problema non persiste.
Se non trovo soluzioni proverò con il tuo metodo.
Grazie
Edubacco
Il problema era una configurazione errata di webform. In sostanza per tutti i campi di webform avevo erroneamente selezionato 'private'. Quindi l'utente per poterli visualizzare doveva avere i privilegi di accesso ai risultati.
E' bastato togliere la spunta su 'private', per ogni campo, e tutto è tornato a funzionare perfettamente