Salve,
ho un azione nel controller “Cassa” (con omonima tabela) che serve per assegnare una cassa all’ operatore.
Questa azione, oltre ad inserire i dati nella propria tabella, inserisce anche l’ id della cassa nella tabella user all’ utente selezionato, facendo un update dell’ utente stesso.
Tutto questo funziona.
Il problema è, che se l’ utente è già connesso all’ applicazione, quando clicca su Cassa, nonostante la cassa gli sia già stata assegnata, non viene riconosciuto se prima non fa un logout e poi si ricollega.
L’ azione che mi verifica se l’ utente ha una cassa assegnata è questa e si trova in un’ altro Controller:
public function actionControllocassa()
{
User::model()->cassa_id=0; //valore di default
Yii::app()->user->cassa_id=Yii::app()->user->cassa_id; //parametro che recupero grazie alla modifica di UserIdentity
if(User::model()->cassa_id==Yii::app()->user->cassa_id){ //i parametri coincidono?
$this->redirect('nocassa'); //i parametri non coincidono redirect alla vista
}else{
$this->redirect('rs_step1'); //ok i parametri coincidono - redirect alla vista
}
}
public function actionNocassa()
{
$model=new Missiva;
$this->render('nessunaCassa');
}
Come posso fare per far si che, anche se l’ utente è già connesso all’ applicazione, e gli viene assegnata una cassa non debba disconnettersi e riconnettersi?
Ho provato a crearmi delle sessioni durante l’ assegnazione della cassa ( dal Controller Cassa) ma quando le verifico nel controller che mi esegue il “ControlloCassa” non viene trovata la sessione. Forse perchè sono Controller diversi? Anche se credo di poter dire che questo non c’ entra…spero di non dire caxxate.
Grazie in anticipo per l’ aiuto!!!