79 lines
2.8 KiB
JavaScript
79 lines
2.8 KiB
JavaScript
/**
|
|
* Applicant management
|
|
*
|
|
* @version 1.0
|
|
* @author Michael Fallise
|
|
*/
|
|
class ApplicantController extends EICController {
|
|
|
|
constructor() {
|
|
super();
|
|
}
|
|
|
|
dispatch() {
|
|
app.User.getBusinessPermissions([ '/organisations' ], 'Org_Member')
|
|
.then(async payload => {
|
|
if(payload['/organisations'].permissions.includes("list")) {
|
|
let model = new ApplicantOrganisationsModel(payload['/organisations'].permissions)
|
|
|
|
model.list()
|
|
.then( async payload => {
|
|
if(payload.length > 0) {
|
|
let first = payload[0];
|
|
app.Router.route('/applicant/' + first.pic);
|
|
} else {
|
|
ui.growl.append("You don't belong to any organisation", 'danger')
|
|
}
|
|
})
|
|
}
|
|
})
|
|
}
|
|
|
|
dashboard(options) {
|
|
ui.lock();
|
|
|
|
let pic = options.params.pic;
|
|
|
|
app.User.getBusinessPermissions([
|
|
'/organisations',
|
|
'/organisations/' + pic,
|
|
'/organisations/' + pic + '/members',
|
|
'/organisations/' + pic + '/proposals'
|
|
], 'Org_Member')
|
|
.then(async payload => {
|
|
|
|
if(payload['/organisations/' + pic].permissions.includes('read')) {
|
|
|
|
// MFA: Coachings currently using proposals permissions as they are linked and BE not having coaching info locally on their side
|
|
let models = {
|
|
myOrganisations: new ApplicantOrganisationsModel(payload['/organisations'].permissions),
|
|
applicant: new ApplicantOrganisationModel(payload['/organisations/' + pic].permissions),
|
|
members: new ApplicantMembersModel(payload['/organisations/' + pic + '/members'].permissions),
|
|
proposals: new ApplicantOrganisationProposalsModel(payload['/organisations/' + pic + '/proposals'].permissions),
|
|
coachings: new ApplicantOrganisationCoachingsModel(payload['/organisations/' + pic + '/proposals'].permissions),
|
|
}
|
|
|
|
ui.unlock();
|
|
|
|
this.loadWindow(
|
|
'applicants/ApplicantDashboardView',
|
|
{
|
|
title: 'My EIC',
|
|
static: true,
|
|
expanded: true
|
|
},
|
|
{
|
|
models: models,
|
|
pic: pic,
|
|
url: options.currentRoute.url
|
|
}
|
|
)
|
|
} else {
|
|
ui.unlock();
|
|
ui.growl.append('You don\'t have access to this organisation', 'danger' );
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
app.registerClass('ApplicantController', ApplicantController); |