{"version":3,"sources":["webpack:///src/$_lazy_route_resource lazy namespace object","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/components/about/about.component.ts","webpack:///src/app/components/about/about.component.html","webpack:///src/app/components/admin/admin.component.ts","webpack:///src/app/components/admin/admin.component.html","webpack:///src/app/components/categories/categories.component.ts","webpack:///src/app/components/categories/categories.component.html","webpack:///src/app/components/client/client.component.ts","webpack:///src/app/components/client/client.component.html","webpack:///src/app/components/configure/configure.component.ts","webpack:///src/app/components/configure/configure.component.html","webpack:///src/app/components/features/features.component.ts","webpack:///src/app/components/features/features.component.html","webpack:///src/app/components/groups/groups.component.ts","webpack:///src/app/components/groups/groups.component.html","webpack:///src/app/components/home/home.component.ts","webpack:///src/app/components/home/home.component.html","webpack:///src/app/components/login/login.component.ts","webpack:///src/app/components/login/login.component.html","webpack:///src/app/components/manage/manage.component.ts","webpack:///src/app/components/manage/manage.component.html","webpack:///src/app/components/modal-confirm/modal-confirm.component.ts","webpack:///src/app/components/modal-confirm/modal-confirm.component.html","webpack:///src/app/components/modal/modal.component.ts","webpack:///src/app/components/modal/modal.component.html","webpack:///src/app/components/navbar/navbar.component.ts","webpack:///src/app/components/navbar/navbar.component.html","webpack:///src/app/components/page-not-found/page-not-found.component.ts","webpack:///src/app/components/page-not-found/page-not-found.component.html","webpack:///src/app/components/provider/provider.component.ts","webpack:///src/app/components/provider/provider.component.html","webpack:///src/app/components/register/register.component.ts","webpack:///src/app/components/register/register.component.html","webpack:///src/app/components/reports/reports.component.ts","webpack:///src/app/components/reports/reports.component.html","webpack:///src/app/components/reset/reset.component.ts","webpack:///src/app/components/reset/reset.component.html","webpack:///src/app/components/services/services.component.ts","webpack:///src/app/components/services/services.component.html","webpack:///src/app/components/users/users.component.ts","webpack:///src/app/components/users/users.component.html","webpack:///src/app/guards/auth.guard.ts","webpack:///src/app/pipes/action-module.pipe.ts","webpack:///src/app/pipes/action-open.pipe.ts","webpack:///src/app/pipes/user-student.pipe.ts","webpack:///src/app/pipes/user-teacher.pipe.ts","webpack:///src/app/services/auth.service.ts","webpack:///src/app/services/vars.service.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","AppComponent","title","selector","templateUrl","styleUrls","appRoutes","path","component","canActivate","AppModule","forRoot","declarations","imports","providers","bootstrap","entryComponents","AboutComponent","version","vars","AdminComponent","authService","modalService","datepipe","gid_num","groups","length","cid_num","categories","sid_num","services","onStatusSelect","dt","Math","round","Date","getTime","action","aid","group","gid","rid","name","category","cid","service","sid","provider_gid","notes","required","client","uid","status","features","timestamp","idx","action_idx","initBuffer","user","setActionName","loadFeatures","updateClientList","updateProviderList","loadActionProviders","getActionList","roles","rid_idx","subscribe","data","actions","getAction","load","x","push","date","transform","getFeatures","getAccessList","client_users","getGroupUsers","provider_users","action_status","action_notes","item","year","slice","month","day","time","hour","minute","feature","value","options","label","onFeatureUpdate","cnt","updateAction","open","componentInstance","message","getActionCount","count","button","md","result","userResponse","md2","CategoriesComponent","review","access","priority","users","getGroups","client_groups","getRoleUsers","rid_name","splice","updateCategory","getCategories","onChecked","onAccessUpdate","onNewClick","onSubmitClick","ClientComponent","ConfigureComponent","FeaturesComponent","filter_cid","fid","type","maximum","hidden","feature_option","console","log","updateFeature","onFilterCategorySelect","onCheckedRequired","onCategoryUpdate","onTypeUpdate","onHiddenUpdate","GroupsComponent","filter_group_list_rid","filter_group_rid","shared","updateGroup","onFilterGroupListSelect","HomeComponent","route","router","queryParams","params","undefined","emailAction","token","navigate","verifyUser","LoginComponent","email","password","reset","events","event","ga","urlAfterRedirects","login","isLoggedIn","getRoles","getServices","forgotPassword","ManageComponent","ModalConfirmComponent","modal","val","ModalComponent","NavbarComponent","getAuth","pipe","getRole","logout","PageNotFoundComponent","ProviderComponent","updateUserAction","RegisterComponent","register","onSubmit","ReportsComponent","report_idx","report_list","report_columns","columnDef","header","cell","element","owner","assigned","created_dt","updated_dt","report","sort","getReports","displayedColumns","map","c","filterValue","filter","trim","toLowerCase","file","filteredData","loadReportData","applyFilter","ResetComponent","password2","resetPassword","ServicesComponent","provider_groups","updateService","onProviderGroupUpdate","UsersComponent","filter_user_list_status","verified","userInput","updateUser","target","files","reader","FileReader","readAsText","onload","csvData","csvRecordsArray","split","i","row","col","Number","processUsers","onFilterUserListSelect","onFileChange","onLoadClick","AuthGuard","ActionModule","objects","object","url","ActionOpen","UserStudent","role","UserTeacher","AuthService","http","get","serviceURL","withCredentials","headers","set","post","action_object","VarsService","serverURL","user_status","isSidebarCollapsed","provider","action_provider_status","environment","production","bootstrapModule","err"],"mappings":"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","file":"main-es5.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"]}