unclean SPARC

This commit is contained in:
STEINNI
2025-08-27 07:03:09 +00:00
commit f308460931
430 changed files with 54426 additions and 0 deletions
@@ -0,0 +1,79 @@
/**
* 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);
@@ -0,0 +1,35 @@
{
"routes": [
{
"url": "/",
"role": "Org_Member",
"controller" : "applicants/ApplicantController",
"method": "dispatch"
},
{
"url": "/:pic",
"role": "Org_Member",
"controller" : "applicants/ApplicantController",
"method": "dashboard"
}
],
"models": [
"organisations/ApplicantOrganisationModel",
"organisations/ApplicantMembersModel",
"organisations/ApplicantOrganisationsModel",
"users/onboardingUserModel"
],
"views": [
"applicants/ApplicantDashboardView",
"applicants/dialogs/ApplicantMemberDialog",
"applicants/dialogs/ApplicantProposalSearchDialog",
"common/onboarding/dialogs/onboardingApplicantDialog"
],
"dependencies": { },
"assets": {
"json": [
{"id":"organisation-genders", "name": "meta/organisation-genders.json"},
{"id":"organisation-functions", "name": "meta/organisation-functions.json"}
]
}
}