97 lines
4.0 KiB
JavaScript
Executable File
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); |