88 lines
2.8 KiB
JavaScript
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); |