Ciao ragazzi
mi sto accingendo ad impostare i permessi utente per content-profile e prima di mettermi a provare diverse strade
(le permission standard non sono ufficienti) chiedo un consiglio a voi su quale sia il metodo migliore.
Lo stato dell'arte è questa:
Sto seguendo la procedura standard di Drupal per la registrazione degli utenti ( username-password->mail di verifica-etc)
Dopo che l'utente ha creato il suo user,ha la possibilità di compilare la propria scheda employee (sono diverse perchè ogni tipologia richiede informazioni diverse)
Ho settato più content type per essere utilizzati come profilo degli utenti, quindi ho, mettiamo:
content-type->company employee->content-profile
content-type->agency employee->content-profile
content-type->webfarm employee->content-profile
Succede però che se autorizzo gli utenti registrati a creare/modificare i content profile, in realtà ognuno potrebbe compilare
una qualsiasi di queste schede (o anche più di una ) e fare dei pasticci. La strada di autorizzare solo "own content " non va bene, perchè non mi distingue tra i vari content profile.
Ho pensato allora a questa strada (non sono sicuro che sia quella corretta) :
In fase di prima registrazione dell'utente mi faccio obbligatoriamente indicare, attraverso un campo
creato con "profile" a quale tipo di società appartiene l'utente (company/agency/webfarm).
Ho quindi un dato "filtrabile" che mi dovrebbe permettere al secondo accesso dell'utente di mostrargli solo il content-profile di sua competenza, quindi se è un dipendente "company" creare solo la scheda company_employee.
Se è la strada giusta, come posso filtrare tra i vari content-profile?
Se non lo è quale altro metodo posso utilizzare ?
Grazie mille a tutti e buona serata
questo è un lavoro per http://drupal.org/project/autoassignrole
Certified to Rock
how stupid am I ?
Se non gli dico
cosa deve fare il povero php se non eseguire pedissequamente quello che gli viene indicato ?
Come non detto
Certified to Rock
Il mio codice
<div id="welcome">
<?php global $user; ?>
<?php if ($user->uid) : ?>
Benvenuto <?php print l($user->name,'user/'.$user->uid); ?>
<?php endif; ?></div>
e il tuo
<div id="welcome">
<?php global $user; ?>
<?php if (user_is_logged_in()) : ?>
<?php print "Benvenuto" ." " .l($user->name,'user/'.$user->uid); ?>
<?php endif; ?></div>
ottengono lo stesso risultato..tralasciando il codice dopo else...
si si, certo.
le cose si possono ottenere in più di un modo.
Io preferisco usare l'API di drupal quando posso.
Certified to Rock
..coerenza del codice e migliori prestazioni ?
semplicemente buon senso: se esiste un livello di astrazione nel core, questo mi garantisce che il codice che utilizzo sia perfettamente integrato e funzionale (anche per le prestazioni) con il resto del sistema.
Ciò non toglie che possano esistere eccezioni dove l'API sia più pesante o meno efficace di soluzioni "fai da te".
Inoltre, usando l'API si scrive in genere meno codice.
Certified to Rock
uhm...in effetti le API sono li per quello ....
Non mi ci sono mai avventurato perchè sono tante ed il percorso di apprendimento mi sembra lungo e faticoso, ma in effetti potrebbero semplificare di molto la vita in fase di progettazione di un sito e permetterti successivamente di scrivere anche moduli personalizzati.
Mi hai fatto venire la curiosità di metterci la testa :-)
Grazie di tutto