{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/account.service.moc.ts","webpack:///./src/app/account.service.ts","webpack:///./src/app/account_association_count_reply.ts","webpack:///./src/app/account_association_find.ts","webpack:///./src/app/account_association_request.ts","webpack:///./src/app/alert-yesno.directive.ts.AlertYesNoDirective.html","webpack:///./src/app/alert-yesno.directive.ts","webpack:///./src/app/alert.directive.ts.AlertDirective.html","webpack:///./src/app/alert.directive.ts","webpack:///./src/app/alert.ts","webpack:///./src/app/app-reload/app-reload.directive.ts","webpack:///./src/app/app-reload/idle-base.ts","webpack:///./src/app/app-reload/idle.ts","webpack:///./src/app/app.component.ts.AppComponent.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.service.ts","webpack:///./src/app/app.validators.ts","webpack:///./src/app/app_toggle.component.ts.AppToggleComponent.html","webpack:///./src/app/app_toggle.component.ts","webpack:///./src/app/auth.ts","webpack:///./src/app/catchall.component.ts.CatchAllComponent.html","webpack:///./src/app/catchall.component.ts","webpack:///./src/app/config.ts","webpack:///./src/app/dashboard.component.ts.DashboardComponent.html","webpack:///./src/app/dashboard.component.ts","webpack:///./src/app/date_helper.ts","webpack:///./src/app/find_organization.ts","webpack:///./src/app/find_sync_mapping_settings.ts","webpack:///./src/app/footer.component.ts.FooterComponent.html","webpack:///./src/app/footer.component.ts","webpack:///./src/app/http.service.ts","webpack:///./src/app/login.component.ts.LoginComponent.html","webpack:///./src/app/login.component.ts","webpack:///./src/app/oauth-token-request.ts","webpack:///./src/app/oauth-token.ts","webpack:///./src/app/oauth_response.ts","webpack:///./src/app/off_click.directive.ts","webpack:///./src/app/powerschool.service.moc.ts","webpack:///./src/app/powerschool.service.ts","webpack:///./src/app/registration.component.ts.RegistrationComponent.html","webpack:///./src/app/registration.component.ts","webpack:///./src/app/registration.ts","webpack:///./src/app/registration_add.component.ts.RegistrationAddComponent.html","webpack:///./src/app/registration_add.component.ts","webpack:///./src/app/registration_add_v2.component.ts.RegistrationAddV2Component.html","webpack:///./src/app/registration_add_v2.component.ts","webpack:///./src/app/registration_find.ts","webpack:///./src/app/registration_request.ts","webpack:///./src/app/registration_sync_request.ts","webpack:///./src/app/school_map_view.ts","webpack:///./src/app/school_mapping.component.ts.SchoolMappingComponent.html","webpack:///./src/app/school_mapping.component.ts","webpack:///./src/app/settings_helper.ts","webpack:///./src/app/strings.ts","webpack:///./src/app/sync.component.ts.SyncComponent.html","webpack:///./src/app/sync.component.ts","webpack:///./src/app/sync_mapping_settings.component.ts.SyncMappingSettingsComponent.html","webpack:///./src/app/sync_mapping_settings.component.ts","webpack:///./src/app/sync_mapping_settings.ts","webpack:///./src/app/sync_mapping_settings_add_edit.component.ts.SyncMappingSettingsAddEditComponent.html","webpack:///./src/app/sync_mapping_settings_add_edit.component.ts","webpack:///./src/app/sync_mapping_settings_count.ts","webpack:///./src/app/sync_mapping_settings_reply.ts","webpack:///./src/app/title.ts","webpack:///./src/app/token.ts","webpack:///./src/app/token_helper.ts","webpack:///./src/app/user.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///./src/polyfills.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","/// \nimport { Injectable, Injector } from '@angular/core';\nimport { Http, Headers } from '@angular/http';\nimport { Observable , Observer } from 'rxjs';\nimport { Token } from './token';\nimport { TokenHelper } from './token_helper';\nimport { Config } from './config';\nimport { User } from './user';\nimport { OAuthResponse } from './oauth_response';\n\n@Injectable()\nexport class AccountServiceMoc {\n\tth: TokenHelper;\n\terrConn: string;\n\tuserKey: string = 'user';\n\ttimeout: number = 1000; //1 sec\n\tretry: number = 3; //max retry\n\tpublic dateNowFunc: any;\n\n\tconstructor(private config: Config, private http: Http) {\n\t\tthis.th = new TokenHelper();\n\t\tthis.errConn = 'There is an error when communicating with a server, please try again later.';\n\t\tthis.dateNowFunc = () => { return new Date(); };\n\t\tif (!validateToken()) {\n\t\t\tthis.setToken(new Token({\n\t\t\t\taccessToken: 'Code',\n\t\t\t\tscope: 'all',\n\t\t\t\ttokenType: 'Bearer',\n\t\t\t\tstate: 'dashboard',\n\t\t\t\texpiresIn: 50000,\n\t\t\t\texpiresAt: this.th.getExpiresAt(50000),\n\t\t\t\trefreshToken: 'refresh',\n\t\t\t}));\n\t\t}\n\t}\n\n\tgetUserProfileApi(): Observable {\n\t\tlet us = new User();\n\n\t\tus.firstName = 'ben';\n\t\tus.lastName = 'kolenovic';\n\t\tus.timeZone = 'tzone';\n\t\tus.email = 'email@email.com';\n\t\tus.username = 'username';\n\t\tus.userId = '12345';\n\t\tus.phoneNumber = '8009008888';\n\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(us);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tgetUser(): Observable {\n\t\tif (localStorage.getItem(this.userKey) === null) {\n\t\t\treturn null\n\t\t}\n\t\treturn JSON.parse(localStorage.getItem(this.userKey));\n\t}\n\n\tsetUser(user: User) {\n\t\tlocalStorage.setItem(this.userKey, JSON.stringify(user));\n\t}\n\n\tsetToken(tk: Token) {\n\t\tthis.th.setToken(this.config.tokenName, tk);\n\t}\n\n\toauthLogin(ar: OAuthResponse) {\n\t\tar.expiresAt = this.th.getExpiresAt(ar.expiresIn);\n\t\tthis.th.setToken(this.config.tokenName, ar.getToken());\n\t\treturn true;\n\t}\n\n\tgetError(err: any): Error {\n\t\tvar er: any;\n\t\tvar msg = this.errConn;\n\t\tif (typeof (err.json) === 'function') {\n\t\t\ter = err.json();\n\t\t\tif (er.message != null && er.message != null && er.message != '') {\n\t\t\t\tmsg = er.message;\n\t\t\t} else {\n\t\t\t\tconsole.log(err);\n\t\t\t}\n\t\t\treturn new Error(msg);\n\t\t} else if (err instanceof Error) {\n\t\t\treturn err;\n\t\t} else {\n\t\t\tconsole.log(err);\n\t\t}\n\t}\n\n\tgetToken(): Token {\n\t\treturn this.th.getToken(this.config.tokenName);\n\t}\n\n\tlogout() {\n\t\twindow.location.href = this.config.logoutUrl();\n\t}\n\n\tremoveLocalStorage() {\n\t\tlocalStorage.removeItem(this.userKey);\n\t\tthis.th.removeToken(this.config.tokenName);\n\t}\n\n\tlogoutWithMsg(msg: string) {\n\t\tthis.th.removeToken(this.config.tokenName);\n\t\twindow.location.href = this.config.loginUrl() + 'msg=' + encodeURI(msg);\n\t}\n}\n\nexport function validateToken(tokenName?: string, token?: Token) {\n\tvar tname: string = tokenName || 'token';\n\tvar t: Token;\n\tif (token) {\n\t\tt = token;\n\t} else {\n\t\tif (localStorage.getItem(tname) === null) {\n\t\t\treturn false\n\t\t}\n\t\tlet data = JSON.parse(localStorage.getItem(tname));\n\t\tt = new Token(data);\n\t}\n\tvar tokenHelper = new TokenHelper();\n\tif (!t || tokenHelper.isTokenExpired(t)) {\n\t\tconsole.log('token is expired');\n\t\treturn false\n\t} else {\n\t\treturn true\n\t}\n}\n","\nimport {throwError as observableThrowError, Observable } from 'rxjs';\n/// \nimport { Injectable } from '@angular/core';\nimport { Http, Headers } from '@angular/http';\nimport { Token } from './token';\nimport { TokenHelper } from './token_helper';\nimport { Config } from './config';\nimport { User } from './user';\nimport { OAuthResponse } from './oauth_response';\nimport { environment } from \"../environments/environment\";\nimport { AccountServiceMoc } from \"./account.service.moc\";\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/retry';\nimport 'rxjs/add/operator/timeout'\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/operator/retryWhen';\nimport 'rxjs/add/operator/delay';\nimport 'rxjs/add/operator/take';\nimport 'rxjs/add/operator/concat';\n\n@Injectable()\nexport class Account {\n\tth: TokenHelper;\n\terrConn: string;\n\tuserKey: string = 'user';\n\ttimeout: number = 1000; //1 sec\n\tretry: number = 3; //max retry\n\tpublic dateNowFunc: any;\n\tdelay: number = 3000; //max delay after retry\n\n\tconstructor(private config: Config, private http: Http) {\n\t\tthis.th = new TokenHelper();\n\t\tthis.errConn = 'There is an error when communicating with a server, please try again later.';\n\t\tthis.dateNowFunc = () => { return new Date() };\n\t}\n\n\tsetToken(tk: Token) {\n\t\tthis.th.setToken(this.config.tokenName, tk);\n\t}\n\n\tgetUserProfileApi(): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.get(this.config.authApiUrl + '/user/profile', { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tlet data = resp.json()\n\t\t\t\t\tlet us = new User();\n\t\t\t\t\tus.firstName = data.firstName;\n\t\t\t\t\tus.lastName = data.lastName;\n\t\t\t\t\tus.timeZone = data.timeZone;\n\t\t\t\t\tus.email = data.email;\n\t\t\t\t\tus.username = data.username;\n\t\t\t\t\tus.userId = data.userId;\n\t\t\t\t\tus.phoneNumber = data.phoneNumber;\n\t\t\t\t\treturn us;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tgetUser(): User {\n\t\tif (localStorage.getItem(this.userKey) === null) {\n\t\t\treturn null\n\t\t}\n\t\treturn JSON.parse(localStorage.getItem(this.userKey));\n\t}\n\n\tsetUser(user: User) {\n\t\tlocalStorage.setItem(this.userKey, JSON.stringify(user));\n\t}\n\n\toauthLogin(ar: OAuthResponse) {\n\t\tar.expiresAt = this.th.getExpiresAt(ar.expiresIn);\n\t\tthis.th.setToken(this.config.tokenName, ar.getToken());\n\t\treturn true;\n\t}\n\n\tgetError(err: any): Error {\n\t\tvar er: any;\n\t\tvar msg = this.errConn;\n\t\tif (typeof (err.json) === 'function') {\n\t\t\ter = err.json();\n\t\t\tif (er.message != null && er.message != null && er.message != '') {\n\t\t\t\tmsg = er.message;\n\t\t\t} else {\n\t\t\t\tconsole.log(err);\n\t\t\t}\n\t\t\treturn new Error(msg);\n\t\t} else if (err instanceof Error) {\n\t\t\treturn err;\n\t\t} else {\n\t\t\tconsole.log(err);\n\t\t}\n\t}\n\n\tgetToken() {\n\t\treturn this.th.getToken(this.config.tokenName);\n\t}\n\n\tlogout() {\n\t\twindow.location.href = this.config.logoutUrl();\n\t}\n\n\tremoveLocalStorage() {\n\t\tlocalStorage.removeItem(this.userKey);\n\t\tthis.th.removeToken(this.config.tokenName);\n\t}\n\n\tlogoutWithMsg(msg: string) {\n\t\tthis.th.removeToken(this.config.tokenName);\n\t\twindow.location.href = this.config.loginUrl() + 'msg=' + encodeURI(msg);\n\t}\n\n\thttpRetry(o: Observable): Observable {\n\t\treturn o\n\t\t\t.flatMap((error: any) => {\n\t\t\t\treturn Observable.of(error).delay(this.delay);\n\t\t\t})\n\t\t\t.take(this.retry)\n\t\t\t.concat(Observable.throw(this.getError(o)));\n\t}\n}\n\nexport function validateToken(tokenName?: string, token?: Token) {\n\tvar tname: string = tokenName || 'token';\n\tvar t: Token;\n\tif (token) {\n\t\tt = token;\n\t} else {\n\t\tif (localStorage.getItem(tname) === null) {\n\t\t\treturn false\n\t\t}\n\t\tlet data = JSON.parse(localStorage.getItem(tname));\n\t\tt = new Token(data);\n\t}\n\tvar tokenHelper = new TokenHelper();\n\tif (!t || tokenHelper.isTokenExpired(t)) {\n\t\tconsole.log('token is expired');\n\t\treturn false\n\t} else {\n\t\treturn true\n\t}\n}\n\nexport function accountServiceFactory(\n\tconfig: Config,\n\thttp: Http\n) {\n\treturn (environment.isMoc) ? new AccountServiceMoc(config, http) : new Account(config, http);\n}\n","export class AccountAssociationCountReply {\n count: number;\n\n constructor() {\n this.count = 0;\n }\n}","export class FindAccountAssociation {\n id: number;\n registrationId: number;\n \n constructor() {\n this.id = 0;\n this.registrationId = 0;\n }\n}","export class AccountAssociationRequest {\n registrationId: number;\n acctNumber: number;\n organizationId: number;\n syncMappingSettings: number;\n\n constructor() {\n this.registrationId = 0;\n this.acctNumber = 0;\n this.organizationId = 0;\n this.syncMappingSettings = 0;\n }\n}\n","\n\t
\n\t\t\n\t\t\n\t\tYes | No\n\t\t{{msg.msg}}\n\t
","import { EventEmitter, Output, Component, Input, Compiler } from '@angular/core';\nimport { Alert } from './alert';\n\n@Component({\n\tselector: 'alert-yesno',\n\ttemplate: `\n\t
\n\t\t\n\t\t\n\t\tYes | No\n\t\t{{msg.msg}}\n\t
`\n})\n\nexport class AlertYesNoDirective {\n\t@Input('alert') msg: Alert;\n\t@Output() respond: EventEmitter = new EventEmitter();\n\n\tconstructor(private compiler: Compiler) {\n\t\tif (this.msg == null) {\n\t\t\tthis.msg = new Alert();\n\t\t}\n\t}\n\n\tyes() {\n\t\tthis.respond.emit('yes');\n\t}\n\n\tno() {\n\t\tthis.respond.emit('no');\n\t}\n}\n","\n\t
\n\t\t\t\n\t\t\n\t\t{{msg.msg}}\n\t
","import { Component, Input } from '@angular/core';\nimport { Alert } from './alert';\n\n@Component({\n\tselector: 'alert',\n\ttemplate: `\n\t
\n\t\t\t\n\t\t\n\t\t{{msg.msg}}\n\t
`\n})\n\nexport class AlertDirective {\n\t@Input('alert') msg: Alert;\n\tconstructor() {\n\t\tif (this.msg == null) {\n\t\t\tthis.msg = new Alert();\n\t\t}\n\t}\n}\n","export class Alert {\n msg: string;\n msgType: string;\n isHTML: boolean\n\n constructor() {\n this.msg = '';\n this.msgType = '';\n }\n\n success(msg: string) {\n this.msg = msg;\n this.msgType = 'success';\n this.isHTML = false;\n }\n\n successHtml(html: string) {\n this.msg = html;\n this.msgType = 'success';\n this.isHTML = true;\n }\n\n info(msg: string) {\n this.msg = msg;\n this.msgType = 'info';\n this.isHTML = false;\n }\n\n infoHtml(html: string) {\n this.msg = html;\n this.msgType = 'info';\n this.isHTML = true;\n }\n\n error(msg: string) {\n this.msg = msg;\n this.msgType = 'error';\n this.isHTML = false;\n }\n\n warning(msg: string) {\n this.msg = msg;\n this.msgType = 'warning';\n this.isHTML = false;\n }\n\n warningHtml(msg: string) {\n this.msg = msg;\n this.msgType = 'warning';\n this.isHTML = true;\n }\n\n toString() {\n return this.msg;\n }\n\n errorHtml(html: string) {\n this.msg = html;\n this.msgType = 'error';\n this.isHTML = true;\n }\n\n successHTML(html: string) {\n this.msg = html;\n this.msgType = 'success';\n this.isHTML = true;\n }\n\n close() {\n this.msg = '';\n }\n}\n","import { Component, EventEmitter, Input, Output, OnDestroy, OnInit } from '@angular/core';\nimport { Idle } from './idle';\nimport { Http } from '@angular/http';\nimport { Headers } from '@angular/http';\n\nimport { Observable } from 'rxjs';\nimport 'rxjs/add/observable/of';\nimport 'rxjs/add/operator/do';\n\n\n@Component({\n\tselector: 'app-reload',\n\ttemplate: '',\n})\n\nexport class AppReloadDirective implements OnInit, OnDestroy {\n\t@Input() maxIdle: string;\n\t@Input() forceTimeout: string;\n\t@Output() onChange: EventEmitter = new EventEmitter();\n\n\tprivate idle: Idle;\n\tprivate timeout: any;\n\n\tdelay: number = 3000; //max delay after retry\n\n\tconstructor(private http: Http) {\n\t}\n\n\tngOnInit() {\n\t\tif (!this.maxIdle) {\n\t\t\tthis.maxIdle = (60 * 5).toString() // default 5min\n\t\t}\n\t\tif (!this.forceTimeout) {\n\t\t\tthis.forceTimeout = (1000 * 60 * 60 * 5).toString() // default 5hour;\n\t\t}\n\n\t\tthis.idle = new Idle()\n\t\t\t.whenNotInteractive()\n\t\t\t.within(parseInt(this.maxIdle), 1000)\n\t\t\t.do(() => {\n\n\t\t\t\tthis.doAppVersion();\n\n\t\t\t\tthis.idle.restart();\n\n\t\t\t\tthis.startForceTimeout();\n\t\t\t})\n\t\t\t.start();\n\n\t\tconsole.log(this.forceTimeout);\n\t\tthis.startForceTimeout();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.idle.stop();\n\t\tthis.removeForceTimeout();\n\t}\n\n\tremoveForceTimeout() {\n\t\tclearTimeout(this.timeout);\n\t}\n\n\tstartForceTimeout() {\n\t\tthis.removeForceTimeout();\n\n\t\tlet t = parseInt(this.forceTimeout) * 1000\n\t\tthis.timeout = setTimeout(() => {\n\t\t\tconsole.log('force timeout', t);\n\n\t\t\tthis.doAppVersion();\n\n\t\t\tthis.startForceTimeout();\n\n\t\t}, t);\n\t}\n\n\tappVersion(): Observable {\n\t\tconsole.log('app version');\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\treturn this.http.get('/app-version.json', { headers: headers })\n\t\t\t.timeout(10000)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json().version;\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error('error when getting app-version.json');\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tdoAppVersion() {\n\n\t\tthis.appVersion()\n\t\t\t.catch(err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\treturn Observable.of('');\n\t\t\t})\n\t\t\t.do((v: string) => {\n\t\t\t\tif (v !== '') {\n\t\t\t\t\tthis.onChange.emit(v);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.subscribe(() => {\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t});\n\t}\n\n\thttpRetry(o: Observable): Observable {\n\t\treturn o\n\t\t\t.flatMap((error: any) => {\n\t\t\t\treturn Observable.of(error).delay(this.delay);\n\t\t\t})\n\t\t\t.take(5)\n\t\t\t.concat(Observable.throw({error: 'error when getting app-version.json'}));\n\t}\n}\n","export interface Interaction {\n\ttarget: EventTarget;\n\tevents: string[];\n}\n\nconst defaultDocumentEvents = [\n\t'click',\n\t'mousemove',\n\t'mouseenter',\n\t'keydown',\n\t'scroll',\n\t'touchstart',\n];\n\nexport abstract class Base {\n\n\tprotected abstract listenerAction: () => void;\n\tprotected abstract tick: () => void;\n\n\tprotected timer = 0;\n\tprotected intervalId: any;\n\n\tprotected interactions: Interaction[] = [];\n\tprotected timeout: number;\n\tprotected factor: number;\n\tprotected callback: () => void;\n\n\t/**\n\t * Sets time after which it's idle if no interaction occurs.\n\t *\n\t * @param factor amount of miliseconds `timeout` represents, default 60000 (a minute)\n\t */\n\tpublic within(timeout: number, factor = 60000): this {\n\t\tthis.timeout = timeout;\n\t\tthis.factor = factor;\n\t\treturn this;\n\t}\n\n\tpublic do(callback: () => void): this {\n\t\tthis.callback = callback;\n\t\treturn this;\n\t}\n\n\tpublic start(): this {\n\t\tif (this.interactions.length === 0) {\n\t\t\tthrow Error('There is no interaction to watch!');\n\t\t}\n\n\t\tthis.addListeners();\n\t\tthis.setInterval();\n\t\treturn this;\n\t}\n\n\tpublic stop(): this {\n\t\tthis.removeListeners();\n\t\tthis.clearInterval();\n\t\treturn this;\n\t}\n\n\tprotected addListeners(): void {\n\t\tfor (const interaction of this.interactions) {\n\t\t\tfor (const event of interaction.events) {\n\t\t\t\tinteraction.target.addEventListener(event, this.listenerAction);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected removeListeners(): void {\n\t\tfor (const interaction of this.interactions) {\n\t\t\tfor (const event of interaction.events) {\n\t\t\t\tinteraction.target.removeEventListener(event, this.listenerAction);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected clearInterval(): void {\n\t\tclearInterval(this.intervalId);\n\t}\n\n\tprotected setInterval(): void {\n\t\tthis.intervalId = setInterval(this.tick, this.factor);\n\t}\n\n\tprotected pushDefaultInteraction(): void {\n\t\tthis.interactions.push({\n\t\t\tevents: defaultDocumentEvents,\n\t\t\ttarget: document,\n\t\t});\n\t}\n\n\tprotected concatInteractions(interactions: Interaction[] | Interaction): void {\n\t\tthis.interactions = this.interactions\n\t\t\t.concat(interactions);\n\t}\n\n}\n","import { Base, Interaction } from './idle-base';\n\nexport class Idle extends Base {\n\n\tprotected repetitive = false;\n\n\t/**\n\t * @param interactions set of interactions which will prevent being idle\n\t */\n\tpublic whenNot(interactions: Interaction[] | Interaction): this {\n\t\tthis.concatInteractions(interactions);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds default interactions to decide if user is not interacting with page.\n\t */\n\tpublic whenNotInteractive(): this {\n\t\tthis.pushDefaultInteraction();\n\t\treturn this;\n\t}\n\n\t/**\n\t * Repeat calling idle action for each timeout frame.\n\t *\n\t * - Does NOT repeat by default\n\t */\n\tpublic repeat(repeat = true): this {\n\t\tthis.repetitive = repeat;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Restart away timer\n\t * incase of custom situations other than events on `EventTarget`\n\t */\n\tpublic restart(): this {\n\t\tthis.listenerAction();\n\t\treturn this;\n\t}\n\n\tprotected listenerAction = () => {\n\t\tthis.timer = 0;\n\t\tthis.clearInterval();\n\t\tthis.setInterval();\n\t}\n\n\tprotected tick = () => {\n\t\tthis.timer += 1;\n\t\tif (this.timer === this.timeout || (this.repetitive && this.timer % this.timeout === 0)) {\n\t\t\tthis.callback();\n\t\t}\n\t}\n\n}\n","\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t Logout\n\t\t\t\t
\n\t\t\t\t \n\t\t\t\t\t\t{{userGreeting}}\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t
{{schoolsName}}
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t {{dashboardTitle}}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t/ {{b.title}} {{b.title}} \n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t \n\t\t \n\t\t
\n\t
\n\t
\n ","/// \nimport { Component, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AppTitle, Breadcrumb } from './title';\nimport { Account, validateToken } from './account.service';\nimport { PowerSchoolService } from './powerschool.service';\nimport { Config } from './config';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\nimport { Alert } from './alert';\nimport { environment } from '../environments/environment';\nimport { AppService } from './app.service';\n\n@Component({\n\tselector: 'district-app',\n\ttemplate: `\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t Logout\n\t\t\t\t
\n\t\t\t\t \n\t\t\t\t\t\t{{userGreeting}}\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t
{{schoolsName}}
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t {{dashboardTitle}}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t/ {{b.title}} {{b.title}} \n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t \n\t\t \n\t\t
\n\t
\n\t
\n `\n})\n\nexport class AppComponent implements OnInit {\n\tisUserToggled: boolean;\n\tisSidebarToggled: boolean;\n\ttoday: number;\n\tacctNumber: string;\n\tmsg: Alert;\n\thasAccess: boolean;\n\tappReloadMaxIdle: number;\n\tappReloadForceTimeout: number;\n\tcurrentAppVersion: string;\n\tappVersionTitle: string;\n\tbreadcrumbs: Breadcrumb[];\n\tuserGreeting: string;\n\tdashboardTitle: string;\n\taccLink: string;\n\tschoolsName: string;\n\tinterval: any;\n\tdaysWarningAboutToExpire = 30;\n\tregistrationsLink: string;\n\tisUsrNull: boolean;\n\n\tconstructor(\n\t\tpublic title: AppTitle,\n\t\tprivate account: Account,\n\t\tprivate config: Config,\n\t\tprivate ps: PowerSchoolService,\n\t\tprivate router: Router,\n\t\tangulartics2GoogleAnalytics: Angulartics2GoogleAnalytics,\n\t\tprivate app: AppService,\n\t\tprivate cdref: ChangeDetectorRef,\n\t) {\n\t\tthis.msg = new Alert();\n\t\tthis.isUserToggled = false;\n\t\tthis.isSidebarToggled = true;\n\t\tthis.today = Date.now();\n\t\tthis.clickedOutside = this.clickedOutside.bind(this);\n\t\tthis.hasAccess = true;\n\t\tthis.currentAppVersion = environment.version;\n\t\tthis.appReloadMaxIdle = (60 * 5); // 5 min\n\t\tthis.appReloadForceTimeout = (1000 * 60 * 60 * 12); // 12 hours\n\t\tthis.appVersionTitle = `App Version: ${this.currentAppVersion}`;\n\t\tthis.breadcrumbs = [];\n\t\tthis.userGreeting = '';\n\t\tthis.dashboardTitle = '';\n\t\tthis.accLink = '';\n\t\tthis.schoolsName = '';\n\t\tangulartics2GoogleAnalytics.startTracking();\n\t\tthis.isUsrNull = false;\n\t}\n\n\tngOnInit() {\n\t\tif (window.innerWidth < 992) {\n\t\t\tthis.isSidebarToggled = false;\n\t\t}\n\t\tthis.title.titleEvent.subscribe(() => {\n\t\t\tthis.dashboardTitle = this.getDashboardTitle();\n\t\t\tthis.breadcrumbs = this.getBreadcrumbs();\n\t\t});\n\n\t\tthis.app.onLoadApp.subscribe((args) => {\n\t\t\tconsole.log('re-loading');\n\t\t\tthis.load();\n\t\t});\n\n\t\tthis.load();\n\t}\n\n\tload() {\n\n\t\tif (validateToken()) {\n\t\t\t// check existing user roles before loading default one\n\t\t\tlet ur = this.ps.userRoles();\n\t\t\tif (ur == null) {\n\t\t\t\tthis.msg.error('There is an error when loading user\\'s roles, please try refreshing this page.');\n\t\t\t\tthis.isUsrNull = true;\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.acctNumber = ur.acctNumber;\n\t\t\tthis.userGreeting = this.getUserGreetings();\n\t\t\tthis.registrationsLink = `settings/${this.acctNumber}/registration`;\n\n\t\t\t// remove interval if any\n\t\t\tif (this.interval) {\n\t\t\t\tclearInterval(this.interval);\n\t\t\t}\n\n\t\t\t// validate token every 10 sec\n\t\t\tthis.interval = setInterval(() => {\n\t\t\t\tif (!this.tokenValidation()) {\n\t\t\t\t\tclearInterval(this.interval);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}, 10000);\n\n\t\t}\n\t}\n\n\tchangeRoute() {\n\t\tthis.schoolsName = this.schoolName();\n\t\tthis.accLink = this.accountLink();\n\t}\n\n\ttokenValidation(): boolean {\n\t\tlet t = this.ps.getToken();\n\t\t// no need to display user message about token expiration in case of refreshToken being present\n\t\tif (t.refreshToken && t.refreshToken != '') {\n\t\t\treturn true;\n\t\t}\n\t\tif (!validateToken()) {\n\t\t\tvar c = 10;\n\t\t\t// current url is passed to login component for auth.ts to catch and send within redirect_uri for returning the user to the current page after login\n\t\t\tvar url = encodeURIComponent(this.router.url);\n\t\t\tvar interval = setInterval(() => {\n\t\t\t\tthis.msg.warningHtml(`This session has expired, please wait while redirecting you to login page in ${c}.`);\n\t\t\t\tc--;\n\t\t\t\tif (c < 0) {\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\tthis.router.navigate(['/login', { queryParams: { 'gotopage': url } }])\n\t\t\t\t}\n\t\t\t}, 1000);\n\t\t\treturn false;\n\t\t}\n\t\treturn true\n\t}\n\n\tclickedOutside() {\n\t\tthis.isUserToggled = false;\n\t}\n\n\ttoggleSidebar() {\n\t\tthis.isSidebarToggled = !this.isSidebarToggled;\n\t}\n\n\ttoggleUser() {\n\t\tthis.isUserToggled = !this.isUserToggled;\n\t}\n\n\n\tgetDashboardTitle() {\n\t\treturn this.title.getDashboardTitle();\n\t}\n\n\tgetDashboardNav() {\n\t\treturn this.title.getDashboardNav();\n\t}\n\n\tgetBreadcrumbs() {\n\t\treturn this.title.getBreadcrumbsPrint();\n\t}\n\n\taccountLink() {\n\t\treturn this.config.authAppUrl + '/dashboard/profile'\n\t}\n\n\tlogout() {\n\t\tthis.account.removeLocalStorage();\n\t\tthis.ps.removeLocalStorage();\n\t\tthis.account.logout();\n\t}\n\n\tschoolName() {\n\t\tlet s = this.ps.userRoles();\n\t\tif (s != null) {\n\t\t\treturn s.schoolName;\n\t\t}\n\t\treturn 'NA';\n\t}\n\n\tshowMenu() {\n\t\tif (this.account.getUser() != null && this.ps.userRoles() != null) {\n\t\t\tthis.acctNumber = this.ps.userRoles().acctNumber;\n\t\t\treturn true;\n\t\t}\n\t\treturn true;\n\t}\n\n\tappReload(version: string) {\n\t\tif (this.currentAppVersion != version) {\n\t\t\tconsole.log('version:', version);\n\t\t\twindow.location.reload(true);\n\t\t}\n\t}\n\n\tngAfterContentChecked() {\n\t\tthis.cdref.detectChanges();\n\t}\n\n\tgetUserGreetings() {\n\t\tlet user = this.account.getUser();\n\t\tif (user == null) {\n\t\t\treturn \"Hi\";\n\t\t}\n\t\treturn 'Hi ' + user.firstName;\n\t}\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule, Injector } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { Http, HttpModule } from '@angular/http';\nimport { LocationStrategy, HashLocationStrategy } from '@angular/common';\nimport { Config, loadConfig } from './config';\nimport { routing } from \"./app.routing\";\nimport { AppComponent } from './app.component';\nimport { DashboardComponent } from './dashboard.component';\nimport { FooterComponent } from './footer.component';\nimport { LoginComponent } from './login.component';\nimport { AppTitle } from './title';\nimport { AlertDirective } from './alert.directive';\nimport { OffClickDirective } from \"./off_click.directive\";\nimport { Account, accountServiceFactory } from './account.service';\nimport { PowerSchoolService, PowerSchoolServiceFactory } from './powerschool.service';\nimport { Auth } from './auth';\nimport { Angulartics2Module } from 'angulartics2';\nimport { CatchAllComponent } from './catchall.component';\nimport { TruncatePipe } from './truncate.pipe';\nimport { AppToggleComponent } from './app_toggle.component';\nimport { FileUploadModule } from 'ng2-file-upload';\nimport { AppImportComponent } from \"./app_import.component\";\nimport { AlertYesNoDirective } from './alert-yesno.directive';\nimport { HttpService, getHttpService } from './http.service';\nimport { RequestOptions, XHRBackend } from \"@angular/http\";\nimport { AppReloadDirective } from './app-reload/app-reload.directive';\nimport { AppService } from './app.service';\nimport { RegistrationComponent } from './registration.component';\nimport { RegistrationAddComponent } from './registration_add.component';\nimport { SyncComponent } from './sync.component';\nimport { SchoolMappingComponent } from './school_mapping.component';\nimport { SyncMappingSettingsComponent } from './sync_mapping_settings.component';\nimport { SyncMappingSettingsAddEditComponent } from './sync_mapping_settings_add_edit.component';\nimport { RegistrationAddV2Component } from './registration_add_v2.component';\n\n@NgModule({\n\tdeclarations: [\n\t\tAppComponent,\n\t\tDashboardComponent,\n\t\tFooterComponent,\n\t\tLoginComponent,\n\t\tAlertDirective,\n\t\tOffClickDirective,\n\t\tCatchAllComponent,\n\t\tTruncatePipe,\n\t\tAppToggleComponent,\n\t\tAppImportComponent,\n\t\tAlertYesNoDirective,\n\t\tAppReloadDirective,\n\t\tRegistrationComponent,\n\t\tRegistrationAddComponent,\n\t\tSyncComponent,\n\t\tSchoolMappingComponent,\n\t\tSyncMappingSettingsComponent,\n\t\tSyncMappingSettingsAddEditComponent,\n\t\tRegistrationAddV2Component,\n\t],\n\timports: [\n\t\tBrowserModule,\n\t\tFormsModule,\n\t\tHttpModule,\n\t\trouting,\n\t\tReactiveFormsModule,\n\t\tAngulartics2Module.forRoot(),\n\t\tFileUploadModule\n\t],\n\tproviders: [\n\t\tAppTitle,\n\t\t{ provide: LocationStrategy, useClass: HashLocationStrategy },\n\t\t{ provide: Account, useFactory: accountServiceFactory, deps: [Config, Http] },\n\t\t{ provide: PowerSchoolService, useFactory: PowerSchoolServiceFactory, deps: [HttpService, Account, Config] },\n\t\t{ provide: Config, useFactory: loadConfig },\n\t\t{ provide: HttpService, useFactory: getHttpService, deps: [XHRBackend, RequestOptions, Injector] },\n\t\tAuth,\n\t\tAppService,\n\t],\n\tbootstrap: [AppComponent]\n})\n\nexport class AppModule { }\n","import { EventEmitter, Injectable } from '@angular/core';\n\n\n\n@Injectable()\nexport class AppService {\n\t// use this service when you need to re-render app component\n\t// example if menu displays something from settigns or any other service you need to fire this event from that component\n\t// for more take a look at the source code of station-setup/new-station\n\t// pass arguments or commands\n\tonLoadApp: EventEmitter = new EventEmitter();\n\n}\n","/// \nimport { FormControl, Validators, FormGroup } from '@angular/forms';\n\nexport class AppValidators {\n\n\n\tstatic email(c: FormControl): { [key: string]: boolean } {\n\t\tif (Helper.isPresent(Validators.required(c))) return null;\n\t\tif (!AppValidators.isEmail(c.value)) {\n\t\t\treturn { invalidEmail: true }\n\t\t}\n\t}\n\n\tstatic date(c: FormControl): { [key: string]: boolean } {\n\t\tif (Helper.isPresent(Validators.required(c))) return null;\n\t\tif (!AppValidators.isDate(c.value)) {\n\t\t\treturn { invalidDate: true }\n\t\t}\n\t}\n\n\tstatic number(c: FormControl): { [key: string]: boolean } {\n\t\tif (Helper.isPresent(Validators.required(c))) return null;\n\t\tif (!AppValidators.isNumber(c.value)) {\n\t\t\treturn { invalidNumber: true }\n\t\t}\n\t}\n\n\tstatic isEmail(email: string) {\n\t\tvar emailRegex = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;\n\t\treturn email.toLowerCase().match(emailRegex)\n\t}\n\n\tstatic isDate(date: string) {\n\t\tvar dateRegex = /^(?:(0[1-9]|1[012])[\\/.](0[1-9]|[12][0-9]|3[01])[\\/.](19|20)[0-9]{2})$/;\n\t\treturn date.match(dateRegex)\n\t}\n\n\tstatic isNumber(intStr: string) {\n\t\tvar intRegex = /^0$|^-?[1-9]\\d*(\\.\\d+)?$/;\n\t\treturn intStr.match(intRegex)\n\t}\n}\n\nclass Helper {\n\tstatic isPresent(obj: any): boolean {\n\t\treturn obj != null;\n }\n}\n\nexport function controlErrors(f: FormGroup, callback: any) {\n\tvar c: any;\n\tvar name: any;\n\tObject.keys(f.controls).forEach(name => {\n\t\tc = f.controls[name];\n\t\tif (!c.valid) {\n\t\t\tif (c.hasError('invalidEmail')) {\n\t\t\t\tcallback(c, name + ' has invalid email address.');\n\t\t\t} else if (c.hasError('required')) {\n\t\t\t\tcallback(c, name + ' is required.');\n\t\t\t} else if (c.hasError('minlength')) {\n\t\t\t\tlet v = c.errors['minlength'].requiredLength;\n\t\t\t\tcallback(c, `${name} min length is ${v}.`);\n\t\t\t} else if (c.hasError('invalidNumber')) {\n\t\t\t\tcallback(c, name + ' has invalid number, must be numeric (ex. -23, 23 or 23.10)');\n\t\t\t} else if (c.hasError('invalidDate')) {\n\t\t\t\tcallback(c, name + ' has invalid date, must be on format of MM/DD/YYYY (ex. 02/12/2016).');\n\t\t\t} else if (c.hasError('maxlength')) {\n\t\t\t\tlet v = c.errors['maxlength'].requiredLength;\n\t\t\t\tcallback(c, `${name} max length is ${v}.`);\n\t\t\t}\n\t\t}\n\t});\n}\n","\n {{toggleName}}\n ","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-toggle',\n styles: [`\n .switch {\n position: relative;\n display: inline-block;\n vertical-align: top;\n width: 50px;\n height: 20px;\n padding-right: 6px;\n background-color: white;\n border-radius: 18px;\n cursor: pointer;\n background-image: -webkit-linear-gradient(top, #eeeeee, white 25px);\n background-image: -moz-linear-gradient(top, #eeeeee, white 25px);\n background-image: -o-linear-gradient(top, #eeeeee, white 25px);\n background-image: linear-gradient(to bottom, #eeeeee, white 25px);\n }\n .switch-input {\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n }\n .switch-label {\n position: relative;\n display: block;\n height: inherit;\n font-size: 10px;\n text-transform: uppercase;\n background: #eceeef;\n border-radius: inherit;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15);\n -webkit-transition: 0.15s ease-out;\n -moz-transition: 0.15s ease-out;\n -o-transition: 0.15s ease-out;\n transition: 0.15s ease-out;\n -webkit-transition-property: opacity background;\n -moz-transition-property: opacity background;\n -o-transition-property: opacity background;\n transition-property: opacity background;\n }\n .switch-label:before,\n .switch-label:after {\n position: absolute;\n top: 50%;\n margin-top: -.5em;\n line-height: 1;\n -webkit-transition: inherit;\n -moz-transition: inherit;\n -o-transition: inherit;\n transition: inherit;\n }\n .switch-label:before {\n content: attr(data-off);\n right: 5px;\n color: #aaa;\n text-shadow: 0 1px rgba(255, 255, 255, 0.5);\n }\n .switch-label:after {\n content: attr(data-on);\n left: 5px;\n color: white;\n text-shadow: 0 1px rgba(0, 0, 0, 0.2);\n opacity: 0;\n }\n .switch-input:checked~ .switch-label {\n background: #0a5d4d;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2);\n }\n .switch-input:checked~ .switch-label:before {\n opacity: 0;\n }\n .switch-input:checked~ .switch-label:after {\n opacity: 1;\n }\n .switch-handle {\n position: absolute;\n top: 1px;\n left: 2px;\n width: 18px;\n height: 18px;\n background: white;\n border-radius: 10px;\n box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);\n background-image: -webkit-linear-gradient(top, white 40%, #f0f0f0);\n background-image: -moz-linear-gradient(top, white 40%, #f0f0f0);\n background-image: -o-linear-gradient(top, white 40%, #f0f0f0);\n background-image: linear-gradient(to bottom, white 40%, #f0f0f0);\n -webkit-transition: left 0.15s ease-out;\n -moz-transition: left 0.15s ease-out;\n -o-transition: left 0.15s ease-out;\n transition: left 0.15s ease-out;\n }\n .switch-handle:before {\n content: '';\n position: absolute;\n top: 50%;\n left: 30%;\n margin: -6px 0 0 -6px;\n width: 12px;\n height: 12px;\n background: #f9f9f9;\n border-radius: 6px;\n box-shadow: inset 0 1px rgba(0, 0, 0, 0.02);\n background-image: -webkit-linear-gradient(top, #eeeeee, white);\n background-image: -moz-linear-gradient(top, #eeeeee, white);\n background-image: -o-linear-gradient(top, #eeeeee, white);\n background-image: linear-gradient(to bottom, #eeeeee, white);\n }\n .switch-input:checked~ .switch-handle {\n left: 26px;\n box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2);\n }\n .switch-green> .switch-input:checked~ .switch-label {\n background: #4fb845;\n }\n `],\n template: `\n {{toggleName}}\n `\n})\n\nexport class AppToggleComponent {\n @Input() toggleName: string;\n @Input() toggle: boolean;\n @Input() disabled: boolean;\n @Output() toggleChange: EventEmitter;\n\n constructor() {\n this.toggleName = '';\n this.toggle = true;\n\t this.disabled = false;\n this.toggleChange = new EventEmitter();\n }\n\n change() {\n this.toggle = !this.toggle;\n this.toggleChange.emit(this.toggle);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Account, validateToken } from './account.service';\nimport {\n\tCanActivate,\n\tActivatedRouteSnapshot,\n\tRouterStateSnapshot\n} from '@angular/router';\nimport { OAuthResponse } from './oauth_response';\nimport { Config } from './config';\nimport { PowerSchoolService } from './powerschool.service';\nimport { OAuthTokenRequest } from './oauth-token-request';\nimport { Observable } from 'rxjs';\nimport { TokenHelper } from './token_helper';\n\n\n@Injectable()\nexport class Auth implements CanActivate {\n\tpublic ar: OAuthResponse;\n\tconstructor(private account: Account, private config: Config, private ps: PowerSchoolService) { }\n\n\tcanActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n\t\tlet path: string = window.location.href;\n\t\tif (path.indexOf(\"#access_token=\") === -1) {\n\t\t\tif (validateToken()) {\n\n\t\t\t\t// handle cases where user changes the acctnumber in url but existing userrole is different\n\t\t\t\t// solution is to re-load user roles\n\t\t\t\tlet acctNumber = route.params['acctNumber'];\n\t\t\t\tif (acctNumber) {\n\t\t\t\t\treturn this.ps.validateAcctNumber(acctNumber)\n\t\t\t\t\t\t.mergeMap(valid => {\n\t\t\t\t\t\t\tif (!valid) {\n\t\t\t\t\t\t\t\tconsole.log(`re-load user roles for acctNumber ${acctNumber}`);\n\t\t\t\t\t\t\t\treturn this.ps.loadUserByAcctNumber(acctNumber)\n\t\t\t\t\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\treturn Observable.of(null);\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t.map(() => {\n\t\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn Observable.of(true);\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn Observable.of(true);\n\t\t\t}\n\t\t\tconsole.log('token invalid, redirecting to login page.');\n\n\t\t\tlet redirectLogin = () => {\n\n\t\t\t\tif (path.indexOf(\"#\") != -1) {\n\t\t\t\t\tlet baseUrl = path.substring(0, path.indexOf(\"#\"));\n\t\t\t\t\tlet gotopage = path.substr(path.indexOf(\"#\") + 1);\n\t\t\t\t\t// there are cases where gotopage query param is set on url\n\t\t\t\t\t// in this case we need to take that value else take the default url\n\t\t\t\t\tif (path.indexOf('gotopage=') != -1) {\n\t\t\t\t\t\tlet fg = this.parseQueryString(path.substr(path.indexOf('?') + 1));\n\t\t\t\t\t\tgotopage = fg['gotopage'];\n\t\t\t\t\t}\n\t\t\t\t\tgotopage = encodeURIComponent(gotopage);\n\t\t\t\t\twindow.location.href = this.config.loginUrl() + `?navigateUri=${gotopage}`;\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = this.config.loginUrl();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet t = this.account.getToken();\n\t\t\t// if refresh token is empty, ask user to re-login\n\t\t\t// refresh_token will be provided only when user has checked to stay signin\n\n\t\t\tif (!t || !t.refreshToken) {\n\t\t\t\tconsole.log('no refresh token');\n\t\t\t\tredirectLogin();\n\t\t\t\treturn Observable.of(false);\n\t\t\t}\n\n\t\t\t// try to get new token based on refresh token\n\t\t\t//\n\t\t\tlet oauthreq = new OAuthTokenRequest();\n\t\t\toauthreq.refreshToken = t.refreshToken;\n\t\t\treturn this.ps.oauthTokenApi(oauthreq)\n\t\t\t\t.map(data => {\n\n\t\t\t\t\tlet th = new TokenHelper();\n\t\t\t\t\tt.accessToken = data.accessToken;\n\t\t\t\t\tt.refreshToken = data.refreshToken;\n\t\t\t\t\tt.tokenType = data.tokenType;\n\t\t\t\t\tt.expiresIn = data.expiresIn;\n\t\t\t\t\tt.expiresAt = th.getExpiresAt(data.expiresIn);\n\n\t\t\t\t\tthis.account.setToken(t);\n\t\t\t\t\treturn true;\n\t\t\t\t})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tconsole.log(err)\n\t\t\t\t\tredirectLogin();\n\t\t\t\t\treturn Observable.of(false)\n\t\t\t\t});\n\n\t\t} else {\n\t\t\tlet fg = this.getFragment();\n\t\t\tthis.setToken(fg);\n\t\t\t// gotopage param is to navigate the user to specific page after it is login\n\t\t\tlet gotopage = fg['gotopage'];\n\t\t\tif (gotopage) {\n\t\t\t\t//gotopage = decodeURIComponent(gotopage);\n\t\t\t\tthis.config.saveGoToPage(gotopage);\n\t\t\t}\n\t\t\twindow.location.href = '/#/login';\n\t\t\t//this will stop angular accessing wrong page like #/access_token and insted of that it will change the url to /#/login\n\t\t\treturn Observable.of(false);\n\t\t}\n\t}\n\n\tcanActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n\t\treturn this.canActivate(route, state);\n\t}\n\n\tsetToken(queryParam: any) {\n\t\tthis.ar = new OAuthResponse();\n\t\tthis.ar.accessToken = queryParam['access_token'];\n\t\tthis.ar.tokenType = queryParam['token_type'];\n\t\tthis.ar.state = queryParam['state'];\n\t\tthis.ar.scope = queryParam['scope'];\n\t\tthis.ar.expiresIn = parseInt(queryParam['expires_in']);\n\t\tif (queryParam['refresh_token']) {\n\t\t\tthis.ar.refreshToken = queryParam['refresh_token'];\n\t\t}\n\t\tthis.account.oauthLogin(this.ar);\n\t}\n\n\tgetFragment() {\n\t\tif (window.location.hash.indexOf(\"#\") === 0) {\n\t\t\treturn this.parseQueryString(window.location.hash.substr(1));\n\t\t} else {\n\t\t\treturn {};\n\t\t}\n\t};\n\n\tparseQueryString(queryString) {\n\t\tvar data = {}, pairs, pair, separatorIndex, escapedKey, escapedValue, key, value;\n\n\t\tif (queryString === null) {\n\t\t\treturn data;\n\t\t}\n\n\t\tpairs = queryString.split(\"&\");\n\n\t\tfor (var i = 0; i < pairs.length; i++) {\n\t\t\tpair = pairs[i];\n\t\t\tseparatorIndex = pair.indexOf(\"=\");\n\n\t\t\tif (separatorIndex === -1) {\n\t\t\t\tescapedKey = pair;\n\t\t\t\tescapedValue = null;\n\t\t\t} else {\n\t\t\t\tescapedKey = pair.substr(0, separatorIndex);\n\t\t\t\tescapedValue = pair.substr(separatorIndex + 1);\n\t\t\t}\n\n\t\t\tkey = decodeURIComponent(escapedKey);\n\t\t\tvalue = decodeURIComponent(escapedValue);\n\n\t\t\tif (key.substr(0, 1) === '/')\n\t\t\t\tkey = key.substr(1);\n\n\t\t\tdata[key] = value;\n\t\t}\n\n\t\treturn data;\n\t};\n}\n","
\n \n
","import { Component } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AppTitle } from './title';\nimport { Alert } from './alert';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'catchall',\n template:\n `
\n \n
`\n})\n\nexport class CatchAllComponent {\n private subscription: Subscription;\n public msg: Alert;\n acctNumber: string;\n\n constructor(private router: Router, private title: AppTitle, private activatedRoute: ActivatedRoute,) {\n this.msg = new Alert();\n\n this.subscription = activatedRoute.params.subscribe(\n (params) => this.acctNumber = params['acctNumber']\n )\n\n if (this.acctNumber == null) {\n this.msg.error(`Please go to your district manager.`);\n } else {\n title.setTitles({ title: 'Page not found', dashboard: 'Page not found', dashboardNav: '' });\n this.msg.error(`Page '${router.url}' could not be found, please use the menu for navigation or re-login.`);\n }\n }\n}\n","import { environment } from '../environments/environment';\n\nexport class Config {\n\tauthApiUrl: string;\n\tauthAppUrl: string;\n\tdistrictPowerSchoolApiUrl: string;\n\tclientId: string;\n\tresponseType: string;\n\tscope: string;\n\tstate: string;\n\ttokenName: string;\n\tconfig: any;\n\n\tgotopageKey: string;\n\tconstructor(config?: any) {\n\t\tthis.config = config || {};\n\t\tthis.authApiUrl = this.config.authApiUrl || 'http://localhost:4000';\n\t\tthis.authAppUrl = this.config.authAppUrl || 'http://localhost:14000/#';\n\t\tthis.districtPowerSchoolApiUrl = this.config.districtPowerSchoolApiUrl || 'http://localhost:4001';\n\t\tthis.tokenName = this.config.tokenName || 'token';\n\t\tthis.clientId = this.config.clientId || 'ea2849e2-8e8c-487b-81e2-dd8bfb14e22e';\n\t\tthis.responseType = this.config.responseType || 'token';\n\t\tthis.scope = this.config.scope || 'all';\n\t\tthis.state = this.config.state || '/dashboard';\n\t\tthis.gotopageKey = 'gotopage';\n\t}\n\n\tloginUrl() {\n\t\treturn this.districtPowerSchoolApiUrl + '/oauth2/login';\n\t}\n\n\tlogoutUrl() {\n\t\treturn this.districtPowerSchoolApiUrl + '/oauth2/logout';\n\t}\n\n\tsaveGoToPage(path: string) {\n\t\tlocalStorage.setItem(this.gotopageKey, path);\n\t}\n\n\tgoToPage(): string {\n\t\treturn localStorage.getItem(this.gotopageKey);\n\t}\n\n\tremoveLocalStorage() {\n\t\tlocalStorage.removeItem(this.gotopageKey);\n\t}\n}\n\nexport function loadConfig(): Config {\n\treturn new Config({\n\t\tclientId: environment.clientId,\n\t\tauthApiUrl: environment.authApiUrl,\n\t\tauthAppUrl: environment.authAppUrl,\n\t\tdistrictPowerSchoolApiUrl: environment.districtPowerSchoolApiUrl,\n\t});\n}\n","\n\t
\n\t\t\n\t

dashboard

\n\t
\n ","/// \nimport { Component, OnDestroy } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AppTitle } from './title';\nimport { Account } from './account.service';\nimport { Config } from './config';\nimport { PowerSchoolService } from './powerschool.service';\nimport { Alert } from './alert';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'dashboard',\n template: `\n\t
\n\t\t\n\t

dashboard

\n\t
\n `\n})\n\nexport class DashboardComponent implements OnDestroy {\n private subscription: Subscription;\n msg: Alert;\n acctNumber: string;\n\n constructor(private router: Router, private title: AppTitle, private account: Account, private activatedRoute: ActivatedRoute, private config: Config, private ps: PowerSchoolService) {\n this.msg = new Alert();\n title.setTitles({ title: 'Dashboard', dashboard: 'Dashboard', dashboardNav: 'Home' });\n\n this.subscription = activatedRoute.params.subscribe(\n (params) => this.acctNumber = params['acctNumber']\n )\n\n if (this.acctNumber != null) {\n ps.validateAcctNumber(this.acctNumber)\n .subscribe(res => {\n }, err => {\n console.log(err);\n this.msg.error('There is an error when processing this request, please try again.');\n });\n }\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n}\n","//Parse date string as it is into Date object\n//This is used when date string has no timestamp even if there is Z (UTC) the actual date is without timestamp\nexport function rfc3339ToDate(strDate: any): Date {\n\tif (!strDate || strDate === '') {\n\t\treturn null;\n\t}\n\tif (typeof (strDate) !== 'string') {\n\t\treturn strDate;\n\t}\n\n\tlet dtstr = strDate.replace(/\\D/g, \" \");\n\tlet dtcomps = dtstr.split(\" \");\n\treturn new Date(\n\t\tparseInt(dtcomps[0]),\n\t\tparseInt(dtcomps[1]) - 1,\n\t\tparseInt(dtcomps[2]),\n\t\tparseInt(dtcomps[3]),\n\t\tparseInt(dtcomps[4]),\n\t\tparseInt(dtcomps[5]));\n}\n\nexport function slashDateToDate(d: string): Date {\n\tif (d && d.indexOf('/') != -1) {\n\t\tlet dp: string[] = d.split('/');\n\t\treturn new Date(parseInt(dp[2]), (parseInt(dp[0]) - 1), parseInt(dp[1]));\n\t}\n\treturn new Date(1, 1, 1);\n}\n\nexport function dateFormat(dt: Date, format: string): string {\n\tlet day = (\"0\" + dt.getDate()).slice(-2);\n\tlet month = (\"0\" + (dt.getMonth() + 1)).slice(-2);\n\tlet year = dt.getFullYear().toString();\n\tlet h = dt.getHours();\n\tlet ampm = (h % 12 || 12)\n\t\t+ ':' + (\"0\" + dt.getMinutes()).slice(-2)\n\t\t+ ' ' + (h < 12 ? 'A' : 'P') + 'M';\n\n\tswitch (format) {\n\t\tcase '01-02-2006 03:04 PM':\n\t\t\treturn `${month}-${day}-${year} ${ampm}`;\n\t\tcase '01/02/2006 03:04 PM':\n\t\t\treturn `${month}/${day}/${year} ${ampm}`;\n\t\tcase '01/02/2006':\n\t\t\treturn `${month}/${day}/${year}`;\n\n\t\tdefault:\n\t\t\treturn dt.toString();\n\t}\n}\n\nexport function isDateSet(d: Date): boolean {\n\tif (d && typeof (d) === \"object\" && d.getFullYear() > 1901) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n","export class FindOrganization {\n id: number;\n registrationId: number;\n \n constructor() {\n this.id = 0;\n this.registrationId = 0;\n }\n}","export class FindSyncMappingSettings {\n\tid: number;\n\tregistrationId: number;\n\tname: string;\n\tpage: number;\n\tpageSize: number;\n\n\tconstructor() {\n\t\t this.id = 0;\n\t\t this.registrationId = 0;\n\t\t this.name= '';\n\t\t this.page = 0;\n\t\t this.pageSize = 0;\n\t}\n}\n","\n
\n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'district-footer',\n template: `\n
\n
\n
`\n})\n\nexport class FooterComponent {\n today: number;\n constructor() {\n this.today = Date.now();\n }\n}\n","\nimport {throwError as observableThrowError, Observable } from 'rxjs';\nimport { Http, Request, RequestOptions, RequestOptionsArgs, Response, ConnectionBackend, Headers } from \"@angular/http\";\nimport \"rxjs/add/observable/fromPromise\";\nimport \"rxjs/add/operator/mergeMap\";\n\nimport { Account } from './account.service';\nimport { Token } from './token';\nimport { Config } from './config';\nimport { TokenHelper } from './token_helper';\nimport { Injector, Injectable } from '@angular/core';\nimport { OAuthToken } from './oauth-token';\n\n\nexport interface InterceptorConfigOptional {\n\theaderName?: string;\n\theaderPrefix?: string;\n\tnoTokenError?: boolean;\n}\n\nconst DEFAULT_HEADER_NAME = 'Authorization';\nconst DEFAULT_HEADER_PREFIX_BEARER = 'Bearer';\n\nexport class InterceptorConfig {\n\n\theaderName: string = DEFAULT_HEADER_NAME;\n\theaderPrefix: string = DEFAULT_HEADER_PREFIX_BEARER;\n\tnoTokenError: boolean = false;\n\n\tconstructor(config?: InterceptorConfigOptional) {\n\t\tconfig = config || {};\n\t\t(Object).assign(this, config)\n\t}\n}\n\nexport abstract class HttpInterceptor extends Http {\n\n\tprivate origRequest: Request;\n\n\tconstructor(backend: ConnectionBackend, defaultOptions: RequestOptions, private config: InterceptorConfig) {\n\t\tsuper(backend, defaultOptions);\n\t}\n\n\tprivate getRequestOptionArgs(options?: RequestOptionsArgs): RequestOptionsArgs {\n\t\tif (options == null) {\n\t\t\toptions = new RequestOptions();\n\t\t}\n\t\tif (options.headers == null) {\n\t\t\toptions.headers = new Headers();\n\t\t}\n\t\toptions.headers.append('Content-Type', 'application/json');\n\t\treturn options;\n\t}\n\n\tprotected requestWithToken(req: Request, token: Token): Observable {\n\t\tthis.origRequest = req;\n\t\tif (!this.config.noTokenError && !token) {\n\t\t\treturn observableThrowError(new Error('No authorization token given'));\n\t\t} else {\n\t\t\treq.headers.set(this.config.headerName, this.config.headerPrefix + ' ' + token.accessToken);\n\t\t}\n\n\t\treturn super.request(req);\n\t}\n\n\trequest(url: string | Request, options?: RequestOptionsArgs): Observable {\n\t\tif (typeof url === 'string') {\n\t\t\treturn this.get(url, options);\n\t\t}\n\t\tlet req: Request = url as Request;\n\t\tlet token = this.getToken();\n\t\treturn token.mergeMap((token: Token) => this.requestWithToken(req, token));\n\t}\n\n\tget(url: string, options?: RequestOptionsArgs, noIntercept?: boolean): Observable {\n\t\tif (noIntercept) {\n\t\t\treturn super.get(url, options);\n\t\t}\n\t\treturn this.intercept(super.get(url, options));\n\t}\n\n\tpost(url: string, body: any, options?: RequestOptionsArgs, noIntercept?: boolean): Observable {\n\t\tif (noIntercept) {\n\t\t\treturn super.post(url, body, options);\n\t\t}\n\t\treturn this.intercept(super.post(url, body, this.getRequestOptionArgs(options)));\n\t}\n\n\tput(url: string, body: any, options?: RequestOptionsArgs, noIntercept?: boolean): Observable {\n\t\tif (noIntercept) {\n\t\t\treturn super.put(url, body, options);\n\t\t}\n\t\treturn this.intercept(super.put(url, body, this.getRequestOptionArgs(options)));\n\t}\n\n\tdelete(url: string, options?: RequestOptionsArgs, noIntercept?: boolean): Observable {\n\t\tif (noIntercept) {\n\t\t\treturn super.delete(url, options);\n\t\t}\n\t\treturn this.intercept(super.delete(url, options));\n\t}\n\n\tprotected intercept(observable: Observable): Observable {\n\t\treturn observable.catch((err, source) => {\n\t\t\tif (this.isErrUnauthorized(err)) {\n\t\t\t\tconsole.log(\"Unauthorised need to refresh token\");\n\n\t\t\t\t// check if we have refreshToken if yes do a refresh else return the error\n\t\t\t\treturn this.getToken()\n\t\t\t\t\t.mergeMap(tk => {\n\t\t\t\t\t\tlet t = new Token();\n\t\t\t\t\t\tif (tk) {\n\t\t\t\t\t\t\tt = tk;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (t.refreshToken !== '') {\n\n\t\t\t\t\t\t\tlet orig = this.origRequest;\n\t\t\t\t\t\t\treturn this.refreshToken()\n\t\t\t\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\t\t\t\t// check in case of an error could not get token due to deletion or token into db\n\t\t\t\t\t\t\t\t\tif (err.message && err.message.indexOf('cannot fetch token') !== -1) {\n\t\t\t\t\t\t\t\t\t\treturn observableThrowError(new Error('unauthorized'));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn observableThrowError(err);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.mergeMap(data => {\n\t\t\t\t\t\t\t\t\tif (data && data.accessToken) {\n\n\t\t\t\t\t\t\t\t\t\tlet th = new TokenHelper();\n\t\t\t\t\t\t\t\t\t\tt.accessToken = data.accessToken;\n\t\t\t\t\t\t\t\t\t\tt.refreshToken = data.refreshToken;\n\t\t\t\t\t\t\t\t\t\tt.tokenType = data.tokenType;\n\t\t\t\t\t\t\t\t\t\tt.expiresIn = data.expiresIn;\n\t\t\t\t\t\t\t\t\t\tt.expiresAt = th.getExpiresAt(data.expiresIn);\n\n\t\t\t\t\t\t\t\t\t\treturn this.saveToken(t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn observableThrowError(new Error('unauthorized'));\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.mergeMap(token => {\n\t\t\t\t\t\t\t\t\treturn this.requestWithToken(orig, token);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn observableThrowError(err);\n\t\t\t\t\t});\n\t\t\t}\n\t\t\treturn observableThrowError(err);\n\t\t});\n\t}\n\n\tprotected abstract getToken(): Observable;\n\n\tprotected abstract saveToken(token: Token): Observable;\n\n\tprotected abstract refreshToken(): Observable;\n\n\tprotected abstract isErrUnauthorized(resp: Response): boolean;\n}\n\n\n@Injectable()\nexport class HttpService extends HttpInterceptor {\n\n\tconstructor(backend: ConnectionBackend, defaultOptions: RequestOptions, private injector: Injector) {\n\t\tsuper(backend, defaultOptions, new InterceptorConfig({ noTokenError: true }));\n\t}\n\n\tprotected getToken(): Observable {\n\t\tlet t = this.account().getToken();\n\t\tif (!t) {\n\t\t\tt = new Token();\n\t\t}\n\n\t\treturn Observable.of(t);\n\t}\n\n\tprotected saveToken(token: Token): Observable {\n\t\tthis.account().setToken(token);\n\t\treturn Observable.of(token);\n\t}\n\n\tprotected refreshToken(): Observable {\n\t\treturn this.getToken()\n\t\t\t.mergeMap(t => {\n\t\t\t\treturn super.post(`${this.cfg().districtPowerSchoolApiUrl}/oauth2/token`, { refreshToken: t.refreshToken }, null, true)\n\t\t\t\t\t.map(resp => {\n\t\t\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\t\t\treturn resp.json()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\tlet er = this.getError(err);\n\t\t\t\t\t\treturn observableThrowError(er);\n\t\t\t\t\t});\n\t\t\t});\n\t}\n\n\tprotected account(): Account {\n\t\treturn this.injector.get(Account);\n\t}\n\n\tprotected cfg(): Config {\n\t\treturn this.injector.get(Config);\n\t}\n\n\tprotected isErrUnauthorized(resp: Response): boolean {\n\t\tlet err = this.getError(resp);\n\t\tif (err.message == 'unauthorized') {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate getError(err: any): Error {\n\t\tvar er: any;\n\t\tvar msg = 'no connection';\n\t\tif (typeof (err.json) === 'function') {\n\t\t\ter = err.json();\n\t\t\tif (er.message != null && er.message != null && er.message != '') {\n\t\t\t\tmsg = er.message;\n\t\t\t} else if (er.error != null && er.error != null && er.error != '') {\n\t\t\t\tmsg = er.error;\n\t\t\t} else {\n\t\t\t\tconsole.log(err);\n\t\t\t}\n\t\t\treturn new Error(msg);\n\t\t} else if (err instanceof Error) {\n\t\t\treturn err;\n\t\t} else {\n\t\t\tconsole.log(err);\n\t\t}\n\t}\n}\n\n\nexport function getHttpService(backend: ConnectionBackend, defaultOptions: RequestOptions, injector: Injector) {\n\treturn new HttpService(backend, defaultOptions, injector);\n}\n","
\n \n
","/// \nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppTitle } from './title';\nimport { Account, validateToken } from './account.service';\nimport { PowerSchoolService } from './powerschool.service';\nimport { Alert } from './alert';\nimport { Config } from './config';\nimport { AppService } from './app.service';\n\n@Component({\n\tselector: 'login',\n\ttemplate:\n\t\t`
\n \n
`\n})\n\nexport class LoginComponent implements OnInit, OnDestroy {\n\tpublic msg: Alert;\n\n\tconstructor(\n\t\tprivate router: Router,\n\t\tprivate title: AppTitle,\n\t\tprivate account: Account,\n\t\tprivate ps: PowerSchoolService,\n\t\tprivate config: Config,\n\t\tprivate app: AppService,\n\t) {\n\t\tthis.msg = new Alert();\n\t\ttitle.setTitles({ title: 'Login', dashboard: 'Login' });\n\t\ttitle.setBreadcrumbs([\n\t\t\t{ title: 'Login', link: '' }\n\t\t]);\n\t}\n\n\tngOnInit() {\n\t\tlet gotopage = this.config.goToPage();\n\n\t\tif (validateToken()) {\n\n\t\t\tthis.ps.loadUser().subscribe(ur => {\n\n\t\t\t\tlet usr = this.ps.userRoles();\n\t\t\t\tlet us = this.account.getUser();\n\t\t\t\tif (usr == null && us == null) {\n\t\t\t\t\tthis.msg.error('You don\\'t have access to this page.');\n\t\t\t\t\t// in case user login and token has being stored into localStorage but since this user is not allowed to view this page\n\t\t\t\t\t// and there is no logout link, we need to remove token and other kyes from localStorage for security reasons\n\t\t\t\t\tthis.account.removeLocalStorage();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// trigger app component to reload some of the ui parts\n\t\t\t\tthis.app.onLoadApp.emit(null);\n\t\t\t\tif (!gotopage || gotopage === '/') {\n\t\t\t\t\tthis.router.navigateByUrl(`/settings/${ur.acctNumber}/registration`);\n\t\t\t\t} else {\n\t\t\t\t\tthis.router.navigateByUrl(gotopage);\n\t\t\t\t}\n\n\t\t\t}, err => {\n\t\t\t\tif (err.message == 'unauthorized') {\n\t\t\t\t\tthis.msg.error('You don\\'t have access to this page.');\n\t\t\t\t} else {\n\t\t\t\t\tthis.msg.error('There is an error when processing this request, please try again.');\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tthis.msg.error('Invalid token, please logout and login again.');\n\t\t}\n\t}\n\n\tngOnDestroy() {\n\t\tthis.config.removeLocalStorage();\n\t}\n}\n","export class OAuthTokenRequest {\n\trefreshToken: string;\n\n\tconstructor() {\n\t\tthis.refreshToken = '';\n\t}\n}\n","export class OAuthToken {\n\trefreshToken: string;\n\taccessToken: string;\n\texpiresIn: number;\n\ttokenType: string;\n\n\tconstructor() {\n\t\tthis.refreshToken = '';\n\t\tthis.accessToken = '';\n\t\tthis.expiresIn = 0;\n\t\tthis.tokenType = '';\n\t}\n}\n","import { Token } from './token';\n\nexport class OAuthResponse {\n\taccessToken: string;\n\ttokenType: string;\n\tstate: string;\n\tscope: string;\n\texpiresIn: number;\n\texpiresAt: Date;\n\trefreshToken: string;\n\tconstructor() {\n\t\tthis.accessToken = '';\n\t\tthis.tokenType = '';\n\t\tthis.state = '';\n\t\tthis.scope = '';\n\t\tthis.expiresIn = 0;\n\t\tthis.refreshToken = '';\n\t}\n\n\tgetToken(): Token {\n\t\tlet t = new Token();\n\t\tt.accessToken = this.accessToken;\n\t\tt.tokenType = this.tokenType;\n\t\tt.state = this.state;\n\t\tt.scope = this.scope;\n\t\tt.expiresIn = this.expiresIn;\n\t\tt.expiresAt = this.expiresAt;\n\t\tt.refreshToken = this.refreshToken;\n\t\treturn t;\n\t}\n}\n","import { Directive, Host, Input } from '@angular/core';\n\n@Directive({\n selector: '[offClick]',\n host: {\n '(click)': 'onClick($event)',\n }\n})\n\nexport class OffClickDirective {\n @Input('offClick') offClickHandler;\n\n constructor() {\n }\n\n ngOnInit() {\n let self = this;\n setTimeout(() => { document.addEventListener('click', self.offClickHandler); }, 0);\n }\n\n ngOnDestroy() {\n let self = this;\n document.removeEventListener('click', self.offClickHandler);\n }\n\n onClick($event) {\n $event.stopPropagation();\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { Account } from './account.service';\nimport { Config } from './config';\nimport { Observable, Observer } from 'rxjs';\nimport { HttpService } from './http.service';\nimport { OAuthToken } from './oauth-token';\nimport { OAuthTokenRequest } from './oauth-token-request';\nimport { Registration } from './registration';\nimport { RegistrationReply } from './registration_reply';\nimport { Organization } from './organization';\nimport { AccountAssociation } from './account_association';\nimport { AccountAssociationReply } from './account_association_reply';\nimport { AccountAssociationRequest } from './account_association_request';\nimport { UserRoles } from './user_roles';\nimport { RegistrationFind } from './registration_find';\nimport { SchoolAccount } from './school_account';\nimport { AccountAssociationCountReply } from './account_association_count_reply';\nimport { RegistrationSyncReply } from './registration_sync_reply';\nimport { RegistrationRequest } from './registration_request';\nimport { RegistrationSyncRequest } from './registration_sync_request';\nimport { SyncMappingSettings } from './sync_mapping_settings';\nimport { SyncMappingSettingsCount } from './sync_mapping_settings_count';\nimport { SyncMappingSettingsReply } from './sync_mapping_settings_reply';\n\n@Injectable()\nexport class PowerSchoolServiceMoc {\n\tuserRolesKey: string = 'userRoles';\n\ttimeout: number = 5000; //10 sec\n\tretry: number = 3; //max retry\n\t//delay:number = 10000; //max delay after retry\n\terrors: any = {};\n\tmaxPollIteration: number = 5;\n\t// userAccountRoles: UserRoles;\n\tregistrations: Registration[] = [];\n\n\tconstructor(private http: HttpService, private account: Account, private config: Config) {\n\t\tthis.errors['default'] = 'There is an error when processing this request, please try again later.';\n\t\tthis.errors['no connection'] = 'There is an error when communicating with a server, please try again later.'\n\t\tthis.errors['unauthorized'] = 'Unauthorized access.';\n\t\tthis.errors['not found'] = 'No results.';\n\t\tthis.errors['invalid token'] = 'Unauthorized access.';\n\t\tthis.errors['duplicate entry'] = 'This data already exists.';\n\t\tthis.errors['bad request'] = 'Invalid request.';\n\t\tthis.errors['internal server error'] = 'Internal server error. Please try again later.';\n\t\tthis.errors['unexpected'] = 'Sorry, an unexpected error has occured. Please contact Tech Support.';\n\t\tthis.errors['timeout'] = 'Timeout when communicating with a server, please try again later.';\n\t\tthis.errors['email address is invalid'] = 'Email address is invalid.';\n\t\tthis.errors['user status is invalid'] = 'Invalid user status.';\n\t\tthis.errors['user status signup is invalid email not confirmed'] = 'The user you\\'ve invited has not yet confirmed their email address.';\n\t\tthis.errors['notification not supported'] = 'Push notifications are not supported in this browser.';\n\t\tthis.errors['account license expired'] = 'Account License has expired. Please visit the Subscription page for more details and license renewal.';\n\t\tthis.errors['invalid account license'] = 'Account License is invalid. Please visit the Subscription page for more details and license renewal.';\n\t\tthis.errors['unauthorized access role'] = 'Unauthorized access role.';\n\t}\n\n\tvalidateAcctNumber(acctNumber: string): Observable {\n\t\tlet lusr = this.userRoles();\n\t\tif (lusr != null && lusr.acctNumber == acctNumber) {\n\t\t\t//return non http observable when the userroles exists at localStorage\n\t\t\treturn Observable.create((observer: Observer) => {\n\t\t\t\tobserver.next(true);\n\t\t\t\tobserver.complete();\n\t\t\t});\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(false);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tloadUser(): Observable {\n\t\tlet u = this.account.getUserProfileApi().subscribe(us => {\n\t\t\tthis.account.setUser(us);\n\t\t});\n\t\treturn this.userRolesApi().map(urs => {\n\t\t\tthis.setUserRoles(urs[0]);\n\t\t\treturn urs[0]\n\t\t}).do(ur => u);\n\t}\n\n\tloadUserByAcctNumber(acctNumber: string): Observable {\n\t\tlet u = this.account.getUserProfileApi().subscribe(us => {\n\t\t\tthis.account.setUser(us);\n\t\t});\n\t\treturn this.userRolesApi().map(urs => {\n\t\t\tfor (let a of urs) {\n\t\t\t\tif (a.acctNumber === acctNumber) {\n\t\t\t\t\tthis.setUserRoles(a);\n\t\t\t\t\treturn a;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new Error('unauthorized');\n\t\t})\n\t\t.do(ur => u);\n\t}\n\n\n\tremoveLocalStorage() {\n\t\tlocalStorage.removeItem(this.userRolesKey);\n\t}\n\n\tsetUserRoles(us: UserRoles) {\n\t\tlocalStorage.setItem(this.userRolesKey, JSON.stringify(us));\n\t}\n\n\tuserRoles() {\n\t\tif (localStorage.getItem(this.userRolesKey) === null) {\n\t\t\treturn null\n\t\t}\n\t\treturn JSON.parse(localStorage.getItem(this.userRolesKey));\n\t}\n\n\tgetToken() {\n\t\treturn this.account.getToken();\n\t}\n\n\tgetError(err: any): Error {\n\t\tvar er: any;\n\t\tvar msg = 'no connection';\n\t\tif (typeof (err.json) === 'function') {\n\t\t\ter = err.json();\n\t\t\tif (er.message != null && er.message != null && er.message != '') {\n\t\t\t\tmsg = er.message;\n\t\t\t} else {\n\t\t\t\tconsole.log(err);\n\t\t\t}\n\t\t\treturn new Error(msg);\n\t\t} else if (err instanceof Error) {\n\t\t\treturn err;\n\t\t} else {\n\t\t\tconsole.log(err);\n\t\t}\n\t}\n\n\tgetUserError(err: Error): string {\n\t\treturn this.errors[err.message];\n\t}\n\n\tisErrNotFound(err: Error): boolean {\n\t\treturn err.message == 'not found';\n\t}\n\n\tisErrUnauthorized(err: Error): boolean {\n\t\treturn err.message == 'unauthorized' ||\n\t\t\terr.message == 'unauthorized access role';\n\t}\n\n\tgetUserErrorDefault(err: Error): string {\n\t\tlet e = this.errors[err.message];\n\t\tif (e != null) {\n\t\t\treturn e;\n\t\t}\n\t\treturn this.errors['default'];\n\t}\n\n\tbuildUrl(parameters) {\n\t\tvar qs = \"\";\n\t\tfor (var key in parameters) {\n\t\t\tvar value = parameters[key];\n\t\t\tif (value != null && value != '') {\n\t\t\t\tqs += encodeURIComponent(key) + \"=\" + encodeURIComponent(value) + \"&\";\n\t\t\t}\n\t\t}\n\t\tif (qs.length > 0) {\n\t\t\treturn qs.substring(0, qs.length - 1); //chop off last \"&\"\n\t\t}\n\t\treturn '';\n\t}\n\n\tparams(parameters) {\n\t\tvar params: any = {}\n\t\tfor (var key in parameters) {\n\t\t\tvar value = parameters[key];\n\t\t\tif (value != null && value != '') {\n\t\t\t\tparams[encodeURIComponent(key)] = encodeURIComponent(value);\n\t\t\t}\n\t\t}\n\t\treturn params;\n\t}\n\n\tleftPad(val: string, size: number, ch: string): string {\n\t\tvar result = String(val);\n\t\tif (!ch) {\n\t\t\tch = \" \";\n\t\t}\n\t\twhile (result.length < size) {\n\t\t\tresult = ch + result;\n\t\t}\n\t\treturn result;\n\t}\n\n\thexAcctNumber(num: number): string {\n\t\t//sign >>> is Zero-fill right shift\n\t\treturn this.leftPad((num >>> 0).toString(16), 8, '0').toUpperCase();\n\t}\n\n\t// APIs\n\tuserRolesApi(): Observable {\n\t\tvar rows: UserRoles[] = [];\n\t\trows.push({ acctNumber: 'A12F2343', schoolName: 'High School', isDefault: false, roles: ['admin', 'user'] });\n\t\trows.push({ acctNumber: 'A12F2344', schoolName: 'College', isDefault: false, roles: ['admin', 'user'] });\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tdistrictAccountAssociationFindApi(): Observable {\n\t\tlet rows: SchoolAccount[] = [];\n\t\trows.push({\n\t\t\tid: 1,\n\t\t\tacctNumber: -1123433,\n\t\t\torganizationName: 'IAK School 1',\n\t\t\tparentAcctNumber: 'B851D6D9',\n\t\t\tenabled: true,\n\t\t});\n\n\t\trows.push({\n\t\t\tid: 3,\n\t\t\tacctNumber: -1123456,\n\t\t\torganizationName: 'IAK School 3',\n\t\t\tparentAcctNumber: 'B851D6D9',\n\t\t\tenabled: true,\n\t\t});\n\t\trows.push({\n\t\t\tid: 2,\n\t\t\tacctNumber: -2223455,\n\t\t\torganizationName: 'IAK School 2',\n\t\t\tparentAcctNumber: 'B851D6D9',\n\t\t\tenabled: true,\n\t\t});\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tsetDefaultApi(acctNumber: string): Observable {\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(true);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\n\t// Registration\n\tregistrationFindApi(acctNumber: string, req: RegistrationFind): Observable {\n\t\tlet rows: Registration[] = [];\n\n\t\tif (this.registrations.length === 0) {\n\t\t\tlet r: Registration = {\n\t\t\t\tid: 1,\n\t\t\t\tpowerschoolApiUrl: 'https://powerschoolapiurl.net',\n\t\t\t\toauthClientId: '1a2b3c4d',\n\t\t\t\toauthClientSecret: '123456',\n\t\t\t\tsyncEnabled: true,\n\t\t\t\tsyncInitialized: false,\n\t\t\t\tsyncStatus: 'started',\n\t\t\t\tlastSyncError: '',\n\t\t\t\tlastSyncErrorAt: null,\n\t\t\t\tlastSyncedAt: null,\n\t\t\t\tsyncCrunJob: '0 22 * * *',\n\t\t\t\torganizationCount: 0,\n\t\t\t\tlastSyncedSequence: '123',\n\t\t\t\tstudentCount: 0,\n\t\t\t\tstudentContactCount: 0,\n\t\t\t\tattendanceCount:0,\n\t\t\t\tattendanceCodeCount:0,\n\t\t\t\tcreatedAt: new Date(),\n\t\t\t\tupdatedAt: null,\n\t\t\t\toauthTokenEndpoint:'',\n\t\t\t\tpluginVersion:'plugin-v2-standard',\n\t\t\t\tsyncCronJobTimer: new Date(),\n\t\t\t\ttimezone:'EST',\n\t\t\t\tsyncCronJobTimerFmt: '08/30/2024 11:00 AM',\n\t\t\t\tlastSyncedAtFmt: '08/30/2024 8:00 AM',\n\t\t\t\tlastSyncErrorAtFmt: '08/10/2024 11:00 AM',\n\t\t\t\ttimezoneFmt: 'US/Pacific'\n\t\t\t};\n\t\t\tthis.registrations.push(r);\n\t\t}\n\n\n\t\tfor (let r of this.registrations) {\n\n\t\t\tif (r.id && r.id === req.id) {\n\t\t\t\trows.push(r);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\trows.push(r);\n\t\t}\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tregistrationAddApi(acctNumber: string, req: RegistrationRequest): Observable {\n\t\tlet row: RegistrationReply = {\n\t\t\tid: this.registrations.length + 1,\n\t\t}\n\t\tlet r: Registration = {\n\t\t\tid: row.id,\n\t\t\tpowerschoolApiUrl: req.powerschoolApiUrl,\n\t\t\toauthClientId: req.oauthClientId,\n\t\t\toauthClientSecret: req.oauthClientSecret,\n\t\t\tsyncCrunJob: req.syncCrunJob,\n\t\t\tsyncEnabled: true,\n\t\t\tsyncInitialized: false,\n\t\t\tsyncStatus: '',\n\t\t\tlastSyncError: '',\n\t\t\tlastSyncErrorAt: null,\n\t\t\tlastSyncedAt: null,\n\t\t\tlastSyncedSequence: '123',\n\t\t\torganizationCount: 0,\n\t\t\tstudentCount: 0,\n\t\t\tstudentContactCount: 0,\n\t\t\tattendanceCount:0,\n\t\t\tattendanceCodeCount:0,\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: null,\n\t\t\toauthTokenEndpoint: req.oauthTokenEndpoint,\n\t\t\tpluginVersion: 'plugin-v2-standard',\n\t\t\tsyncCronJobTimer: new Date(),\n\t\t\ttimezone: 'UTC',\n\t\t\tsyncCronJobTimerFmt: '08/30/2024 11:00 AM',\n\t\t\tlastSyncedAtFmt: '08/30/2024 8:00 AM',\n\t\t\tlastSyncErrorAtFmt: '08/10/2024 11:00 AM',\n\t\t\ttimezoneFmt: 'US/Pacific'\n\t\t};\n\t\tthis.registrations.push(r);\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tregistrationUpdateApi(acctNumber: string, id: number, req: RegistrationRequest): Observable {\n\t\tlet row: RegistrationReply = {\n\t\t\tid: id,\n\t\t}\n\n\t\tfor (let r of this.registrations) {\n\t\t\tif (r.id === id) {\n\t\t\t\tr.powerschoolApiUrl = req.powerschoolApiUrl;\n\t\t\t\tr.oauthClientId = req.oauthClientId;\n\t\t\t\tr.oauthClientSecret = req.oauthClientSecret;\n\t\t\t\tr.syncCrunJob = req.syncCrunJob;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tregistrationRemoveApi(acctNumber: string, id: number): Observable {\n\t\tlet row: RegistrationReply = {\n\t\t\tid: 1,\n\t\t}\n\n\t\tfor (let i = 0; i < this.registrations.length; i++) {\n\t\t\tif (this.registrations[i].id === id) {\n\t\t\t\tthis.registrations = this.registrations.splice(i, 1);\n\t\t\t}\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tregistrationSyncApi(acctNumber: string, id: number, req: RegistrationSyncRequest): Observable {\n\t\tlet row: RegistrationSyncReply = {}\n\n\t\tfor (let r of this.registrations) {\n\t\t\tif (r.id === id) {\n\t\t\t\tr.studentContactCount = 10;\n\t\t\t\tr.studentCount = 5;\n\t\t\t\tr.organizationCount = 20;\n\t\t\t\tr.attendanceCount = 85;\n\t\t\t\tr.syncCrunJob = req.syncCrunJob;\n\t\t\t\tr.syncStatus = req.status;\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tswitch (req.status) {\n\t\t\t\t\t\tcase 'stopping':\n\t\t\t\t\t\t\tr.syncStatus = 'stopped';\n\t\t\t\t\t\t\tr.lastSyncedAt = new Date();\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'starting':\n\t\t\t\t\t\t\tr.syncStatus = 'started';\n\t\t\t\t\t\t\tr.lastSyncedAt = new Date();\n\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tr.lastSyncError = 'some error from syncing';\n\t\t\t\t\t\t\t\tr.syncStatus = 'error';\n\t\t\t\t\t\t\t\tr.lastSyncedAt = new Date();\n\t\t\t\t\t\t\t}, 2000);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'initializing':\n\t\t\t\t\t\t\tr.syncStatus = 'initialized';\n\t\t\t\t\t\t\tr.syncInitialized = true;\n\t\t\t\t\t\t\tr.lastSyncedAt = new Date();\n\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tr.lastSyncError = 'some error from initializing';\n\t\t\t\t\t\t\t\tr.syncStatus = 'error-initializing';\n\t\t\t\t\t\t\t\tr.lastSyncedAt = new Date();\n\t\t\t\t\t\t\t}, 2000);\n\n\t\t\t\t\t\t\t// setTimeout(() => {\n\t\t\t\t\t\t\t// \tr.lastSyncError = 'some error from initializing';\n\t\t\t\t\t\t\t// \tr.syncStatus = 'disabled';\n\t\t\t\t\t\t\t// \tr.lastSyncedAt = new Date();\n\t\t\t\t\t\t\t// }, 3000);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}, 1000);\n\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\t// Organization\n\torganizationFindApi(acctNumber: string): Observable {\n\t\tlet rows: Organization[] = [];\n\n\t\trows.push({\n\t\t\tid: 1,\n\t\t\tdistrictAcctNumber: 'A851D4D9',\n\t\t\tregistrationId: 1,\n\t\t\tsourceId: '65eb6c64-c437-4df6-84b1-ed42732a6b52',\n\t\t\tname: 'Greenfield University',\n\t\t\tactive: true,\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\trows.push({\n\t\t\tid: 2,\n\t\t\tdistrictAcctNumber: 'A851D4D9',\n\t\t\tregistrationId: 1,\n\t\t\tsourceId: '2beb6c64-c437-4aa6-84b1-ed42732a6b4j',\n\t\t\tname: 'Eureka Institute',\n\t\t\tactive: true,\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\t// rows.push({\n\t\t// \tid: 3,\n\t\t// \tdistrictAcctNumber: 'J821D6D9',\n\t\t// \tregistrationId: 1,\n\t\t// \tsourceId: '2beb6c64-c437-4aa6-84b1-ed42732a6b4j',\n\t\t// \tname: 'Eureka Institute',\n\t\t// \tactive: true,\n\t\t// \tcreatedAt: new Date(),\n\t\t// \tupdatedAt: new Date(),\n\t\t// });\n\n\t\t// rows.push({\n\t\t// \tid: 3,\n\t\t// \tdistrictAcctNumber: 'A851D4D9',\n\t\t// \tregistrationId: 1,\n\t\t// \tsourceId: '2beb6c64-c437-4aa6-84b1-ed42732a6b4j',\n\t\t// \tname: 'Eureka Institute',\n\t\t// \tactive: true,\n\t\t// \tcreatedAt: new Date(),\n\t\t// \tupdatedAt: new Date(),\n\t\t// });\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\t// Account Association\n\taccountAssociationFindApi(acctNumber: string): Observable {\n\t\tlet rows: AccountAssociation[] = [];\n\n\t\trows.push({\n\t\t\tid: 5,\n\t\t\tdistrictAcctNumber: 'A651D3D2',\n\t\t\tregistrationId: 1,\n\t\t\tacctNumber: -1123456,\n\t\t\torganizationId: 1,\n\t\t\tsyncMappingSettings: 1,\n\t\t\tsyncEnabled: true,\n\t\t\tupdatedAt: new Date(),\n\t\t\tcreatedAt: new Date(),\n\t\t});\n\n\t\trows.push({\n\t\t\tid: 6,\n\t\t\tdistrictAcctNumber: 'A651D3D2',\n\t\t\tregistrationId: 1,\n\t\t\tacctNumber: -2223455,\n\t\t\torganizationId: 2,\n\t\t\tsyncMappingSettings: 1,\n\t\t\tsyncEnabled: true,\n\t\t\tupdatedAt: new Date(),\n\t\t\tcreatedAt: new Date(),\n\t\t});\n\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(rows);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\taccountAssociationFindCountApi(): Observable {\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tlet c = new AccountAssociationCountReply();\n\t\t\tobserver.next(c);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\t\t// Account Association\n\t\tsyncMappingSettings(acctNumber: string): Observable {\n\t\t\tlet rows: SyncMappingSettings[] = [];\n\n\t\t\trows.push({\n\t\t\t\tid: 1,\n\t\t\t\tregistrationId: 1,\n\t\t\t\tname: 'Sync Settings 1',\n\t\t\t\tsettings: '{\"syncStudents\":true,\"syncStudentContact\":true,\"syncStudentContactPickUpFlag\":true,\"syncAttendance\":false,\"syncAttendanceCodes\":false,\"mergeStudentContactByName\":false}',\n\t\t\t\tchangedAt: new Date(),\n\t\t\t});\n\n\t\t\trows.push({\n\t\t\t\tid: 2,\n\t\t\t\tregistrationId: 1,\n\t\t\t\tname: 'Sync Settings 2',\n\t\t\t\tsettings: '{\"syncStudents\":true,\"syncStudentContact\":true,\"syncStudentContactPickUpFlag\":true,\"syncAttendance\":false,\"syncAttendanceCodes\":false,\"mergeStudentContactByName\":false}',\n\t\t\t\tchangedAt: new Date(),\n\t\t\t});\n\n\t\t\treturn Observable.create((observer: Observer) => {\n\t\t\t\tobserver.next(rows);\n\t\t\t\tobserver.complete();\n\t\t\t});\n\t\t}\n\n\t\tsyncMappingSettingsCount(): Observable {\n\t\t\treturn Observable.create((observer: Observer) => {\n\t\t\t\tlet c = new SyncMappingSettingsCount();\n\t\t\t\tc.count = 2;\n\t\t\t\tobserver.next(c);\n\t\t\t\tobserver.complete();\n\t\t\t});\n\t\t}\n\t\tsyncMappingSettingsRemove(): Observable {\n\t\t\treturn Observable.create((observer: Observer) => {\n\t\t\t\tlet c = new SyncMappingSettingsReply();\n\t\t\t\tc.id = 1;\n\t\t\t\tobserver.next(c);\n\t\t\t\tobserver.complete();\n\t\t\t});\n\t\t}\n\t\tsyncMappingSettingsAdd(): Observable {\n\t\t\treturn Observable.create((observer: Observer) => {\n\t\t\t\tlet c = new SyncMappingSettingsReply();\n\t\t\t\tc.id = 1;\n\t\t\t\tobserver.next(c);\n\t\t\t\tobserver.complete();\n\t\t\t});\n\t\t}\n\n\taccountAssociationAddApi(acctNumber: string, req: AccountAssociationRequest): Observable {\n\t\tlet row: AccountAssociationReply = {\n\t\t\tid: 1,\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\taccountAssociationUpdateApi(acctNumber: string, id: number, req: AccountAssociationRequest): Observable {\n\t\tlet row: AccountAssociationReply = {\n\t\t\tid: 1,\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\taccountAssociationRemoveApi(acctNumber: string, id: number): Observable {\n\t\tlet row: AccountAssociationReply = {\n\t\t\tid: 1,\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(row);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tcountNotification: number = 0;\n\n\tisErrDuplicateEntry(err: Error): boolean {\n\t\treturn err.message == 'duplicate entry';\n\t}\n\n\tisErrAccountLicenseExpired(err: Error): boolean {\n\t\treturn err.message == 'account license expired';\n\t}\n\n\tisErrAccountLicenseInvalid(err: Error): boolean {\n\t\treturn err.message == 'invalid account license';\n\t}\n\n\tgetDefaultSaveMessage(): string {\n\t\treturn \"Successfully Saved\";\n\t}\n\n\toauthTokenApi(req: OAuthTokenRequest): Observable {\n\t\treturn Observable.of(new OAuthToken());\n\t}\n\n\tpowerSchoolValidatePluginCredentials(hostUrl:string,oauthClientId: string, oauthClientSecret: string): Observable{\n\t\treturn Observable.of(true);\n\t}\n\n}\n","\nimport { throwError as observableThrowError, Observable, Observer } from 'rxjs';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/observable/throw';\n\nimport { Injectable, Injector } from '@angular/core';\nimport { Http, Headers, Response } from '@angular/http';\nimport { Account } from './account.service';\nimport { Config } from './config';\nimport { HttpService } from './http.service';\nimport { OAuthToken } from './oauth-token';\nimport { OAuthTokenRequest } from './oauth-token-request';\nimport { Token } from './token';\nimport { Registration } from './registration';\n\nimport { environment } from \"../environments/environment\";\nimport { PowerSchoolServiceMoc } from \"./powerschool.service.moc\";\nimport { rfc3339ToDate, isDateSet } from './date_helper';\nimport { RegistrationReply } from './registration_reply';\nimport { RegistrationRequest } from './registration_request';\nimport { Organization } from './organization';\nimport { AccountAssociation } from './account_association';\nimport { AccountAssociationRequest } from './account_association_request';\nimport { AccountAssociationReply } from './account_association_reply';\nimport { UserRoles } from './user_roles';\nimport { RegistrationFind } from './registration_find';\nimport { SchoolAccount } from './school_account';\nimport { FindAccountAssociation } from './account_association_find';\nimport { AccountAssociationCountReply } from './account_association_count_reply';\nimport { FindOrganization } from './find_organization';\nimport { RegistrationSyncRequest } from './registration_sync_request';\nimport { RegistrationSyncReply } from './registration_sync_reply';\nimport { SyncMappingSettings } from './sync_mapping_settings';\nimport { SyncMappingSettingsCount } from './sync_mapping_settings_count';\nimport { SyncMappingSettingsReply } from './sync_mapping_settings_reply';\nimport { FindSyncMappingSettings } from './find_sync_mapping_settings';\nimport { RegistrationValidate } from './registration_validate';\n\n@Injectable()\nexport class PowerSchoolService {\n\tuserRolesKey: string = 'userRoles';\n\ttimeout: number = 10000; //10 sec\n\tretry: number = 3; //max retry\n\tdelay: number = 3000; //max delay after retry\n\terrors: any = {};\n\n\tconstructor(private http: HttpService, private account: Account, private config: Config) {\n\t\tthis.errors['default'] = 'There is an error when processing this request, please try again later.';\n\t\tthis.errors['no connection'] = 'Your device seems to be offline, please try again later.'\n\t\tthis.errors['unauthorized'] = 'Unauthorized access. Please try login again.';\n\t\tthis.errors['not found'] = 'No results.';\n\t\tthis.errors['invalid token'] = 'Unauthorized access. Please try login again.';\n\t\tthis.errors['duplicate entry'] = 'This data already exists.';\n\t\tthis.errors['bad request'] = 'Invalid request.';\n\t\tthis.errors['internal server error'] = 'Internal server error. Please try again later.';\n\t\tthis.errors['unexpected'] = 'Sorry, an unexpected error has occured. Please contact Tech Support.';\n\t\tthis.errors['timeout'] = 'Timeout when communicating with a server, please try again later.';\n\t\tthis.errors['email address is invalid'] = 'Email address is invalid.';\n\t\tthis.errors['user status is invalid'] = 'Invalid user status.';\n\t\tthis.errors['user status signup is invalid email not confirmed'] = 'The user you\\'ve invited has not yet confirmed their email address.';\n\t\tthis.errors['notification not supported'] = 'Push notifications are not supported in this browser.';\n\t\tthis.errors['account license expired'] = 'Account License has expired. Please visit the District Manager Subscription page for more details and license renewal.';\n\t\tthis.errors['invalid account license'] = 'Account License is invalid. Please visit the District Manager Subscription page for more details and license renewal.';\n\t\tthis.errors['unauthorized access role'] = 'Unauthorized access role.';\n\t\tthis.errors['powerschool license expired'] = 'Powerschool License has expired. Please visit the District Manager Subscription page for more details and license renewal.';\n\t\tthis.errors['invalid powerschool license'] = 'Powerschool License is invalid. Please visit the District Manager Subscription page for more details and license renewal.';\n\t}\n\n\tvalidateAcctNumber(acctNumber: string): Observable {\n\t\tlet lusr = this.userRoles();\n\t\tif (lusr != null && lusr.acctNumber == acctNumber) {\n\t\t\t//return non http observable when the userroles exists at localStorage\n\t\t\treturn Observable.create((observer: Observer) => {\n\t\t\t\tobserver.next(true);\n\t\t\t\tobserver.complete();\n\t\t\t});\n\t\t}\n\t\treturn Observable.create((observer: Observer) => {\n\t\t\tobserver.next(false);\n\t\t\tobserver.complete();\n\t\t});\n\t}\n\n\tloadUser(): Observable {\n\t\treturn this.account.getUserProfileApi()\n\t\t\t.do(us => {\n\t\t\t\tthis.account.setUser(us);\n\t\t\t})\n\t\t\t.mergeMap(() => {\n\t\t\t\treturn this.userRolesApi()\n\t\t\t\t\t.map(urs => {\n\t\t\t\t\t\tthis.setUserRoles(urs[0]);\n\t\t\t\t\t\treturn urs[0]\n\t\t\t\t\t});\n\t\t\t});\n\t}\n\n\tloadUserByAcctNumber(acctNumber: string): Observable {\n\t\treturn this.account.getUserProfileApi()\n\t\t\t.do(us => {\n\t\t\t\tthis.account.setUser(us);\n\t\t\t})\n\t\t\t.mergeMap(() => {\n\t\t\t\treturn this.userRolesApi()\n\t\t\t\t\t.map(urs => {\n\t\t\t\t\t\tfor (let u of urs) {\n\t\t\t\t\t\t\tif (u.acctNumber === acctNumber) {\n\t\t\t\t\t\t\t\tthis.setUserRoles(u);\n\t\t\t\t\t\t\t\treturn u;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthrow new Error('unauthorized');\n\t\t\t\t\t});\n\t\t\t});\n\t}\n\n\tremoveLocalStorage() {\n\t\tlocalStorage.removeItem(this.userRolesKey);\n\t}\n\n\tsetUserRoles(us: UserRoles) {\n\t\tlocalStorage.setItem(this.userRolesKey, JSON.stringify(us));\n\t}\n\n\tuserRoles() {\n\t\tif (localStorage.getItem(this.userRolesKey) === null) {\n\t\t\treturn null\n\t\t}\n\t\treturn JSON.parse(localStorage.getItem(this.userRolesKey));\n\t}\n\n\tgetToken() {\n\t\tlet t = this.account.getToken();\n\t\tif (!t) {\n\t\t\tt = new Token();\n\t\t}\n\t\treturn t;\n\t}\n\n\tgetError(err: any): Error {\n\t\tvar er: any;\n\t\tvar msg = 'no connection';\n\t\tif (typeof (err.json) === 'function') {\n\t\t\ter = err.json();\n\t\t\tif (er.message != null && er.message != null && er.message != '') {\n\t\t\t\tmsg = er.message;\n\t\t\t} else if (er.error != null && er.error != null && er.error != '') {\n\t\t\t\tmsg = er.error;\n\t\t\t} else {\n\t\t\t\tconsole.log(err);\n\t\t\t}\n\t\t\treturn new Error(msg);\n\t\t} else if (err instanceof Error) {\n\t\t\treturn err;\n\t\t} else {\n\t\t\tconsole.log(err);\n\t\t}\n\t}\n\n\tgetUserError(err: Error): string {\n\t\treturn this.errors[err.message];\n\t}\n\n\tisErrNotFound(err: Error): boolean {\n\t\treturn err.message == 'not found';\n\t}\n\n\tisErrUnauthorized(err: Error): boolean {\n\t\treturn err.message == 'unauthorized' ||\n\t\t\terr.message == 'unauthorized access role';\n\t}\n\n\tgetUserErrorDefault(err: Error): string {\n\t\tlet e = this.errors[err.message];\n\t\tif (e != null) {\n\t\t\treturn e;\n\t\t}\n\t\treturn this.errors['default'];\n\t}\n\n\tbuildUrl(parameters) {\n\t\tvar qs = \"\";\n\t\tfor (var key in parameters) {\n\t\t\tvar value = parameters[key];\n\t\t\tif (value != null && value != '') {\n\t\t\t\tqs += encodeURIComponent(key) + \"=\" + encodeURIComponent(value) + \"&\";\n\t\t\t}\n\t\t}\n\t\tif (qs.length > 0) {\n\t\t\treturn qs.substring(0, qs.length - 1); //chop off last \"&\"\n\t\t}\n\t\treturn '';\n\t}\n\n\tparams(parameters) {\n\t\tvar params: any = {}\n\t\tfor (var key in parameters) {\n\t\t\tvar value = parameters[key];\n\t\t\tif (value != null && value != '') {\n\t\t\t\tparams[encodeURIComponent(key)] = encodeURIComponent(value);\n\t\t\t}\n\t\t}\n\t\treturn params;\n\t}\n\n\tleftPad(val: string, size: number, ch: string): string {\n\t\tvar result = String(val);\n\t\tif (!ch) {\n\t\t\tch = \" \";\n\t\t}\n\t\twhile (result.length < size) {\n\t\t\tresult = ch + result;\n\t\t}\n\t\treturn result;\n\t}\n\n\thexAcctNumber(num: number): string {\n\t\t//sign >>> is Zero-fill right shift\n\t\treturn this.leftPad((num >>> 0).toString(16), 8, '0').toUpperCase();\n\t}\n\n\t// APIs\n\tuserRolesApi(): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.get(this.config.districtPowerSchoolApiUrl + '/district-powerschool/userapi/roles', { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list;\n\t\t\t\t\tvar urs: UserRoles[] = [];\n\t\t\t\t\tfor (var v in data) {\n\t\t\t\t\t\turs.push({\n\t\t\t\t\t\t\tacctNumber: this.hexAcctNumber(data[v].acctNumber),\n\t\t\t\t\t\t\tschoolName: data[v].schoolName,\n\t\t\t\t\t\t\tisDefault: data[v].isDefault,\n\t\t\t\t\t\t\troles: data[v].roles,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn urs\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tdistrictAccountAssociationFindApi(acctNumber: string): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/districtaccountassociationapi/find`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list;\n\t\t\t\t\tvar sacc: SchoolAccount[] = [];\n\t\t\t\t\tfor (var v of data) {\n\t\t\t\t\t\tsacc.push({\n\t\t\t\t\t\t\tid: v.id,\n\t\t\t\t\t\t\tacctNumber: v.acctNumber,\n\t\t\t\t\t\t\torganizationName: v.organizationName,\n\t\t\t\t\t\t\tparentAcctNumber: this.hexAcctNumber(v.parentAcctNumber),\n\t\t\t\t\t\t\tenabled: v.enabled,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn sacc\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tsetDefaultApi(acctNumber: string): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.put(this.config.districtPowerSchoolApiUrl + '/district/' + acctNumber + '/userapi/changedefaultrole', null, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\t// Registration\n\tregistrationFindApi(acctNumber: string, req: RegistrationFind): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/registration/find`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tlet rows: Registration[] = [];\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list\n\t\t\t\t\tfor (let v of data) {\n\t\t\t\t\t\tv.lastSyncErrorAt =new Date(v.lastSyncErrorAt);\n\t\t\t\t\t\tv.lastSyncedAt = new Date(v.lastSyncedAt);\n\t\t\t\t\t\tv.syncCronJobTimer = new Date(v.syncCronJobTimer);\n\t\t\t\t\t\tv.updatedAt = new Date(v.updatedAt);\n\t\t\t\t\t\tv.createdAt = new Date(v.createdAt);\n\n\t\t\t\t\t\tif (!isDateSet(v.lastSyncErrorAt)) {\n\t\t\t\t\t\t\tv.lastSyncErrorAt = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!isDateSet(v.lastSyncedAt)) {\n\t\t\t\t\t\t\tv.lastSyncedAt = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!isDateSet(v.updatedAt)) {\n\t\t\t\t\t\t\tv.updatedAt = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\trows.push(v);\n\t\t\t\t\t}\n\t\t\t\t\treturn rows;\n\t\t\t\t} else if (resp.status == 404) {\n\t\t\t\t\tconsole.log('404');\n\t\t\t\t\treturn rows;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tregistrationAddApi(acctNumber: string, req: RegistrationRequest): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\tlet rq = JSON.stringify(req)\n\t\treturn this.http.post(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/registration`, rq, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn Observable.throw(er);\n\t\t\t});\n\t}\n\n\tregistrationUpdateApi(acctNumber: string, id: number, req: RegistrationRequest): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\tlet rq = JSON.stringify(req)\n\t\treturn this.http.put(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/registration/${id}`, rq, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn Observable.throw(er);\n\t\t\t});\n\t}\n\n\tregistrationRemoveApi(acctNumber: string, id: number): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.delete(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/registration/${id}`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn Observable.throw(er);\n\t\t\t});\n\t}\n\n\tregistrationSyncApi(acctNumber: string, id: number, req: RegistrationSyncRequest): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\tlet rq = JSON.stringify(req)\n\t\treturn this.http.put(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/registration/sync/${id}`, rq, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn Observable.throw(er);\n\t\t\t});\n\t}\n\n\t// Organization\n\torganizationFindApi(acctNumber: string, find: FindOrganization): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/organizationapi/find`, find, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tlet rows: Organization[] = [];\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list\n\t\t\t\t\tfor (let v of data) {\n\t\t\t\t\t\tv.updatedAt = new Date(v.updatedAt);\n\t\t\t\t\t\tif (!isDateSet(v.updatedAt)) {\n\t\t\t\t\t\t\tv.updatedAt = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tv.createdAt = new Date(v.createdAt);\n\t\t\t\t\t\trows.push(v);\n\t\t\t\t\t}\n\t\t\t\t\treturn rows;\n\t\t\t\t} else if (resp.status == 404) {\n\t\t\t\t\tconsole.log('404');\n\t\t\t\t\treturn rows;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\t// Account Association\n\taccountAssociationFindApi(acctNumber: string, findReq: FindAccountAssociation): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/accountassociationapi/find`, findReq, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tlet rows: AccountAssociation[] = [];\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json().list\n\t\t\t\t\tfor (let v of data) {\n\t\t\t\t\t\tv.districtAcctNumber = this.hexAcctNumber(v.districtAcctNumber);\n\t\t\t\t\t\tv.updatedAt = new Date(v.updatedAt);\n\t\t\t\t\t\tif (!isDateSet(v.updatedAt)) {\n\t\t\t\t\t\t\tv.updatedAt = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tv.createdAt = new Date(v.createdAt);\n\t\t\t\t\t\trows.push(v);\n\t\t\t\t\t}\n\t\t\t\t\treturn rows;\n\t\t\t\t} else if (resp.status == 404) {\n\t\t\t\t\tconsole.log('404');\n\t\t\t\t\treturn rows;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\taccountAssociationAddApi(acctNumber: string, req: AccountAssociationRequest): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\tlet rq = JSON.stringify(req)\n\t\treturn this.http.post(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/accountassociationapi`, rq, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn Observable.throw(er);\n\t\t\t});\n\t}\n\n\taccountAssociationUpdateApi(acctNumber: string, id: number, req: AccountAssociationRequest): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\tlet rq = JSON.stringify(req)\n\t\treturn this.http.put(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/accountassociationapi/${id}`, rq, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn Observable.throw(er);\n\t\t\t});\n\t}\n\n\taccountAssociationRemoveApi(acctNumber: string, id: number): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.delete(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/accountassociationapi/${id}`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn Observable.throw(er);\n\t\t\t});\n\t}\n\n\taccountAssociationFindCountApi(acctNumber: string, findReq: FindAccountAssociation): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/accountassociationapi/count`, findReq, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tlet cr = new AccountAssociationCountReply();\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json()\n\t\t\t\t\tcr.count = data.count;\n\t\t\t\t\treturn cr;\n\t\t\t\t} else if (resp.status == 404) {\n\t\t\t\t\tconsole.log('404');\n\t\t\t\t\treturn cr;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tsyncMappingSettings(acctNumber: string, req: FindSyncMappingSettings): Observable{\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/sync-mapping-settings/find`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json().list;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\tsyncMappingSettingsCount(acctNumber: string, findReq: FindSyncMappingSettings): Observable{\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/sync-mapping-settings/find/count`, findReq, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.retryWhen(error => this.httpRetry(error))\n\t\t\t.map(resp => {\n\t\t\t\tlet cr = new SyncMappingSettingsCount();\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\tvar data = resp.json()\n\t\t\t\t\tcr.count = data.count;\n\t\t\t\t\treturn cr;\n\t\t\t\t} else if (resp.status == 404) {\n\t\t\t\t\tconsole.log('404');\n\t\t\t\t\treturn cr;\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\tsyncMappingSettingsUpdate(acctNumber: string, req: SyncMappingSettings): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.put(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/sync-mapping-settings/update/${req.id}`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn Observable.throw(er);\n\t\t\t});\n\t}\n\n\tsyncMappingSettingsAdd(acctNumber: string, req: SyncMappingSettings): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/sync-mapping-settings/add`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn Observable.throw(er);\n\t\t\t});\n\t}\n\n\tsyncMappingSettingsRemove(acctNumber: string, req: SyncMappingSettings): Observable {\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.delete(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/sync-mapping-settings/remove/${req.id}`, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn Observable.throw(er);\n\t\t\t});\n\t}\n\n\tpowerSchoolValidatePluginCredentials(acctNumber: string,req: Registration): Observable{\n\n\t\tvar token = this.getToken();\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\theaders.append('Authorization', token.tokenType + ' ' + token.accessToken);\n\t\treturn this.http.post(`${this.config.districtPowerSchoolApiUrl}/district-powerschool/${acctNumber}/registration/validate-ps-credential`, req, { headers: headers })\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn Observable.throw(er);\n\t\t\t});\n\t}\n\n\n\tisErrDuplicateEntry(err: Error): boolean {\n\t\treturn err.message == 'duplicate entry';\n\t}\n\n\tisErrNoConnection(err: Error): boolean {\n\t\treturn err.message == 'no connection';\n\t}\n\n\tisErrAccountLicenseExpired(err: Error): boolean {\n\t\treturn err.message == 'account license expired';\n\t}\n\n\tisErrAccountLicenseInvalid(err: Error): boolean {\n\t\treturn err.message == 'invalid account license';\n\t}\n\n\tgetDefaultSaveMessage(): string {\n\t\treturn \"Successfully​ Saved\";\n\t}\n\n\toauthTokenApi(req: OAuthTokenRequest): Observable {\n\t\tvar headers = new Headers();\n\t\theaders.append('Content-Type', 'application/json');\n\t\tlet rq = JSON.stringify(req);\n\n\t\t// true at the end means skipping the http interception\n\t\treturn this.http.post(`${this.config.districtPowerSchoolApiUrl}/oauth2/token`, rq, { headers: headers }, true)\n\t\t\t.timeout(this.timeout)\n\t\t\t.map(resp => {\n\t\t\t\tif (resp.status == 200) {\n\t\t\t\t\treturn resp.json()\n\t\t\t\t} else {\n\t\t\t\t\tthrow this.getError(resp);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tlet er = this.getError(err);\n\t\t\t\treturn observableThrowError(er);\n\t\t\t});\n\t}\n\n\thttpRetry(o: Observable): Observable {\n\t\treturn o\n\t\t\t.flatMap((error: any) => {\n\t\t\t\treturn Observable.of(error).delay(this.delay);\n\t\t\t})\n\t\t\t.take(this.retry)\n\t\t\t.concat(Observable.throw(this.getError(o)));\n\t}\n}\n\nexport function PowerSchoolServiceFactory(\n\thttp: HttpService,\n\taccount: Account,\n\tconfig: Config\n) {\n\treturn (environment.isMoc) ? new PowerSchoolServiceMoc(http, account, config) : new PowerSchoolService(http, account, config);\n}\n","\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n\t\t
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Base URLClient IDSync StatusSync EnabledChanged AtActions
{{ row.powerschoolApiUrl }}{{ row.oauthClientId }}{{ row.syncStatus }}{{ row.syncEnabled ? 'Yes' : 'No' }}{{ printDate(row.updatedAt) ? printDate(row.updatedAt) : printDate(row.createdAt) }}\n Edit |\n Sync |\n School Mapping |\n \n
\n
\n
\n
\n ","/// \nimport { OnInit, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppTitle } from './title';\nimport { PowerSchoolService } from './powerschool.service';\nimport { Alert } from './alert';\nimport { Registration } from './registration';\nimport { User } from './user';\nimport { validateToken } from './account.service';\nimport { RegistrationFind } from './registration_find';\nimport { isDateSet, dateFormat } from './date_helper';\n\n@Component({\n\tselector: 'registration',\n\tstyles: [`\n .tag {\n margin-right:2px;\n background-color:#0a5d4d;\n border-radius:4px;\n padding:5px;\n }\n .tag-close {\n margin-left:5px;\n cursor: pointer;\n }\n `],\n\ttemplate: `\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n\t\t
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Base URLClient IDSync StatusSync EnabledChanged AtActions
{{ row.powerschoolApiUrl }}{{ row.oauthClientId }}{{ row.syncStatus }}{{ row.syncEnabled ? 'Yes' : 'No' }}{{ printDate(row.updatedAt) ? printDate(row.updatedAt) : printDate(row.createdAt) }}\n Edit |\n Sync |\n School Mapping |\n \n
\n
\n
\n
\n `\n})\n\nexport class RegistrationComponent implements OnInit {\n\tdata: Registration[];\n\tmsg: Alert;\n\tmsgHead: Alert;\n\tacctNumber: string;\n\thasAccess: boolean;\n\tmaxPageSize: number;\n\t// user: User;\n\n\tconstructor(private router: Router, private ps: PowerSchoolService, private title: AppTitle, private activatedRoute: ActivatedRoute) {\n\t\tthis.hasAccess = true;\n\t\tthis.msg = new Alert();\n\t\tthis.msgHead = new Alert();\n\t\ttitle.setTitles({\n\t\t\ttitle: 'Registration',\n\t\t\tdashboard: 'Registration'\n\t\t});\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'Registration', link: `` }\n\t\t]);\n\t\tthis.data = [];\n\t}\n\n\tngOnInit() {\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n\t\tif (this.acctNumber != null) {\n\t\t\tthis.ps.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t})\n\t\t}\n\t\tthis.loadData();\n\t}\n\n\tloadData() {\n\t\tlet f = new RegistrationFind();\n\t\tthis.ps.registrationFindApi(this.acctNumber, f).subscribe((regs: Registration[]) => {\n\t\t\tthis.data = regs;\n\t\t\tthis.msg.close();\n\t\t}, err => {\n\t\t\tconsole.log(err);\n\t\t\tif (this.ps.isErrNotFound(err)) {\n\t\t\t\tthis.msg.warning(this.ps.getUserError(err));\n\t\t\t} else {\n\t\t\t\tif (this.ps.isErrUnauthorized(err)) {\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\tthis.msgHead.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\trefresh() {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.loadData();\n\t\tthis.msg.close();\n\t}\n\n\taddRegistration() {\n\t\tthis.router.navigate([`settings/${this.acctNumber}/registration/add-wizard`]);\n\t\treturn;\n\t}\n\n\tedit(reg: Registration) {\n\t\tif(reg.syncStatus != \"stopped\" && reg.syncStatus != \"initialized\" && reg.syncStatus != \"error\"){\n\t\t\tthis.msgHead.errorHtml('Please stop sync worker prior to making changes. Click Here to stop sync.')\n\t\t\treturn;\n\t\t}\n\t\tthis.router.navigate([`settings/${this.acctNumber}/registration/edit-wizard/${reg.id}`]);\n\t\treturn;\n\t}\n\n\tsync(reg: Registration) {\n\t\tthis.router.navigate([`settings/${this.acctNumber}/registration/${reg.id}/sync`]);\n\t\treturn;\n\t}\n\n\tschoolMapping(reg: Registration) {\n\t\tthis.router.navigate([`settings/${this.acctNumber}/registration/${reg.id}/school-mapping`]);\n\t\treturn;\n\t}\n\n\tremoveRegistration(reg: Registration) {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tif(reg.syncStatus != \"stopped\" && reg.syncStatus != \"initialized\" && reg.syncStatus != \"error\"){\n\t\t\tthis.msgHead.errorHtml('Please stop sync worker prior to making changes. Click Here to stop sync.')\n\t\t\treturn;\n\t\t}\n\t\tthis.ps.registrationRemoveApi(this.acctNumber, reg.id)\n\t\t\t.subscribe(res => {\n\t\t\t\tthis.data.splice(this.data.indexOf(reg), 1);\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\tthis.msgHead.error(e);\n\t\t\t});\n\t}\n\n\tprintDate(d: Date): string {\n\t\tlet df = '01/02/2006 03:04 PM';\n\t\tif (isDateSet(d)) {\n\t\t\treturn dateFormat(d, df);\n\t\t}\n\t\treturn '';\n\t}\n}\n","export class Registration {\n\tid: number;\n\tpowerschoolApiUrl: string;\n\toauthClientId: string;\n\toauthClientSecret: string;\n\toauthTokenEndpoint: string;\n\tsyncEnabled: boolean;\n\tsyncInitialized: boolean;\n\tsyncStatus: string;\n\tlastSyncError: string;\n\tlastSyncErrorAt: Date;\n\tlastSyncedAt: Date;\n\tlastSyncedSequence:string;\n\tsyncCrunJob: string;\n\torganizationCount: number;\n\tstudentCount: number;\n\tstudentContactCount: number;\n\tattendanceCount: number;\n\tattendanceCodeCount: number;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n\tpluginVersion: string;\n\tsyncCronJobTimer: Date;\n\ttimezone:string;\n\tsyncCronJobTimerFmt: string;\n\tlastSyncedAtFmt: string;\n\tlastSyncErrorAtFmt: string;\n\ttimezoneFmt: string;\n\n\tconstructor() {\n\t\tthis.id = 0;\n\t\tthis.powerschoolApiUrl = '';\n\t\tthis.oauthClientId = '';\n\t\tthis.oauthClientSecret = '';\n\t\tthis.syncEnabled = true;\n\t\tthis.syncInitialized = false;\n\t\tthis.syncStatus = '';\n\t\tthis.lastSyncError = '';\n\t\tthis.lastSyncErrorAt = new Date();\n\t\tthis.lastSyncedAt = new Date();\n\t\tthis.lastSyncedSequence = '';\n\t\tthis.organizationCount = 0;\n\t\tthis.studentCount = 0;\n\t\tthis.studentContactCount = 0;\n\t\tthis.attendanceCount = 0;\n\t\tthis.attendanceCodeCount = 0;\n\t\tthis.syncCrunJob = '0 22 * * *';\n\t\tthis.createdAt = new Date();\n\t\tthis.oauthTokenEndpoint = '';\n\t\tthis.pluginVersion = '';\n\t\tthis.syncCronJobTimer = new Date();\n\t\tthis.timezone = '';\n\t\tthis.syncCronJobTimerFmt = '';\n\t\tthis.lastSyncedAtFmt = ''; \n\t\tthis.lastSyncErrorAtFmt = '';\n\t\tthis.timezoneFmt = '';\n\t}\n}\n","\n
\n
\n \n
\n
\n
\n
\n
\n
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

Before you register powerschool api, you need to go to powerschool settings and install and activate identakid plugin, which you can download here

\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t
\n
\n

PowerSchool API URL

\n \n
\n
\n

OAuth Client ID

\n \n
\n
\n

OAuth Client Secret

\n \n\t\t\t\t\t\t\t\t\t
\n
\n
\n
\n
\n
\n \n Go Back\n
\n\t
\n
\n
\n \n
\n
\n ","/// \nimport { OnInit, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppTitle } from './title';\nimport { PowerSchoolService } from './powerschool.service';\nimport { Alert } from './alert';\nimport { Registration } from './registration';\nimport { validateToken } from './account.service';\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\nimport { AppValidators, controlErrors } from './app.validators';\nimport { RegistrationRequest } from './registration_request';\nimport { DropdownOption } from './dropdown_option';\nimport { RegistrationFind } from './registration_find';\nimport { trimReturnKey } from './strings';\n\n@Component({\n\tselector: 'registration-add',\n\tstyles: [`\n .tag {\n margin-right:2px;\n background-color:#9dbd9e;\n border-radius:4px;\n padding:5px;\n }\n .tag-close {\n margin-left:5px;\n cursor: pointer;\n }\n `],\n\ttemplate: `\n
\n
\n \n
\n
\n
\n
\n
\n
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

Before you register powerschool api, you need to go to powerschool settings and install and activate identakid plugin, which you can download here

\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t
\n
\n

PowerSchool API URL

\n \n
\n
\n

OAuth Client ID

\n \n
\n
\n

OAuth Client Secret

\n \n\t\t\t\t\t\t\t\t\t
\n
\n
\n
\n
\n
\n \n Go Back\n
\n\t
\n
\n
\n \n
\n
\n `,\n})\n\nexport class RegistrationAddComponent {\n\tmsg: Alert;\n\tmsgHead: Alert;\n\tacctNumber: string;\n\thasAccess: boolean;\n\tform: FormGroup;\n\t// fobj: RegistrationRequest;\n\toauthVersions: DropdownOption[];\n\tidParam: string;\n\teditMode: boolean;\n\tdata: Registration;\n\tsaveCount: number;\n\n\tconstructor(\n\t\tprivate router: Router,\n\t\tprivate ps: PowerSchoolService,\n\t\tfb: FormBuilder,\n\t\tprivate title: AppTitle,\n\t\tprivate activatedRoute: ActivatedRoute\n\t) {\n\t\tthis.hasAccess = true;\n\t\tthis.msg = new Alert();\n\t\tthis.msgHead = new Alert();\n\t\tthis.editMode = false;\n\n\t\tthis.form = fb.group({\n\t\t\tpowerschoolApiUrl: ['', Validators.compose([Validators.required])],\n\t\t\toauthClientId: ['', Validators.compose([Validators.required])],\n\t\t\toauthClientSecret: ['', Validators.compose([Validators.required])],\n\t\t\toauthTokenEndpoint: [''],\n\t\t});\n\t\tthis.saveCount = 1;\n\n\t\tthis.data = new Registration();\n\n\t\t// this.fobj = new RegistrationRequest();\n\t\t// this.fobj.oauthVersion = 'oauth-1.0-hmac-sha256';\n\t}\n\n\tngOnInit() {\n\t\tlet titleStr = 'Add New';\n\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n\t\tthis.idParam = this.activatedRoute.snapshot.params['id'];\n\n\t\tif (this.acctNumber != null) {\n\t\t\tthis.ps.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t})\n\t\t}\n\t\tthis.oauthVersions = [\n\t\t\t{ id: 'oauth-1.0-hmac-sha256', title: 'OAuth 1.0 HMAC SHA256' },\n\t\t\t{ id: 'oauth-1.0-hmac-sha1', title: 'OAuth 1.0 HMAC SHA1' },\n\t\t\t{ id: 'oauth-2.0-bearer-token', title: 'OAuth 2.0 Bearer Token' },\n\t\t];\n\n\t\tif (this.idParam) {\n\t\t\tthis.editMode = true;\n\t\t\tthis.loadData();\n\t\t\ttitleStr = 'Edit';\n\t\t}\n\n\t\tthis.title.setTitles({\n\t\t\ttitle: `${titleStr} Registration`,\n\t\t\tdashboard: `${titleStr} Registration`\n\t\t});\n\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'Registration ', link: `settings/${this.acctNumber}/registration` },\n\t\t\t{ title: titleStr, link: `` }\n\t\t]);\n\t}\n\n\tloadData() {\n\t\tlet find = new RegistrationFind();\n\t\tfind.id = parseInt(this.idParam);\n\t\tthis.ps.registrationFindApi(this.acctNumber, find)\n\t\t\t.subscribe((rows: Registration[]) => {\n\t\t\t\tthis.msg.close();\n\t\t\t\tthis.data = rows[0];\n\t\t\t\tthis.form.get('powerschoolApiUrl').setValue(this.data.powerschoolApiUrl);\n\t\t\t\tthis.form.get('oauthClientId').setValue(this.data.oauthClientId);\n\t\t\t\tthis.form.get('oauthClientSecret').setValue(this.data.oauthClientSecret);\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (this.ps.isErrNotFound(err)) {\n\t\t\t\t\tthis.msg.warning(this.ps.getUserError(err));\n\t\t\t\t} else {\n\t\t\t\t\tif (this.ps.isErrUnauthorized(err)) {\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tviewToRequest(r: Registration): RegistrationRequest {\n\t\tlet ret = new RegistrationRequest();\n\t\tret.syncCrunJob = trimReturnKey(r.syncCrunJob);\n\t\tret.powerschoolApiUrl = trimReturnKey(r.powerschoolApiUrl);\n\t\tret.oauthClientId = trimReturnKey(r.oauthClientId);\n\t\tret.oauthClientSecret = trimReturnKey(r.oauthClientSecret);\n\t\tret.pluginVersion = trimReturnKey(r.pluginVersion);\n\t\treturn ret;\n\t}\n\n\tsave() {\n\t\tif (!this.form.valid) {\n\t\t\tthis.displayErrors(this.form);\n\t\t\treturn;\n\t\t}\n\t\tthis.data.powerschoolApiUrl = this.form.get('powerschoolApiUrl').value;\n\t\tthis.data.oauthClientId = this.form.get('oauthClientId').value\n\t\tthis.data.oauthClientSecret = this.form.get('oauthClientSecret').value;\n\t\tif (this.editMode) {\n\t\t\tthis.ps.registrationUpdateApi(this.acctNumber, this.data.id, this.viewToRequest(this.data))\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tlet saveMessage = this.ps.getDefaultSaveMessage();\n\t\t\t\t\tif (this.saveCount > 1) {\n\t\t\t\t\t\tsaveMessage += ` (${this.saveCount})`\n\t\t\t\t\t}\n\t\t\t\t\tthis.saveCount++;\n\t\t\t\t\tthis.msg.success(saveMessage);\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msg.error(e);\n\t\t\t\t});\n\t\t} else {\n\t\t\tconsole.log('REQ', this.viewToRequest(this.data));\n\t\t\tthis.ps.registrationAddApi(this.acctNumber, this.viewToRequest(this.data))\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tlet saveMessage = this.ps.getDefaultSaveMessage();\n\t\t\t\t\tif (this.saveCount > 1) {\n\t\t\t\t\t\tsaveMessage += ` (${this.saveCount})`\n\t\t\t\t\t}\n\t\t\t\t\tthis.saveCount++;\n\t\t\t\t\tthis.msg.success(saveMessage);\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msg.error(e);\n\t\t\t\t});\n\t\t}\n\t}\n\n\n\tdisplayErrors(f: FormGroup) {\n\t\tvar message = '';\n\t\tcontrolErrors(f, (c: any, err: any) => {\n\t\t\tmessage += err + '
';\n\t\t});\n\t\tthis.msg.errorHtml(message);\n\t}\n\n\tgoBack() {\n\t\tthis.router.navigate([`settings/${this.acctNumber}/registration`]);\n\t\treturn;\n\t}\n}\n","\n
\n
\n \n
\n
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n
\n
\n\t\t \t\t\t
\n\n\t\t \t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t \"\"\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t \"\"\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Welcome to Powerschool Registration

\n\t\t\t\t\t\t\t\t

Identakid's integration with Powerschool allows you to sync students
contacts and attendance codes to your IAK Visitor Management apps.
This integration also allows attendance to be written back to Powerschool.


\n\t\t\t\t\t\t\t\t

Click Get Started below to begin the registration process.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Select PowerSchool Setup


\n\t\t\t\t\t\t\t

The Standard Powerschool setup includes the syncing of students, contacts, and attendance codes with the ability to write back attendance to your\n\t\t\t\t\t\t\t\tPowerschool SIS.


\n\t\t\t\t\t\t\t\t Standard


\n\t\t\t\t\t\t\t

This version of Powerschool setup includes all features of the Standard version with the added ability to post check in and check out times directly to the time in and time out fields in Powerschool.\n\n\t\t\t\t\t\t\t\tIf you currently have our Powerschool integration you must remove that version before installing this new feature. \n\t\t\t\t\t\t\t\t


\n\t\t\t\t\t\t\t\t Time In/Out


\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

PowerSchool URL


\n\t\t\t\t\t\t\t

Please provide us your PowerSchool URL. This will be used to generate custom instructions in this wizard so you can easily find settings and install the plugin(s).

\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\tIn the field below please type in any URL from your Powerschool module\n\t\t\t\t\t\t\t\t\t
Ex. https://district.powerschool.com/admin/home.html\n\t\t\t\t\t\t\t\t

\n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t

PowerSchool URL

\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Install Standard Plugin


\n\t\t\t\t\t\t\t

This plugin handles all of the Standard features of the integration including syncing students, contacts and attendance.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tDownload Standard Plugin
\n\t\t\t\t\t\t\t\t


Instructions

\n\t\t\t\t\t\t\t\t

Log into your Powerschool SIS as an administrator.

\n\t\t\t\t\t\t\t\t

2. Navigate to the Plugin Management Configuration page.

\n\t\t\t\t\t\t\t\t

3. Click Install in the upper right corner.

\n\t\t\t\t\t\t\t\t

4. Select the plugin file you downloaded above.

\n\t\t\t\t\t\t\t\t

5. On the Plugin Management Configuration page find the plugin labeled Ident-A-Kid Visitor Management and click the checkbox to enable the plugin.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Report Installation


\n\t\t\t\t\t\t\t

Please select your attendance method.

\n\t\t\t\t\t\t\t\t

\n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t \t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Install Time In/Out Daily Reports


\n\t\t\t\t\t\t\t

This report file is used to create the migration tool

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tDownload Report 1

\n\t\t\t\t\t\t\t\tDownload Report 2
\n\t\t\t\t\t\t\t\t


Instructions

\n\t\t\t\t\t\t\t\t

Please follow these directions. Use the links within the directions to navigate to that specific page in your SIS.

\n\t\t\t\t\t\t\t\t

1. Log into your Powerschool SIS as an administrator.

\n\t\t\t\t\t\t\t\t

2. Navigate to the System Reports page

\n\t\t\t\t\t\t\t\t

3. Click Engine tab.

\n\t\t\t\t\t\t\t\t

3. Click Load One Local Report.

\n\t\t\t\t\t\t\t\t

4. Select the Report file you downloaded above. Click Import

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Install Time In/Out Meeting Reports


\n\t\t\t\t\t\t\t

This report file is used to create the migration tool.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tDownload Report 1

\n\t\t\t\t\t\t\t\tDownload Report 2
\n\t\t\t\t\t\t\t\t


Instructions

\n\t\t\t\t\t\t\t\t

Please follow these directions. Use the links within the directions to navigate to that specific page in your SIS.

\n\t\t\t\t\t\t\t\t

1. Log into your Powerschool SIS as an administrator.

\n\t\t\t\t\t\t\t\t

2. Navigate to the System Reports page

\n\t\t\t\t\t\t\t\t

3. Click Engine tab.

\n\t\t\t\t\t\t\t\t

3. Click Load One Local Report.

\n\t\t\t\t\t\t\t\t

4. Select the Report file you downloaded above. Click Import

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Install Time In/Out Plugin 1


\n\t\t\t\t\t\t\t

This plugin integrates a custom table regarding the time in and time out fields in Powerschool. This plugin must be installed first.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tDownload Time In/Out Plugin 1
\n\t\t\t\t\t\t\t\t


Instructions

\n\t\t\t\t\t\t\t\t

Please follow these directions. Use the links within the directions to navigate to that specific page in your SIS.

\n\t\t\t\t\t\t\t\t

1. Log into your Powerschool SIS as an administrator.

\n\t\t\t\t\t\t\t\t

2. Navigate to the Plugin Management Configuration page

\n\t\t\t\t\t\t\t\t

3. Click Install in the upper right corner.

\n\t\t\t\t\t\t\t\t

4. Select the plugin file you downloaded above. Click Install

\n\t\t\t\t\t\t\t\t

5. On the Plugin Management Configuration page find the plugin labeled Ident-A-Kid Attendance Data Extension and click the checkbox to enable the plugin.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Install Time In/Out Plugin 2


\n\t\t\t\t\t\t\t

This plugin integrates a custom table regarding the time in and time out fields in Powerschool.
\n\t\t\t\t\t\t\t\t Note: This Plugin must be installed by \"District Office\" access

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tDownload Time In/Out Plugin 2
\n\t\t\t\t\t\t\t\t


Instructions

\n\t\t\t\t\t\t\t\t

Please follow these directions. Use the links within the directions to navigate to that specific page in your SIS.

\n\t\t\t\t\t\t\t\t

1. Log into your Powerschool SIS as an administrator.

\n\t\t\t\t\t\t\t\t

2. Navigate to the Plugin Management Configuration page

\n\t\t\t\t\t\t\t\t

3. Click Install in the upper right corner.

\n\t\t\t\t\t\t\t\t

4. Select the plugin file you downloaded above. Click Install

\n\t\t\t\t\t\t\t\t

5. On the Plugin Management Configuration page find the plugin labeled Ident-A-Kid Time In-Out and click the checkbox to enable the plugin.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Change Your Timezone


\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\tTimezone information is essential for synchronizing students,contact within a standard 5-22 workday according to the user's selected timezone. To change the timezone, please select your desired option from the dropdown menu below.\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t


\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Connection Setup


\n\t\t\t\t\t\t\t\t

In Plugin Management Configuration. page, find {{pluginName}} In the Plugin page, in the Function section, click on Data Provider Configuration to view the OAuth Credentials. The Client ID and Client Secret were created from the Plugin that was installed. Copy Client ID and Client Secret and paste into the fields below.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t
\n

PowerSchool API URL

\n \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n

OAuth Client ID

\n \n
\n
\n

OAuth Client Secret

\n \n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Connecting to PowerSchool


\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Please wait while we connect to PowerSchool

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t








\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Connecting to PowerSchool


\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Successfully connected to PowerSchool SIS. Please click Next.

\n\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t








\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Review


\n\t\t\t\t\t\t\t\t

Please review your information below. If all is correct, click Start Sync to initiate the sync process. You can start or stop the sync process at anytime by going to the Registration page and click Sync

\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t

Connection Details

\n\t\t\t\t\t\t\t\t

PowerSchool API URL: {{powerSchoolApiUrl}}

\n\t\t\t\t\t\t\t\t

Client ID: {{oauthClientId}}

\n\t\t\t\t\t\t\t\t

Client Secret: {{oauthClientSecret}}

\n\t\t \t\t\t\t\t\t


\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Connecting to PowerSchool


\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Faild to connected to PowerSchool SIS. Please review your information.

\n\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t








\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t
\n\n ","/// \nimport { OnInit, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppTitle } from './title';\nimport { PowerSchoolService } from './powerschool.service';\nimport { Alert } from './alert';\nimport { Registration } from './registration';\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\nimport { controlErrors } from './app.validators';\nimport { RegistrationRequest } from './registration_request';\nimport { trimReturnKey } from './strings';\nimport { RegistrationValidate } from './registration_validate';\nimport { RegistrationFind } from './registration_find';\nimport { ThrowStmt } from '@angular/compiler';\nimport { DropdownOption } from './dropdown_option';\n\n@Component({\n\tselector: 'registration-add',\n\tstyles: [`\n .tag {\n margin-right:2px;\n background-color:#9dbd9e;\n border-radius:4px;\n padding:5px;\n }\n .tag-close {\n margin-left:5px;\n cursor: pointer;\n }\n `],\n\ttemplate: `\n
\n
\n \n
\n
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n
\n
\n\t\t \t\t\t
\n\n\t\t \t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t \"\"\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t \"\"\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Welcome to Powerschool Registration

\n\t\t\t\t\t\t\t\t

Identakid's integration with Powerschool allows you to sync students
contacts and attendance codes to your IAK Visitor Management apps.
This integration also allows attendance to be written back to Powerschool.


\n\t\t\t\t\t\t\t\t

Click Get Started below to begin the registration process.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Select PowerSchool Setup


\n\t\t\t\t\t\t\t

The Standard Powerschool setup includes the syncing of students, contacts, and attendance codes with the ability to write back attendance to your\n\t\t\t\t\t\t\t\tPowerschool SIS.


\n\t\t\t\t\t\t\t\t Standard


\n\t\t\t\t\t\t\t

This version of Powerschool setup includes all features of the Standard version with the added ability to post check in and check out times directly to the time in and time out fields in Powerschool.\n\n\t\t\t\t\t\t\t\tIf you currently have our Powerschool integration you must remove that version before installing this new feature. \n\t\t\t\t\t\t\t\t


\n\t\t\t\t\t\t\t\t Time In/Out


\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

PowerSchool URL


\n\t\t\t\t\t\t\t

Please provide us your PowerSchool URL. This will be used to generate custom instructions in this wizard so you can easily find settings and install the plugin(s).

\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\tIn the field below please type in any URL from your Powerschool module\n\t\t\t\t\t\t\t\t\t
Ex. https://district.powerschool.com/admin/home.html\n\t\t\t\t\t\t\t\t

\n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t

PowerSchool URL

\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Install Standard Plugin


\n\t\t\t\t\t\t\t

This plugin handles all of the Standard features of the integration including syncing students, contacts and attendance.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tDownload Standard Plugin
\n\t\t\t\t\t\t\t\t


Instructions

\n\t\t\t\t\t\t\t\t

Log into your Powerschool SIS as an administrator.

\n\t\t\t\t\t\t\t\t

2. Navigate to the Plugin Management Configuration page.

\n\t\t\t\t\t\t\t\t

3. Click Install in the upper right corner.

\n\t\t\t\t\t\t\t\t

4. Select the plugin file you downloaded above.

\n\t\t\t\t\t\t\t\t

5. On the Plugin Management Configuration page find the plugin labeled Ident-A-Kid Visitor Management and click the checkbox to enable the plugin.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Report Installation


\n\t\t\t\t\t\t\t

Please select your attendance method.

\n\t\t\t\t\t\t\t\t

\n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t \t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Install Time In/Out Daily Reports


\n\t\t\t\t\t\t\t

This report file is used to create the migration tool

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tDownload Report 1

\n\t\t\t\t\t\t\t\tDownload Report 2
\n\t\t\t\t\t\t\t\t


Instructions

\n\t\t\t\t\t\t\t\t

Please follow these directions. Use the links within the directions to navigate to that specific page in your SIS.

\n\t\t\t\t\t\t\t\t

1. Log into your Powerschool SIS as an administrator.

\n\t\t\t\t\t\t\t\t

2. Navigate to the System Reports page

\n\t\t\t\t\t\t\t\t

3. Click Engine tab.

\n\t\t\t\t\t\t\t\t

3. Click Load One Local Report.

\n\t\t\t\t\t\t\t\t

4. Select the Report file you downloaded above. Click Import

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Install Time In/Out Meeting Reports


\n\t\t\t\t\t\t\t

This report file is used to create the migration tool.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tDownload Report 1

\n\t\t\t\t\t\t\t\tDownload Report 2
\n\t\t\t\t\t\t\t\t


Instructions

\n\t\t\t\t\t\t\t\t

Please follow these directions. Use the links within the directions to navigate to that specific page in your SIS.

\n\t\t\t\t\t\t\t\t

1. Log into your Powerschool SIS as an administrator.

\n\t\t\t\t\t\t\t\t

2. Navigate to the System Reports page

\n\t\t\t\t\t\t\t\t

3. Click Engine tab.

\n\t\t\t\t\t\t\t\t

3. Click Load One Local Report.

\n\t\t\t\t\t\t\t\t

4. Select the Report file you downloaded above. Click Import

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Install Time In/Out Plugin 1


\n\t\t\t\t\t\t\t

This plugin integrates a custom table regarding the time in and time out fields in Powerschool. This plugin must be installed first.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tDownload Time In/Out Plugin 1
\n\t\t\t\t\t\t\t\t


Instructions

\n\t\t\t\t\t\t\t\t

Please follow these directions. Use the links within the directions to navigate to that specific page in your SIS.

\n\t\t\t\t\t\t\t\t

1. Log into your Powerschool SIS as an administrator.

\n\t\t\t\t\t\t\t\t

2. Navigate to the Plugin Management Configuration page

\n\t\t\t\t\t\t\t\t

3. Click Install in the upper right corner.

\n\t\t\t\t\t\t\t\t

4. Select the plugin file you downloaded above. Click Install

\n\t\t\t\t\t\t\t\t

5. On the Plugin Management Configuration page find the plugin labeled Ident-A-Kid Attendance Data Extension and click the checkbox to enable the plugin.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Install Time In/Out Plugin 2


\n\t\t\t\t\t\t\t

This plugin integrates a custom table regarding the time in and time out fields in Powerschool.
\n\t\t\t\t\t\t\t\t Note: This Plugin must be installed by \"District Office\" access

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tDownload Time In/Out Plugin 2
\n\t\t\t\t\t\t\t\t


Instructions

\n\t\t\t\t\t\t\t\t

Please follow these directions. Use the links within the directions to navigate to that specific page in your SIS.

\n\t\t\t\t\t\t\t\t

1. Log into your Powerschool SIS as an administrator.

\n\t\t\t\t\t\t\t\t

2. Navigate to the Plugin Management Configuration page

\n\t\t\t\t\t\t\t\t

3. Click Install in the upper right corner.

\n\t\t\t\t\t\t\t\t

4. Select the plugin file you downloaded above. Click Install

\n\t\t\t\t\t\t\t\t

5. On the Plugin Management Configuration page find the plugin labeled Ident-A-Kid Time In-Out and click the checkbox to enable the plugin.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Change Your Timezone


\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\tTimezone information is essential for synchronizing students,contact within a standard 5-22 workday according to the user's selected timezone. To change the timezone, please select your desired option from the dropdown menu below.\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t


\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Connection Setup


\n\t\t\t\t\t\t\t\t

In Plugin Management Configuration. page, find {{pluginName}} In the Plugin page, in the Function section, click on Data Provider Configuration to view the OAuth Credentials. The Client ID and Client Secret were created from the Plugin that was installed. Copy Client ID and Client Secret and paste into the fields below.

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t
\n

PowerSchool API URL

\n \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n

OAuth Client ID

\n \n
\n
\n

OAuth Client Secret

\n \n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Connecting to PowerSchool


\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Please wait while we connect to PowerSchool

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t








\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Connecting to PowerSchool


\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Successfully connected to PowerSchool SIS. Please click Next.

\n\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t








\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Review


\n\t\t\t\t\t\t\t\t

Please review your information below. If all is correct, click Start Sync to initiate the sync process. You can start or stop the sync process at anytime by going to the Registration page and click Sync

\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t

Connection Details

\n\t\t\t\t\t\t\t\t

PowerSchool API URL: {{powerSchoolApiUrl}}

\n\t\t\t\t\t\t\t\t

Client ID: {{oauthClientId}}

\n\t\t\t\t\t\t\t\t

Client Secret: {{oauthClientSecret}}

\n\t\t \t\t\t\t\t\t


\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Connecting to PowerSchool


\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Faild to connected to PowerSchool SIS. Please review your information.

\n\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t








\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t
\n\n `,\n})\n\nexport class RegistrationAddV2Component {\n\tmsg: Alert;\n\tmsgHead: Alert;\n\tacctNumber: string;\n\thasAccess: boolean;\n\tform: FormGroup;\n\tdata: Registration;\n\tsaveCount: number;\n\twizardStep: number;\n\tstdOrTimeInOut:string;\n\tpowerSchoolUrl:string;\n\tpowerSchoolApiUrl:string;\n\tsystemStdUrl:string;\n\tpluginStdUrl:string;\n\toauthClientId:string;\n\toauthClientSecret:string;\n\tfaildStep:number;\n\tregId:number;\n\tsystemReportUrl:string;\n\tenableMeetingReport: boolean;\n\tenableDailyReport: boolean;\n\tpluginName: string;\n\tregistrationId: number;\n\teditMode: boolean;\n\tidParam: string;\n\tstdSpanOk: boolean;\n\ttimeInOutSpanOk: boolean;\n\tstdTitle: string;\n\ttimeTitle: string;\n\tstdPluginDownloadUrl: string;\n\ttimePlugin1DownloadUrl: string;\n\ttimePlugin2DownloadUrl: string;\n\ttimezones: DropdownOption[];\n\n\tconstructor(\n\t\tprivate router: Router,\n\t\tprivate ps: PowerSchoolService,\n\t\tfb: FormBuilder,\n\t\tprivate title: AppTitle,\n\t\tprivate activatedRoute: ActivatedRoute\n\t) {\n\t\tthis.hasAccess = true;\n\t\tthis.msg = new Alert();\n\t\tthis.msgHead = new Alert();\n\n\t\tthis.form = fb.group({\n\t\t\tpowerschoolUrl: ['', Validators.compose([Validators.required,Validators.pattern('(https?://)?([\\\\da-z.-]+)\\\\.([a-z.]{2,6})[/\\\\w .-]*/?')]),],\n\t\t\tpowerSchoolApiUrl:['', Validators.compose([Validators.required])],\n\t\t\toauthClientId: ['', Validators.compose([Validators.required])],\n\t\t\toauthClientSecret: ['', Validators.compose([Validators.required])],\n\t\t});\n\t\tthis.saveCount = 1;\n\t\tthis.wizardStep = 0;\n\t\tthis.regId = 0;\n\n\t\tthis.data = new Registration();\n\t\tthis.stdOrTimeInOut = \"standard\";\n\t\tthis.systemStdUrl = \"\";\n\t\tthis.pluginStdUrl = \"\";\n\t\tthis.powerSchoolUrl = \"\";\n\t\tthis.powerSchoolApiUrl = \"\";\n\t\tthis.oauthClientId = \"\";\n\t\tthis.oauthClientSecret =\"\";\n\t\tthis.faildStep=0;\n\t\tthis.systemReportUrl = \"\";\n\t\tthis.enableMeetingReport = true;\n\t\tthis.enableDailyReport = false;\n\t\tthis.pluginName = \"Ident-A-Kid Visitor Management\"\n\t\tthis.editMode = false;\n\t\tthis.stdSpanOk = false;\n\t\tthis.timeInOutSpanOk = false;\n\t\tthis.stdTitle=\"\"\n\t\tthis.timeTitle=\"\"\n\t\tthis.stdPluginDownloadUrl = \"assets/psplugins/identakid_standard_plugin_v2_1_6.zip\";\n\t\tthis.timePlugin1DownloadUrl = \"assets/psplugins/identakid_time_in_out_plugin1_v2_1_3.zip\";\n\t\tthis.timePlugin2DownloadUrl = \"assets/psplugins/identakid_time_in_out_plugin2_v2_1_6.zip\";\n\t\tthis.timezones = [\n\t\t\t{ id: 'EST', title: 'US/Eastern' },\n\t\t\t{ id: 'US/Central', title: 'US/Central' },\n\t\t\t{ id: 'US/Pacific', title: 'US/Pacific' },\n\t\t\t{ id: 'MST', title: 'US/Mountain' },\n\t\t\t{ id: 'US/Michigan', title: 'US/Michigan' },\n\t\t\t{ id: 'US/Arizona', title: 'US/Arizona' },\n\t\t\t{ id: 'US/Alaska', title: 'US/Alaska' },\n\t\t\t{ id: 'HST', title: 'US/Hawaii' },\n\t\t\t{ id: 'UTC', title: 'UTC' },\n\t\t];\n\t}\n\n\tngOnInit() {\n\t\tlet titleStr = 'Add New';\n\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n\t\tthis.idParam = this.activatedRoute.snapshot.params['id'];\n\n\t\tif (this.acctNumber != null) {\n\t\t\tthis.ps.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t})\n\t\t}\n\n\t\tif (this.idParam) {\n\t\t\tthis.editMode = true;\n\t\t\tthis.wizardStep=1;\n\t\t\tthis.loadData();\n\t\t\ttitleStr = 'Edit';\n\t\t}\n\n\t\tthis.title.setTitles({\n\t\t\ttitle: `${titleStr} Registration`,\n\t\t\tdashboard: `${titleStr} Registration`\n\t\t});\n\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'Registration ', link: `settings/${this.acctNumber}/registration` },\n\t\t\t{ title: titleStr, link: `` }\n\t\t]);\n\t}\n\n\tviewToRequest(r: Registration): RegistrationRequest {\n\t\tlet ret = new RegistrationRequest();\n\t\tret.syncCrunJob = trimReturnKey(r.syncCrunJob);\n\t\tret.powerschoolApiUrl = trimReturnKey(r.powerschoolApiUrl);\n\t\tret.oauthClientId = trimReturnKey(r.oauthClientId);\n\t\tret.oauthClientSecret = trimReturnKey(r.oauthClientSecret);\n\t\tret.pluginVersion = trimReturnKey(r.pluginVersion);\n\t\tret.timezone = trimReturnKey(r.timezone);\n\t\treturn ret;\n\t}\n\n\tnext() {\n\t\tswitch (this.wizardStep) {\n\t\t\tcase 0:\n\t\t\tcase 1:\n\t\t\t\t// Welcome and Select PowerSchool setup\n\t\t\t\tthis.wizardStep++;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\t// Powerschool URL Form\n\t\t\t\tif (!this.form.controls['powerschoolUrl'].valid) {\n\t\t\t\t\tthis.msg.errorHtml(\"Please provide valid url\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.powerSchoolUrl = this.form.get('powerschoolUrl').value;\n\t\t\t\tthis.prepareURL();\n\t\t\t\tif(this.stdOrTimeInOut=='plugin-standard'){\n\t\t\t\t\tthis.wizardStep++;\n\t\t\t\t}else{\n\t\t\t\t\t// Bypass and go to first report file\n\t\t\t\t\tthis.wizardStep = 4;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 3:\n\t\t\t\t//Standard Version skip 4, 5, 6, 7, 8\n\t\t\t\tif (!this.editMode) {\n\t\t\t\t\tthis.wizardStep = 10;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tthis.wizardStep = 9;\n\t\t\t\tbreak;\n\n\t\t\tcase 4:\n\t\t\t\t//Select Meeting, Daily with toggle\n\t\t\t\tif(this.enableDailyReport){\n\t\t\t\t\tthis.wizardStep++;\n\t\t\t\t}else{\n\t\t\t\t\t// Skip daily report page.\n\t\t\t\t\tthis.wizardStep = 6;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 5:\n\t\t\t\t// report migration Daily 00 - report migration Daily 01\n\t\t\t\tif(this.enableMeetingReport) {\n\t\t\t\t\tthis.wizardStep++;\n\t\t\t\t}else{\n\t\t\t\t\t// Skip meeting report page.\n\t\t\t\t\tthis.wizardStep = 7;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 6:\n\t\t\t\t// report migration Meeting 00 - report migration Metting 01\n\t\t\t\tthis.wizardStep++;\n\t\t\t\tbreak;\n\t\t\tcase 7:\n\t\t\t\t//Time in First Plugin\n\t\t\t\tthis.wizardStep++;\n\t\t\t\tbreak;\n\n\t\t\tcase 8:\n\t\t\t\t//Time in Second Plugin\n\t\t\t\tthis.wizardStep++;\n\t\t\t\tif (!this.editMode) {\n\t\t\t\t\tthis.wizardStep++;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 9:\n\t\t\t\t// Timezone\n\t\t\t\tthis.wizardStep++;\n\t\t\t\tbreak;\n\n\t\t\tcase 10:\n\t\t\t\t//connection setup\n\t\t\t\tthis.wizardStep++;\n\t\t\t\tthis.psValidateCredentials();\n\t\t\t\tbreak;\n\n\t\t\tcase 11:\n\t\t\t\t//connection status\n\t\t\t\tthis.wizardStep++;\n\t\t\t\tbreak;\n\n\t\t\tcase 12:\n\t\t\t\t//connection status\n\t\t\t\tthis.wizardStep++;\n\t\t\t\tbreak;\n\n\n\t\t\tcase -2:\n\t\t\t\t//connection status\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\treturn;\n\t}\n\n\tprepareURL(){\n\t\tthis.msg.close();\n\t\tif (this.powerSchoolUrl != ''){\n\t\t\ttry{\n\t\t\t\t//Split all subdomains and categories from url\n\t\t\t\tvar mainUrl = new URL(this.powerSchoolUrl);\n\t\t\t\tthis.powerSchoolUrl = mainUrl.protocol + '//'+ mainUrl.hostname;\n\t\t\t\tthis.powerSchoolApiUrl = mainUrl.protocol + '//' + mainUrl.hostname;\n\t\t\t\tthis.systemStdUrl = this.powerSchoolUrl + '/admin/tech/';\n\t\t\t\tthis.pluginStdUrl = this.powerSchoolUrl + '/admin/pluginconsole/plugInConsole.action';\n\t\t\t\tthis.systemReportUrl = this.powerSchoolUrl + '/admin/reports/runreports.html';\n\t\t\t}catch(e){\n\t\t\t\tthis.msg.errorHtml(\"Please provide valid url\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t}\n\n\tdisplayErrors(f: FormGroup) {\n\t\tvar message = '';\n\t\tcontrolErrors(f, (c: any, err: any) => {\n\t\t\tmessage += err + '
';\n\t\t});\n\t\tthis.msg.errorHtml(message);\n\t}\n\n\tgoBack() {\n\t\tthis.msg.close();\n\t\tif(this.faildStep != 0){\n\t\t\tthis.wizardStep = this.faildStep;\n\t\t\tthis.faildStep = 0;\n\t\t\treturn;\n\t\t}\n\t\tif(this.wizardStep==4 && this.stdOrTimeInOut=='plugin-time-in-out'){\n\t\t\tthis.wizardStep = this.wizardStep -2; // Return to url page. skip the standard plugin page.\n\t\t}else if(this.wizardStep==9 && this.stdOrTimeInOut=='plugin-standard'){\n\t\t\tthis.wizardStep = 3;\n\t\t} else if(this.wizardStep==10 && this.stdOrTimeInOut=='plugin-standard'){\n\t\t\tthis.wizardStep=9; //return to plugin page from credential page.\n\t\t} else if(this.wizardStep==10 && this.stdOrTimeInOut=='plugin-time-in-out'&& !this.editMode){\n\t\t\tthis.wizardStep = 8;\n\t\t} else if(this.wizardStep==10) {\n\t\t\tthis.wizardStep--;//if connection faild return to page before.\n\t\t}else if(this.enableDailyReport==false && this.wizardStep==6){\n\t\t\tthis.wizardStep= 4; // if daily report is not enabled return to select report install page.\n\t\t}else if(this.enableMeetingReport==false && this.wizardStep==7){\n\t\t\tif(this.enableDailyReport) {\n\t\t\t\tthis.wizardStep= 5; // if daily report enable return to daily report page.\n\t\t\t}else {\n\t\t\t\tthis.wizardStep = 4;// if daily report is not enabled return to select report install page.\n\t\t\t}\n\t\t}else{\n\t\t\tthis.wizardStep--;\n\t\t}\n\t}\n\n\tstandard() {\n\t\tthis.stdOrTimeInOut = 'plugin-standard';\n\t\tthis.pluginName = \"Ident-A-Kid Visitor Management\"\n\t\tthis.next();\n\t}\n\n\ttimeInOut() {\n\t\tthis.stdOrTimeInOut = 'plugin-time-in-out';\n\t\tthis.pluginName = \"Ident-A-Kid Time In-Out\"\n\t\tthis.next();\n\t}\n\n\tpsValidateCredentials() {\n\t\tthis.data.powerschoolApiUrl = this.powerSchoolApiUrl\n\t\tthis.data.oauthClientId = this.oauthClientId\n\t\tthis.data.oauthClientSecret = this.oauthClientSecret\n\t\tthis.data.pluginVersion = this.stdOrTimeInOut\n\t\tthis.ps.powerSchoolValidatePluginCredentials(this.acctNumber,this.data)\n\t\t.subscribe((status: RegistrationValidate) => {\n\t\t\tif (status){\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif ( status.status == \"\"){\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tif (status.status == \"oldversion-verified\") {\n\t\t\t\t\t\tthis.data.pluginVersion = \"\"\n\t\t\t\t\t}\n\t\t\t\t\tif(this.editMode) {\n\t\t\t\t\t\tif(this.updateRegistration()){\n\t\t\t\t\t\t\tthis.faildStep = this.wizardStep-1;\n\t\t\t\t\t\t\tthis.wizardStep = -2;\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.next();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif(this.addRegistration()){\n\t\t\t\t\t\tthis.faildStep = this.wizardStep-1;\n\t\t\t\t\t\tthis.wizardStep = -2;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tthis.next();\n\t\t\t\t},\n\t\t\t\t3000);\n\t\t\t}else{\n\t\t\t\tthis.faildStep = this.wizardStep-1;\n\t\t\t\tthis.wizardStep = -2;\n\t\t\t\treturn;\n\t\t\t}\n\t\t}, err => {\n\t\t\tconsole.log(err);\n\t\t\tthis.faildStep = this.wizardStep-1;\n\t\t\tthis.wizardStep = -2;\n\n\t\t});\n\t}\n\n\tregistrationPage(){\n\t\tthis.router.navigate([`settings/${this.acctNumber}/registration`]);\n\t\treturn;\n\t}\n\tsyncPage(){\n\t\tthis.router.navigate([`settings/${this.acctNumber}/registration/${this.regId}/sync`]);\n\t\treturn;\n\t}\n\taddRegistration(): Error {\n\t\tthis.ps.registrationAddApi(this.acctNumber, this.viewToRequest(this.data))\n\t\t.subscribe(res => {\n\t\t\tthis.regId = res.id;\n\t\t}, err => {\n\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\treturn e;\n\t\t});\n\t\treturn null;\n\t}\n\n\tloadData() {\n\t\tlet find = new RegistrationFind();\n\t\tfind.id = parseInt(this.idParam);\n\t\tthis.ps.registrationFindApi(this.acctNumber, find)\n\t\t\t.subscribe((rows: Registration[]) => {\n\t\t\t\tthis.msg.close();\n\t\t\t\tthis.data = rows[0];\n\n\t\t\t\tthis.powerSchoolUrl = this.data.powerschoolApiUrl;\n\t\t\t\tthis.powerSchoolApiUrl = this.data.powerschoolApiUrl;\n\t\t\t\tthis.oauthClientId = this.data.oauthClientId;\n\t\t\t\tthis.oauthClientSecret = this.data.oauthClientSecret;\n\t\t\t\tthis.stdOrTimeInOut = this.data.pluginVersion;\n\n\t\t\t\tthis.form.get('powerschoolUrl').setValue(this.data.powerschoolApiUrl);\n\t\t\t\tthis.form.get('powerSchoolApiUrl').setValue(this.data.powerschoolApiUrl);\n\t\t\t\tthis.form.get('oauthClientId').setValue(this.data.oauthClientId);\n\t\t\t\tthis.form.get('oauthClientSecret').setValue(this.data.oauthClientSecret);\n\n\t\t\t\tthis.stdSpanOk = true;\n\t\t\t\tthis.stdTitle = \"Current Selected plugin\";\n\t\t\t\tif(this.stdOrTimeInOut == 'plugin-time-in-out') {\n\t\t\t\t\tthis.stdSpanOk = false;\n\t\t\t\t\tthis.stdTitle = \"\"\n\t\t\t\t\tthis.timeTitle= \"Current Selected plugin\"\n\t\t\t\t\tthis.timeInOutSpanOk = true;\n\t\t\t\t}\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (this.ps.isErrNotFound(err)) {\n\t\t\t\t\tthis.msg.warning(this.ps.getUserError(err));\n\t\t\t\t} else {\n\t\t\t\t\tif (this.ps.isErrUnauthorized(err)) {\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tupdateRegistration(): Error {\n\t\tthis.ps.registrationUpdateApi(this.acctNumber,this.data.id, this.viewToRequest(this.data))\n\t\t.subscribe(res => {\n\t\t\tthis.regId = res.id;\n\t\t}, err => {\n\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\treturn e;\n\t\t});\n\t\treturn null;\n\t}\n\n}\n","export class RegistrationFind {\n id: number;\n districtAcctNumber: number;\n\n constructor() {\n this.id = 0;\n this.districtAcctNumber = 0;\n }\n}","export class RegistrationRequest {\n\tpowerschoolApiUrl: string;\n\toauthVersion: string;\n\toauthClientId: string;\n\toauthClientSecret: string;\n\tsyncCrunJob: string;\n\toauthTokenEndpoint: string;\n\tpluginVersion: string;\n\ttimezone: string;\n\n\tconstructor() {\n\t\tthis.powerschoolApiUrl = '';\n\t\tthis.oauthVersion = '';\n\t\tthis.oauthClientId = '';\n\t\tthis.oauthClientSecret = '';\n\t\tthis.syncCrunJob = '0 22 * * *';\n\t\tthis.oauthTokenEndpoint = '';\n\t\tthis.pluginVersion = '';\n\t\tthis.timezone = '';\n\t}\n}\n","export class RegistrationSyncRequest {\n status: string;\n syncCrunJob: string;\n\n constructor() {\n this.status = '';\n this.syncCrunJob = '';\n }\n}","export class SchoolMapView {\n id: number;\n schoolAcctNumber: number;\n iakSchoolName: string;\n powerschoolSchoolId: number;\n syncMappingSettings: number;\n updatedAt: Date;\n\n constructor() {\n this.id = 0;\n this.schoolAcctNumber = 0;\n this.iakSchoolName = '';\n this.powerschoolSchoolId = 0;\n this.syncMappingSettings = 0;\n this.updatedAt = new Date();\n }\n}\n","\n
\n\t\t\t\t
\n\t\t\t\t\t \n \n Go Back\n
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t \t\t
\n \n\t\t\t\t
\n
\n\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t \n\t\t\t
\n\t\t\t
\n\t\t\t
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\t\t\t\t\t\t\t\t\t\t \n \n \n \n
School NumberIdentakid SchoolPowerSchoolSync Mapping SettingsChanged AtActions
{{ HexAcctNumber(row.schoolAcctNumber) }}{{ row.iakSchoolName }}\n
\n {{ orgName(row.powerschoolSchoolId) }}\n
\n \n\t\t\t\t\t\t\t\t\t\t
\n
\n {{ syncName(row.syncMappingSettings) }}\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n
\n
\n {{ isDateSet(row.updatedAt) ? (row.updatedAt | date: 'MM/dd/y HH:mm') : ''}}\n
\n
\n
\n\t\t\t\t\t\t\t\t\t\t\t\t Edit\n\t\t\t\t\t\t\t\t\t\t\t\t | \n\t\t\t\t\t\t\t\t\t\t\t\t Unmap\n\t\t\t\t\t\t\t\t\t\t\t\t
\n
\n Save\n | \n Cancel\n
\n
\n
\n
\n
\n ","/// \nimport { OnInit, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppTitle } from './title';\nimport { PowerSchoolService } from './powerschool.service';\nimport { Alert } from './alert';\nimport { Registration } from './registration';\nimport { User } from './user';\nimport { validateToken } from './account.service';\nimport { RegistrationFind } from './registration_find';\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\nimport { controlErrors } from './app.validators';\nimport { trimReturnKey } from './strings';\nimport { RegistrationRequest } from './registration_request';\nimport { SchoolAccount } from './school_account';\nimport { AccountAssociation } from './account_association';\nimport { Organization } from './organization';\nimport { SchoolMapView } from './school_map_view';\nimport { DropdownOption } from './dropdown_option';\nimport { isDateSet } from './date_helper';\nimport { Observable } from 'rxjs';\nimport { AccountAssociationRequest } from './account_association_request';\nimport { FindAccountAssociation } from './account_association_find';\nimport { FindOrganization } from './find_organization';\nimport { throws } from 'assert';\nimport { FindSyncMappingSettings } from './find_sync_mapping_settings';\nimport { SyncMappingSettings } from './sync_mapping_settings';\nimport { parse } from 'querystring';\nimport { hexAcctNumber } from './settings_helper';\n\n@Component({\n\tselector: 'school-mapping',\n\tstyles: [`\n .mt2 {\n margin-top: 15px;\n\t\t }\n `],\n\ttemplate: `\n
\n\t\t\t\t
\n\t\t\t\t\t \n \n Go Back\n
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t \t\t
\n \n\t\t\t\t
\n
\n\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t \n\t\t\t
\n\t\t\t
\n\t\t\t
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\t\t\t\t\t\t\t\t\t\t \n \n \n \n
School NumberIdentakid SchoolPowerSchoolSync Mapping SettingsChanged AtActions
{{ HexAcctNumber(row.schoolAcctNumber) }}{{ row.iakSchoolName }}\n
\n {{ orgName(row.powerschoolSchoolId) }}\n
\n \n\t\t\t\t\t\t\t\t\t\t
\n
\n {{ syncName(row.syncMappingSettings) }}\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n
\n
\n {{ isDateSet(row.updatedAt) ? (row.updatedAt | date: 'MM/dd/y HH:mm') : ''}}\n
\n
\n
\n\t\t\t\t\t\t\t\t\t\t\t\t Edit\n\t\t\t\t\t\t\t\t\t\t\t\t | \n\t\t\t\t\t\t\t\t\t\t\t\t Unmap\n\t\t\t\t\t\t\t\t\t\t\t\t
\n
\n Save\n | \n Cancel\n
\n
\n
\n
\n
\n `\n})\n\nexport class SchoolMappingComponent implements OnInit {\n\tmsg: Alert;\n\tmsgHead: Alert;\n\tacctNumber: string;\n\thasAccess: boolean;\n\tmaxPageSize: number;\n\tidParam: string;\n\tform: FormGroup;\n\tdata: AccountAssociation[];\n\tschools: SchoolAccount[];\n\tsaveCount: number;\n\torganizations: Organization[];\n\tschoolMapView: SchoolMapView[];\n\torgsDropdown: DropdownOption[];\n\tsyncMappingSettings: SyncMappingSettings[];\n\tsettingsDropDown: DropdownOption[];\n\tcurrentRow: SchoolMapView;\n\toriginalRow: SchoolMapView;\n\teditModeForMap: number;\n\tmsgYesNo: Alert;\n\tidIndex: number;\n\tdisableOrganization: boolean;\n\n\tconstructor(private router: Router, private ps: PowerSchoolService, private title: AppTitle, private activatedRoute: ActivatedRoute, fb: FormBuilder) {\n\t\tthis.hasAccess = true;\n\t\tthis.msg = new Alert();\n\t\tthis.msgHead = new Alert();\n\t\ttitle.setTitles({\n\t\t\ttitle: 'School Mapping',\n\t\t\tdashboard: 'School Mapping'\n\t\t});\n\t\tthis.saveCount = 1;\n\n\t\tthis.schools = [];\n\t\tthis.data = [];\n\t\tthis.schoolMapView = [];\n\t\tthis.orgsDropdown = [];\n\t\tthis.settingsDropDown = [];\n\t\tthis.currentRow = new SchoolMapView();\n\t\tthis.msgYesNo = new Alert();\n\t\tthis.idIndex = 0;\n\t\tthis.disableOrganization = false;\n\t}\n\n\tngOnInit() {\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n\t\tthis.idParam = this.activatedRoute.snapshot.params['id'];\n\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'Registration ', link: `/settings/${this.acctNumber}/registration` },\n\t\t\t{ title: this.idParam + ' ', link: `` },\n\t\t\t{ title: 'School Mapping', link: `` }\n\t\t]);\n\n\t\tif (this.acctNumber != null) {\n\t\t\tthis.ps.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t})\n\t\t}\n\n\t\tlet forg = new FindOrganization();\n\t\tforg.registrationId = parseInt(this.idParam);\n\t\tthis.ps.organizationFindApi(this.acctNumber, forg)\n\t\t\t.subscribe((rows: Organization[]) => {\n\t\t\t\tthis.msg.close();\n\t\t\t\tthis.organizations = rows;\n\n\t\t\t\t// populate orgs dropdown\n\t\t\t\tif (rows.length > 0) {\n\t\t\t\t\tfor (let org of this.organizations) {\n\t\t\t\t\t\tthis.orgsDropdown.push({\n\t\t\t\t\t\t\tid: org.id.toString(),\n\t\t\t\t\t\t\ttitle: org.name,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t//This will sort all powerschool schools based on schoolname\n\t\t\t\tthis.orgsDropdown.sort((a, b) => a.title.localeCompare(b.title))\n\t\t\t\t// The first line need to be always None\n\t\t\t\tthis.orgsDropdown.unshift({\n\t\t\t\t\tid: '0',\n\t\t\t\t\ttitle: 'None',\n\t\t\t\t});\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (this.ps.isErrUnauthorized(err)) {\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis.loadSyncSettings();\n\t\tthis.loadData();\n\t}\n\n\tisEditMode(idx: number) {\n\t\tif (this.editModeForMap === idx) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisRowMapped(orid: number) {\n\t\treturn orid != 0;\n\t}\n\n\tHexAcctNumber(num: number): string{\n\t\treturn hexAcctNumber(num);\n\t}\n\tloadSyncSettings(){\n\t\tlet fsms = new FindSyncMappingSettings();\n\t\tfsms.registrationId = parseInt(this.idParam);\n\t\tfsms.pageSize = 100;\n\t\tthis.ps.syncMappingSettings(this.acctNumber, fsms)\n\t\t\t.subscribe((rows: SyncMappingSettings[]) => {\n\t\t\t\tthis.msg.close();\n\t\t\t\tthis.syncMappingSettings = rows;\n\n\t\t\t\t// populate orgs dropdown\n\t\t\t\tif (rows.length > 0) {\n\t\t\t\t\tthis.settingsDropDown = []\n\t\t\t\t\tthis.settingsDropDown.push({\n\t\t\t\t\t\tid: '-1',\n\t\t\t\t\t\ttitle: 'None',\n\t\t\t\t\t});\n\t\t\t\t\tfor (let sms of this.syncMappingSettings) {\n\t\t\t\t\t\tthis.settingsDropDown.push({\n\t\t\t\t\t\t\tid: sms.id.toString(),\n\t\t\t\t\t\t\ttitle: sms.name,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.defaultTemplates();\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (this.ps.isErrUnauthorized(err)) {\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t} else if (this.ps.isErrNotFound(err)) {\n\t\t\t\t\tthis.syncMappingSettings = [];\n\t\t\t\t\tthis.settingsDropDown = [];\n\t\t\t\t\tthis.defaultTemplates();\n\t\t\t\t} else{\n\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tloadData() {\n\t\tthis.schoolMapView = [];\n\t\tthis.ps.districtAccountAssociationFindApi(this.acctNumber)\n\t\t\t.subscribe((rows: SchoolAccount[]) => {\n\t\t\t\tthis.msg.close();\n\t\t\t\tthis.schools = rows;\n\n\t\t\t\t// render district schools\n\t\t\t\tfor (let sch of this.schools) {\n\t\t\t\t\tif (sch.enabled) {\n\t\t\t\t\t\tthis.schoolMapView.push({\n\t\t\t\t\t\t\tid: 0,\n\t\t\t\t\t\t\tschoolAcctNumber: sch.acctNumber,\n\t\t\t\t\t\t\tiakSchoolName: sch.organizationName,\n\t\t\t\t\t\t\tpowerschoolSchoolId: 0,\n\t\t\t\t\t\t\tsyncMappingSettings: -1,\n\t\t\t\t\t\t\tupdatedAt: new Date(1, 1, 1),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t//This will sort all powerschool schools based on schoolname\n\t\t\t\tthis.schoolMapView.sort((a, b) => a.iakSchoolName.localeCompare(b.iakSchoolName))\n\n\t\t\t\tlet findReq = new FindAccountAssociation();\n\t\t\t\tfindReq.registrationId = parseInt(this.idParam);\n\t\t\t\tthis.ps.accountAssociationFindApi(this.acctNumber, findReq)\n\t\t\t\t\t.subscribe((rows: AccountAssociation[]) => {\n\t\t\t\t\t\tthis.msg.close();\n\t\t\t\t\t\tthis.data = rows;\n\n\t\t\t\t\t\t// render current mapping\n\t\t\t\t\t\tfor (let accs of this.data) {\n\t\t\t\t\t\t\tfor (let smv of this.schoolMapView) {\n\t\t\t\t\t\t\t\tif (accs.acctNumber == smv.schoolAcctNumber) {\n\t\t\t\t\t\t\t\t\tsmv.id = accs.id;\n\t\t\t\t\t\t\t\t\tsmv.schoolAcctNumber = accs.acctNumber;\n\t\t\t\t\t\t\t\t\tsmv.iakSchoolName = smv.iakSchoolName;\n\t\t\t\t\t\t\t\t\tsmv.powerschoolSchoolId = accs.organizationId;\n\t\t\t\t\t\t\t\t\tsmv.syncMappingSettings = accs.syncMappingSettings;\n\t\t\t\t\t\t\t\t\tsmv.updatedAt = accs.updatedAt;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\tif (this.ps.isErrUnauthorized(err)) {\n\t\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t\t\t} else if (!this.ps.isErrNotFound(err)) {\n\t\t\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (this.ps.isErrNotFound(err)) {\n\t\t\t\t\tthis.msg.warning(this.ps.getUserError(err));\n\t\t\t\t} else {\n\t\t\t\t\tif (this.ps.isErrUnauthorized(err)) {\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\torgName(orgId: number): string {\n\t\tfor (let org of this.organizations) {\n\t\t\tif (org.id == orgId) {\n\t\t\t\treturn org.name;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n\n\tsyncName(smsId: number): string {\n\t\tfor (let sms of this.syncMappingSettings) {\n\t\t\tif (sms.id == smsId) {\n\t\t\t\treturn sms.name;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n\n\tedit(row: SchoolMapView, idx: number) {\n\t\tthis.disableOrganization = false;\n\t\tthis.originalRow = new SchoolMapView();\n\t\tif (row.powerschoolSchoolId != 0) {\n\t\t\tthis.disableOrganization = true;\n\t\t\tthis.originalRow.id = row.id;\n\t\t\tthis.originalRow.schoolAcctNumber = row.schoolAcctNumber;\n\t\t\tthis.originalRow.iakSchoolName = row.iakSchoolName;\n\t\t\tthis.originalRow.powerschoolSchoolId = row.powerschoolSchoolId;\n\t\t\tthis.originalRow.syncMappingSettings = row.syncMappingSettings;\n\t\t\tthis.originalRow.updatedAt = row.updatedAt;\n\t\t}\n\t\tthis.currentRow = row;\n\t\tthis.editModeForMap = idx;\n\t}\n\n\tcancel() {\n\t\tthis.revertChanges();\n\t\tthis.msgYesNo.close();\n\t\tthis.editModeForMap = -1;\n\t}\n\n\trevertChanges() {\n\t\tif (this.originalRow.id != 0) {\n\t\t\tthis.currentRow.id = this.originalRow.id;\n\t\t\tthis.currentRow.schoolAcctNumber = this.originalRow.schoolAcctNumber;\n\t\t\tthis.currentRow.iakSchoolName = this.originalRow.iakSchoolName;\n\t\t\tthis.currentRow.powerschoolSchoolId = this.originalRow.powerschoolSchoolId;\n\t\t\tthis.currentRow.syncMappingSettings = this.originalRow.syncMappingSettings;\n\t\t\tthis.currentRow.updatedAt = this.originalRow.updatedAt;\n\t\t\treturn\n\t\t}\n\t\tthis.currentRow.powerschoolSchoolId = 0\n\t\tthis.currentRow.syncMappingSettings = -1;\n\t}\n\n\tviewToRequest(r: SchoolMapView): AccountAssociationRequest {\n\t\tlet ret = new AccountAssociationRequest();\n\t\tret.registrationId = parseInt(this.idParam);\n\t\tret.acctNumber = r.schoolAcctNumber;\n\t\tret.organizationId = parseInt(r.powerschoolSchoolId.toString());\n\t\tret.syncMappingSettings = parseInt(r.syncMappingSettings.toString());\n\t\treturn ret;\n\t}\n\n\tsave(row: SchoolMapView, idx: number) {\n\t\tthis.currentRow = row;\n\t\t// handle update\n\t\tif (this.originalRow.powerschoolSchoolId != 0 && (this.currentRow.powerschoolSchoolId != this.originalRow.powerschoolSchoolId || this.currentRow.syncMappingSettings != this.originalRow.syncMappingSettings )) {\n\t\t\tif (this.currentRow.id != 0) {\n\t\t\t\tthis.ps.accountAssociationUpdateApi(this.acctNumber, this.currentRow.id, this.viewToRequest(this.currentRow))\n\t\t\t\t\t.subscribe(res => {\n\t\t\t\t\t\tlet saveMessage = this.ps.getDefaultSaveMessage();\n\t\t\t\t\t\tif (this.saveCount > 1) {\n\t\t\t\t\t\t\tsaveMessage += ` (${this.saveCount})`\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.saveCount++;\n\n\t\t\t\t\t\tthis.editModeForMap = -1;\n\t\t\t\t\t\tthis.currentRow = new SchoolMapView();\n\t\t\t\t\t\tthis.originalRow = new SchoolMapView();\n\t\t\t\t\t\tthis.msg.success(saveMessage);\n\t\t\t\t\t\tthis.loadSyncSettings();\n\t\t\t\t\t\tthis.loadData();\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tthis.scrollIntoView(idx);\n\t\t\t\t\t\t}, 300);\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\tthis.cancel();\n\t\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\t\tthis.msg.error(e);\n\t\t\t\t\t});\n\t\t\t}\n\t\t} else if (this.originalRow.powerschoolSchoolId == 0) {\n\t\t\tthis.ps.accountAssociationAddApi(this.acctNumber, this.viewToRequest(this.currentRow))\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tlet saveMessage = this.ps.getDefaultSaveMessage();\n\t\t\t\t\tif (this.saveCount > 1) {\n\t\t\t\t\t\tsaveMessage += ` (${this.saveCount})`\n\t\t\t\t\t}\n\t\t\t\t\tthis.saveCount++;\n\t\t\t\t\tthis.msg.success(saveMessage);\n\n\t\t\t\t\tthis.editModeForMap = -1;\n\t\t\t\t\tthis.currentRow = new SchoolMapView();\n\t\t\t\t\tthis.originalRow = new SchoolMapView();\n\t\t\t\t\tthis.loadSyncSettings();\n\t\t\t\t\tthis.loadData();\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.scrollIntoView(idx);\n\t\t\t\t\t}, 300);\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msg.error(e);\n\t\t\t\t});\n\t\t}\n\t\tthis.editModeForMap = -1;\n\t}\n\n\trefresh() {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.loadData();\n\t\tthis.msg.close();\n\t}\n\n\tgoBack() {\n\t\tthis.router.navigate([`/settings/${this.acctNumber}/registration`]);\n\t\treturn;\n\t}\n\tsettingsPage(){\n\t\tthis.router.navigate([`/settings/${this.acctNumber}/registration/${this.idParam}/school-mapping/settings`]);\n\t\treturn;\n\t}\n\n\tisDateSet(d: Date): boolean {\n\t\tif (d && typeof (d) === \"object\" && d.getFullYear() > 1901) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tdefaultTemplates(){\n\t\t//\"Sync All\", \"Sync Students Only\", \"Sync Students Attendance\"\n\t\t// Sync Settings -1 is none selected.\n\n\t\tvar checkSyncAll = this.syncMappingSettings.filter(sms => (sms.name ==='Sync All'))\n\t\tif (checkSyncAll.length == 0) {\n\t\t\tthis.settingsDropDown.push({\n\t\t\t\tid: '-2',\n\t\t\t\ttitle: 'Sync All',\n\t\t\t})\n\t\t}\n\n\t\tvar checkSyncAll = this.syncMappingSettings.filter(sms => (sms.name ==='Sync Students Only'))\n\t\tif (checkSyncAll.length == 0) {\n\t\t\tthis.settingsDropDown.push({\n\t\t\t\tid: '-3',\n\t\t\t\ttitle: 'Sync Students Only',\n\t\t\t})\n\t\t}\n\n\t\tvar checkSyncAll = this.syncMappingSettings.filter(sms => (sms.name ==='Sync Students Attendance'))\n\t\tif (checkSyncAll.length == 0) {\n\t\t\tthis.settingsDropDown.push({\n\t\t\t\tid: '-4',\n\t\t\t\ttitle: 'Sync Students Attendance',\n\t\t\t})\n\t\t}\n\t\tvar checkSyncAll = this.syncMappingSettings.filter(sms => (sms.name ==='Sync All Except Attendance Codes'))\n\t\tif (checkSyncAll.length == 0) {\n\t\t\tthis.settingsDropDown.push({\n\t\t\t\tid: '-5',\n\t\t\t\ttitle: 'Sync All Except Attendance Codes',\n\t\t\t})\n\t\t}\n\n\t}\n\n\tshowYesNoMsg(row: SchoolMapView,id: number){\n\t\tif (row.powerschoolSchoolId == 0) {\n\t\t\treturn;\n\t\t}\n\t\tthis.msgYesNo.close();\n\t\tthis.originalRow = new SchoolMapView();\n\t\tif (row.powerschoolSchoolId != 0) {\n\t\t\tthis.originalRow.id = row.id;\n\t\t\tthis.originalRow.schoolAcctNumber = row.schoolAcctNumber;\n\t\t\tthis.originalRow.iakSchoolName = row.iakSchoolName;\n\t\t\tthis.originalRow.powerschoolSchoolId = row.powerschoolSchoolId;\n\t\t\tthis.originalRow.syncMappingSettings = row.syncMappingSettings;\n\t\t\tthis.originalRow.updatedAt = row.updatedAt;\n\t\t}\n\t\tthis.currentRow = row\n\t\tthis.idIndex = id\n\t\tthis.msgYesNo.warningHtml(`This change will remove all records from the Student and Student Contact lists in your School Manager. New lists will then be imported in. Are you sure you want to make this change? `);\n\t\t\tdocument.getElementById('alertYesNo').scrollIntoView({\n\t\t\t\tbehavior: \"smooth\",\n\t\t\t\tblock: \"start\",\n\t\t\t\tinline: \"nearest\"\n\t\t\t });\n\t}\n\n\tmsgYesNoRespond(respond: any) {\n\t\tif (respond == 'yes') {\n\t\t\tthis.msgYesNo.close();\n\t\t\tthis.unmap(this.idIndex);\n\t\t} else if (respond == 'no') {\n\t\t\tthis.msgYesNo.close();\n\t\t\tthis.cancel();\n\t\t}\n\t}\n\n\tunmap(idx: number){\n\t\t// handle delete\n\t\tif (this.originalRow.powerschoolSchoolId != 0) {\n\t\t\tthis.ps.accountAssociationRemoveApi(this.acctNumber, this.currentRow.id)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tlet saveMessage = this.ps.getDefaultSaveMessage();\n\t\t\t\t\tif (this.saveCount > 1) {\n\t\t\t\t\t\tsaveMessage += ` (${this.saveCount})`\n\t\t\t\t\t}\n\t\t\t\t\tthis.saveCount++;\n\t\t\t\t\tthis.msg.success(saveMessage);\n\n\t\t\t\t\t// remove accountassociation from mapping view\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.schoolMapView[idx].id = 0;\n\t\t\t\t\t\tthis.schoolMapView[idx].powerschoolSchoolId = 0;\n\t\t\t\t\t\tthis.schoolMapView[idx].syncMappingSettings = -1;\n\t\t\t\t\t\tthis.schoolMapView[idx].updatedAt = new Date(1, 1, 1);\n\t\t\t\t\t}, 300);\n\n\t\t\t\t\tthis.currentRow = new SchoolMapView();\n\t\t\t\t\tthis.originalRow = new SchoolMapView();\n\t\t\t\t\tthis.editModeForMap = -1;\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msg.error(e);\n\t\t\t\t});\n\t\t\t\tthis.refresh();\n\t\t}\n\t}\n\n\n\tscrollIntoView(id: number) {\n\t\tdocument.getElementById('smv-' + id).scrollIntoView({\n\t\t\tbehavior: 'smooth',\n\t\t\tblock: 'start',\n\t\t\tinline: 'nearest'\n\t\t });\n\t}\n}\n","\nexport function hexAcctNumber(num: number): string {\n\t//sign >>> is Zero-fill right shift\n\treturn leftPad((num >>> 0).toString(16), 8, '0').toUpperCase();\n}\n\nexport function leftPad(val: string, size: number, ch: string): string {\n\tvar result = String(val);\n\tif (!ch) {\n\t\tch = \" \";\n\t}\n\twhile (result.length < size) {\n\t\tresult = ch + result;\n\t}\n\treturn result;\n}\n","export function trimReturnKey(text: string): string {\n\tlet s = text.trim().replace(/\\r?\\n/g, '');\n\treturn s;\n}\n","\n
\n\n

Sync Status

\n
.
\n\n\t\t\t

Next Scheduled Sync: {{data.syncCronJobTimerFmt}}

\n\t\t\t

Job Time Zone: {{data.timezoneFmt}}

\n

Number of Students: {{data.studentCount}}

\n

Number of Students Contacts: {{data.studentContactCount}}

\n\t\t\t\t

Number of Organization: {{data.organizationCount}}

\n\t\t\t\t

Number of Attendance: {{data.attendanceCount}}

\n\t\t\t\t

Number of Attendance Code: {{data.attendanceCodeCount}}

\n

Last Sync At: {{data.lastSyncedAtFmt}}

\n

Sync Error: {{data.lastSyncError != \"\" ? data.lastSyncError : 'No errors'}}

\n\t\t\t\t

Last Sync Error At: {{data.lastSyncErrorAtFmt}}

\n

Sync Status: {{syncStatusTitle}}

\n\n
\n \n Refresh\n Go Back\n
\n\n
\n \n
\n
\n ","/// \nimport { OnInit, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppTitle } from './title';\nimport { PowerSchoolService } from './powerschool.service';\nimport { Alert } from './alert';\nimport { Registration } from './registration';\nimport { User } from './user';\nimport { validateToken } from './account.service';\nimport { RegistrationFind } from './registration_find';\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\nimport { controlErrors } from './app.validators';\nimport { trimReturnKey } from './strings';\nimport { RegistrationRequest } from './registration_request';\nimport { FindAccountAssociation } from './account_association_find';\nimport { RegistrationSyncRequest } from './registration_sync_request';\nimport { isDateSet, dateFormat } from './date_helper';\n\n@Component({\n\tselector: 'sync',\n\tstyles: [`\n .tag {\n margin-right:2px;\n background-color:#9dbd9e;\n border-radius:4px;\n padding:5px;\n }\n .tag-close {\n margin-left:5px;\n cursor: pointer;\n }\n .mt2 {\n margin-top: 15px;\n }\n `],\n\ttemplate: `\n
\n\n

Sync Status

\n
.
\n\n\t\t\t

Next Scheduled Sync: {{data.syncCronJobTimerFmt}}

\n\t\t\t

Job Time Zone: {{data.timezoneFmt}}

\n

Number of Students: {{data.studentCount}}

\n

Number of Students Contacts: {{data.studentContactCount}}

\n\t\t\t\t

Number of Organization: {{data.organizationCount}}

\n\t\t\t\t

Number of Attendance: {{data.attendanceCount}}

\n\t\t\t\t

Number of Attendance Code: {{data.attendanceCodeCount}}

\n

Last Sync At: {{data.lastSyncedAtFmt}}

\n

Sync Error: {{data.lastSyncError != \"\" ? data.lastSyncError : 'No errors'}}

\n\t\t\t\t

Last Sync Error At: {{data.lastSyncErrorAtFmt}}

\n

Sync Status: {{syncStatusTitle}}

\n\n
\n \n Refresh\n Go Back\n
\n\n
\n \n
\n
\n `\n})\n\nexport class SyncComponent implements OnInit {\n\tmsg: Alert;\n\tmsgHead: Alert;\n\tacctNumber: string;\n\thasAccess: boolean;\n\tmaxPageSize: number;\n\tidParam: string;\n\tdata: Registration;\n\tsaveCount: number;\n\tsaveTitle: string; // is for button title only\n\tsyncStatusTitle: string; // is for displaying sync status only\n\tsyncStatus: string; // is real status value\n\tshowSaveButton: boolean;\n\n\tconstructor(private router: Router, private ps: PowerSchoolService, private title: AppTitle, private activatedRoute: ActivatedRoute) {\n\t\tthis.hasAccess = true;\n\t\tthis.msg = new Alert();\n\t\tthis.msgHead = new Alert();\n\t\ttitle.setTitles({\n\t\t\ttitle: 'Registration Sync',\n\t\t\tdashboard: 'Registration Sync'\n\t\t});\n\t\tthis.saveCount = 1;\n\n\t\tthis.data = new Registration();\n\t\tthis.saveTitle = '';\n\t\tthis.syncStatusTitle = '';\n\t\tthis.syncStatus = '';\n\t\tthis.showSaveButton = false;\n\t}\n\n\tngOnInit() {\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n\t\tthis.idParam = this.activatedRoute.snapshot.params['id'];\n\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'Registration ', link: `/settings/${this.acctNumber}/registration` },\n\t\t\t{ title: this.idParam + ' ', link: `` },\n\t\t\t{ title: 'Sync', link: `` }\n\t\t]);\n\n\t\tif (this.acctNumber != null) {\n\t\t\tthis.ps.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this district number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t})\n\t\t}\n\t\tthis.loadData();\n\t}\n\n\tloadData() {\n\t\tlet find = new RegistrationFind();\n\t\tfind.id = parseInt(this.idParam);\n\n\t\tthis.ps.registrationFindApi(this.acctNumber, find)\n\t\t\t.subscribe((rows: Registration[]) => {\n\t\t\t\tthis.msg.close();\n\t\t\t\tthis.data = rows[0];\n\n\t\t\t\tthis.saveTitle = this.statusSaveTitle(this.data.syncStatus);\n\t\t\t\tthis.showSaveButton = false;\n\t\t\t\tif (this.data.syncStatus !== 'disabled') {\n\t\t\t\t\tthis.showSaveButton = true;\n\t\t\t\t}\n\t\t\t\tconsole.log(this.showSaveButton);\n\t\t\t\tthis.syncStatus = this.data.syncStatus;\n\t\t\t\tthis.syncStatusTitle = this.data.syncStatus;\n\n\t\t\t\tthis.checkForAccountAssociation();\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (this.ps.isErrNotFound(err)) {\n\t\t\t\t\tthis.msg.warning(this.ps.getUserError(err));\n\t\t\t\t} else {\n\t\t\t\t\tif (this.ps.isErrUnauthorized(err)) {\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tcheckForAccountAssociation() {\n\t\tlet findc = new FindAccountAssociation();\n\t\tfindc.registrationId = parseInt(this.idParam);\n\t\tthis.ps.accountAssociationFindCountApi(this.acctNumber, findc)\n\t\t\t.subscribe((row) => {\n\t\t\t\tif (row.count == 0) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.msg.warningHtml(\"School Mapping not completed for this registration!\")\n\t\t\t\t\t}, 500);\n\t\t\t\t}\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (this.ps.isErrNotFound(err)) {\n\t\t\t\t\tthis.msg.warning(this.ps.getUserError(err));\n\t\t\t\t} else {\n\t\t\t\t\tif (this.ps.isErrUnauthorized(err)) {\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.msg.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tviewToRequest(r: Registration): RegistrationRequest {\n\t\tlet ret = new RegistrationRequest();\n\t\tret.syncCrunJob = trimReturnKey(r.syncCrunJob);\n\t\tret.powerschoolApiUrl = trimReturnKey(r.powerschoolApiUrl);\n\t\tret.oauthClientId = trimReturnKey(r.oauthClientId);\n\t\tret.oauthClientSecret = trimReturnKey(r.oauthClientSecret);\n\t\treturn ret;\n\t}\n\n\tsave() {\n\n\t\tlet regSyncRequest = new RegistrationSyncRequest();\n\t\tregSyncRequest.status = this.syncStatus;\n\n\t\tswitch (regSyncRequest.status) {\n\t\t\tcase 'initialized':\n\t\t\tcase 'error':\n\t\t\tcase 'stopped':\n\t\t\t\tregSyncRequest.status = 'starting';\n\t\t\t\tbreak;\n\t\t\tcase 'started':\n\t\t\t\tregSyncRequest.status = 'stopping';\n\t\t\t\tbreak;\n\t\t\t// when status is pending then we need to allow user to stop the process\n\t\t\tcase 'starting':\n\t\t\tcase 'initializing':\n\t\t\tcase 'stopping':\n\t\t\t\tregSyncRequest.status = 'stopping';\n\t\t\t\tbreak;\n\t\t\tcase '':\n\t\t\tcase 'error-initializing':\n\t\t\t\tregSyncRequest.status = 'initializing';\n\t\t\t\tbreak;\n\t\t\tcase 'resyncing':\n\t\t\t\tregSyncRequest.status = 'resyncing';\n\t\t\t\tthis.msg.close();\n\t\t\t\tthis.msg.info('This registration is currently syncing with latest data.')\n\t\t\t\treturn;\n\n\t\t\tdefault:\n\n\t\t}\n\t\tconsole.log(regSyncRequest);\n\n\t\tthis.ps.registrationSyncApi(this.acctNumber, this.data.id, regSyncRequest)\n\t\t\t.subscribe(res => {\n\t\t\t\tlet saveMessage = this.ps.getDefaultSaveMessage();\n\t\t\t\tif (this.saveCount > 1) {\n\t\t\t\t\tsaveMessage += ` (${this.saveCount})`\n\t\t\t\t}\n\t\t\t\tthis.saveCount++;\n\t\t\t\tthis.msg.success(saveMessage);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.loadData();\n\t\t\t\t}, 1000);\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\tthis.msg.error(e);\n\t\t\t});\n\t}\n\n\tstatusSaveTitle(st: string): string {\n\t\tswitch (st) {\n\t\t\tcase '':\n\t\t\tcase 'error-initializing':\n\t\t\t\treturn 'Start Initialization';\n\t\t\tcase 'initializing':\n\t\t\t\treturn 'Stop Initialization';\n\t\t\tcase 'stopped':\n\t\t\tcase 'initialized':\n\t\t\tcase 'error':\n\t\t\t\treturn 'Start Syncing';\n\t\t\tcase 'starting':\n\t\t\tcase 'stopping':\n\t\t\tcase 'started':\n\t\t\t\treturn 'Stop Syncing';\n\t\t\tcase 'disabled':\n\t\t\t\treturn 'Disabled';\n\t\t\tcase 'resyncing':\n\t\t\t\treturn 'Resyncing';\n\t\t}\n\t\treturn '';\n\t}\n\n\trefresh() {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.loadData();\n\t\tthis.msg.close();\n\t}\n\n\tgoBack() {\n\t\tthis.router.navigate([`/settings/${this.acctNumber}/registration`]);\n\t\treturn;\n\t}\n\n\tdisplayErrors(f: FormGroup) {\n\t\tvar message = '';\n\t\tcontrolErrors(f, (c: any, err: any) => {\n\t\t\tmessage += err + '
';\n\t\t});\n\t\tthis.msg.errorHtml(message);\n\t}\n\n\tprintDate(d: Date): string {\n\t\tlet df = '01/02/2006 03:04 PM';\n\t\tif (isDateSet(d)) {\n\t\t\treturn dateFormat(d, df);\n\t\t}\n\t\treturn '';\n\t}\n}\n","\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t \t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\tGo Back\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t
NameChangedAtActions
{{row.name}}{{row.changed_at | date:\"MM/dd/yyyy, hh:mm a\"}}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t Edit |\n\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t \t\t
\n\t\t
\n\t\t
0\" style=\"\">\n\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t{{getFromPage()}}-{{getToPage()}} of {{rowCount}}\n\t\t\t\t\n\t\t
\n\t
\n ","\n\n/// \nimport { OnInit, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppTitle } from './title';\nimport { PowerSchoolService } from './powerschool.service';\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\nimport { Alert } from './alert';\nimport { SyncMappingSettings } from './sync_mapping_settings';\nimport { FindSyncMappingSettings } from './find_sync_mapping_settings';\nimport { validateToken } from './account.service';\n\n@Component({\n\tselector: 'sync',\n\tstyles: [`\n .tag {\n margin-right:2px;\n background-color:#9dbd9e;\n border-radius:4px;\n padding:5px;\n }\n .tag-close {\n margin-left:5px;\n cursor: pointer;\n }\n .mt2 {\n margin-top: 15px;\n }\n `],\n\ttemplate: `\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t \t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\tGo Back\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t
NameChangedAtActions
{{row.name}}{{row.changed_at | date:\"MM/dd/yyyy, hh:mm a\"}}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t Edit |\n\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t \t\t
\n\t\t
\n\t\t
0\" style=\"\">\n\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t{{getFromPage()}}-{{getToPage()}} of {{rowCount}}\n\t\t\t\t\n\t\t
\n\t
\n `\n})\n\nexport class SyncMappingSettingsComponent implements OnInit {\n\tmsgHead: Alert;\n\tacctNumber: string;\n\tregistrationId: string;\n\thasAccess: boolean;\n\tmaxPageSize: number;\n\trowCount: number;\n\tfromPage: number;\n\ttoPage: number;\n\tform: FormGroup;\n\tfobj: FindSyncMappingSettings;\n\tdata: SyncMappingSettings[];\n\tsaveCount: number;\n\tdisablePreviousPage: boolean;\n\tdisableNextPage: boolean;\n\nconstructor(private router: Router, private ps: PowerSchoolService, private title: AppTitle, private activatedRoute: ActivatedRoute, fb: FormBuilder){\n\tthis.hasAccess = true;\n\tthis.msgHead = new Alert();\n\ttitle.setTitles({\n\t\ttitle: 'Sync Mapping Settings',\n\t\tdashboard: 'Sync Mapping Settings'\n\t});\n\tthis.saveCount = 1;\n\tthis.fobj = new FindSyncMappingSettings();\n\tthis.fobj.pageSize = 20;\n\tthis.fobj.page = 1;\n\tthis.fromPage = 0;\n\tthis.rowCount = 0;\n\n}\n\n\tngOnInit(){\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n\t\tthis.registrationId = this.activatedRoute.snapshot.params['id'];\n\t\tif (this.acctNumber != null) {\n\t\t\tthis.ps.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this school number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t});\n\t\t}\n\t\tthis.loadData();\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'School Mapping', link:`/settings/${this.acctNumber}/registration/${this.registrationId}/school-mapping`},\n\t\t\t{ title: 'Sync Mapping Settings List', link: '' },\n\t\t]);\n\t}\n\n\tloadData(){\n\t\tthis.data = [];\n\t\tthis.fobj.registrationId = parseInt(this.registrationId);\n\t\tthis.ps.syncMappingSettings(this.acctNumber, this.fobj).subscribe((rows: SyncMappingSettings[]) => {\n\t\t\tfor (let e of rows) {\n\t\t\t\tthis.data.push(e);\n\t\t\t}\n\t\t\tthis.rowCount = rows.length;\n\t\t\tthis.disablePreviousPage = this.fobj.page == 1;\n\t\t\tthis.maxPageSize = this.fobj.pageSize;\n\t\t\tif (this.data.length >= this.maxPageSize) {\n\t\t\t\tthis.fromPage = (this.maxPageSize * (this.fobj.page - 1)) + 1;\n\t\t\t\tthis.toPage = (this.maxPageSize * (this.fobj.page));\n\t\t\t} else {\n\t\t\t\tthis.fromPage = (this.maxPageSize * (this.fobj.page - 1)) + 1;\n\t\t\t}\n\n\t\t\tthis.ps.syncMappingSettingsCount(this.acctNumber, this.fobj).subscribe(resp => {\n\t\t\t\tlet count = resp.count;\n\t\t\t\tthis.rowCount = count;\n\t\t\t\tif (this.data.length < this.maxPageSize) {\n\t\t\t\t\tthis.toPage = count;\n\t\t\t\t}\n\t\t\t\tthis.disableNextPage = this.getToPage() >= count;\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (this.ps.isErrNotFound(err)) {\n\t\t\t\t\tthis.msgHead.warning(this.ps.getUserError(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msgHead.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t});\n\t\t}, err => {\n\t\t\tconsole.log(err);\n\t\t\tif (this.ps.isErrNotFound(err)) {\n\t\t\t\tthis.msgHead.warning(this.ps.getUserError(err));\n\t\t\t} else {\n\t\t\t\tif (this.ps.isErrUnauthorized(err)) {\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\tthis.msgHead.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msgHead.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tedit(row: SyncMappingSettings) {\n\t\tthis.router.navigate([`settings/${this.acctNumber}/registration/${this.registrationId}/school-mapping/settings/${row.id}/edit`]);\n\t}\n\n\taddNew() {\n\t\tthis.router.navigate([`/settings/${this.acctNumber}/registration/${this.registrationId}/school-mapping/settings/add`]);\n\t}\n\n\tgoBack() {\n\t\tthis.router.navigate([`/settings/${this.acctNumber}/registration/${this.registrationId}/school-mapping`]);\n\t}\n\n\tgetFromPage(): number {\n\t\treturn this.fromPage;\n\t}\n\n\tgetToPage(){\n\t\treturn this.toPage;\n\t}\n\n\tprevPage() {\n\t\tif (this.fobj.page > 1) {\n\t\t\tthis.fobj.page -= 1;\n\t\t\tthis.loadData()\n\t\t}\n\t}\n\n\tfirstPage() {\n\t\tif (this.fobj.page > 1) {\n\t\t\tthis.fobj.page = 1;\n\t\t\tthis.loadData()\n\t\t}\n\t}\n\n\tnextPage() {\n\t\tif (this.data.length >= this.maxPageSize) {\n\t\t\tthis.fobj.page = this.fobj.page + 1;\n\t\t\tthis.loadData()\n\t\t}\n\t}\n\tremove(row: SyncMappingSettings){\n\t\tthis.msgHead.close();\n\t\tthis.ps.syncMappingSettingsRemove(this.acctNumber, row)\n\t\t\t.subscribe(res => {\n\t\t\t\tthis.refresh();\n\t\t\t\tthis.msgHead.success('Successfully removed selected record.');\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\tthis.msgHead.error(e);\n\t\t\t});\n\t}\n\trefresh() {\n\t\tif (!validateToken()) {\n\t\t\tthis.router.navigate(['/login']);\n\t\t\treturn;\n\t\t}\n\t\tthis.msgHead.close();\n\t\tthis.fobj.page = 1;\n\t\tthis.loadData();\n\t}\n\n}\n","export class SyncMappingSettings {\n\tid: number;\n\tregistrationId: number;\n\tname: string;\n\tsettings: string;\n\tchangedAt: Date;\n\n\tconstructor() {\n\t\tthis.id = 0;\n\t\tthis.registrationId = 0;\n\t\tthis.name = '';\n\t\tthis.settings = '';\n\t\tthis.changedAt = new Date();\n\t}\n}\n","\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t \t\t
\n\t\t\t\t\t

Sync Mapping Settings

\n\t\t\t\t\t
.
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t \t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Name

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Sync Students

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Sync Student Contacts

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Sync Only Student Contacts with Pickup flag

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Sync Attendance

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Sync Attendance Codes

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Merge Student Contact By Name

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t
\n\n ","\n\n/// \nimport { OnInit, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppTitle } from './title';\nimport { PowerSchoolService } from './powerschool.service';\nimport { FormControl,FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Alert } from './alert';\nimport { SyncMappingSettings } from './sync_mapping_settings';\nimport { FindSyncMappingSettings } from './find_sync_mapping_settings';\nimport { AppValidators, controlErrors } from './app.validators';\n\n@Component({\n\tselector: 'sync',\n\tstyles: [`\n .tag {\n margin-right:2px;\n background-color:#9dbd9e;\n border-radius:4px;\n padding:5px;\n }\n .tag-close {\n margin-left:5px;\n cursor: pointer;\n }\n .mt2 {\n margin-top: 15px;\n }\n\t\t @media only screen and (max-width: 460px) {\n\t\t\t .textsplit {\n\t\t\t\t width: 200px;\n\t\t\t\t word-break: break-word;\n\t\t\t }\n\t\t\t}\n `],\n\ttemplate: `\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t \t\t
\n\t\t\t\t\t

Sync Mapping Settings

\n\t\t\t\t\t
.
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t \t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Name

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Sync Students

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Sync Student Contacts

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Sync Only Student Contacts with Pickup flag

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Sync Attendance

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Sync Attendance Codes

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Merge Student Contact By Name

\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tGo Back\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t
\n\n `\n})\nexport class SyncMappingSettingsAddEditComponent implements OnInit{\n\n\n\tmsgHead: Alert;\n\tacctNumber: string;\n\tregistrationId: string;\n\thasAccess: boolean;\n\tdata: SyncMappingSettings;\n\teditMode: boolean;\n\tform: FormGroup;\n\tsaveCount: number;\n\tsyncSettingsId: string;\n\tsyncSettingsData: SettingsKeyValue;\n\n\tconstructor(private router: Router, private ps: PowerSchoolService, private title: AppTitle, private activatedRoute: ActivatedRoute, fb: FormBuilder){\n\t\tthis.data = new SyncMappingSettings();\n\t\tthis.hasAccess = true;\n\t\tthis.msgHead = new Alert();\n\t\tthis.syncSettingsData = new SettingsKeyValue();\n\t\ttitle.setTitles({\n\t\t\ttitle: 'Sync Mapping Settings',\n\t\t\tdashboard: 'Sync Mapping Settings'\n\t\t});\n\t\tthis.form = fb.group({\n\t\t\tname: ['', Validators.compose([Validators.required, Validators.maxLength(45)])],\n\t\t});\n\t\tthis.editMode = false;\n\t\tthis.saveCount = 1;\n\t}\n\n\tngOnInit(){\n\t\tlet titleStr = 'Add New';\n\t\tlet action = 'add';\n\t\tthis.title.setTitles({\n\t\t\ttitle: 'Add New - Sync Mapping Settings',\n\t\t\tdashboard: 'Add New - Sync Mapping Settings',\n\t\t});\n\t\tthis.acctNumber = this.activatedRoute.snapshot.params['acctNumber'];\n\t\tthis.registrationId = this.activatedRoute.snapshot.params['id'];\n\t\tthis.syncSettingsId = this.activatedRoute.snapshot.params['settingsid'];\n\t\tif (this.acctNumber != null) {\n\t\t\tthis.ps.validateAcctNumber(this.acctNumber)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tif (!res) {\n\t\t\t\t\t\tthis.msgHead.error(`You don't have access to this powerschool number ${this.acctNumber}`);\n\t\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\t}\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t});\n\t\t}\n\t\tif (this.syncSettingsId) {\n\t\t\tthis.editMode = true;\n\t\t\tthis.loadData();\n\t\t\tthis.title.setTitles({\n\t\t\t\ttitle: 'Edit - Sync Mapping Settings',\n\t\t\t\tdashboard: 'Edit - Sync Mapping Settings',\n\t\t\t});\n\t\t\ttitleStr = 'Edit';\n\t\t\taction = 'edit';\n\t\t}\n\t\tthis.title.setBreadcrumbs([\n\t\t\t{ title: 'Registration', link: `/settings/${this.acctNumber}/registration` },\n\t\t\t{ title: 'Sync Mapping Settings', link: `/settings/${this.acctNumber}/registration/${this.registrationId}/school-mapping/settings` },\n\t\t\t{ title: titleStr, link: '' },\n\t\t]);\n\n\t}\n\n\tloadData(){\n\t\tlet find = new FindSyncMappingSettings();\n\t\tfind.id = parseInt(this.syncSettingsId);\n\t\tthis.ps.syncMappingSettings(this.acctNumber, find).subscribe((rows: SyncMappingSettings[]) => {\n\t\t\tthis.msgHead.close();\n\t\t\tthis.data = rows[0];\n\t\t\tthis.form.get('name').setValue(this.data.name);\n\t\t\tthis.syncSettingsData = JSON.parse(this.data.settings);\n\t\t}, err => {\n\t\t\tconsole.log(err);\n\t\t\tif (this.ps.isErrNotFound(err)) {\n\t\t\t\tthis.msgHead.warning(this.ps.getUserError(err));\n\t\t\t} else {\n\t\t\t\tif (this.ps.isErrUnauthorized(err)) {\n\t\t\t\t\tthis.hasAccess = false;\n\t\t\t\t\tthis.msgHead.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.msgHead.error(this.ps.getUserErrorDefault(err));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tgoBack() {\n\t\tthis.router.navigate([`settings/${this.acctNumber}/registration/${this.registrationId}/school-mapping/settings`]);\n\t\treturn;\n\t}\n\n\tsave(){\n\t\tif (!this.form.valid) {\n\t\t\tthis.displayErrors(this.form);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.data.name = this.form.get('name').value;\n\t\tthis.data.registrationId = parseInt(this.registrationId);\n\t\tthis.data.settings = JSON.stringify(this.syncSettingsData);\n\n\t\tif (this.editMode) {\n\t\t\tif(this.data.name !== \"\"){\n\t\t\t\tthis.ps.syncMappingSettingsUpdate(this.acctNumber, this.data)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tlet saveMessage = this.ps.getDefaultSaveMessage();\n\t\t\t\t\tif (this.saveCount > 1) {\n\t\t\t\t\t\tsaveMessage += ` (${this.saveCount})`\n\t\t\t\t\t}\n\t\t\t\t\tthis.saveCount++;\n\t\t\t\t\tthis.msgHead.success(saveMessage);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.goBack();\n\t\t\t\t\t}, 1000)\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t});\n\t\t\t}else{\n\t\t\t\tthis.msgHead.error(\"Name is required\")\n\t\t\t}\n\t\t} else {\n\t\t\tthis.ps.syncMappingSettingsAdd(this.acctNumber, this.data)\n\t\t\t\t.subscribe(res => {\n\t\t\t\t\tlet saveMessage = this.ps.getDefaultSaveMessage();\n\t\t\t\t\tif (this.saveCount > 1) {\n\t\t\t\t\t\tsaveMessage += ` (${this.saveCount})`\n\t\t\t\t\t}\n\t\t\t\t\tthis.saveCount++;\n\t\t\t\t\tthis.msgHead.success(saveMessage);\n\t\t\t\t}, err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tlet e = this.ps.getUserErrorDefault(err);\n\t\t\t\t\tthis.msgHead.error(e);\n\t\t\t\t});\n\t\t}\n\n\t}\n\n\tdisplayErrors(f: FormGroup) {\n\t\tvar message = '';\n\t\tcontrolErrors(f, (c: any, err: any) => {\n\t\t\tmessage += err + '
';\n\t\t});\n\t\tthis.msgHead.errorHtml(message);\n\t}\n\n\tcheckStudentSetting() {\n\t\tif (this.syncSettingsData.syncStudents == false) {\n\t\t\tthis.syncSettingsData.syncStudentContact = false;\n\t\t\tthis.syncSettingsData.syncStudentContactPickUpFlag = false;\n\t\t}\n\t}\n\n}\n\nclass SettingsKeyValue {\n\tsyncStudents:boolean;\n\tsyncStudentContact: boolean;\n\tsyncStudentContactPickUpFlag:boolean;\n\tsyncAttendance:boolean;\n\tsyncAttendanceCodes:boolean;\n\tmergeStudentContactByName:boolean;\n\n\tconstructor() {\n\t\t this.syncStudents = false;\n\t\t this.syncStudentContact = false;\n\t\t this.syncStudentContactPickUpFlag = false;\n\t\t this.syncAttendance = false;\n\t\t this.syncAttendanceCodes = false;\n\t\t this.mergeStudentContactByName = false;\n\t}\n}\n","export class SyncMappingSettingsCount {\n\tcount: number;\n\n\tconstructor() {\n\t\tthis.count = 0;\n\t}\n}\n","export class SyncMappingSettingsReply {\n\tid: number;\n\n\tconstructor() {\n\t\t this.id = 0;\n\t}\n}\n","import { Title } from '@angular/platform-browser';\nimport { Injectable, EventEmitter } from '@angular/core';\n\n@Injectable()\nexport class AppTitle {\n\tdashboardTitle: string;\n\tdashboardNav: string;\n\ttitle: Title;\n\tbreadcrumbs: Breadcrumb[];\n\tuseHashLocation: boolean;\n\ttitleEvent = new EventEmitter();\n\n\tconstructor() {\n\t\tthis.title = new Title({});\n\t\tthis.breadcrumbs = [];\n\t\tthis.useHashLocation = true;\n\n\t}\n\n\tsetTitles(t: any) {\n\t\tif (t.dashboard != null) {\n\t\t\tthis.setDashboardTitle(t.dashboard);\n\t\t}\n\t\tif (t.title != null) {\n\t\t\tthis.setTitle(t.title);\n\t\t}\n\t\tif (t.dashboardNav != null) {\n\t\t\tthis.setDashboardNav(t.dashboardNav);\n\t\t}\n\t}\n\n\tsetBreadcrumbs(bcs: Breadcrumb[]) {\n\t\tthis.breadcrumbs = bcs;\n\t\tthis.titleEvent.emit();\n\t}\n\n\tgetBreadcrumbsPrint(): BreadcrumbPrint[] {\n\t\tlet bcs = [];\n\t\tif (this.useHashLocation) {\n\t\t\tfor (let b of this.breadcrumbs) {\n\t\t\t\tlet nb = new BreadcrumbPrint();\n\t\t\t\tnb.link = '#' + b.link;\n\t\t\t\tnb.noLink = (b.link === '');\n\t\t\t\tnb.title = b.title;\n\t\t\t\tbcs.push(nb);\n\t\t\t}\n\t\t}\n\t\treturn bcs;\n\t}\n\n\tsetTitle(title: string) {\n\t\tthis.title.setTitle(title);\n\t}\n\n\tgetTitle() {\n\t\tthis.title.getTitle();\n\t}\n\n\tsetDashboardTitle(title: string) {\n\t\tthis.dashboardTitle = title;\n\t\tthis.titleEvent.emit();\n\t}\n\n\tgetDashboardTitle() {\n\t\treturn this.dashboardTitle;\n\t}\n\n\tsetDashboardNav(title: string) {\n\t\tthis.dashboardNav = title;\n\t}\n\n\tgetDashboardNav() {\n\t\treturn this.dashboardNav;\n\t}\n\n\texistsBreadcrumb(bc: Breadcrumb): boolean {\n\t\tfor (let b of this.breadcrumbs) {\n\t\t\tif (b.title === bc.title) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n}\n\nexport class Breadcrumb {\n\ttitle: string;\n\tlink: string;\n\tconstructor() {\n\t\tthis.title = '';\n\t\tthis.link = '';\n\t}\n}\n\nexport class BreadcrumbPrint {\n\ttitle: string;\n\tlink: string;\n\tnoLink: boolean;\n\tconstructor() {\n\t\tthis.title = '';\n\t\tthis.link = '';\n\t\tthis.noLink = false;\n\t}\n}\n","export class Token {\n\taccessToken: string;\n\texpiresIn: number;\n\tscope: string;\n\tstate: string;\n\ttokenType: string;\n\texpiresAt: Date;\n\trefreshToken: string;\n\n\tconstructor(token?: any) {\n\t\tlet t = token || {};\n\t\tthis.accessToken = t.accessToken || '';\n\t\tthis.expiresIn = t.expiresIn || 0;\n\t\tthis.scope = t.scope || '';\n\t\tthis.state = t.state || '';\n\t\tthis.tokenType = t.tokenType || '';\n\t\tthis.expiresAt = new Date(t.expiresAt) || new Date();\n\t\tthis.refreshToken = t.refreshToken || '';\n\t}\n}\n","import { Token } from './token';\n\nexport class TokenHelper {\n setToken(tokenName: string, data: Token) {\n localStorage.setItem(tokenName, JSON.stringify(data));\n }\n\n getToken(tokenName: string): Token {\n if (localStorage.getItem(tokenName) === null) {\n return null\n }\n return new Token(JSON.parse(localStorage.getItem(tokenName)));\n }\n\n removeToken(tokenName: string) {\n if (this.getToken(tokenName) != null) {\n localStorage.removeItem(tokenName);\n }\n }\n\n isTokenExpired(token: Token) {\n if (token === null) {\n return true\n }\n var d = token.expiresAt.getTime();\n var now = Date.now();\n return d < now;\n }\n\n //get expiration date in the moment of token response\n getExpiresAt(expiresIn: number): Date {\n var d = new Date();\n d = new Date(d.getTime() + expiresIn * 1000);\n return d;\n }\n}\n","export class User {\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n\tusername: string;\n\ttimeZone: string;\n\tuserId: string;\n\tphoneNumber: string;\n\tconstructor() {\n\t\tthis.firstName = 'Testing';\n\t\tthis.lastName = '';\n\t\tthis.email = '';\n\t\tthis.timeZone = '';\n\t\tthis.username = '';\n\t\tthis.userId = '';\n\t\tthis.phoneNumber = '';\n\t}\n\n\tgetUserProfile() {\n\t\treturn {\n\t\t\tfirstName: this.firstName,\n\t\t\tlastName: this.lastName,\n\t\t\temail: this.email,\n\t\t\tusername: this.username,\n\t\t\ttimeZone: this.timeZone,\n\t\t\tuserId: this.userId,\n\t\t\tphoneNumber: this.phoneNumber,\n\t\t}\n\t}\n}\n","export const environment = {\n production: true,\n isMoc: false,\n isApiMoc: false,\n clientId: 'bf4b8df3-f698-45e4-a96c-ade80a8e416f',\n authApiUrl: 'https://account.identakid.net/api',\n authAppUrl: 'https://account.identakid.net/#',\n districtPowerSchoolApiUrl: 'https://powerschool.ccssvm.com/api',\n version: 'v1.6.17'\n};\n","import './polyfills.ts';\n\nimport { enableProdMode } from '@angular/core';\nimport { environment } from './environments/environment';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/app.module';\n\nif (environment.production) {\n enableProdMode();\n\n\t// disable console logs\n\twindow.console.log = function() { };\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n","// This file includes polyfills needed by Angular 2 and is loaded before\n// the app. You can add your own extra polyfills to this file.\nimport 'core-js/es6/symbol';\nimport 'core-js/es6/object';\nimport 'core-js/es6/function';\nimport 'core-js/es6/parse-int';\nimport 'core-js/es6/parse-float';\nimport 'core-js/es6/number';\nimport 'core-js/es6/math';\nimport 'core-js/es6/string';\nimport 'core-js/es6/date';\nimport 'core-js/es6/array';\nimport 'core-js/es6/regexp';\nimport 'core-js/es6/map';\nimport 'core-js/es6/set';\nimport 'core-js/es6/reflect';\n\nimport 'core-js/es7/reflect';\nimport 'zone.js/dist/zone';\n"],"sourceRoot":""}