Avrei bisogno di inserire, in un particolare tipo di contenuto, un campo dove compare il nome dell'utente connesso, ma che non sia modificabile. Questo perché più persone usano lo stesso computer e si dimenticano il log out alla fine della sessione e il nuovo utente potrebbe inserire i contenuti con il nome di quello precedente.
CCK ha una opzione utente, ma è selezionabile e non compare direttamente quello loggato.
Qualche idea?
ciao e grazie
Secondo me ti conviene chiudere la sessione alla chiusura del browser modificando
ini_set('session.cookie_lifetime', 2000000);
in
ini_set('session.cookie_lifetime', 0);
in settings.php.
Se il browser non viene nemmeno chiuso tra un utente e l'altro, modifica le impostazioni del browser oppure prova una gestione più approfondita delle sessioni, ad es con
http://drupal.org/project/session_limit
http://drupal.org/project/autologout
Certified to Rock
Il computer resta sempre aperto e a disposizione del pubblico, né posso modificare le impostazioni del browser.
Se una persona si alza e viene immediatamente sostituita da un'altra, anche se solo per breve tempo (es. uno chiede: ti sposti 5 minuti, non tocco niente di quello che stai facendo, che inserisco un attimo questa cosa?) Non è pensabile neanche agire sulle sessioni.
ciao e grazie
www.gmpe.it
ma se il browser resta sempre aperto, come fai ad essere sicuro/a che il vecchio utente si logga out e che il nuovo si logga in?
se non avviene il nuovo login, la variabile
$user
rimane la stessa e non c'è verso di "dire" a drupal che chi smanetta non è la stessa persona di prima.Mi viene in mente di forzare il logout ogni volta che si salva del contenuto ma non è pratico senza un sistema di login semplificato ad esempio inserendo solo l'email o l'username (si può fare con http://drupal.org/project/logintoboggan )
Certified to Rock
Siccome gli utenti devono riempire una serie di campi, se c'è anche il campo con il nome utente, se ne accorgono immediatamente se stanno lavorando a nome di un altro.
Se metto il nome utente selezionabile, mi ritrovo i dati sballati nelle viste che raccolgono le informazioni: dati di un utente inviati a nome di un altro.
Per questo vorrei un campo con il nome utente predefinito, come nel modulo di contatto, in signup, o altro, ma non modificabile o selezionabile.
ciao
www.gmpe.it
mi sembra poco pratico, comunque se tutto quello che ti serve è che sia ben visibile il nome utente di chi è loggato in, puoi enfatizzare il blocco "navigation" che di default ha il titolo = nome utente oppure inserire
dove ti pare più opportuno nel template.
Non vedo la necessità di creare un campo (l'uid dell'autore di un nodo, che è poi l'argomento che usa views, viene comunque registrato)
Certified to Rock
è praticissimo invece e provo ha spiegarmi meglio.
Ogni docente deve riempire un tipo di contenuto che ha dei campi:
nelle diverse viste richiamo il nome utente e i rispettivi campi.
Se quello loggato e quello che invia i dati non coincidono, mi ritrovo, nella griglia e/o nella tabella delle viste, un docente collegato a una classe non sua, a meno che non aggiunga anche il campo con il nome del docente. Anche in questo caso però posso trovarmi con una discrepanza tra il nome dell'utente e quello del docente.
Per questo ho bisogno di un form, ad esempio del tipo Testo, con già predefinito il nome del docente, così quando comincia ad inserire i dati e vedendo un nome non suo e che non può cambiare, si interrompe, a meno che non sia stupido del tutto. Un'enfasi sulla Navigazione non è sufficiente.
Il codice php è una buona idea, ma quello scritto sopra non si adatta al campo di testo.
ciao e grazie
www.gmpe.it
Mi si è accesa una lampadina:

il nome dell'utente connesso è già presente nella form di creazione/modifica del content type, precisamente nel fieldgroup "informazioni sull'autore"
Quindi basta spostare il campo "Autore" sotto al titolo e rendere il campo read-only.
Opzionalmente si può aggiungere un background di colore diverso ed un testo di aiuto appropriato per dare più visibilità al campo:
Si avvicina a quello che vuoi (o volevi) fare?
Certified to Rock
Grazie bohz, sarebbe perfetto se nel Tipo di contenuto avessi le Informazioni sull'autore. C'è di tutto ma manca proprio quello. Devo controllare con calma.
ciao e grazie
www.gmpe.it
Ce le hai per forza le info sull'autore. tutti i nodi devono, in genere, avere un autore.
Controlla in fondo al modulo di creazione contenuto o alla pagina di configurazione del content type.
Nella mia modesta esperienza, non ho mai visto un nodo senza autore.
Ora non ho accesso al codice ma posso postarlo stasera.
Certified to Rock
Queste funzioni restituiscono lo screenshot in #7
Inseriscile in template.php
Sostituisci [contenttype] con il tipo di contenuto e garland con il nome del tema
(e rimuovi le tags
<?php
e?>
)Lo script di partenza viene da qua: http://www.lullabot.com/articles/modifying-forms-5-and-6
Certified to Rock
Forse le info sull'autore (che poi sono le info di "authoring", dato che comprendono anche la data di modifica) non sono visualizzate a chi non ha permessi di amministrazione dei nodi.
aha!
non ci avevo pensato....
Allora è un bel problema, perchè se l'utente non è abilitato a visualizzare quel campo, non c'è verso di mostrarglielo.
...suggerisci qualche soluzione?
Certified to Rock
Mostrargli quel campo con un hook_form_alter.
Dal momento che si fa una cosa del genere, a questo punto consiglierei di non rendere visibile il campo vero e proprio, ma di aggiungere un elemento di tipo markup al form, in cui si fa vedere solo il valore. In questo modo, si dovrebbero evitare grane relative ai permessi di modificare quel campo.
cioè, più o meno come avevo suggerito in #5?
..e non si potrebbe inserire a livello del theme layer (ovvero tramite template.php o *.tpl.php)?
Grazie
Certified to Rock
grazie a entrambi per la preziosa collaborazione.
Siccome dovrebbe partire da domani l'inserimento dei dati e durerà una decina di giorni, non ho il tempo di verificare se queste modifiche funzionano.
Direi di lasciare al momento le cose così e vedere la percentuale di errori, così mi regolo per il prossimo inserimento (giugno).
grazie ancora e ciao
www.gmpe.it