fix portal mode issues

This commit is contained in:
John Mitchell
2018-07-09 13:53:46 -04:00
parent 9ae88acc49
commit 2f8b668ef9
20 changed files with 164 additions and 103 deletions
@@ -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'));
}
]
}
};