mirror of
https://github.com/ansible/awx.git
synced 2026-09-16 00:40:11 -02:30
fix portal mode issues
This commit is contained in:
@@ -3,7 +3,7 @@ function IndexJobsController ($scope, strings, dataset) {
|
||||
vm.strings = strings;
|
||||
vm.count = dataset.data.count;
|
||||
|
||||
$scope.$on('updateDataset', (e, { count }) => {
|
||||
$scope.$on('updateCount', (e, count) => {
|
||||
if (count) {
|
||||
vm.count = count;
|
||||
}
|
||||
|
||||
@@ -35,9 +35,11 @@ function ListJobsController (
|
||||
$scope.collection = { iterator, basePath: 'unified_jobs' };
|
||||
$scope[key] = Dataset.data;
|
||||
$scope[name] = Dataset.data.results;
|
||||
$scope.$emit('updateCount', Dataset.data.count, 'jobs');
|
||||
$scope.$on('updateDataset', (e, dataset) => {
|
||||
$scope[key] = dataset;
|
||||
$scope[name] = dataset.results;
|
||||
$scope.$emit('updateCount', dataset.count, 'jobs');
|
||||
});
|
||||
$scope.$on('ws-jobs', () => {
|
||||
if (!launchModalOpen) {
|
||||
@@ -60,6 +62,8 @@ function ListJobsController (
|
||||
vm.emptyListReason = strings.get('list.NO_RUNNING');
|
||||
}
|
||||
|
||||
vm.isPortalMode = $state.includes('portalMode');
|
||||
|
||||
vm.jobTypes = mapChoices(unifiedJob.options('actions.GET.type.choices'));
|
||||
|
||||
vm.getSref = ({ type, id }) => {
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
dataset="job_dataset"
|
||||
collection="collection"
|
||||
search-tags="searchTags"
|
||||
query-set="querySet">
|
||||
query-set="querySet"
|
||||
search-bar-full-width="vm.isPortalMode">
|
||||
</smart-search>
|
||||
</div>
|
||||
<at-list results="jobs" empty-list-reason="{{ vm.emptyListReason }}">
|
||||
@@ -74,7 +75,7 @@
|
||||
ng-show="job.summary_fields.user_capabilities.start">
|
||||
</at-relaunch>
|
||||
<at-row-action icon="fa-minus-circle" ng-click="vm.cancelJob(job)"
|
||||
ng-show="(job.summary_fields.user_capabilities.start &&
|
||||
ng-show="!vm.isPortalMode && (job.summary_fields.user_capabilities.start &&
|
||||
(job.status === 'pending' ||
|
||||
job.status === 'waiting' ||
|
||||
job.status === 'running')) || ($root.user_is_superuser && job.type === 'system_job' &&
|
||||
@@ -83,7 +84,7 @@
|
||||
job.status === 'running'))">
|
||||
</at-row-action>
|
||||
<at-row-action icon="fa-trash" ng-click="vm.deleteJob(job)"
|
||||
ng-show="job.summary_fields.user_capabilities.delete &&
|
||||
ng-show="!vm.isPortalMode && job.summary_fields.user_capabilities.delete &&
|
||||
!(job.status === 'pending' ||
|
||||
job.status === 'waiting' ||
|
||||
job.status === 'running')">
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
import jobsListController from '../jobsList.controller';
|
||||
|
||||
const jobsListTemplate = require('~features/jobs/jobsList.view.html');
|
||||
|
||||
export default {
|
||||
name: 'portalMode.allJobs',
|
||||
url: '/alljobs?{job_search:queryset}',
|
||||
ncyBreadcrumb: {
|
||||
skip: true
|
||||
},
|
||||
params: {
|
||||
job_search: {
|
||||
value: {
|
||||
page_size: '20',
|
||||
order_by: '-finished'
|
||||
},
|
||||
dynamic: true
|
||||
}
|
||||
},
|
||||
views: {
|
||||
'jobs@portalMode': {
|
||||
templateUrl: jobsListTemplate,
|
||||
controller: jobsListController,
|
||||
controllerAs: 'vm'
|
||||
}
|
||||
},
|
||||
resolve: {
|
||||
resolvedModels: [
|
||||
'UnifiedJobModel',
|
||||
(UnifiedJob) => {
|
||||
const models = [
|
||||
new UnifiedJob(['options']),
|
||||
];
|
||||
return Promise.all(models);
|
||||
},
|
||||
],
|
||||
Dataset: [
|
||||
'$stateParams',
|
||||
'Wait',
|
||||
'GetBasePath',
|
||||
'QuerySet',
|
||||
($stateParams, Wait, GetBasePath, qs) => {
|
||||
const searchParam = $stateParams.job_search;
|
||||
|
||||
const searchPath = GetBasePath('unified_jobs');
|
||||
|
||||
Wait('start');
|
||||
return qs.search(searchPath, searchParam)
|
||||
.finally(() => Wait('stop'));
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
@@ -1,56 +0,0 @@
|
||||
import jobsListController from '../jobsList.controller';
|
||||
|
||||
const jobsListTemplate = require('~features/jobs/jobsList.view.html');
|
||||
|
||||
export default {
|
||||
name: 'portalMode.myJobs',
|
||||
url: '/myjobs?{job_search:queryset}',
|
||||
ncyBreadcrumb: {
|
||||
skip: true
|
||||
},
|
||||
params: {
|
||||
job_search: {
|
||||
value: {
|
||||
page_size: '20',
|
||||
order_by: '-finished',
|
||||
created_by: null
|
||||
},
|
||||
dynamic: true
|
||||
}
|
||||
},
|
||||
views: {
|
||||
'jobs@portalMode': {
|
||||
templateUrl: jobsListTemplate,
|
||||
controller: jobsListController,
|
||||
controllerAs: 'vm'
|
||||
}
|
||||
},
|
||||
resolve: {
|
||||
resolvedModels: [
|
||||
'UnifiedJobModel',
|
||||
(UnifiedJob) => {
|
||||
const models = [
|
||||
new UnifiedJob(['options']),
|
||||
];
|
||||
return Promise.all(models);
|
||||
},
|
||||
],
|
||||
Dataset: [
|
||||
'$stateParams',
|
||||
'Wait',
|
||||
'GetBasePath',
|
||||
'QuerySet',
|
||||
'$rootScope',
|
||||
($stateParams, Wait, GetBasePath, qs, $rootScope) => {
|
||||
const searchParam = _.assign($stateParams.job_search, {
|
||||
created_by: $rootScope.current_user.id });
|
||||
|
||||
const searchPath = GetBasePath('unified_jobs');
|
||||
|
||||
Wait('start');
|
||||
return qs.search(searchPath, searchParam)
|
||||
.finally(() => Wait('stop'));
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user