/** * 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);