Back to top

Autore Topic: [RISOLTO] Autorizzare tutti a lanciare una ricerca sul db con Chronoconnectivity  (Letto 1935 volte)

Offline johnny64

  • Nuovo arrivato
  • *
  • Post: 26
    • Mostra profilo
Salve a tutti!
Ho realizzato mediante Chronoforms, Chronoconnectivity ed i preziosi tutorials di vales, una applicazione  che consente di gestire richieste di intervento. L'utente si logga, mediante un CAS viene riconosciuto, ed è autorizzato a compilare il form di richiesta. Dopo la validazione partono le mail al gestore del sito ed all'utente (conferma acquisizione richiesta) ed i dati vengono salvati nel db (anche l'indirizzo email dell'utente $user= &JFactory::getUser(); $user->email). A questo punto la richiesta viene assegnata e inizia la fase di lavorazione che prevede l'inserimento di una serie di dati da parte di terzi.
Ho necessità di autorizzare l'utente che ha inoltrato la richiesta a vedere lo stato di avanzamento della pratica, e per far questo ho utilizzato Chronoconnectivity con un filtro nella Query Related Settings 
<?php   
$user= &JFactory::getUser();
echo "WHERE referente_email = '$user->email'";
?>
che gli consente di vedere esclusivamente i dati relativi alle sue richieste. Tutto funziona alla perfezione se nel FrontEnd Setting ed in particolare nel FrontEnd Per User Permissions, seleziono l'utente in questione.
La domanda è: E' possibile evitare di selezionare manualmente l'utente per conferirgli le autorizzazioni?
(potenzialmente gli utenti potrebbero essere alcune centinaia e sarebbe un serio problema ogni volta che qualcuno si autentifica mediante CAS ed invia una richiesta dovere autorizzarlo manualmente nel FrontEnd Per User Permissions). Ho provato a settare solo FrontEnd Groups Permissions ma non ha efficacia sul singolo utente.
Ringrazio anticipatamente per i suggerimenti che vorrete darmi e rimango sempre riconoscente nei confronti di vales e di tutti voi per quello che mi avete insegnato fino ad adesso (ed è moltissimo)!
« Ultima modifica: 19 Dic 2010, 03:46:46 da johnny64 »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Se ho capito bene penso dovresti usare due connectivity una che consente agli utenti autorizzati di fare le modifiche ed un'altra quasi uguale dove dovresti settare la connectivity ad accesso pubblico settando tutti i tipi di utente in Front end user permission->viewer user grups.

In questa seconda connessione oltre al filtro settato sull'utente per la visualizzazione dei campi, prima dovresti aggiungere del codice per consentire l'accesso solo ai registrati.

Tipo questo che uso in Albo Pretorio

Codice: [Seleziona]
$user =& JFactory::getUser();
if ($user->id==0)  {
$mainframe->redirect('index.php?option=com_chronocontact&chronoformname=utente_non_autorizzato');
}

In questo caso, se l'utente non è registrato, tutto viene rinviato ad un form, ma tu puoi rinviare anche ad un URL di un contenuto dove si dice che non è autorizzato.

Se è registrato grazie al tuo filtro vede solo i suoi campi.



Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline johnny64

  • Nuovo arrivato
  • *
  • Post: 26
    • Mostra profilo
Grazie per il suggerimento!
Ho seguito il tuo consiglio settando tutti i tipi di utente in Front end user permission->viewer user grups per la connectivity riservata a chi deve visionare lo stato di avanzamento. Per quanto riguarda il codice da te suggerito, ho preferito creare una voce di menù, assoggettata alla condizione di "registered", che linka la stessa connectivity.
Grazie tante. Saluti.


 



Web Design Bolzano Kreatif