import {EventService, EgEvent} from './event.service';
import {IdlService, IdlObject} from './idl.service';
import {StoreService} from './store.service';
+import {DbService} from './db.service';
// Not universally available.
declare var BroadcastChannel;
constructor(
private egEvt: EventService,
private net: NetService,
- private store: StoreService
+ private store: StoreService,
+ private db: DbService
) {
// BroadcastChannel is not yet defined in PhantomJS and elsewhere
this.store.setLoginSessionItem('eg.auth.token', this.token());
this.store.setLoginSessionItem('eg.auth.time', this.authtime());
- return Promise.resolve();
+ if (isOpChange) {
+ return Promise.resolve();
+ } else {
+ // Initial login clears cached org unit settings. Prevent
+ // the caller from moving ahead until the cache clear
+ // request has completed, so we're not redirecting page
+ // in the middle of a db request.
+ return this.db.clearSettingsCache();
+ }
}
undoOpChange(): Promise<any> {