Files
P42_UI/app/controllers/projects/bypass/BypassController.js
T
2025-08-27 07:03:09 +00:00

97 lines
4.0 KiB
JavaScript
Executable File

/**
* FastTrack management
*
* @version 1.0
* @author Michael Fallise
*/
class BypassController extends EICController {
guidelinesURL = "https://eic.ec.europa.eu/eic-funding-opportunities/eic-accelerator/fast-track-and-plug-schemes-eic-accelerator_en";
constructor() {
super();
app.meta.add('accelerator-tracks', app.Assets.Store.json['accelerator-tracks']);
app.meta.add('organisation-functions', app.Assets.Store.json['organisation-functions']);
app.meta.add('organisation-genders', app.Assets.Store.json['organisation-genders']);
}
/**
* Entrypoint for FastTrack Managers
*/
dashboardAdmin() {
app.User.getBusinessPermissions(['/organisations/tokens', '/organisations/tokens/users', '/organisations'])
.then(payload => {
let profile = Object.keys(payload).reduce((acc, perm)=>{ Object.assign(acc,payload[perm].profile); return(acc) }, {})
let models = {
tokens: new BypassTokensModel(payload['/organisations/tokens'].permissions),
company: new BypassCompanyModel([...payload['/organisations'].permissions, ...payload['/organisations/tokens'].permissions]),
};
if(payload['/organisations/tokens/users'].permissions && (payload['/organisations/tokens/users'].permissions.length>0)) {
models.users = new BypassUsersModel(payload['/organisations/tokens/users'].permissions)
}
this.loadWindow(
'projects/bypass/BypassAdminDashboard',
{ title: 'Bypass', static: true, expanded: true },
{ profile: profile, models: models }
);
});
}
/**
* Entrypoint for FastTrack KIC Managers
*/
dashboardKIC() {
app.User.getBusinessPermissions(['/organisations/tokens', '/organisations/tokens/users', '/organisations'])
.then(payload => {
let profile = Object.keys(payload).reduce((acc, perm)=>{ Object.assign(acc,payload[perm].profile); return(acc) }, {})
let models = {
tokens: new BypassTokensModel(payload['/organisations/tokens'].permissions),
company: new BypassCompanyModel([...payload['/organisations'].permissions, ...payload['/organisations/tokens'].permissions])
};
if(payload['/organisations/tokens/users'].permissions && (payload['/organisations/tokens/users'].permissions.length>0)) {
models.users = new BypassUsersModel(payload['/organisations/tokens/users'].permissions)
}
this.loadWindow(
'projects/bypass/BypassKICDashboard',
{ title: 'Fast-Tracks', static: true, expanded: true },
{ profile: profile, models: models }
);
});
}
/**
* Entrypoint for FastTrack Plugin Managers
*/
dashboardPlugin() {
app.User.getBusinessPermissions(['/organisations/tokens', '/organisations/tokens/users', '/organisations'])
.then(payload => {
let profile = Object.keys(payload).reduce((acc, perm)=>{ Object.assign(acc,payload[perm].profile); return(acc) }, {})
let models = {
tokens: new BypassTokensModel(payload['/organisations/tokens'].permissions),
company: new BypassCompanyModel([...payload['/organisations'].permissions, ...payload['/organisations/tokens'].permissions])
};
if(payload['/organisations/tokens/users'].permissions) {
models.users = new BypassUsersModel(payload['/organisations/tokens/users'].permissions)
}
this.loadWindow(
'projects/bypass/BypassPluginDashboard',
{ title: 'Plugins', static: true, expanded: true },
{ profile: profile, models: models } );
});
}
guidelines() { window.open(this.guidelinesURL, "_blank"); }
}
app.registerClass('BypassController', BypassController);