64 lines
3.0 KiB
JavaScript
64 lines
3.0 KiB
JavaScript
'use strict';
|
|
(function () {
|
|
'use strict';
|
|
angular.module('innovationStudio')
|
|
.factory('studioModel', ['authModel', 'session', '$window', '$q', '$rootScope', 'AUTH_EVENTS', 'systemAlertService', '$filter', 'metadataModel',
|
|
function (authModel, session, $window, $q, $rootScope, AUTH_EVENTS, systemAlertService, $filter, metadataModel) {
|
|
var studioModel = {};
|
|
studioModel.ccsFetched = false;
|
|
studioModel.enableISCalendar = false;
|
|
studioModel.enableSharedConsole = false;
|
|
studioModel.baseUrlForIS = '';
|
|
studioModel.enableISAssetConsole = false;
|
|
studioModel.init = function () {
|
|
return metadataModel.getMetadataByType(EntityVO.TYPE_GLOBAL).then(function (metadata) {
|
|
setAllCCS(metadata);
|
|
return studioModel;
|
|
});
|
|
};
|
|
studioModel.calendarEnabledPromise = function () {
|
|
if (!studioModel.ccsFetched) {
|
|
return metadataModel.getMetadataByType(EntityVO.TYPE_GLOBAL).then(function (metadata) {
|
|
setAllCCS(metadata);
|
|
return studioModel.enableISCalendar;
|
|
});
|
|
}
|
|
else {
|
|
return $q.when(studioModel.enableISCalendar);
|
|
}
|
|
};
|
|
studioModel.sharedConsoleEnabledPromise = function () {
|
|
if (!studioModel.ccsFetched) {
|
|
return metadataModel.getMetadataByType(EntityVO.TYPE_GLOBAL).then(function (metadata) {
|
|
setAllCCS(metadata);
|
|
return studioModel.enableSharedConsole;
|
|
});
|
|
}
|
|
else {
|
|
return $q.when(studioModel.enableSharedConsole);
|
|
}
|
|
};
|
|
studioModel.assetConsoleEnabledPromise = function () {
|
|
if (!studioModel.ccsFetched) {
|
|
return metadataModel.getMetadataByType(EntityVO.TYPE_GLOBAL).then(function (metadata) {
|
|
setAllCCS(metadata);
|
|
return studioModel.enableISAssetConsole;
|
|
});
|
|
}
|
|
else {
|
|
return $q.when(studioModel.enableISAssetConsole);
|
|
}
|
|
};
|
|
function setAllCCS(metadata) {
|
|
studioModel.ccsFetched = true;
|
|
studioModel.enableISCalendar = metadata.configurationParameters['enableISCalendar'] === "true";
|
|
studioModel.enableSharedConsole = metadata.configurationParameters.enableSharedTicketConsole === "true";
|
|
studioModel.baseUrlForIS = metadata.configurationParameters['innovationSuiteBaseURL'];
|
|
studioModel.smartITUrl = metadata.configurationParameters['smartit.url'];
|
|
studioModel.enableISAssetConsole = metadata.configurationParameters['enableISAssetConsole'] === "true";
|
|
}
|
|
return studioModel;
|
|
}
|
|
]);
|
|
}());
|