{"version":3,"sources":["./src/$_lazy_route_resource lazy namespace object","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/about/about.component.ts","./src/app/components/about/about.component.html","./src/app/components/admin/admin.component.ts","./src/app/components/admin/admin.component.html","./src/app/components/categories/categories.component.ts","./src/app/components/categories/categories.component.html","./src/app/components/client/client.component.ts","./src/app/components/client/client.component.html","./src/app/components/configure/configure.component.ts","./src/app/components/configure/configure.component.html","./src/app/components/features/features.component.ts","./src/app/components/features/features.component.html","./src/app/components/groups/groups.component.ts","./src/app/components/groups/groups.component.html","./src/app/components/home/home.component.ts","./src/app/components/home/home.component.html","./src/app/components/login/login.component.ts","./src/app/components/login/login.component.html","./src/app/components/manage/manage.component.ts","./src/app/components/manage/manage.component.html","./src/app/components/modal-confirm/modal-confirm.component.ts","./src/app/components/modal-confirm/modal-confirm.component.html","./src/app/components/modal/modal.component.ts","./src/app/components/modal/modal.component.html","./src/app/components/navbar/navbar.component.ts","./src/app/components/navbar/navbar.component.html","./src/app/components/page-not-found/page-not-found.component.ts","./src/app/components/page-not-found/page-not-found.component.html","./src/app/components/provider/provider.component.ts","./src/app/components/provider/provider.component.html","./src/app/components/register/register.component.ts","./src/app/components/register/register.component.html","./src/app/components/reports/reports.component.ts","./src/app/components/reports/reports.component.html","./src/app/components/reset/reset.component.ts","./src/app/components/reset/reset.component.html","./src/app/components/services/services.component.ts","./src/app/components/services/services.component.html","./src/app/components/users/users.component.ts","./src/app/components/users/users.component.html","./src/app/guards/auth.guard.ts","./src/app/pipes/action-module.pipe.ts","./src/app/pipes/action-open.pipe.ts","./src/app/pipes/user-student.pipe.ts","./src/app/pipes/user-teacher.pipe.ts","./src/app/services/auth.service.ts","./src/app/services/vars.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.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\";","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n title: string;\n\n constructor () {\n this.title = 'HandsOn USF';\n }\n}\n","\n
\n


\n \n
\n\n\n\n","// import modules\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { FormsModule} from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgbModule, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { DatePipe } from '@angular/common';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { NgHttpLoaderModule } from 'ng-http-loader';\n\n// import services\nimport { AuthService } from './services/auth.service';\nimport { VarsService } from './services/vars.service';\n\n// import guards\nimport { AuthGuard } from './guards/auth.guard';\n\n// import pipes\nimport { UserStudent } from './pipes/user-student.pipe';\nimport { UserTeacher } from './pipes/user-teacher.pipe';\nimport { ActionOpen } from './pipes/action-open.pipe';\nimport { ActionModule } from './pipes/action-module.pipe';\n\n// import components\nimport { AppComponent } from './app.component';\nimport { LoginComponent } from './components/login/login.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { NavbarComponent } from './components/navbar/navbar.component';\nimport { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';\nimport { HomeComponent } from './components/home/home.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { GroupsComponent } from './components/groups/groups.component';\nimport { UsersComponent } from './components/users/users.component';\nimport { AboutComponent } from './components/about/about.component';\nimport { ConfigureComponent } from './components/configure/configure.component';\nimport { FeaturesComponent } from './components/features/features.component';\nimport { ReportsComponent } from './components/reports/reports.component';\nimport { ManageComponent } from './components/manage/manage.component';\nimport { AdminComponent } from './components/admin/admin.component';\nimport { CategoriesComponent } from './components/categories/categories.component';\nimport { ClientComponent } from './components/client/client.component';\nimport { ProviderComponent } from './components/provider/provider.component';\nimport { ModalConfirmComponent } from './components/modal-confirm/modal-confirm.component';\nimport { ResetComponent } from './components/reset/reset.component';\nimport { ServicesComponent } from './components/services/services.component';\n\nconst appRoutes: Routes = [\n {path: '', component: HomeComponent},\n {path: 'about', component: AboutComponent},\n {path: 'register', component: RegisterComponent},\n {path: 'login', component: LoginComponent},\n {path: 'reset', component: ResetComponent},\n {path: 'configure', component: ConfigureComponent, canActivate: [AuthGuard]},\n {path: 'manage', component: ManageComponent, canActivate: [AuthGuard]},\n {path: 'admin', component: AdminComponent, canActivate: [AuthGuard]},\n {path: 'client', component: ClientComponent, canActivate: [AuthGuard]},\n {path: 'provider', component: ProviderComponent, canActivate: [AuthGuard]},\n {path: '**', component: PageNotFoundComponent}\n];\n\n@NgModule({\n declarations: [\n AppComponent,\n LoginComponent,\n RegisterComponent,\n NavbarComponent,\n PageNotFoundComponent,\n HomeComponent,\n ModalComponent,\n UserStudent,\n UserTeacher,\n ActionOpen,\n ActionModule,\n GroupsComponent,\n UsersComponent,\n AboutComponent,\n ConfigureComponent,\n FeaturesComponent,\n ReportsComponent,\n ManageComponent,\n AdminComponent,\n CategoriesComponent,\n ClientComponent,\n ProviderComponent,\n ModalConfirmComponent,\n ResetComponent,\n ServicesComponent\n ],\n imports: [\n BrowserModule,\n RouterModule.forRoot(appRoutes),\n NgHttpLoaderModule.forRoot(),\n FormsModule,\n HttpClientModule,\n BrowserAnimationsModule,\n NgbModule,\n MatTableModule,\n MatSortModule,\n MatFormFieldModule,\n MatInputModule,\n MatTabsModule,\n CdkTableModule\n ],\n providers: [\n AuthService,\n VarsService,\n AuthGuard,\n NgbActiveModal,\n DatePipe\n ],\n bootstrap: [\n AppComponent\n ],\n entryComponents: [\n ModalComponent,\n ModalConfirmComponent\n ]\n})\nexport class AppModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { VERSION } from '@angular/core';\n\n@Component({\n selector: 'app-about',\n templateUrl: './about.component.html',\n styleUrls: ['./about.component.css']\n})\nexport class AboutComponent implements OnInit {\n version = VERSION;\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","
\n

\n Version 1.4.2\n
\n Angular {{this.version.full}}\n

\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'; // angular bootstrap\nimport { ModalComponent } from '../modal/modal.component'; // custom modal\nimport { ModalConfirmComponent } from '../modal-confirm/modal-confirm.component'; // custom confirm modal\nimport { DatePipe } from '@angular/common';\n\nimport { User } from '../../models/User';\nimport { Action } from '../../models/Action';\n\n@Component({\n selector: 'app-admin',\n templateUrl: './admin.component.html',\n styleUrls: ['./admin.component.css']\n})\n\nexport class AdminComponent implements OnInit {\n gid_num: number;\n cid_num: number;\n sid_num: number;\n status: string; // action status filter\n action: Action; // action buffer\n closeResult: string;\n client_users: User[]; // list of users with access to selected request category and service type\n provider_users: User[]; // list of users in selected service type provider_gid\n dt: number;\n\n constructor(\n public authService: AuthService,\n public vars: VarsService,\n private modalService: NgbModal, // instantiate modal service\n public datepipe: DatePipe,\n ) {\n }\n\n ngOnInit() {\n this.gid_num = this.vars.groups.length; // number of groups for this user\n this.cid_num = this.vars.categories.length; // number of categories for this user\n this.sid_num = this.vars.services.length; // number of services for this user\n this.onStatusSelect(0); // defaults to OPEN\n //let timeInUTC = new Date().toUTCString();\n this.dt = Math.round((new Date().getTime()) / 1000); // get current unix timestamp (in UTC!) - off by ~ 4 hours\n }\n // initialize action buffer\n initBuffer() {\n this.action = {\n aid: 0,\n group: {\n gid: 0,\n rid: 0,\n name: 'None'\n },\n category: {\n cid: 0,\n name: ''\n },\n service: {\n sid: 0,\n name: '',\n provider_gid: 0\n },\n name: '',\n notes: '',\n required: 1,\n providers: [],\n client: { uid: 0, name: '' },\n status: 'open',\n features: [],\n timestamp: 0\n };\n }\n\n // action status selected\n onStatusSelect(idx) { // -1 = new, 0 = open, 1 = confirmed, 2 = canceled, 3 = closed\n // every time status is selected, clear the buffer and create a New record if idx < 0\n this.vars.action_idx = -1; // clear idx until new submited or specific action is selected\n this.initBuffer(); // initialize/clear action buffer\n if (idx < 0) { // create new action instance when New (-1) is selected\n this.status = 'new';\n if (this.gid_num > 0) { // set to first group's gid\n this.action.group = this.vars.groups[0];\n }\n if (this.cid_num > 0) { // set to first category\n this.action.category = this.vars.categories[0];\n }\n if (this.sid_num > 0) { // set to first service\n this.action.service = this.vars.services[0];\n }\n this.action.client.uid = this.vars.user.uid; // default action owner is the current user\n this.action.client.name = this.vars.user.name;\n this.setActionName(); // calculate new action name based on the timestamp\n this.loadFeatures(this.action.category.cid);// get client action features for this category\n this.updateClientList();\n this.updateProviderList();\n this.loadActionProviders(false);\n } else { // update status AND load the list along with counts\n this.status = this.vars.status[idx];\n this.authService.getActionList(this.status, this.vars.user.uid, this.vars.user.roles[this.vars.rid_idx].rid).subscribe(data => {\n if (data['status'] === 'success') { // populate actions for this user-role\n this.vars.user.roles[this.vars.rid_idx].actions = data['actions'];\n }\n });\n }\n }\n\n // action selected from the menu\n onActionClick(idx) {\n this.vars.action_idx = idx; // set currently selected action (used by getAction()) AND download entire action\n this.authService.getAction(this.vars.user.roles[this.vars.rid_idx].actions[idx].aid).subscribe(data => {\n if (data['status'] === 'success') { // populate action data\n this.vars.user.roles[this.vars.rid_idx].actions[idx] = data['action'];\n\n this.action.group = this.vars.getAction().group;\n this.action.category = this.vars.getAction().category;\n this.action.service = this.vars.getAction().service;\n this.action.name = this.vars.getAction().name;\n this.action.notes = this.vars.getAction().notes;\n this.action.required = this.vars.getAction().required;\n this.action.client = this.vars.getAction().client;\n this.action.status = this.vars.getAction().status;\n this.action.features = this.vars.getAction().features;\n this.action.timestamp = this.vars.getAction().timestamp;\n this.action.aid = this.vars.getAction().aid; // last to prevent errors\n this.loadActionProviders(true); // list currently assigned providers\n this.updateClientList(); // based on this category and service\n this.updateProviderList(); // based on service.provider gid\n }\n });\n }\n\n // load a list of all selected providers (if load is true) or just clear the list\n loadActionProviders(load) {\n var providers = null;\n this.action.providers = [];\n // if this is an existing action then get a list of any current assignments\n if (load && this.vars.getAction() != null) {\n providers = this.vars.getAction().providers;\n }\n for (let x = 0; x < this.action.required; x++) {\n if (providers != null && providers[x] != null) {\n this.action.providers.push(providers[x]);\n } else {\n if ((this.action.status !== 'canceled') && (this.action.status !== 'closed')) {\n this.action.providers.push({ uid: 0, name: 'Please select' });\n }\n }\n }\n }\n\n // set name of the new action\n setActionName() {\n const date = new Date();\n const name = this.datepipe.transform(date, 'yyMMdd-HHmmss') + '-' + this.vars.user.uid;\n this.action.name = name;\n }\n\n // load set of features for this request category\n loadFeatures(cid) {\n this.authService.getFeatures(cid, '', '').subscribe(data => {\n if (data['status'] === 'success') {\n this.action.features = data['features'];\n }\n });\n }\n \n // select new Request Group (should only happen when status is New)\n onGroupSelect(group) {\n this.action.group = group; // update the group\n }\n // select new Request Category (should only happen when status is New)\n onCategorySelect(category) {\n this.action.category = category; // update the category\n this.action.client.uid = this.vars.user.uid; // default action owner is the current user\n this.action.client.name = this.vars.user.name;\n this.setActionName(); // calculate new action name based on the timestamp\n this.loadFeatures(this.action.category.cid); // get client action features for this category\n // update list of available clients based on this new category and service combo\n this.updateClientList();\n }\n // selected new Service Type\n onServiceSelect(service) {\n this.action.service = service;\n this.updateClientList();\n this.updateProviderList();\n // clear the list of ALL assigned providers\n this.loadActionProviders(false); // clear current assignments\n }\n // update list of available clients (based on both cid and sid)\n updateClientList() {\n this.authService.getAccessList(this.action.category.cid, this.action.service.sid).subscribe(data => {\n if (data['status'] === 'success') {\n this.client_users = data['users'];\n }\n });\n }\n // update list of available providers and clear all current assignments\n updateProviderList() {\n this.authService.getGroupUsers(this.action.service.provider_gid).subscribe(data => {\n if (data['status'] === 'success') {\n this.provider_users = data['users'];\n }\n });\n }\n\n // selected new action owner (requestor)\n onOwnerSelect(user) {\n this.action.client = user;\n }\n\n // assign provider to action\n onProviderSelect(user, idx) {\n if (user === '') { // clear the entry\n this.action.providers[idx].uid = 0;\n this.action.providers[idx].name = 'Please select';\n } else { // assign the new provider\n this.action.providers[idx].uid = user.uid;\n this.action.providers[idx].name = user.name;\n this.action.providers[idx].action_status = 'assigned';\n this.action.providers[idx].action_notes = ''; // start with a blank note\n }\n }\n\n // check if proposed action user is already selected\n isNotSelected(uid) {\n for (const item of this.action.providers) {\n if (item.uid === uid) {\n return false;\n }\n }\n return true;\n }\n\n // format date\n displayDate(date) {\n if (date == null) {\n return \"N/A\";\n } else {\n return ('0000' + date.year).slice(-4) + '-' + ('00' + date.month).slice(-2) + '-' + ('00' + date.day).slice(-2);\n }\n }\n\n // format time\n displayTime(time) {\n if (time == null) {\n return \"N/A\";\n } else {\n return ('00' + time.hour).slice(-2) + ' : ' + ('00' + time.minute).slice(-2);\n }\n }\n\n // return label of the selected option\n getOptionLabel(feature) {\n if (feature.value == null || feature.value == '') { // feature value has not been set yet.\n return \"Select\";\n } else { // return label corresponding to the value.\n return feature.options[feature.value].label;\n }\n }\n\n // flip the checkbox indicator\n onFeatureChecked(feature) {\n if (feature.value == null || feature.value === '' || feature.value === '0') {\n this.onFeatureUpdate(feature, '1');\n } else {\n this.onFeatureUpdate(feature, '0');\n }\n }\n\n // on every change\n onFeatureUpdate(feature, value) {\n feature.value = value;\n }\n\n // get a number of providers selected\n getConfirmed(action) {\n let cnt = 0;\n for (let x = 0; x < action.providers.length; x++) {\n if (action.providers[x].uid != 0) {\n cnt++;\n }\n }\n return cnt;\n }\n\n // iterrate over required features and return true if any missing\n stillRequired() {\n for (let feature of this.action.features) {\n if (feature.required == 1 && (feature.value == '' || feature.value == '0')) {\n return true;\n }\n }\n return false;\n }\n\n // check if action expires very soon\n urgent(action) {\n if (action !== null && action.status != 'canceled' && action.status != 'closed') {\n if ((action.timestamp > this.dt) && ((action.timestamp - this.dt) < 86400)) { // action is due in less than 24 hours from now\n return true;\n }\n }\n return false;\n }\n\n // check if action expires soon\n soon(action) {\n if (action !== null && action.status != 'canceled' && action.status != 'closed') {\n if ((action.timestamp > this.dt) && ((action.timestamp - this.dt) < 172800)) { // action is due in less than 48 hours from now\n return true;\n }\n }\n return false;\n }\n\n updateAction() {\n this.authService.updateAction(this.action).subscribe(data => {\n if (data['status'] === 'success') {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n //this.onStatusSelect(0); // return to OPEN\n this.vars.action_idx = -1; // revert to no action selected\n this.onStatusSelect(0); // return to OPEN\n // refresh count\n this.authService.getActionCount(this.vars.user.uid, this.vars.user.roles[this.vars.rid_idx].rid).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.count = data['count'];\n }\n });\n } else {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n }\n\n // process button click\n onButtonClick(button) {\n switch (button) {\n case 'submit': // create or update an action\n this.updateAction();\n break;\n case 'cancel': // set action to canceled and set all corresponding user actions to canceled\n const md = this.modalService.open(ModalConfirmComponent);\n md.componentInstance.message = 'Are you sure you want to CANCEL this request?';\n md.result.then((userResponse) => {\n if (userResponse) {\n this.action.status = 'canceled';\n this.updateAction();\n }\n });\n break;\n case 'complete': // set action to closed and set all corresponding user actions to completed\n const md2 = this.modalService.open(ModalConfirmComponent);\n md2.componentInstance.message = 'Are you sure you want to COMPLETE (CLOSE) this request?';\n md2.result.then((userResponse) => {\n if (userResponse) {\n this.action.status = 'closed';\n this.updateAction();\n }\n });\n break;\n case 'add': // duplicate current request\n this.status = 'new'; // jump to new\n this.setActionName(); // create new name\n this.action.aid = 0; // reset aid - status will be open\n this.vars.action_idx = -1; // clear action selected index\n break;\n default:\n break;\n }\n }\n}\n","\n
\n
\n 0\">\n \n
1 && status === 'new'\" class=\"row\">\n
Group
\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n \n
0 && status === 'new'\" class=\"row\">\n
Request Category
\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
0 && (status !== 'canceled' && status !== 'closed')\" class=\"row\">\n
Service Type
\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n
Requestor
\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n
Request #
\n
\n {{action.name}}\n {{action.category.name}} {{action.service.name}} for\n {{action.client.name}}\n
\n
\n
\n
Notes
\n
\n \n
\n
\n
\n
Interpreters
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
0 || (status === 'new' || status === 'open' || status === 'confirmed')\" class=\"col-4 feature-item\"> 
\n
Interpreters
\n
\n
\n \n
\n \n \n \n \n
\n
\n
\n
\n {{item.name}} ({{item.action_status}}) \n
\n
\n \n
\n
\n    \n \n \n
\n \n
\n {{feature.name}}\n
\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n {{feature.name}}\n
\n \n
\n {{feature.value}}\n
\n \n
\n {{feature.value}}\n
\n \n
\n {{feature.value}}\n
\n \n
\n {{displayDate(feature.date)}}\n
\n \n
\n {{displayTime(feature.time)}}\n
\n \n
\n
\n \n \n
\n
\n \n
\n {{getOptionLabel(feature)}}\n
\n
\n
\n
\n \n    \n
\n
\n \n \n  \n \n \n \n  \n \n \n \n \n  \n \n \n \n  \n \n \n \n  \n \n \n \n \n
\n
\n
\n
\n\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n \n
\n
\n
\n
\n
\n
 
\n
\n
\n
\n
    0\"\n class=\"list-group\">\n \n
  • \n {{action.name}}\n {{action.service.name}}\n {{getConfirmed(action)}}\n / {{action.required}}\n {{action.service.name}}\n \n
  • \n
    \n
\n
\n
\n
\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'; // bootstap modal\nimport { ModalComponent } from '../modal/modal.component'; // custom modal\n\nimport { Category } from '../../models/Category';\nimport { Group } from '../../models/Group';\nimport { User } from '../../models/User';\n\n@Component({\n selector: 'app-categories',\n templateUrl: './categories.component.html',\n styleUrls: ['./categories.component.css']\n})\nexport class CategoriesComponent implements OnInit {\n client_groups: Group[]; // list of all client groups\n client_users: User[]; // list of all client users\n category: Category; // group buffer\n\n constructor(\n public authService: AuthService,\n public vars: VarsService,\n private modalService: NgbModal // instantiate modal service\n ) {\n // instantiate a new category buffer\n this.category = { cid: 0, name: '', review: 1, access: 'all', priority: 0, groups: [], users: [] };\n }\n\n ngOnInit() {\n // load client groups array\n this.authService.getGroups(0, 3).subscribe(data => {\n if (data['status'] === 'success') {\n this.client_groups = data['groups'];\n }\n });\n // load client users array\n this.authService.getRoleUsers(3).subscribe(data => {\n if (data['status'] === 'success') {\n this.client_users = data['users'];\n }\n });\n }\n\n // return label of the selected option\n getOptionLabel(group) {\n if (group.rid_name === '') { // group role has not been set yet.\n return 'Select';\n } else { // return role corresponding to the rid.\n return group.rid_name;\n }\n }\n\n // update access type\n onAccessUpdate(value) {\n if (value == 0) {\n this.category.access = 'all';\n } else if (value == 1) {\n this.category.access = 'group';\n } else {\n this.category.access = 'user';\n }\n }\n\n // update review\n onChecked() {\n this.category.review = this.category.review == 1 ? 0 : 1\n }\n\n // set currently selected category\n onCategorySelect(idx) {\n this.category.cid = this.vars.categories[idx].cid;\n this.category.name = this.vars.categories[idx].name;\n this.category.review = this.vars.categories[idx].review;\n this.category.access = this.vars.categories[idx].access;\n this.category.priority = this.vars.categories[idx].priority;\n this.category.groups = this.vars.categories[idx].groups;\n this.category.users = this.vars.categories[idx].users;\n }\n\n // clear the category buffer\n onNewClick() {\n this.category.cid = 0;\n this.category.name = '';\n this.category.review = 1;\n this.category.access = 'all';\n this.category.priority = 0;\n this.category.groups = [];\n this.category.users = [];\n }\n\n onGroupSelect(group) { // add gid to the list\n this.category.groups.push(group);\n }\n onGroupDelete(idx) { // remove gid from the list\n this.category.groups.splice(idx, 1);\n }\n groupNotSelected(gid) {\n for (let item of this.category.groups) {\n if (item.gid === gid) {\n return false;\n }\n }\n return true;\n }\n\n onUserSelect(user) { // add uid to the list\n this.category.users.push(user);\n }\n onUserDelete(idx) { // remove uid from the list\n this.category.users.splice(idx, 1);\n }\n userNotSelected(uid) {\n for (let item of this.category.users) {\n if (item.uid === uid) {\n return false;\n }\n }\n return true;\n }\n\n // update group in DB\n onSubmitClick() {\n this.authService.updateCategory(this.category).subscribe(data => {\n if (data['status'] === 'success') { // update successful\n this.category.cid = data['value'];\n // re-load groups array\n this.authService.getCategories(0, 0).subscribe(data => {\n if (data['status'] === 'success') { // return rules or empty array\n this.vars.categories = data['categories'];\n this.modalService.open(ModalComponent).componentInstance.message = 'Records Updated';\n }\n });\n } else {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n }\n}\n","
\n
\n
\n
\n
\n
\n
    \n \n
  • {{item.name}}\n ({{item.cid}})\n
  • \n
    \n
\n
\n
\n
\n
\n
\n
\n
\n Category ID:\n {{category.cid}}\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n 0\">\n
Groups:
\n
\n
\n
    \n
  • {{group.name}}\n
  • \n
\n
\n
\n
\n 0\">\n
Users:
\n
\n
\n
    \n
  • {{user.name}}\n
  • \n
\n
\n
\n
\n
\n
\n
\n \n  \n \n
\n
\n
\n
\n
\n \n
\n
\n Available Groups:\n
\n
\n
\n
\n
    \n \n
  • {{item.name}}\n
  • \n
    \n
\n
\n
\n
\n \n
\n
\n Available Users:\n
\n
\n
\n
\n
    \n \n
  • {{item.name}}\n
  • \n
    \n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'; // angular bootstrap\nimport { ModalComponent } from '../modal/modal.component'; // custom modal\nimport { ModalConfirmComponent } from '../modal-confirm/modal-confirm.component'; // custom confirm modal\nimport { DatePipe } from '@angular/common';\n\nimport { Action } from '../../models/Action';\n\n@Component({\n selector: 'app-client',\n templateUrl: './client.component.html',\n styleUrls: ['./client.component.css']\n})\n\nexport class ClientComponent implements OnInit {\n gid_num: number;\n cid_num: number;\n sid_num: number;\n status: string; // action status filter\n action: Action; // action buffer\n closeResult: string;\n dt: number;\n\n constructor(\n public authService: AuthService,\n public vars: VarsService,\n private modalService: NgbModal, // instantiate modal service\n public datepipe: DatePipe,\n ) {\n }\n\n ngOnInit() {\n this.gid_num = this.vars.groups.length; // number of groups for this user\n this.cid_num = this.vars.categories.length; // number of categories for this user\n this.sid_num = this.vars.services.length; // number of services for this user\n this.onStatusSelect(1); // defaults to CONFIRMED\n //let timeInUTC = new Date().toUTCString();\n this.dt = Math.round((new Date().getTime()) / 1000); // get current unix timestamp (in UTC!)\n }\n // initialize action buffer\n initBuffer() {\n this.action = {\n aid: 0,\n group: {\n gid: 0,\n rid: 0,\n name: 'None'\n },\n category: {\n cid: 0,\n name: ''\n },\n service: {\n sid: 0,\n name: '',\n provider_gid: 0\n },\n name: '',\n notes: '',\n required: 1,\n providers: [],\n client: { uid: 0, name: '' },\n status: 'open',\n features: [],\n timestamp: 0\n };\n }\n\n // action status selected\n onStatusSelect(idx) { // -1 = new, 0 = open, 1 = confirmed, 2 = canceled, 3 = closed\n // every time status is selected, clear the buffer and create a New record if idx < 0\n this.vars.action_idx = -1; // clear idx until new submited or specific action is selected\n this.initBuffer(); // initialize/clear action buffer\n if (idx < 0) { // create new action instance when New (-1) is selected\n this.status = 'new';\n if (this.gid_num > 0) { // set to first group's gid\n this.action.group = this.vars.groups[0];\n }\n if (this.cid_num > 0) { // set to first category\n this.action.category = this.vars.categories[0];\n }\n if (this.sid_num > 0) { // set to first service\n this.action.service = this.vars.services[0];\n }\n this.action.client.uid = this.vars.user.uid; // default action owner is the current user\n this.action.client.name = this.vars.user.name;\n this.setActionName(); // calculate new action name based on the timestamp\n this.loadFeatures(this.action.category.cid);// get client action features for this category\n this.loadActionProviders(false);\n } else { // update status AND load the list \n this.status = this.vars.status[idx];\n this.authService.getActionList(this.status, this.vars.user.uid, this.vars.user.roles[this.vars.rid_idx].rid).subscribe(data => {\n if (data['status'] === 'success') { // populate actions for this user-role\n this.vars.user.roles[this.vars.rid_idx].actions = data['actions'];\n }\n });\n }\n }\n\n // action selected from the menu\n onActionClick(idx) {\n this.vars.action_idx = idx; // set currently selected action (used by getAction())\n this.authService.getAction(this.vars.user.roles[this.vars.rid_idx].actions[idx].aid).subscribe(data => {\n if (data['status'] === 'success') { // populate actions data\n this.vars.user.roles[this.vars.rid_idx].actions[idx] = data['action'];\n\n this.action.group = this.vars.getAction().group;\n this.action.category = this.vars.getAction().category;\n this.action.service = this.vars.getAction().service;\n this.action.name = this.vars.getAction().name;\n this.action.notes = this.vars.getAction().notes;\n this.action.required = this.vars.getAction().required;\n this.action.client = this.vars.getAction().client;\n this.action.status = this.vars.getAction().status;\n this.action.features = this.vars.getAction().features;\n this.action.timestamp = this.vars.getAction().timestamp;\n this.action.aid = this.vars.getAction().aid; // last to prevent errors\n this.loadActionProviders(true); // list currently assigned providers\n }\n });\n }\n\n // load a list of all selected providers (if load is true) or just clear the list\n loadActionProviders(load) {\n var providers = null;\n this.action.providers = [];\n // if this is an existing action then get a list of any current assignments\n if (load && this.vars.getAction() != null) {\n providers = this.vars.getAction().providers;\n }\n for (let x = 0; x < this.action.required; x++) {\n if (providers != null && providers[x] != null) {\n this.action.providers.push(providers[x]);\n }\n }\n }\n\n // set name of the new action\n setActionName() {\n const date = new Date();\n const name = this.datepipe.transform(date, 'yyMMdd-HHmmss') + '-' + this.vars.user.uid;\n this.action.name = name;\n }\n\n // load set of features for this request category\n loadFeatures(cid) {\n this.authService.getFeatures(cid, '', '').subscribe(data => {\n if (data['status'] === 'success') {\n this.action.features = data['features'];\n }\n });\n }\n\n // select new Request Group (should only happen when status is New)\n onGroupSelect(group) {\n this.action.group = group; // update the group\n }\n // select new Request Category (should only happen when status is New)\n onCategorySelect(category) {\n this.action.category = category; // update the category\n this.action.client.uid = this.vars.user.uid; // default action owner is the current user\n this.action.client.name = this.vars.user.name;\n this.setActionName(); // calculate new action name based on the timestamp\n this.loadFeatures(this.action.category.cid); // get client action features for this category\n }\n // selected new Service Type\n onServiceSelect(service) {\n this.action.service = service;\n // clear the list of ALL assigned providers\n this.loadActionProviders(false); // clear current assignments\n }\n\n // format date\n displayDate(date) {\n if (date == null) {\n return \"N/A\";\n } else {\n return ('0000' + date.year).slice(-4) + '-' + ('00' + date.month).slice(-2) + '-' + ('00' + date.day).slice(-2);\n }\n }\n\n // format time\n displayTime(time) {\n if (time == null) {\n return \"N/A\";\n } else {\n return ('00' + time.hour).slice(-2) + ' : ' + ('00' + time.minute).slice(-2);\n }\n }\n\n // return label of the selected option\n getOptionLabel(feature) {\n if (feature.value == null || feature.value == '') { // feature value has not been set yet.\n return \"Select\";\n } else { // return label corresponding to the value.\n return feature.options[feature.value].label;\n }\n }\n\n // flip the checkbox indicator\n onFeatureChecked(feature) {\n if (feature.value == null || feature.value === '' || feature.value === '0') {\n this.onFeatureUpdate(feature, '1');\n } else {\n this.onFeatureUpdate(feature, '0');\n }\n }\n\n // on every change\n onFeatureUpdate(feature, value) {\n feature.value = value;\n }\n\n // get a number of providers selected\n getConfirmed(action) {\n let cnt = 0;\n for (let x = 0; x < action.providers.length; x++) {\n if (action.providers[x].uid != 0) {\n cnt++;\n }\n }\n return cnt;\n }\n\n // iterrate over required features and return true if any missing\n stillRequired() {\n for (let feature of this.action.features) {\n if (feature.required == 1 && (feature.value == '' || feature.value == '0')) {\n return true;\n }\n }\n return false;\n }\n\n // check if action expires soon\n urgent(action) {\n if (action !== null && action.status != 'canceled' && action.status != 'closed') {\n if ((action.timestamp > this.dt) && ((action.timestamp - this.dt) < 86400)) { // action is due in less than 24 hours from now\n return true;\n }\n }\n return false;\n }\n\n updateAction() {\n this.authService.updateAction(this.action).subscribe(data => {\n if (data['status'] === 'success') {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n this.vars.action_idx = -1; // revert to no action selected\n this.onStatusSelect(1); // return to CONFIRMED\n // refresh count\n this.authService.getActionCount(this.vars.user.uid, this.vars.user.roles[this.vars.rid_idx].rid).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.count = data['count'];\n }\n });\n } else {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n }\n\n // process button click\n onButtonClick(button) {\n switch (button) {\n case 'submit': // create or update an action\n this.updateAction();\n break;\n case 'cancel': // set action to canceled and set all corresponding user actions to canceled\n // modal confirmation dialog\n const md = this.modalService.open(ModalConfirmComponent);\n md.componentInstance.message = 'Are you sure you want to CANCEL this request?';\n md.result.then((userResponse) => {\n if (userResponse) {\n this.action.status = 'canceled';\n this.updateAction();\n }\n });\n break;\n case 'add': // duplicate current request\n this.status = 'new'; // jump to new\n this.setActionName(); // create new name\n this.action.aid = 0; // reset aid - status will be open\n this.vars.action_idx = -1; // clear action selected index\n break;\n default:\n break;\n }\n }\n}\n","\n
\n
\n 0\">\n \n
1 && status === 'new'\" class=\"row\">\n
Group
\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n \n
1 && status === 'new'\" class=\"row\">\n
Request Category
\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
1 && (status !== 'canceled' && status !== 'closed')\" class=\"row\">\n
Service Type
\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n
Request #
\n
\n {{action.name}}\n {{action.category.name}} {{action.service.name}} for\n {{action.client.name}}\n
\n
\n
\n
Notes
\n
\n \n \n
\n
\n
\n
Interpreters
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
0 || (status === 'new' || status === 'open' || status === 'confirmed')\"\n class=\"col-4 feature-item\"> 
\n
\n Interpreters
\n
\n {{item.name}} ({{item.action_status}})\n
\n
\n \n
\n
\n    \n \n \n
\n \n
\n {{feature.name}}\n
\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n {{feature.name}}\n
\n \n
\n {{feature.value}}\n
\n \n
\n {{feature.value}}\n
\n \n
\n {{feature.value}}\n
\n \n
\n {{displayDate(feature.date)}}\n
\n \n
\n {{displayTime(feature.time)}}\n
\n \n
\n
\n \n \n
\n
\n \n
\n {{getOptionLabel(feature)}}\n
\n
\n
\n
\n \n    \n \n    \n
\n
\n \n \n  \n \n \n \n  \n \n \n \n  \n \n \n \n  \n \n \n \n \n
\n
\n
\n
\n\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n \n
\n
\n
\n
\n
\n
 
\n
\n
\n
\n
    0\"\n class=\"list-group\">\n \n
  • \n {{action.name}}\n {{action.service.name}}\n {{getConfirmed(action)}}\n / {{action.required}}\n {{action.service.name}}\n \n
  • \n
    \n
\n
\n
\n
\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-configure',\n templateUrl: './configure.component.html',\n styleUrls: ['./configure.component.css']\n})\nexport class ConfigureComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","\n \n \n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'; // bootstap modal\nimport { ModalComponent } from '../modal/modal.component'; // custom modal\n\nimport { Feature } from '../../models/Feature';\nimport { Feature_Option } from '../../models/Feature_Option';\n\n@Component({\n selector: 'app-features',\n templateUrl: './features.component.html',\n styleUrls: ['./features.component.css']\n})\nexport class FeaturesComponent implements OnInit {\n features: Feature[]; // list of all features (with options if type=select)\n feature: Feature; // feature buffer\n feature_option: Feature_Option; // feature option buffer\n filter_cid: number;\n\n constructor(\n public authService: AuthService,\n public vars: VarsService,\n private modalService: NgbModal // instantiate modal service\n ) {\n this.filter_cid = 0;\n // instantiate a new group buffer\n this.feature = { fid: 0, cid: 0, type: '', name: '', notes: '', maximum: 0, priority: 0, hidden: 0, required: 0, options: [] };\n this.feature_option = { idx: 0, label: '' };\n this.filter_cid = 0;\n }\n\n ngOnInit() {\n // load groups array\n this.authService.getFeatures(0, 0, 0).subscribe(data => {\n if (data['status'] === 'success') {\n this.features = data['features'];\n }\n });\n }\n\n onFilterCategorySelect(cid) {\n this.filter_cid = cid;\n }\n\n onCategoryUpdate(cid) {\n this.feature.cid = cid;\n }\n\n onTypeUpdate(type) {\n this.feature.type = type;\n }\n\n onHiddenUpdate(hidden) {\n this.feature.hidden = hidden;\n }\n\n // append new option to the feature\n onPlusClick() {\n let idx = this.feature.options.length;\n this.feature.options.push({ idx: idx, label: this.feature_option.label });\n this.feature_option.label = ''; // clear the buffer\n }\n // remove this option from the feature\n onMinusClick(idx) {\n console.log(\"SPLICE:\" + idx);\n this.feature.options.splice(idx, 1);\n }\n\n // flip the required indicator\n onCheckedRequired() {\n this.feature.required = this.feature.required == 1 ? 0 : 1\n }\n\n // set currently selected feature\n onFeatureSelect(idx) {\n this.feature.fid = this.features[idx].fid;\n this.feature.cid = this.features[idx].cid;\n this.feature.type = this.features[idx].type;\n this.feature.name = this.features[idx].name;\n this.feature.notes = this.features[idx].notes;\n this.feature.maximum = this.features[idx].maximum;\n this.feature.priority = this.features[idx].priority;\n this.feature.hidden = this.features[idx].hidden;\n this.feature.required = this.features[idx].required;\n this.feature.options = this.features[idx].options;\n }\n\n // clear the feature buffer\n onNewClick() {\n this.feature_option.label = '';\n this.feature.fid = 0;\n this.feature.cid = 0;\n this.feature.type = '';\n this.feature.name = '';\n this.feature.notes = '';\n this.feature.maximum = 0;\n this.feature.priority = 0;\n this.feature.hidden = 0;\n this.feature.required = 0;\n this.feature.options = [];\n console.log(\"NEW\");\n }\n\n // update group in DB\n onSubmitClick() {\n this.authService.updateFeature(this.feature).subscribe(data => {\n if (data['status'] === 'success') { // update successful\n this.feature.fid = data['value'];\n // re-load groups array\n this.authService.getFeatures(0, 0, 0).subscribe(data => {\n if (data['status'] === 'success') {\n this.features = data['features'];\n this.modalService.open(ModalComponent).componentInstance.message = 'Records Updated';\n }\n });\n } else {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n }\n}\n","
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
    \n \n
  • {{item.name}}\n ({{item.fid}})\n
  • \n
    \n
\n
\n
\n
\n
\n
\n
\n
\n Feature ID:\n {{feature.fid}}\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n \n
    \n
  • \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n
  • \n
  • \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n
  • \n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n  \n \n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'; // bootstap modal\nimport { ModalComponent } from '../modal/modal.component'; // custom modal\n\nimport { User } from '../../models/User';\nimport { Group } from '../../models/Group';\nimport { Role } from '../../models/Role';\n\n@Component({\n selector: 'app-groups',\n templateUrl: './groups.component.html',\n styleUrls: ['./groups.component.css']\n})\nexport class GroupsComponent implements OnInit {\n roles: Role[];\n groups: Group[]; // list of all groups\n users: User[]; // list of all users\n group: Group; // group buffer\n filter_group_list_rid: number;\n filter_group_rid: number;\n\n constructor(\n public authService: AuthService,\n public vars: VarsService,\n private modalService: NgbModal // instantiate modal service\n ) {\n this.filter_group_list_rid = 0;\n this.filter_group_rid = 0;\n // the only new group roles allowed are client and provider\n this.roles = [{ rid: 3, name: 'client' }, { rid: 4, name: 'provider' }];\n // instantiate a new group buffer\n this.group = { gid: 0, rid: 0, rid_name: '', name: '', notes: '', code: '', shared: 0, users: [] };\n }\n\n ngOnInit() {\n // load groups array\n this.authService.getGroups(0, 0).subscribe(data => {\n if (data['status'] === 'success') {\n this.groups = data['groups'];\n }\n });\n // load users array\n this.authService.getGroupUsers(0).subscribe(data => {\n if (data['status'] === 'success') {\n this.users = data['users'];\n }\n });\n }\n\n // set role selection filter for groups\n onFilterGroupListSelect(rid) {\n this.filter_group_list_rid = rid;\n }\n // set role selection filter for groups\n onFilterGroupSelect(rid) {\n this.filter_group_rid = rid;\n this.group.rid = rid;\n }\n\n // return label of the selected option\n getOptionLabel(group) {\n if (group.rid_name === '') { // group role has not been set yet.\n return 'Select';\n } else { // return role corresponding to the rid.\n return group.rid_name;\n }\n }\n\n // flip the shared indicator\n onChecked() {\n this.group.shared = this.group.shared == 1 ? 0 : 1\n }\n\n // update group role\n onRoleUpdate(idx) {\n this.group.rid = this.roles[idx].rid;\n this.group.rid_name = this.roles[idx].name;\n }\n\n // set currently selected group\n onGroupSelect(idx) {\n this.filter_group_rid = this.groups[idx].rid;\n this.group.gid = this.groups[idx].gid;\n this.group.rid = this.groups[idx].rid;\n this.group.rid_name = this.groups[idx].rid_name;\n this.group.name = this.groups[idx].name;\n this.group.notes = this.groups[idx].notes;\n this.group.code = this.groups[idx].code;\n this.group.shared = this.groups[idx].shared;\n // load user array\n this.authService.getGroupUsers(this.group.gid).subscribe(data => {\n if (data['status'] === 'success') { // return users or empty array\n this.group.users = data['users'];\n }\n });\n }\n\n onUserSelect(idx) { // add feature to group\n this.group.users.push(this.users[idx]);\n }\n isNotSelected(uid) {\n for (const item of this.group.users) {\n if (item.uid === uid) {\n return false;\n }\n }\n return true;\n }\n onUserDelete(idx) { // remove feature from the group\n this.group.users.splice(idx, 1);\n }\n // clear the rule buffer\n onNewClick() {\n this.filter_group_rid = 0;\n this.group.gid = 0;\n this.group.rid = 0;\n this.group.rid_name = '';\n this.group.name = '';\n this.group.notes = '';\n this.group.code = '';\n this.group.shared = 0;\n this.group.users = [];\n }\n // update group in DB\n onSubmitClick() {\n this.authService.updateGroup(this.group).subscribe(data => {\n if (data['status'] === 'success') { // update successful\n this.group.gid = data['value'];\n // re-load groups array\n this.authService.getGroups(0, 0).subscribe(data => {\n if (data['status'] === 'success') { // return rules or empty array\n this.groups = data['groups'];\n this.modalService.open(ModalComponent).componentInstance.message = 'Records Updated';\n }\n });\n } else {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n }\n}\n","
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
    \n \n
  • {{item.name}}\n ({{item.rid_name}})\n
  • \n
    \n
\n
\n
\n
\n
\n
\n
\n
\n Group ID:\n {{group.gid}}\n
\n
\n \n \n
\n
\n  \n
\n
\n  \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n\n
0\">Members:
\n
\n
\n
    \n
  • {{user.name}}
  • \n
\n
\n
\n
\n
\n
\n \n  \n \n
\n
\n
\n
\n
\n
\n
\n Available Users:\n
\n
\n
\n
\n
    \n \n
  • {{item.name}}\n ({{item.uid}})\n
  • \n
    \n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'; // bootstap modal\nimport { ModalComponent } from '../modal/modal.component'; // custom modal\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css'],\n})\nexport class HomeComponent implements OnInit {\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private authService: AuthService,\n public vars: VarsService,\n private modalService: NgbModal // instantiate modal service\n ) {\n this.route.queryParams.subscribe(params => {\n if (params['action'] !== undefined) {\n this.vars.emailAction = params['action'];\n } else {\n this.vars.emailAction = '';\n }\n if (params['token'] !== undefined) {\n this.vars.token = params['token'];\n } else {\n this.vars.token = '';\n }\n });\n }\n\n ngOnInit() {\n if (this.vars.emailAction === 'reset' && this.vars.token !== '') { // navigate to password reset\n this.router.navigate(['/reset']);\n } else if (this.vars.emailAction === 'verify' && this.vars.token !== '') { // navigate to verify-user\n this.authService.verifyUser(this.vars.token).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.emailAction = ''; // clear the action\n this.vars.token = ''; // clear the token\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n this.router.navigate(['/login']);\n } else { // display error\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n }\n }\n}\n","\n
\n
\n
\n
\n \"\"\n

Welcome to Hands On USF web app.

\n

\n In order to use this application you must Register or Login first. Once registered and logged in, you will be able to\n submit requests for service then monitor and manage your appointments inside myHandsOn tab.\n

\n

\n The request/appointment will be staffed with an appropriately qualified interpreter. While it is\n part of our mission to provide mentorship opportunities to students, we will only assign\n student/professional teams to appropriate situations. If a situation is not suited for an Intern, it\n will be staffed solely with professional, nationally certified Interpreters. We are committed to our\n students, but also to the communities and populations we serve.\n

\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'; // bootstap modal\nimport { ModalComponent } from '../modal/modal.component'; // custom modal\n\ndeclare var ga: Function;\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\n\nexport class LoginComponent implements OnInit {\n email: string;\n password: string;\n reset: boolean;\n\n constructor(\n public router: Router,\n public authService: AuthService,\n public vars: VarsService,\n private modalService: NgbModal // instantiate modal service\n ) {\n this.email = '';\n this.password = '';\n this.reset = false;\n\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n // console.log('GA SENDING:' + event.urlAfterRedirects);\n ga('set', 'page', event.urlAfterRedirects);\n ga('send', 'pageview');\n }\n });\n }\n\n ngOnInit() {\n this.reset = false;\n }\n\n onReset() {\n this.reset = true;\n }\n\n onSubmit() {\n this.authService.login(this.email, this.password).subscribe(data => {\n if (data['status'] === 'success') {\n ga('set', 'userId', data['user'].email); // Set the user ID using signed-in user_id.\n this.vars.user = data['user'];\n this.vars.rid_idx = 0; // first role - must have at least one at this point\n this.authService.getActionCount(this.vars.user.uid, this.vars.user.roles[this.vars.rid_idx].rid).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.count = data['count'];\n this.vars.isLoggedIn = true;\n this.router.navigate(['/']);\n // load user roles\n this.authService.getRoles().subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.roles = data['roles'];\n }\n });\n // load provider groups only\n if (this.vars.user.roles[this.vars.rid_idx].rid < 3) { // admins\n this.authService.getGroups(0, 3).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.groups = data['groups'];\n }\n });\n } else {\n this.authService.getGroups(this.vars.user.uid, 3).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.groups = data['groups'];\n }\n });\n }\n // load request categories\n this.authService.getCategories(0, 0).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.categories = data['categories'];\n }\n });\n // load service types\n this.authService.getServices(0, 0).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.services = data['services'];\n }\n });\n } else {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n } else { // display modal error\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n this.vars.isLoggedIn = false;\n this.router.navigate(['/']);\n }\n });\n }\n\n onSubmitReset() {\n this.authService.forgotPassword(this.email).subscribe(data => {\n if (data['status'] === 'success') {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n } else { // display error\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n this.vars.isLoggedIn = false;\n this.router.navigate(['/']);\n });\n }\n}\n","
\n
\n
\n
\n \"\"\n

HandsOn USF Login

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \"Logo\"\n

HandsOn USF Password Reset

\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { VarsService } from '../../services/vars.service'; // shared data service\n\n@Component({\n selector: 'app-manage',\n templateUrl: './manage.component.html',\n styleUrls: ['./manage.component.css']\n})\nexport class ManageComponent implements OnInit {\n\n constructor(\n public vars: VarsService\n ) {\n }\n\n ngOnInit() {\n }\n\n}\n","\n \n \n \n \n \n \n","import { Component, Input } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-modal-confirm',\n templateUrl: './modal-confirm.component.html',\n styleUrls: ['./modal-confirm.component.css']\n})\n\nexport class ModalConfirmComponent {\n @Input() message;\n\n constructor(public modal: NgbActiveModal) { }\n\n isString(val) { \n return typeof val === 'string'; \n }\n\n \n}\n","
\n
\n
\n
\n \n \n {{message}}\n \n \n \n
    \n
  • {{row}}
  • \n
\n
\n
\n
\n \n \n
\n
","import { Component, Input } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.css']\n})\n\nexport class ModalComponent {\n @Input() message;\n\n\n constructor(public modal: NgbActiveModal) {}\n\n isString(val) { \n return typeof val === 'string'; \n }\n}\n\n\n\n\n","
\n
\n
\n
\n \n {{message}}\n \n \n
    \n
  • {{row}}
  • \n
\n
\n
\n
\n \n
\n
","\nimport {map} from 'rxjs/operators';\nimport { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\n\n@Component({\n selector: 'app-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.css']\n})\nexport class NavbarComponent implements OnInit {\n\n constructor(\n private router: Router,\n private authService: AuthService,\n public vars: VarsService,\n ) {\n }\n\n ngOnInit() {\n // check if the session is already active\n this.authService.getAuth().pipe(map(data => {\n if (data['status'] === 'success') {\n this.vars.isLoggedIn = true;\n }\n }));\n }\n\n switchRole() {\n if (this.vars.isLoggedIn) {\n this.vars.action_idx = -1; // clear the selected action\n this.router.navigate(['/']); // go back to the home screen\n if (this.vars.user.roles.length > 1) {\n if (this.vars.rid_idx < (this.vars.user.roles.length - 1)) {\n this.vars.rid_idx++;\n // load provider groups only\n if (this.vars.user.roles[this.vars.rid_idx].rid < 3) { // admins\n this.authService.getGroups(0, 3).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.groups = data['groups'];\n }\n });\n } else {\n this.authService.getGroups(this.vars.user.uid, 3).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.groups = data['groups'];\n }\n });\n }\n // load request categories\n this.authService.getCategories(0, this.vars.user.roles[this.vars.rid_idx]).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.categories = data['categories'];\n }\n });\n // load service types\n this.authService.getServices(0, this.vars.user.roles[this.vars.rid_idx]).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.services = data['services'];\n }\n });\n // DO NOT pull all actions here... just the open count (or confirmed)\n this.authService.getActionCount(this.vars.user.uid, this.vars.user.roles[this.vars.rid_idx].rid).subscribe(data => {\n if (data['status'] === 'success') { // populate actions for this user-role\n this.vars.count = data['count'];\n }\n }); \n } else {\n this.vars.rid_idx = 0; // sysadmin has no actions\n }\n }\n }\n }\n\n // dropdown if if user has more than one role\n userLabel() {\n let label = this.vars.user.name;\n if (this.vars.user.roles.length > 0) { // include role\n label += ' (' + this.vars.getRole() + ')';\n }\n return label;\n }\n \n onLogoutClick() {\n this.authService.logout().subscribe(data => {\n if (data['status'] === 'success') {\n this.router.navigate(['/']);\n } else { // display error (if ever)\n console.log(data['value']);\n }\n });\n }\n}\n","
\n \n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-page-not-found',\n templateUrl: './page-not-found.component.html',\n styleUrls: ['./page-not-found.component.css']\n})\nexport class PageNotFoundComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","

Page Not Found!

","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'; // angular bootstrap\nimport { ModalComponent } from '../modal/modal.component'; // custom modal\nimport { ModalConfirmComponent } from '../modal-confirm/modal-confirm.component'; // custom confirm modal\nimport { DatePipe } from '@angular/common';\n\nimport { Action } from '../../models/Action';\n\n@Component({\n selector: 'app-provider',\n templateUrl: './provider.component.html',\n styleUrls: ['./provider.component.css']\n})\nexport class ProviderComponent implements OnInit {\n status: string; // action status filter\n action: Action; // action buffer\n notes: string; // current user notes\n closeResult: string;\n dt: number;\n\n constructor(\n public authService: AuthService,\n public vars: VarsService,\n private modalService: NgbModal, // instantiate modal service\n public datepipe: DatePipe,\n ) {\n }\n\n ngOnInit() {\n this.onStatusSelect(1); // defaults to CONFIRMED\n //let timeInUTC = new Date().toUTCString();\n this.dt = Math.round((new Date().getTime()) / 1000); // get current unix timestamp (in UTC!)\n }\n // initialize buffer\n initBuffer() {\n this.notes = '';\n this.action = {\n aid: 0,\n category: {\n cid: 0,\n name: ''\n },\n service: {\n sid: 0,\n name: '',\n provider_gid: 0\n },\n name: '',\n notes: '',\n required: 1,\n providers: [],\n client: { uid: 0, name: '' },\n features: [],\n timestamp: 0\n };\n }\n\n // action status selected\n onStatusSelect(idx) { // 1 = confirmed, 2 = canceled, 3 = closed\n this.vars.action_idx = -1; // clear idx until new submited or specific action is selected\n this.initBuffer(); // initialize/clear action buffer\n this.status = this.vars.status[idx];\n this.authService.getActionList(this.status, this.vars.user.uid, this.vars.user.roles[this.vars.rid_idx].rid).subscribe(data => {\n if (data['status'] === 'success') { // populate actions for this user-role\n this.vars.user.roles[this.vars.rid_idx].actions = data['actions'];\n }\n });\n }\n\n // action selected from the menu\n onActionClick(idx) {\n this.vars.action_idx = idx; // set currently selected action (used by getAction())\n this.authService.getAction(this.vars.user.roles[this.vars.rid_idx].actions[idx].aid).subscribe(data => {\n if (data['status'] === 'success') { // populate actions data\n this.vars.user.roles[this.vars.rid_idx].actions[idx] = data['action'];\n\n this.action.category = this.vars.getAction().category;\n this.action.service = this.vars.getAction().service;\n this.action.name = this.vars.getAction().name;\n this.action.notes = this.vars.getAction().notes;\n this.action.required = this.vars.getAction().required;\n this.action.client = this.vars.getAction().client;\n this.action.status = this.vars.getAction().status;\n this.action.features = this.vars.getAction().features;\n this.action.timestamp = this.vars.getAction().timestamp;\n this.action.aid = this.vars.getAction().aid; // last to prevent errors\n this.loadActionProviders(true); // list currently assigned providers\n }\n });\n }\n\n // load a list of all selected providers (if load is true) or just clear the list\n loadActionProviders(load) {\n var providers = null;\n this.action.providers = [];\n // if this is an existing action then get a list of any current assignments\n if (load && this.vars.getAction() != null) {\n providers = this.vars.getAction().providers;\n }\n for (let x = 0; x < this.action.required; x++) {\n if (providers != null && providers[x] != null) {\n this.action.providers.push(providers[x]);\n if (providers[x].uid == this.vars.user.uid) { // current user\n this.notes = providers[x].action_notes; // copy notes into buffer\n }\n }\n }\n }\n\n // load set of features for this request category\n loadFeatures(cid) {\n this.authService.getFeatures(cid, '', '').subscribe(data => {\n if (data['status'] === 'success') {\n this.action.features = data['features'];\n }\n });\n }\n\n // format date\n displayDate(date) {\n if (date == null) {\n return \"N/A\";\n } else {\n return ('0000' + date.year).slice(-4) + '-' + ('00' + date.month).slice(-2) + '-' + ('00' + date.day).slice(-2);\n }\n }\n\n // format time\n displayTime(time) {\n if (time == null) {\n return \"N/A\";\n } else {\n return ('00' + time.hour).slice(-2) + ' : ' + ('00' + time.minute).slice(-2);\n }\n }\n\n // return label of the selected option\n getOptionLabel(feature) {\n if (feature.value == null || feature.value == '') { // feature value has not been set yet.\n return \"Select\";\n } else { // return label corresponding to the value.\n return feature.options[feature.value].label;\n }\n }\n\n // flip the checkbox indicator\n onFeatureChecked(feature) {\n if (feature.value == null || feature.value === '' || feature.value === '0') {\n this.onFeatureUpdate(feature, '1');\n } else {\n this.onFeatureUpdate(feature, '0');\n }\n }\n\n // on every change\n onFeatureUpdate(feature, value) {\n feature.value = value;\n }\n\n // get a number of providers selected\n getConfirmed(action) {\n let cnt = 0;\n for (let x = 0; x < action.providers.length; x++) {\n if (action.providers[x].uid != 0) {\n cnt++;\n }\n }\n return cnt;\n }\n\n // iterrate over required features and return true if any missing\n stillRequired() {\n for (let feature of this.action.features) {\n if (feature.required == 1 && (feature.value == '' || feature.value == '0')) {\n return true;\n }\n }\n return false;\n }\n\n // get user action status of the current user\n providerStatus() {\n for (let x = 0; x < this.action.providers.length; x++) {\n if (this.action.providers[x].uid == this.vars.user.uid) {\n return this.action.providers[x].action_status;\n }\n }\n return false;\n }\n\n // check if action expires soon\n urgent(action) {\n if (action !== null && action.status != 'canceled' && action.status != 'closed') {\n if ((action.timestamp > this.dt) && ((action.timestamp - this.dt) < 86400)) { // action is due in less than 24 hours from now\n return true;\n }\n }\n return false;\n }\n\n\n // decide if the current feature is visible\n isVisible(feature) {\n if (feature.hidden == 0) { // feature always visible\n return true;\n }\n for (let user of this.action.providers) { // for all providers listed under current action\n if (user.uid == this.vars.user.uid && user.action_status == \"accepted\") { // if the current user is one of those accepted this action\n return true;\n }\n }\n return false;\n }\n\n // update user action with status\n updateUserAction(status) {\n this.authService.updateUserAction(this.vars.user.uid, this.action.aid, status, this.notes).subscribe(data => {\n if (data['status'] === 'success') { // update successful\n this.modalService.open(ModalComponent).componentInstance.message = data['value']; // display message\n this.vars.action_idx = -1; // revert to no action selected\n this.onStatusSelect(1); // return to CONFIRMED\n // refresh count\n this.authService.getActionCount(this.vars.user.uid, this.vars.user.roles[this.vars.rid_idx].rid).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.count = data['count'];\n }\n });\n } else {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n }\n\n // process button click\n onButtonClick(button) {\n switch (button) {\n case 'update': { // update notes\n this.updateUserAction('');\n break;\n }\n case 'accept': { // accept action assignment\n // modal confirmation dialog\n const md = this.modalService.open(ModalConfirmComponent);\n md.componentInstance.message = 'Are you sure you want ACCEPT this request?';\n md.result.then((userResponse) => {\n if (userResponse) {\n this.updateUserAction('accepted');\n }\n });\n break;\n }\n case 'reject': { // accept action assignment\n // modal confirmation dialog\n const md = this.modalService.open(ModalConfirmComponent);\n md.componentInstance.message = 'Are you sure you want to REJECT this request?';\n md.result.then((userResponse) => {\n if (userResponse) {\n this.updateUserAction('rejected');\n }\n });\n break;\n }\n case 'cancel': { // set action to canceled and set all corresponding user actions to canceled\n // modal confirmation dialog\n const md = this.modalService.open(ModalConfirmComponent);\n md.componentInstance.message = 'Are you sure you want to CANCEL your assignment?';\n md.result.then((userResponse) => {\n if (userResponse) {\n this.updateUserAction('canceled');\n }\n });\n break;\n }\n case 'complete': { // set action to closed and update all corresponding user actions to completed\n // modal confirmation dialog\n const md = this.modalService.open(ModalConfirmComponent);\n md.componentInstance.message = 'Are you sure you want to COMPLETE your assignment?';\n md.result.then((userResponse) => {\n if (userResponse) {\n this.updateUserAction('completed');\n }\n });\n break;\n }\n default: {\n break;\n }\n }\n }\n}","\n
\n
\n 0\">\n
\n
Request #
\n
\n {{action.name}}\n {{action.category.name}} {{action.service.name}} for\n {{action.client.name}}\n
\n
\n
\n
Notes
\n
\n \n
\n
\n
\n
0 || (status === 'confirmed')\" class=\"col-4 feature-item\"> 
\n
\n Interpreters
\n
\n {{item.name}} ({{item.action_status}})\n
\n
\n \n
\n
\n \n
\n
\n    \n \n \n
\n \n \n
\n {{feature.name}}\n
\n \n
\n {{feature.value}}\n
\n \n
\n {{feature.value}}\n
\n \n
\n {{feature.value}}\n
\n \n
\n {{displayDate(feature.date)}}\n
\n \n
\n {{displayTime(feature.time)}}\n
\n \n
\n
\n \n \n
\n
\n \n
\n {{getOptionLabel(feature)}}\n
\n
\n
\n
\n \n    \n
\n
\n \n \n  \n \n \n \n  \n \n \n \n  \n \n \n \n  \n \n \n \n  \n \n
\n
\n
\n
\n\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n
 
\n
\n
\n
\n
    0\"\n class=\"list-group\">\n \n
  • {{action.name}}\n {{action.service.name}}\n {{getConfirmed(action)}}\n / {{action.required}}\n {{action.service.name}}\n \n
  • \n
    \n
\n
\n
\n
\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'; // bootstap modal\nimport { ModalComponent } from '../modal/modal.component'; // custom modal\n\nimport { Group } from '../../models/Group';\n\n@Component({\n selector: 'app-register',\n templateUrl: './register.component.html',\n styleUrls: ['./register.component.css']\n})\nexport class RegisterComponent implements OnInit {\n name: string;\n email: string;\n password: string;\n code: string;\n\n constructor(\n public router: Router,\n public authService: AuthService,\n public vars: VarsService,\n private modalService: NgbModal // instantiate modal service\n ) {\n this.name = '';\n this.email = '';\n this.password = '';\n this.code = '';\n }\n\n ngOnInit() {\n }\n\n onSubmit() {\n this.authService.register(this.name, this.email, this.password, this.code).subscribe(data => {\n if (data['status'] === 'success') {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n this.router.navigate(['/']);\n } else { // display error\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n }\n}\n","
\n
\n
\n
\n \"\"\n

HandsOn USF Registration

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n","import { Component, ViewChild } from '@angular/core';\nimport { AuthService } from '../../services/auth.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { AngularCsv } from 'angular-csv-ext/dist/Angular-csv';\n\n@Component({\n selector: 'app-reports',\n templateUrl: './reports.component.html',\n styleUrls: ['./reports.component.css']\n})\nexport class ReportsComponent {\n report_idx: number;\n report_list: string[];\n report_columns: any[][];\n report: any;\n displayedColumns: any[][];\n\n @ViewChild(MatSort) sort: MatSort;\n // following solves the problem of sort before refresh\n @ViewChild(MatSort) set content(sort: MatSort) {\n this.report.sort = sort;\n }\n\n constructor(\n private authService: AuthService\n ) {\n this.report_idx = -1;\n this.report_list = ['Actvity Report'];\n this.report_columns = [\n [{ columnDef: 'aid', header: 'ID', cell: (element: any) => `${element.aid}` },\n { columnDef: 'label', header: 'Label', cell: (element: any) => `${element.label}` },\n { columnDef: 'owner', header: 'Owner', cell: (element: any) => `${element.owner}` },\n { columnDef: 'notes', header: 'Notes', cell: (element: any) => `${element.notes}` },\n { columnDef: 'status', header: 'Status', cell: (element: any) => `${element.status}` },\n { columnDef: 'assigned', header: 'Assigned To', cell: (element: any) => `${element.assigned}` },\n { columnDef: 'created_dt', header: 'Created', cell: (element: any) => `${element.created_dt}` },\n { columnDef: 'updated_dt', header: 'Updated', cell: (element: any) => `${element.updated_dt}` }]\n ];\n this.report = new MatTableDataSource(); \n }\n\n loadReportData(idx) {\n this.report_idx = idx;\n if (idx < 0) {\n this.report = new MatTableDataSource();\n } else {\n this.authService.getReports(idx).subscribe(data => {\n if (data['status'] === 'success') {\n this.displayedColumns = this.report_columns[this.report_idx].map(c => c.columnDef);\n this.report.data = data['report'];\n this.report.sort = this.sort;\n }\n });\n }\n }\n\n applyFilter(filterValue: string) {\n this.report.filter = filterValue.trim().toLowerCase();\n }\n\n saveAsCSV() {\n //console.log(\"Saving CSV...\");\n const file = new AngularCsv(this.report.filteredData, 'My Report');\n }\n}","
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n
0\">\n
\n \n \n \n {{ column.header }} \n {{ column.cell(row) }} \n \n \n \n \n
\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'; // bootstap modal\nimport { ModalComponent } from '../modal/modal.component'; // custom modal\n\n@Component({\n selector: 'app-reset',\n templateUrl: './reset.component.html',\n styleUrls: ['./reset.component.css']\n})\n\nexport class ResetComponent implements OnInit {\n password: string\n password2: string\n\n constructor(\n private router: Router,\n private authService: AuthService,\n private vars: VarsService,\n private modalService: NgbModal // instantiate modal service\n ) {\n this.password = '';\n this.password2 = '';\n }\n\n ngOnInit() {\n }\n\n onSubmit() {\n if (this.password === this.password2) {\n this.authService.resetPassword(this.vars.token, this.password).subscribe(data => {\n if (data['status'] === 'success') {\n this.vars.token = ''; // clear the token\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n this.router.navigate(['/login']);\n } else { // display error\n // display modal error\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n } else {\n this.modalService.open(ModalComponent).componentInstance.message = \"Passwords don't match!\";\n }\n this.vars.isLoggedIn = false;\n }\n\n}\n","
\n
\n
\n
\n \"Logo\"\n

Password Reset

\n
\n
\n \n \t\n
\n
\n \t\n \t\n
\n
\n \n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'; // bootstap modal\nimport { ModalComponent } from '../modal/modal.component'; // custom modal\n\nimport { Service } from '../../models/Service';\nimport { Group } from '../../models/Group';\nimport { User } from '../../models/User';\n\n@Component({\n selector: 'app-services',\n templateUrl: './services.component.html',\n styleUrls: ['./services.component.css']\n})\nexport class ServicesComponent implements OnInit {\n client_groups: Group[]; // list of all client groups\n provider_groups: Group[]; // list of all provider groups\n client_users: User[]; // list of all client users\n service: Service; // group buffer\n\n constructor(\n public authService: AuthService,\n public vars: VarsService,\n private modalService: NgbModal // instantiate modal service\n ) {\n // instantiate a new service buffer\n this.service = { sid: 0, name: '', provider_gid: 0, access: 'all', priority: 0, groups: [], users: [] };\n }\n\n ngOnInit() {\n // load client groups array\n this.authService.getGroups(0, 3).subscribe(data => {\n if (data['status'] === 'success') {\n this.client_groups = data['groups'];\n }\n });\n // load provider groups array\n this.authService.getGroups(0, 4).subscribe(data => {\n if (data['status'] === 'success') {\n this.provider_groups = data['groups'];\n }\n });\n // load client users array\n this.authService.getRoleUsers(3).subscribe(data => {\n if (data['status'] === 'success') {\n this.client_users = data['users'];\n }\n });\n }\n\n // update client group\n onProviderGroupUpdate(gid) {\n this.service.provider_gid = gid;\n }\n\n // return label of the selected option\n getOptionLabel(group) {\n if (group.rid_name === '') { // group role has not been set yet.\n return 'Select';\n } else { // return role corresponding to the rid.\n return group.rid_name;\n }\n }\n\n // update access type\n onAccessUpdate(value) {\n if (value == 0) {\n this.service.access = 'all';\n } else if (value == 1) {\n this.service.access = 'group';\n } else {\n this.service.access = 'user';\n }\n }\n\n // set currently selected service\n onServiceSelect(idx) {\n this.service.sid = this.vars.services[idx].sid;\n this.service.name = this.vars.services[idx].name;\n this.service.provider_gid = this.vars.services[idx].provider_gid;\n this.service.access = this.vars.services[idx].access;\n this.service.priority = this.vars.services[idx].priority;\n this.service.groups = this.vars.services[idx].groups;\n this.service.users = this.vars.services[idx].users;\n }\n\n // clear the service buffer\n onNewClick() {\n this.service.sid = 0;\n this.service.name = '';\n this.service.provider_gid = 1;\n this.service.access = 'all';\n this.service.priority = 0;\n this.service.groups = [];\n this.service.users = [];\n }\n\n onGroupSelect(group) { // add gid to the list\n this.service.groups.push(group);\n }\n onGroupDelete(idx) { // remove gid from the list\n this.service.groups.splice(idx, 1);\n }\n groupNotSelected(gid) {\n for (let item of this.service.groups) {\n if (item.gid === gid) {\n return false;\n }\n }\n return true;\n }\n\n onUserSelect(user) { // add uid to the list\n this.service.users.push(user);\n }\n onUserDelete(idx) { // remove uid from the list\n this.service.users.splice(idx, 1);\n }\n userNotSelected(uid) {\n for (let item of this.service.users) {\n if (item.uid === uid) {\n return false;\n }\n }\n return true;\n }\n\n // update group in DB\n onSubmitClick() {\n this.authService.updateService(this.service).subscribe(data => {\n if (data['status'] === 'success') { // update successful\n this.service.sid = data['value'];\n // re-load groups array\n this.authService.getServices(0, 0).subscribe(data => {\n if (data['status'] === 'success') { // return rules or empty array\n this.vars.services = data['services'];\n this.modalService.open(ModalComponent).componentInstance.message = 'Records Updated';\n }\n });\n } else {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n }\n}","
\n
\n
\n
\n
\n
\n
    \n \n
  • {{item.name}}\n ({{item.sid}})\n
  • \n
    \n
\n
\n
\n
\n
\n
\n
\n
\n Service ID:\n {{service.sid}}\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n 0\">\n
Groups:
\n
\n
\n
    \n
  • {{group.name}}\n
  • \n
\n
\n
\n
\n 0\">\n
Users:
\n
\n
\n
    \n
  • {{user.name}}\n
  • \n
\n
\n
\n
\n
\n
\n
\n \n  \n \n
\n
\n
\n
\n
\n \n
\n
\n Available Groups:\n
\n
\n
\n
\n
    \n \n
  • {{item.name}}\n
  • \n
    \n
\n
\n
\n
\n \n
\n
\n Available Users:\n
\n
\n
\n
\n
    \n \n
  • {{item.name}}\n
  • \n
    \n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../services/auth.service';\nimport { VarsService } from '../../services/vars.service'; // shared data service\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'; // bootstap modal\nimport { ModalComponent } from '../modal/modal.component'; // custom modal\n\nimport { User } from '../../models/User';\nimport { Action } from '../../models/Action';\nimport { UserInput } from '../../models/UserInput';\n\n\n@Component({\n selector: 'app-users',\n templateUrl: './users.component.html',\n styleUrls: ['./users.component.css']\n})\nexport class UsersComponent implements OnInit {\n filter_user_list_status: string;\n users: User[];\n user: User; // current user buffer\n header: string; // header labels of the currently selected user type\n file: Blob;\n userInput: UserInput[]; // user input file buffer\n\n constructor(\n public authService: AuthService,\n public vars: VarsService,\n private modalService: NgbModal // instantiate modal service\n ) {\n this.filter_user_list_status = 'active';\n // instantiate a new user buffer\n this.user = { uid: 0, status: 'active', name: '', email: '', login: '', password: '', verified: 0 };\n this.header = '';\n this.userInput = [];\n }\n\n ngOnInit() {\n // load users array\n this.authService.getGroupUsers(0).subscribe(data => {\n if (data['status'] === 'success') { // return users or empty array\n this.users = data['users'];\n }\n });\n }\n\n // set status selection filter for users\n onFilterUserListSelect(value) {\n if (value == 1) {\n this.filter_user_list_status = 'active';\n } else {\n this.filter_user_list_status = 'inactive';\n }\n }\n\n // set user status\n onStatusSelect(value) {\n if (value == '0') {\n this.user.status = '';\n } else if (value == '1') {\n this.user.status = 'active';\n } else {\n this.user.status = 'inactive';\n }\n }\n\n // set currently selected user\n onUserSelect(idx) { // copy the user data into the current user buffer\n this.user.uid = this.users[idx].uid;\n this.user.status = this.users[idx].status;\n this.user.name = this.users[idx].name;\n this.user.email = this.users[idx].email;\n this.user.login = this.users[idx].login;\n this.user.password = this.users[idx].password;\n this.user.verified = this.users[idx].verified;\n }\n\n // flip the verified indicator\n onChecked() {\n this.user.verified = this.user.verified == 1 ? 0 : 1\n }\n\n // clear the user buffer\n onNewClick() {\n this.user.uid = 0;\n this.user.status = 'active';\n this.user.name = '';\n this.user.email = '';\n this.user.login = '';\n this.user.password = '';\n this.user.verified = 0;\n }\n\n // send verification email\n onVerifyClick() {\n // IMPLEMENT THIS!\n }\n\n // update user in DB\n onSubmitClick() {\n this.authService.updateUser(this.user).subscribe(data => {\n if (data['status'] === 'success') { // update successful\n this.user.uid = data['uid'];\n // re-load users array\n this.authService.getGroupUsers(0).subscribe(data => {\n if (data['status'] === 'success') { // return users or empty array\n this.users = data['users'];\n this.modalService.open(ModalComponent).componentInstance.message = \"Records Updated\";\n }\n });\n } else {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n }\n\n // set the file blob if new file selected\n onFileChange(event) {\n if (event.target.files && event.target.files.length > 0) {\n this.file = event.target.files[0];\n } else {\n this.file = null;\n }\n }\n\n // load file content and process it\n onLoadClick() {\n if (this.file != null) {\n this.userInput = []; // clear the input buffer\n let reader = new FileReader();\n reader.readAsText(this.file);\n reader.onload = (e) => {\n let csvData = reader.result;\n let csvRecordsArray = csvData.split(/\\r0|\\r\\n|\\n/);\n let i = 0;\n // for each record set in the file\n for (let row of csvRecordsArray) { // process each row\n let col = row.split(',');\n if (Number(col[1]) > 0) { // skip all rows that do not contain a valid number in group column\n this.userInput[i] = { 'gid': Number(col[1]), 'uid': Number(col[2]), 'name': col[3], 'email': col[4], 'password': col[5], 'verified': Number(col[6]), 'status': col[7]}; \n i++;\n }\n }\n // console.log(JSON.stringify(this.userInput));\n if (i > 0) { // we have user record to process\n this.authService.processUsers(this.userInput).subscribe(data => {\n if (data['status'] === 'success') { // processing successful\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n } else {\n this.modalService.open(ModalComponent).componentInstance.message = data['value'];\n }\n });\n }\n };\n }\n }\n}\n","
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
    \n \n
  • {{item.name}}\n ({{item.uid}})\n
  • \n
    \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n User ID:\n {{user.uid}}\n
\n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n  \n \n  \n \n
\n
\n
\n
\n
\n
\n
\n
","\nimport {map} from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { CanActivate, Router } from '@angular/router';\nimport { AuthService } from '../services/auth.service';\n\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n constructor (\n private authService: AuthService,\n private router: Router\n ) {}\n\n canActivate(): Observable {\n return this.authService.getAuth().pipe(map(data => {\n //console.log('GUARD:' + data['status']);\n if (data['status'] !== 'success') {\n this.router.navigate(['/login']);\n return false;\n } else {\n return true;\n }\n }));\n }\n}\n","import { Pipe } from '@angular/core';\n\n@Pipe({\n name: 'ActionModule'\n})\nexport class ActionModule {\n transform(objects: any[]): any[] {\n if (objects) {\n return objects.filter(object => {\n return object.url !== '';\n });\n }\n }\n}\n","import { Pipe } from '@angular/core';\n\n@Pipe({\n name: 'ActionOpen'\n})\nexport class ActionOpen {\n transform(objects: any[]): any[] {\n if (objects) {\n return objects.filter(object => {\n return object.status === 'open';\n });\n }\n }\n}\n","import { Pipe } from '@angular/core';\n\n@Pipe({\n name: 'UserStudent'\n})\nexport class UserStudent {\n transform(objects: any[]): any[] {\n if (objects) {\n return objects.filter(object => {\n return object.role === 'student';\n });\n }\n }\n}","import { Pipe } from '@angular/core';\n\n@Pipe({\n name: 'UserTeacher'\n})\nexport class UserTeacher {\n transform(objects: any[]): any[] {\n if (objects) {\n return objects.filter(object => {\n return object.role === 'teacher';\n });\n }\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { VarsService } from './vars.service';\n\n@Injectable()\nexport class AuthService {\n\n constructor(public http: HttpClient, public vars: VarsService) {\n }\n\n getAuth() {\n return this.http.get(this.vars.serviceURL + '?action=status', { withCredentials: true });\n }\n login(email, password) {\n return this.http.get(this.vars.serviceURL + '?action=login&email=' + email + '&password=' + password, { withCredentials: true });\n }\n forgotPassword(email) {\n return this.http.get(this.vars.serviceURL + '?action=email_reset&email=' + email, { withCredentials: true });\n }\n resetPassword(token, password) {\n return this.http.get(this.vars.serviceURL + '?action=reset&token=' + token + '&password=' + password, { withCredentials: true });\n }\n verifyUser(token) {\n return this.http.get(this.vars.serviceURL + '?action=verify&token=' + token, { withCredentials: true });\n }\n\n logout() {\n this.vars.isLoggedIn = false;\n return this.http.get(this.vars.serviceURL + '?action=logout', { withCredentials: true });\n }\n register(name, email, password, code) {\n return this.http.get(this.vars.serviceURL + '?action=register&name=' + name + '&email=' + email + '&password=' + password + '&code=' + code, { withCredentials: true });\n }\n // ---USERS\n getAccessList(cid, sid) {\n return this.http.get(this.vars.serviceURL + '?action=get_access_list&cid=' + cid + '&sid=' + sid, { withCredentials: true });\n }\n getRoleUsers(rid) {\n return this.http.get(this.vars.serviceURL + '?action=get_users&gid=0&aid=0&rid=' + rid, { withCredentials: true });\n }\n getGroupUsers(gid) {\n return this.http.get(this.vars.serviceURL + '?action=get_users&gid=' + gid + '&aid=0&rid=0', { withCredentials: true });\n }\n getActionUsers(aid) {\n return this.http.get(this.vars.serviceURL + '?action=get_users&gid=0&aid=' + aid + '&rid=0', { withCredentials: true });\n }\n updateUser(user) {\n let headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n let params = new HttpParams().set('withCredentials', 'true');\n return this.http.post(\n this.vars.serviceURL, {\n action: 'update_user',\n user: user\n }, { headers: headers, params: params });\n }\n updateUserGroup(gid, users) {\n let headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n let params = new HttpParams().set('withCredentials', 'true');\n return this.http.post(\n this.vars.serviceURL, {\n action: 'update_user_group',\n gid: gid,\n users: users\n }, { headers: headers, params: params });\n }\n // process users\n processUsers(userInput) {\n let headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n let params = new HttpParams().set('withCredentials', 'true');\n return this.http.post(\n this.vars.serviceURL, {\n action: 'process_users',\n users: userInput\n }, { headers: headers, params: params });\n }\n // ---ROLES\n getRoles() {\n return this.http.get(this.vars.serviceURL + '?action=get_roles&uid=0', { withCredentials: true });\n }\n // ---GROUPS\n getGroups(uid, rid) {\n return this.http.get(this.vars.serviceURL + '?action=get_groups&uid=' + uid + '&rid=' + rid, { withCredentials: true });\n }\n updateGroup(group) {\n const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n const params = new HttpParams().set('withCredentials', 'true');\n return this.http.post(\n this.vars.serviceURL, {\n action: 'update_group',\n group: group\n }, { headers: headers, params: params });\n }\n // ---ACTIONS\n getActionCount(uid, rid) {\n return this.http.get(this.vars.serviceURL + '?action=get_action_count&uid=' + uid + '&rid=' + rid, { withCredentials: true });\n }\n getActionList(status, uid, rid) {\n return this.http.get(this.vars.serviceURL + '?action=get_action_list&status=' + status + '&uid=' + uid + '&rid=' + rid, { withCredentials: true });\n }\n getAction(aid) {\n return this.http.get(this.vars.serviceURL + '?action=get_action&aid=' + aid, { withCredentials: true });\n }\n updateAction(action) {\n let headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n let params = new HttpParams().set('withCredentials', 'true');\n return this.http.post(\n this.vars.serviceURL, {\n action: 'update_action',\n action_object: action\n }, { headers: headers, params: params });\n }\n updateUserAction(uid, aid, status, notes) {\n let headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n let params = new HttpParams().set('withCredentials', 'true');\n return this.http.post(\n this.vars.serviceURL, {\n action: 'update_user_action',\n uid: uid,\n aid: aid,\n status: status,\n notes: notes\n }, { headers: headers, params: params });\n }\n // ---CATEGORIES\n getCategories(cid, rid) {\n return this.http.get(this.vars.serviceURL + '?action=get_categories&cid=' + cid + '&rid=' + rid, { withCredentials: true });\n }\n updateCategory(category) {\n let headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n let params = new HttpParams().set('withCredentials', 'true');\n return this.http.post(\n this.vars.serviceURL, {\n action: 'update_category',\n category: category\n }, { headers: headers, params: params });\n }\n // ---SERVICES\n getServices(sid, rid) {\n return this.http.get(this.vars.serviceURL + '?action=get_services&sid=' + sid + '&rid=' + rid, { withCredentials: true });\n }\n updateService(service) {\n let headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n let params = new HttpParams().set('withCredentials', 'true');\n return this.http.post(\n this.vars.serviceURL, {\n action: 'update_service',\n service: service\n }, { headers: headers, params: params });\n }\n // ---FEATURES\n getFeatures(cid, aid, uid) {\n return this.http.get(this.vars.serviceURL + '?action=get_features&cid=' + cid + '&aid=' + aid + '&uid=' + uid, { withCredentials: true });\n }\n updateFeature(feature) {\n let headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n let params = new HttpParams().set('withCredentials', 'true');\n return this.http.post(\n this.vars.serviceURL, {\n action: 'update_feature',\n feature: feature\n }, { headers: headers, params: params });\n }\n // ---REPORTS \n getReports(idx) {\n return this.http.get(this.vars.serviceURL + '?action=get_reports&' + 'id=' + idx, { withCredentials: true });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { User } from '../models/User';\nimport { Role } from '../models/Role';\nimport { Group } from '../models/Group';\nimport { Category } from '../models/Category';\nimport { Service } from '../models/Service';\n\n\n@Injectable()\nexport class VarsService {\n // constants\n serverURL: string;\n serviceURL: string;\n user_status: string[];\n status: string[];\n type: string[];\n roles: Role[]; // all user roles\n groups: Group[]; // all user groups\n categories: Category[]; // all request categories\n services: Service[]; // all service types\n\n // variables\n emailAction: string;\n token: string;\n isLoggedIn: boolean;\n isSidebarCollapsed: boolean;\n user: User; // authenticated user with actions and features\n rid_idx: number; // current user role index (can only have one active)\n action_idx: number; // currently select action index\n count: number; // number of actions\n \n constructor(\n ) {\n this.serverURL = 'https://housfapp.cbcs.usf.edu/'; // PRODUCTION\n //this.serverURL = 'https://cbcsres.it.usf.edu/handson/'; // PRODUCTION-old\n //this.serverURL = 'https://cbcsres.it.usf.edu/handsont/'; // DEVELOPMENT\n this.serviceURL = this.serverURL + 'server/service.php';\n this.user_status = ['assigned', 'accepted', 'rejected', 'canceled', 'completed'];\n this.status = ['open', 'confirmed', 'canceled', 'closed'];\n this.type = ['string', 'text', 'number', 'date', 'time', 'check', 'select'];\n this.roles = []; // user roles\n this.groups = []; // user groups\n this.categories = [];\n this.services = [];\n this.emailAction = '';\n this.token = '';\n this.isLoggedIn = false;\n this.isSidebarCollapsed = false;\n this.user = {uid: 0, status: 'active', name: '', email: '', verified: 0, roles: []};\n this.rid_idx = 0; // default to first role\n this.action_idx = -1; // currently selected action\n this.count = 0;\n }\n\n ngOnInit() {\n }\n\n isAuthenticated() {\n return this.isLoggedIn;\n }\n\n isAuthorized() {\n return true;\n }\n\n isSysAdmin() { // SysAdmin\n if (this.isLoggedIn) {\n if (this.user.roles[this.rid_idx].name === \"sysadmin\") {\n return true;\n }\n }\n return false;\n }\n\n isAdmin() { // Admin\n if (this.isLoggedIn) {\n if (this.user.roles[this.rid_idx].name === \"admin\") {\n return true;\n }\n }\n return false;\n }\n\n isClient() { // Client\n if (this.isLoggedIn) {\n if (this.user.roles[this.rid_idx].name === \"client\") {\n return true;\n }\n }\n return false;\n }\n\n isProvider() { // Provider\n if (this.isLoggedIn) {\n if (this.user.roles[this.rid_idx].name === \"provider\") {\n return true;\n }\n }\n return false;\n }\n\n isMultiRole() {\n if (this.isLoggedIn) {\n if (this.user.roles.length > 1) {\n return true;\n }\n }\n return false;\n }\n\n action_provider_status(action, uid) {\n for (let provider of action.providers) {\n if (provider.uid == uid) {\n return provider.status;\n }\n }\n return '';\n }\n\n getrid() {\n if (this.isLoggedIn) {\n return this.user.roles[this.rid_idx].rid;\n } else {\n return 0;\n }\n }\n\n getRole() {\n if (this.isLoggedIn) {\n return this.user.roles[this.rid_idx].name;\n } else {\n return '';\n }\n }\n\n getStatus() {\n if (this.isLoggedIn && this.action_idx > -1) {\n return this.user.roles[this.rid_idx].actions[this.action_idx].status;\n } else {\n return 'new';\n }\n }\n\n getUserStatus() {\n if (this.isLoggedIn && this.action_idx > -1) {\n return this.action_provider_status(this.user.roles[this.rid_idx].actions[this.action_idx], this.user.uid);\n } else {\n return '';\n }\n }\n\n getAction() {\n if (this.isLoggedIn && this.action_idx > -1) {\n return this.user.roles[this.rid_idx].actions[this.action_idx];\n } else {\n return null;\n }\n }\n getActionsList() {\n if (this.isLoggedIn) {\n return this.user.roles[this.rid_idx].actions;\n } else {\n return null;\n }\n }\n\n toggleSidebar() { // simply toggle the sidebar variable\n this.isSidebarCollapsed = !this.isSidebarCollapsed;\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * In development mode, to ignore zone related error stack frames such as\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\n * import the following file, but please comment it out in production mode\n * because it will have performance impact when throw error\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n"],"sourceRoot":"webpack:///"}