Accesso ai contenuti in base alla tassonomia? O cos'altro?
Buongiorno,
ho un problema sull'accesso ai contenuti che non riesco a risolvere nemmeno col modulo "content access".
In pratica ho tre ruoli:
- Soci
- Collaboratori
- Clienti
Due tipi di dato:
- un'anagrafica per cliente
- un contratto in pdf da scaricare (sempre per cliente)
I soci hanno praticamente tutti i permessi su tutto.
I collaboratori dovrebbero gestire solo il proprio pacchetto di clienti (quindi caricare e modificare solo anagrafica e contratto dei clienti del proprio pacchetto).
I clienti dovrebbero poter scaricare solo i documenti per loro (ogni cliente solo il suo contratto personale)
Anagrafica e documenti possono inserirli solo i soci (di tutti i clienti) o i collaboratori (solo del proprio pacchetto).
Credevo di avere risolto, almeno in maniera un po' sporca, così:
Per fare visualizzare ai soci solo il pacchetto dei propri clienti uso il modulo "content access". Posso così aggiungere ai controlli standard di add, edit e delete anche una spunta su: "View own 'anagrafica' content" e "View own 'contratto_pdf' content"
A questo aggiungo al ruolo 'socio' il permesso "amministra contenuti" per, quando un contenuto è aggiunto dal socio stesso, modificare l'autore dei contenuti inserendovi il collaboratore giusto. In questo modo anche i dati inseriti da un socio entrano nel pacchetto/collaboratore corretto.
In realtà oltre a essere sporca questa maniera non mi risolve nulla in quanto come faccio a rendere visibile ad ogni cliente solo il proprio contratto pdf?
Usando il sistema esposto sopra dovrei rendere ogni cliente autore del proprio contratto pdf, ma già detta così è una porcheria. Inoltre il collaboratore, che non risulterebbe più autore, non potrebbe agire sui contenuti.
Ovviamente una cosa così è impensabile.
Come faccio a far visualizzare ad un cliente solo alcuni contenuti (la sua anagrafica e il suo contratto_pdf)?
Però vorrei anche che non potesse vedere gli altri contenuti nemmeno conoscendone il link diretto!!
Pensavo di risolvere usando alcune viste abbinate alla tassonomia ma come? Potrei riuscire? E nascondere quello che un cliente non deve vedere?
Spero di essere riuscito a spiegarmi bene :(
Help!

Risposte
Allora se vuoi che i clienti
Allora se vuoi che i clienti vedano i propri contratti, nel contenuto contratto: devi inserire un campo entità referenziata che abbia in riferimento l'utente cliente. (Ovviamente devi togliere il vincolo di content_access)
Poi crei una view con filtro cliente, il modo con cui questo filtro debba contestualmente filtrarla però lo devi trovare tu, perchè io non saprei dirtelo, ma sono sicuro che si può fare.
Altrimenti se vuoi fare una cosa seria, devi usare Organic Groups, e creare dei gruppi privati in cui il collaboratore è amministratore del gruppo (Il gruppo sarà un gruppo cliente) e i clienti avranno possibilità di accedervi senza avere poteri di edit.
In questo sito c'è della documentazione fatta bene a riguardo.
In pratica io voglio che ogni
In pratica io voglio che ogni cliente possa scaricare il proprio contratto personalizzato in pdf, solo il suo e quello di nessun altro cliente, nemmeno conoscendone il link diretto.
Ho provato diversi moduli : Taxonomy Access Control, Taxonomy Access Control Lite, ma tutti mi permettono di controllare l'accesso ai file in base ai ruoli, non agli utenti. Dunque dovrei creare un ruolo per ogni cliente e la cosa diventerebbe molto pesante.
Organic groups mi è stato sconsigliato rispetto a questi ma credo che il principio sia più o meno lo stesso, e cioè basato sui ruoli.
Possibile che non cio sia un modo per assegnare un file ad un solo utente?
Ho cercato talmente tanto che probabilmente non credo esista una soluzione di questo tipo. Forse dovrò cercare qualche alternativa.
Per esempio un pulsante (o link) alla pressione del quale si riceve il contratto via mail: esisterà qualche modulo adatto?