Sto utilizzando il router UI nel mio progetto. La pagina iniziale della mia applicazione è composta da 4 schede, ciascuna di instradamento a un modello diverso. Questo è il mio attuale codice di instradamento, im utilizzando un forEach per creare 6 rotte.ui-router: percorso predefinito in base al ruolo utente
['Draft','Assigned','InProgress','Completed','Rejected','All'].forEach(function (val) {
$stateProvider.state({
name: 'root.jobs.list.' + val.toLowerCase(),
url: '/' + val.toLowerCase(),
views: {
'currentTab': {
templateUrl: 'adminworkspace/jobs',
controller: 'JobsController'
}
},
data: {
userJobsStatus: val
}
});
});
Per impostazione predefinita, quando l'utente esegue il login, va a "root.jobs.list.draft". Come reindirizzare a un determinato stato in base al ruolo dell'utente connesso (Amministratore, Utente, Impiegato ecc.). Se vuole reindirizzare tutti gli utenti che fanno parte del "Ingegnere" o ruolo "Piombo Ingegnere" per "root.jobs.list.inprogress"
All'inizio ho avuto questo nel controller, ma come si può vedere, non ha funzionato, perché ogni volta che ho cliccato su una linguetta, è sempre percorsi torna a "root.jobs.list.inprogress"
if (user !== undefined) {
if (user.BusinessRole == "Engineer" || user.BusinessRole == "Lead Engineer")
$state.go('root.jobs.list.inprogress');
}