1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235 | 1×
8×
1×
8×
8×
8×
8×
8×
8×
| angular.module('coopEval', [
'ui.router',
'ngSanitize',
'ui.bootstrap',
'ui.grid'
]).config(config)
.run(function ($rootScope) {
// make lodash available to views
$rootScope._ = window._;
});
function config($stateProvider, $urlRouterProvider, $urlMatcherFactoryProvider, uibDatepickerConfig) {
$stateProvider
.state('students', {
abstract: true,
url: '/students',
template: '<ui-view/>'
})
.state('students.overview', {
url: '/overview',
templateUrl: 'partials/student/overview.html',
controller: 'StudentController'
})
.state('students.view-submitted-form', {
url: '/view-submitted-form?formType&placementId',
templateUrl: 'partials/form/view-submitted-form.html',
controller: 'FormController'
})
.state('students.view-open-form', {
url: '/view-open-form?formType&placementId',
templateUrl: 'partials/form/view-open-form.html',
controller: 'FormController'
})
.state('students.user-manual', {
url: '/user-manual',
templateUrl: 'partials/student/user-manual.html',
controller: 'StudentController'
})
.state('administration', {
abstract: true,
url: '/administration',
template: '<ui-view/>'
})
.state('administration.search-evaluations', {
url: '/search-evaluations',
templateUrl: 'partials/search/search-evaluations.html',
controller: 'SearchController'
})
.state('administration.search-results', {
url: '/search-results?studentDCE',
templateUrl: 'partials/search/search-results.html',
controller: 'SearchResultsController'
})
.state('administration.student-overview', {
url: '/student-overview?studentDCE',
templateUrl: 'partials/administration/student-overview.html',
controller: 'SearchResultsController'
})
.state('administration.view-submitted-form', {
url: '/view-submitted-form?formType&placementId',
templateUrl: 'partials/form/view-submitted-form.html',
controller: 'FormController'
})
.state('administration.view-saved-form', {
url: '/view-saved-form?formType&placementId',
templateUrl: 'partials/form/view-saved-form.html',
controller: 'FormController'
})
.state('administration.assign-form', {
url: '/assign-form?formType&placementId',
templateUrl: 'partials/administration/assign-form.html',
controller: 'AssignFormController'
})
.state('administration.view-student-form', {
url: '/view-student-form?formName',
templateUrl: 'partials/administration/view-student-form.html',
controller: 'FormManagementController'
})
.state('administration.view-employer-form', {
url: '/view-employer-form?formName',
templateUrl: 'partials/administration/view-employer-form.html',
controller: 'FormManagementController'
})
.state('administration.manage-student-forms', {
url: '/manage-student-forms',
templateUrl: 'partials/administration/manage-student-forms.html',
controller: 'FormManagementController'
})
.state('administration.manage-employer-forms', {
url: '/manage-employer-forms',
templateUrl: 'partials/administration/manage-employer-forms.html',
controller: 'FormManagementController'
})
.state('administration.edit-form', {
url: '/edit-form?formName&formType',
templateUrl: 'partials/administration/edit-form.html',
controller: 'FormManagementController'
})
.state('administration.college-management', {
url: '/college-management',
templateUrl: 'partials/administration/college-management.html',
controller: 'CollegeDepartmentManagementController'
})
.state('administration.department-management', {
url: '/department-management',
templateUrl: 'partials/administration/department-management.html',
controller: 'CollegeDepartmentManagementController'
})
.state('administration.user-management-admin', {
url: '/user-management-admin',
templateUrl: 'partials/administration/user-management-admin.html',
controller: 'UserAdministrationController'
})
.state('administration.user-management-dept', {
url: '/user-management-dept',
templateUrl: 'partials/administration/user-management-dept.html',
controller: 'UserAdministrationController'
})
.state('administration.transfer-dept-users', {
url: '/transfer-dept-users',
templateUrl: 'partials/administration/transfer-dept-users'
})
.state('administration.user-manual', {
url: '/user-manual',
templateUrl: 'partials/administration/user-manual.html'
})
.state('departments', {
abstract: true,
url: '/departments',
template: '<ui-view/>'
})
.state('departments.search-evaluations', {
url: '/search-evaluations',
templateUrl: 'partials/search/search-evaluations.html',
controller: 'SearchController'
})
.state('departments.search-results', {
url: '/search-results?studentDCE',
templateUrl: 'partials/search/search-results.html',
controller: 'SearchResultsController'
})
.state('departments.view-evaluations', {
url: '/view-evaluations?placementId',
templateUrl: 'partials/department/view-evaluations.html',
controller: 'ViewEvaluationsController'
})
.state('departments.user-manual', {
url: '/user-manual',
templateUrl: 'partials/department/user-manual.html'
})
.state('departments.forms', {
url: '/forms',
controller: 'DepartmentFormsController',
templateUrl: 'partials/department/forms.html'
})
.state('employers', {
abstract: true,
url: '/employers',
template: '<ui-view/>'
})
.state('employers.overview', {
url: '/overview',
templateUrl: 'partials/employer/overview.html',
controller: 'EmployerController'
})
.state('employers.login', {
url: '/login',
templateUrl: 'partials/employer/login.html',
controller: 'EmployerController'
})
.state('employers.view-submitted-form', {
url: '/view-submitted-form?formType&placementId',
templateUrl: 'partials/form/view-submitted-form.html',
controller: 'FormController'
})
.state('employers.view-open-form', {
url: '/view-open-form?formType&placementId',
templateUrl: 'partials/form/view-open-form.html',
controller: 'FormController'
})
.state('employers.user-manual', {
url: '/user-manual',
templateUrl: 'partials/employer/user-manual.html',
controller: 'EmployerController'
})
.state('not-authorized', {
url: '/not-authorized',
templateUrl: 'partials/redirects/not-authorized.html'
})
.state('page-not-found', {
url: '/page-not-found',
templateUrl: 'partials/redirects/page-not-found.html'
})
.state('error', {
url: '/error',
templateUrl: 'partials/redirects/error.html'
})
.state('logout', {
url: '/logout',
templateUrl: 'partials/redirects/logout.html'
});
// handle redirect from root ('/')
$urlRouterProvider.when('', '/');
$urlRouterProvider.when('/', function (appService, $state) {
return appService.getUserInfo().then(function (user) {
var primaryRole = _.result(user, 'roles[0].role', 'None');
switch (primaryRole) {
case 'Student':
$state.go('students.overview');
break;
case 'Employer':
$state.go('employers.overview');
break;
case 'Evaluator':
$state.go('departments.search-evaluations');
break;
case 'Administrator':
$state.go('administration.search-evaluations');
break;
default:
$state.go('not-authorized');
break;
}
return true;
});
});
$urlRouterProvider.otherwise('page-not-found');
$urlMatcherFactoryProvider.strictMode(false);
uibDatepickerConfig.showWeeks = false;
}
|