$stateProvider .state('unauthorized', { url: '/unauthorized', templateUrl: 'views/unauthorized.html', access: [], controller: ['$scope', 'permissionModel', function ($scope, permissionModel) { $scope.isAdminOnlyPersona = permissionModel.hasAdminOnlyRole(); }] }) .state('dashboard', { url: '^/', templateUrl: 'views/dashboard/index.html', controller: 'DashboardController', access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('ticketConsole', { url: '/ticket-console', template: '', params: { refreshMetadata: false }, access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE] }) .state('knowledgeConsole', { url: '/knowledge-console', template: '', access: [roles.ITSM_KNOWLEDGE_USER_ROLE] }) .state('assetConsole', { url: '/asset-console', template: '', access: [roles.ITSM_ASSET_USER_ROLE] }) .state('knowledge', { url: '/knowledge/:id', templateUrl: 'views/knowledge-article/knowledge-article-profile.html', controller: 'KnowledgeArticleProfileController', params: { id: null, editMode: false, content: null, preventIncrement: null, assessMode: false }, access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('knowledgeLatest', { url: '/knowledge/:version/:id', templateUrl: 'views/knowledge-article/knowledge-article-profile.html', controller: 'KnowledgeArticleProfileController', access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('search', { url: '/search/{searchText:.*}', templateUrl: 'views/search/search-content.html', controller: 'SearchController', params: { searchCriteria: null }, access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('search.task', { template: '
', access: [] }) .state('search.knowledge', { template: '
', access: [] }) .state('search.asset', { template: '
', access: [] }) .state('search.person', { template: '
', access: [] }) .state('search.workorder', { template: '
', access: [] }) .state('search.request', { template: '
', access: [] }) .state('search.sberequest', { template: '
', access: [] }) .state('search.incident', { template: '
', access: [] }) .state('search.change', { template: '
', access: [] }) .state('search.release', { template: '
', access: [] }) .state('search.activity', { template: '
', access: [] }) .state('search.problem', { template: '
', access: [] }) .state('search.knownerror', { template: '
', access: [] }) .state('person', { url: '/person/:id', templateUrl: 'views/person/person-profile.html', controller: 'PersonProfileController', access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('asset', { url: '/asset/:assetId/:assetClassId', templateUrl: 'views/asset/asset-profile.html', controller: 'AssetProfileController', data: { history: { type: 'assets', label: 'asset' } }, access: [roles.ITSM_AGENT_ROLE, roles.ITSM_ADMIN_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('assetCiExplorer', { abstract: true, url: '/asset/:assetId/:assetClassId', templateUrl: 'views/asset/ci-explorer.html', controller: 'AssetController', access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('assetCiExplorer.list', { url: '/list-ci', templateUrl: 'views/asset/list-ci-explorer.html', controller: 'AssetListCiExplorerController', access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('assetCiExplorer.graphical', { url: '/graphical-ci', templateUrl: 'views/asset/graphical-ci-explorer.html', controller: 'AssetGraphicalCiExplorerController', access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('createIncident', { url: '/create/incident', templateUrl: 'views/create/create-incident-v2.html', controller: 'CreateIncidentV2Controller', access: [roles.ITSM_AGENT_ROLE] }) .state('createKnowledge', { url: '/create/knowledge', templateUrl: 'views/create/create-ka.html', controller: 'CreateKnowledgeArticleController', access: [roles.ITSM_KNOWLEDGE_USER_ROLE] }) .state('createAqiQuestions', { url: '/create/aqiQuestions', templateUrl: 'views/create/aqi-question-sets.html', controller: 'createAqiController', access: [roles.ITSM_KCS_COACH_ROLE] }) .state('createChange', { url: '/create/change', template: '', controller: 'CreateChangeV2Controller', access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('createChange.selector', { url: '/', templateUrl: 'views/change/create-change-selector.html', access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('createChange.wizard', { url: '/', template: '', access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('createChange.wizard.calendar', { url: '', access: [roles.ITSM_CHANGE_USER_ROLE], template: '' }) .state('createChange.wizard.calendar.book', { url: '', access: [roles.ITSM_CHANGE_USER_ROLE], template: '' }) .state('createChange.wizard.calendar.day', { url: '', access: [roles.ITSM_CHANGE_USER_ROLE], template: '' }) .state('createChange.wizard.calendar.week', { url: '', access: [roles.ITSM_CHANGE_USER_ROLE], template: '' }) .state('createChange.wizard.calendar.month', { url: '', access: [roles.ITSM_CHANGE_USER_ROLE], template: '' }) .state('changeEditCollisions', { url: '/change/:id/collisions', templateUrl: 'views/change/edit-dates.html', controller: 'EditDatesController', data: { editMode: true }, access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('changeEditCollisions.calendar', { url: '', access: [roles.ITSM_CHANGE_USER_ROLE], template: '' }) .state('changeEditCollisions.calendar.book', { url: '', template: '', access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('changeEditCollisions.calendar.day', { url: '', template: '', access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('changeEditCollisions.calendar.week', { url: '', template: '', access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('changeEditCollisions.calendar.month', { url: '', template: '', access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('changeEditDates', { url: '/change/:id/dates', templateUrl: 'views/change/edit-dates.html', controller: 'EditDatesController', data: { editMode: false }, access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('changeEditDates.calendar', { url: '', access: [roles.ITSM_CHANGE_USER_ROLE], template: '' }) .state('changeEditDates.calendar.book', { url: '', template: '', access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('changeEditDates.calendar.day', { url: '', template: '', access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('changeEditDates.calendar.week', { url: '', template: '', access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('changeEditDates.calendar.month', { url: '', template: '', access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('impactGraph', { url: '/:type/:id/impactGraph', templateUrl: 'views/change/impact-simulator.html', controller: 'ImpactAnalysisController', params: { id: null, type: null, displayId: null }, access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('createRelease', { url: '/create/release', template: '', controller: 'CreateReleaseController', access: [roles.ITSM_RELEASE_USER_ROLE] }) .state('createRelease.selector', { url: '/', templateUrl: 'views/release/create-release-selector.html', access: [roles.ITSM_RELEASE_USER_ROLE] }) .state('createRelease.wizard', { url: '/', template: '', access: [roles.ITSM_RELEASE_USER_ROLE] }) .state('createActivity', { url: '/create/activity', templateUrl: 'views/create/create-activity.html', controller: 'CreateActivityController', access: [roles.ITSM_RELEASE_USER_ROLE] }) .state('smartRecorder', { url: '/create/smart-recorder?customer&contact&desc', templateUrl: 'views/smart-recorder/smart-recorder.html', controller: 'SmartRecorderController', access: [roles.ITSM_AGENT_ROLE] }) .state('screenConfiguration', { url: '/admin/screen-configuration', templateUrl: 'views/admin/screen-configuration/screen-configuration.html', controller: 'ScreenConfigurationController', access: [roles.ITSM_ADMIN_ROLE] }).state('adminConsoleConfig', { url: '/admin/admin-console-configuration', templateUrl: 'views/admin/console-config/admin-console-configuration.html', controller: 'AdminConsoleConfigurationController', access: [roles.ITSM_ADMIN_ROLE] }) .state('knowledgeStyleConfiguration', { url: '/admin/knowledge-style-configuration', templateUrl: 'views/admin/knowledge-style-configuration/knowledge-style-config.html', controller: 'KnowledgeStyleConfigController', access: [roles.ITSM_ADMIN_ROLE] }) .state('knowledgeTeam', { url: '/knowledgeTeam', templateUrl: 'views/knowledge-team/knowledge-team-profile.html', controller: 'KnowledgeTeamController', access: [roles.ITSM_KCS_COACH_ROLE] }) .state('createTask', { url: '/create/task', templateUrl: 'views/create/create-task-v2.html', controller: 'CreateTaskV2Controller', access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE] }) .state('draftIncident', { url: '/draft-incident', templateUrl: 'views/ticket/profiles/draft-incident-profile.html', controller: 'DraftTicketController', access: [roles.ITSM_AGENT_ROLE] }) .state('draftChange', { url: '/draft-change/:id', templateUrl: 'views/ticket/profiles/draft-change-profile.html', controller: 'DraftTicketController', params: { isCopyChange: false, copyChangeId: null, ticket: null, hasRelatedCis: false }, access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('draftWorkorder', { url: '/draft-workorder', templateUrl: 'views/ticket/profiles/draft-workorder-profile.html', controller: 'DraftTicketController', access: [roles.ITSM_AGENT_ROLE] }) .state('draftServicerequest', { url: '/draft-request', templateUrl: 'views/ticket/profiles/draft-service-request-profile.html', controller: 'DraftTicketController', access: [roles.ITSM_AGENT_ROLE] }) .state('draftProblem', { url: '/draft-problem', templateUrl: 'views/ticket/profiles/draft-problem-profile.html', controller: 'DraftTicketController', access: [roles.ITSM_PROBLEM_USER_ROLE] }) .state('draftKnownerror', { url: '/draft-knownerror', templateUrl: 'views/ticket/profiles/draft-knownerror-profile.html', controller: 'DraftTicketController', access: [roles.ITSM_PROBLEM_USER_ROLE] }) .state('incident', { url: '/incident/:id', templateUrl: 'views/ticket/profiles/incident-profile.html', controller: 'TicketProfileController', access: [roles.ITSM_AGENT_ROLE] }) .state('workorder', { url: '/workorder/:id', templateUrl: 'views/ticket/profiles/workorder-profile.html', controller: 'TicketProfileController', access: [roles.ITSM_AGENT_ROLE] }) .state('task', { url: '/task/:id', templateUrl: 'views/ticket/profiles/task-profile.html', controller: 'TicketProfileController', access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE] }) .state('request', { url: '/request/:id', templateUrl: 'views/ticket/profiles/service-request-profile.html', controller: 'TicketProfileController', access: [roles.ITSM_AGENT_ROLE] }) .state('outage', { url: '/outage/:id', templateUrl: 'views/ticket/ticket-profile.html', controller: 'TicketProfileController', access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE] }) .state('createWorkorder', { url: '/create/workorder', templateUrl: 'views/create/create-work-order-v2.html', controller: 'CreateWorkOrderV2Controller', access: [roles.ITSM_AGENT_ROLE] }) .state('createBroadcast', { url: '/create/broadcast', templateUrl: 'views/create/create-broadcast.html', controller: 'CreateBroadcastController', access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('createAsset', { url: '/create/asset', templateUrl: 'views/create/create-asset.html', controller: 'CreateAssetController', access: [roles.ITSM_ASSET_USER_ROLE] }) .state('conversationsHistory', { url: '/conversations', templateUrl: 'views/chat/history.html', controller: 'ChatHistoryController', access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('change', { url: '/change/:id', templateUrl: 'views/ticket/profiles/change-profile.html', controller: 'TicketProfileController', access: [roles.ITSM_CHANGE_USER_ROLE] }) .state('release', { url: '/release/:id', templateUrl: 'views/ticket/profiles/release-profile.html', controller: 'TicketProfileController', access: [roles.ITSM_RELEASE_USER_ROLE] }) .state('activity', { url: '/activity/:id', templateUrl: 'views/ticket/profiles/activity-profile.html', controller: 'TicketProfileController', access: [roles.ITSM_RELEASE_USER_ROLE] }) .state('knownerror', { url: '/knownerror/:id', templateUrl: 'views/ticket/profiles/known-error-profile.html', controller: 'TicketProfileController', access: [roles.ITSM_PROBLEM_USER_ROLE] }) .state('createKnownerror', { url: '/create/knownerror', templateUrl: 'views/known-error/create-known-error.html', controller: 'CreateKnownErrorController', access: [roles.ITSM_PROBLEM_USER_ROLE] }) .state('createProblem', { url: '/create/problem', templateUrl: 'views/problem/create-problem.html', controller: 'CreateProblemController', access: [roles.ITSM_PROBLEM_USER_ROLE] }) .state('problem', { url: '/problem/:id', templateUrl: 'views/ticket/profiles/problem-profile.html', controller: 'TicketProfileController', access: [roles.ITSM_PROBLEM_USER_ROLE] }) .state('location', { url: '/location/:id', template: '
', controller: 'LocationMapController', access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE] }) .state('chatPopupWindow', { url: '/chatPopupWindow', template: "
" + "
", controller: 'ChatPopupWindowController', data: { separateWindowMode: true }, access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('EmailPopupWindow', { url: '/emailPopupWindow', template: "
" + "
", controller: 'EmailPopupWindowController', data: { separateWindowMode: true }, access: [roles.ITSM_AGENT_ROLE, roles.ITSM_CHANGE_USER_ROLE, roles.ITSM_KNOWLEDGE_USER_ROLE, roles.ITSM_PROBLEM_USER_ROLE, roles.ITSM_ASSET_USER_ROLE] }) .state('dlp', { url: '/dlp/:id', templateUrl: 'views/ticket/profiles/data-loss-prevention-profile.html', controller: 'dataLossPreventionProfileController', access: [roles.ITSM_AGENT_ROLE] }) .state('sberequest', { url: '/sberequest/:id', templateUrl: 'views/ticket/profiles/sbe-request-profile.html', controller: 'TicketProfileController', access: [roles.ITSM_SBE_USER_ROLE] }) .state('healthcheck', { url: '/healthcheck', templateUrl: 'views/admin/health-check/health-check.html', controller: 'MonitorController as ctrl', access: [roles.ITSM_ADMIN_ROLE] }); }