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

88 lines
2.8 KiB
JavaScript

class ICMPController extends EICController {
constructor(params) {
super(params)
app.meta.add('icmp-techdd-status', app.Assets.Store.json['icmp-techdd-status']);
app.meta.add('icmp-fundings', app.Assets.Store.json['icmp-fundings']);
app.meta.add('icmp-countries', app.Assets.Store.json['icmp-countries']);
app.meta.add('icmp-instruments', app.Assets.Store.json['icmp-instruments']);
}
/**
*
* @returns
*/
Dashboard() {
console.log('here')
ui.lock();
app.User.getBusinessPermissions([ '/icmp/projects' ])
.then(async payload => {
ui.unlock();
if(payload['/icmp/projects'].permissions.length > 0) {
let models = {
projects: new ICMPProjectsModel(payload['/icmp/projects'].permissions)
};
if(app.User.hasRole('PROJECT_PO') || app.User.hasRole('PROJECT_FIO')) {
this.loadWindow(
'projects/icmp/ProjectFundingPODashboardView',
{ title: 'ICMP', static: true, expanded: true },
{ models: models } );
return;
}
if(app.User.hasRole('PROJECT_TechDDExpert')) {
this.loadWindow(
'projects/icmp/ProjectFundingExpertDashboardView',
{ title: 'ICMP', static: true, expanded: true },
{ models: models } );
return;
}
} else {
ui.growl.append('You don\'t have access to this resource', 'danger' );
}
});
}
/**
*
* @param {*} options
*/
project(options) {
let number = options.params.number
let node = options.params.node
let nodeId = options.params.nodeId
ui.lock();
app.User.getBusinessPermissions([`/icmp/projects/${number}`])
.then(async payload => {
if(payload[`/icmp/projects/${number}`].permissions.length > 0) {
ui.unlock();
let models = {
project: new ICMPProjectModel(payload[`/icmp/projects/${number}`].permissions)
};
this.loadWindow(
'projects/icmp/ProjectFundingProjectView',
{ title: 'Project sheet', static: true, expanded: true },
{
models: models,
projectNumber: number,
node: node,
nodeId: nodeId,
});
} else {
ui.growl.append('You don\'t have access to this resource', 'danger' );
}
});
}
}
app.registerClass('ICMPController', ICMPController);