import { Router, ActivatedRoute, Params } from "@angular/router"; import { OnInit, OnDestroy, Component } from "@angular/core"; import { LoginInfoActions } from "../actions/logininfo.actions"; import { ILoginInfo } from "../store/logininfo/logininfo.types"; import { LOGININFO_INITIAL_STATE } from "../store/logininfo/logininfo.initial-state"; import { NgRedux, select } from "@angular-redux/store"; import { BehaviorSubject, Subscription } from "rxjs/Rx"; import { IAppState } from "../store/store"; import { HelperDataService } from "../services/helper-data-service"; import { CookieService } from "ngx-cookie"; import { FormBuilder, FormGroup, FormControl, FormArray } from "@angular/forms"; import { API_ENDPOINT, API_ENDPOINT_PARAMS } from "../app.settings"; @Component({ selector: "school-home", template: `

Προέκυψε σφάλμα κατά την διαδικασία αυθεντικοποίησης σας.

Πρέπει να συνδεθείτε με λογαριασμό του Πανελλήνιου Σχολικού Δικτύου, για να χρησιμοποιήσετε την εφαρμογή.

Πρέπει να συνδεθείτε με τον λογαριασμό που χρησιμοποιείτε για να συνδεθείτε στο Myschool, για να χρησιμοποιήσετε την εφαρμογή.

Ο ρόλος που αντιστοιχεί στον λογαριασμό σας στο Πανελλήνιο Σχολικό Δίκτυο δεν επιτρέπεται να χρησιμοποιήσετε την εφαρμογή.

Προέκυψε σφάλμα κατά την διαδικασία αυθεντικοποίησης σας.

Προέκυψε σφάλμα κατά την διαδικασία αυθεντικοποίησης σας.
Παρακαλώ συνδεθείτε χρησιμοποιώντας τα στοιχεία του λογαριασμού με τον οποίο συνδέεστε στο Myschool.

Προέκυψε σφάλμα {{ errorCode$ | async }}

 
` }) export default class SchoolHome implements OnInit, OnDestroy { public formGroup: FormGroup; private authToken: string; private errorCode$: BehaviorSubject; private authRole: string; private name: any; private xcsrftoken: any; private loginInfo$: BehaviorSubject; private loginInfoSub: Subscription; private apiEndPoint = API_ENDPOINT; private apiEndPointParams = API_ENDPOINT_PARAMS; constructor(private fb: FormBuilder, private _ata: LoginInfoActions, private _ngRedux: NgRedux, private activatedRoute: ActivatedRoute, private _hds: HelperDataService, private router: Router, private _cookieService: CookieService ) { this.authToken = ""; this.authRole = ""; this.name = ""; this.loginInfo$ = new BehaviorSubject(LOGININFO_INITIAL_STATE); this.errorCode$ = new BehaviorSubject(''); this.formGroup = this.fb.group({ }); }; ngOnDestroy() { if (this.loginInfoSub) this.loginInfoSub.unsubscribe(); this.loginInfo$.unsubscribe(); this.errorCode$.unsubscribe(); }; ngOnInit() { this.loginInfoSub = this._ngRedux.select(state => { if (state.loginInfo.size > 0) { state.loginInfo.reduce(({ }, loginInfoToken) => { this.authToken = loginInfoToken.auth_token; this.authRole = loginInfoToken.auth_role; if (this.authToken && this.authToken.length > 0) { if (this.authRole === "director") { this.router.navigate(["/school/director-buttons"]); } else if (this.authRole === "pde") this.router.navigate(["/school/perfecture-view"]); else if (this.authRole === "dide") this.router.navigate(["/school/eduadmin-view"]); } return loginInfoToken; }, {}); } return state.loginInfo; }).subscribe(this.loginInfo$); // subscribe to router event this.activatedRoute.queryParams.subscribe((params: Params) => { if (params) { this.authToken = params["auth_token"]; this.authRole = params["auth_role"]; this.errorCode$.next((params["error_code"] === undefined) ? "" : params["error_code"]); } if (this.authToken && this.authRole && this.errorCode$.getValue() == "") { this._ata.getloginInfo({ auth_token: this.authToken, auth_role: this.authRole }); } }); } getCookie(key: string) { return this._cookieService.get(key); } removeCookie(key: string) { return this._cookieService.remove(key); } checkvalidation() { } /** * Logout from CAS only helper */ casSignOut() { this._hds.casSignOut().then(data => { this._ata.initLoginInfo(); // this.router.navigate(['/school']); this.authToken = ''; this.authRole = ''; window.location.assign((data).next); }).catch(err => { console.log(err) }); } }