mirror of
https://github.com/ansible/awx.git
synced 2026-01-12 18:40:01 -03:30
More Translations
This commit is contained in:
parent
c2f60f35b4
commit
1986efebda
@ -14,7 +14,9 @@ function JobsStrings (BaseString) {
|
||||
ROW_ITEM_LABEL_INVENTORY: t.s('Inventory'),
|
||||
ROW_ITEM_LABEL_PROJECT: t.s('Project'),
|
||||
ROW_ITEM_LABEL_CREDENTIALS: t.s('Credentials'),
|
||||
NO_RUNNING: t.s('There are no running jobs.')
|
||||
NO_RUNNING: t.s('There are no running jobs.'),
|
||||
JOB: t.s('Job'),
|
||||
STATUS_TOOLTIP: status => t.s('Job {{status}}. Click for details.', { status })
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<!-- TODO: include workflow tab as well -->
|
||||
<at-row-item
|
||||
status="{{ job.status }}"
|
||||
status-tip="Job {{job.status}}. Click for details."
|
||||
status-tip="{{ vm.strings.get('list.STATUS_TOOLTIP', job.status) }}"
|
||||
header-value="{{ job.id }} - {{ job.name }}"
|
||||
header-state="{{ vm.getSref(job) }}"
|
||||
header-tag="{{ vm.jobTypes[job.type] }}">
|
||||
@ -76,6 +76,7 @@
|
||||
ng-show="job.summary_fields.user_capabilities.start">
|
||||
</at-relaunch>
|
||||
<at-row-action icon="fa-minus-circle" ng-click="vm.cancelJob(job)"
|
||||
tooltip="{{ vm.strings.get('listActions.CANCEL', vm.strings.get('list.JOB')) }}"
|
||||
ng-show="!vm.isPortalMode && (job.summary_fields.user_capabilities.start &&
|
||||
(job.status === 'pending' ||
|
||||
job.status === 'waiting' ||
|
||||
@ -85,6 +86,7 @@
|
||||
job.status === 'running'))">
|
||||
</at-row-action>
|
||||
<at-row-action icon="fa-trash" ng-click="vm.deleteJob(job)"
|
||||
tooltip="{{ vm.strings.get('listActions.DELETE', vm.strings.get('list.JOB')) }}"
|
||||
ng-show="!vm.isPortalMode && job.summary_fields.user_capabilities.delete &&
|
||||
!(job.status === 'pending' ||
|
||||
job.status === 'waiting' ||
|
||||
|
||||
@ -73,10 +73,6 @@ function TemplatesStrings (BaseString) {
|
||||
UNKNOWN_SCHEDULE: t.s('Unable to determine this template\'s type while scheduling.'),
|
||||
};
|
||||
|
||||
ns.actions = {
|
||||
COPY_WORKFLOW: t.s('Copy Workflow')
|
||||
};
|
||||
|
||||
ns.error = {
|
||||
HEADER: this.error.HEADER,
|
||||
CALL: this.error.CALL,
|
||||
|
||||
@ -180,6 +180,14 @@ function ListTemplatesController(
|
||||
return html;
|
||||
};
|
||||
|
||||
vm.getType = template => {
|
||||
if(isJobTemplate(template)) {
|
||||
return strings.get('list.ADD_DD_JT_LABEL');
|
||||
} else {
|
||||
return strings.get('list.ADD_DD_WF_LABEL');;
|
||||
}
|
||||
};
|
||||
|
||||
function refreshTemplates() {
|
||||
Wait('start');
|
||||
let path = GetBasePath('unified_job_templates');
|
||||
|
||||
@ -90,10 +90,12 @@
|
||||
ng-show="template.summary_fields.user_capabilities.start">
|
||||
</at-launch-template>
|
||||
<at-row-action icon="fa-copy" ng-click="vm.copyTemplate(template)"
|
||||
ng-show="!vm.isPortalMode && template.summary_fields.user_capabilities.copy">
|
||||
ng-show="!vm.isPortalMode && template.summary_fields.user_capabilities.copy"
|
||||
tooltip="{{:: vm.strings.get('listActions.COPY', vm.getType(template)) }}">
|
||||
</at-row-action>
|
||||
<at-row-action icon="fa-trash" ng-click="vm.deleteTemplate(template)"
|
||||
ng-show="!vm.isPortalMode && template.summary_fields.user_capabilities.delete">
|
||||
ng-show="!vm.isPortalMode && template.summary_fields.user_capabilities.delete"
|
||||
tooltip="{{:: vm.strings.get('listActions.DELETE', vm.getType(template)) }}">
|
||||
</at-row-action>
|
||||
</div>
|
||||
</at-row>
|
||||
|
||||
@ -7,7 +7,8 @@ function atRowAction () {
|
||||
transclude: true,
|
||||
templateUrl,
|
||||
scope: {
|
||||
icon: '@'
|
||||
icon: '@',
|
||||
tooltip: '@'
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,4 +1,7 @@
|
||||
<div class="at-RowAction"
|
||||
ng-class="{'at-RowAction--danger': (icon === 'fa-trash' || icon === 'fa-times')}">
|
||||
ng-class="{'at-RowAction--danger': (icon === 'fa-trash' || icon === 'fa-times')}"
|
||||
aw-tool-tip="{{tooltip}}"
|
||||
data-tip-watch="tooltip"
|
||||
data-placement="top">
|
||||
<i class="fa" ng-class="icon"></i>
|
||||
</div>
|
||||
|
||||
@ -2,11 +2,15 @@
|
||||
ng-show="status || headerValue || value || valueBindHtml || (smartStatus && smartStatus.summary_fields.recent_jobs.length) || (tagValues && tagValues.length)">
|
||||
<div class="at-RowItem-status" ng-if="status">
|
||||
<a ng-if="headerLink" ng-href="{{ headerLink }}"
|
||||
aw-tool-tip="{{ statusTip }}" aw-tip-watch="statusTip"
|
||||
aw-tool-tip="{{ statusTip }}" data-tip-watch="statusTip"
|
||||
data-placement="top">
|
||||
<i class="fa icon-job-{{ status }}"></i>
|
||||
</a>
|
||||
<i ng-if="!headerLink" class="fa icon-job-{{ status }}"></i>
|
||||
<div ng-if="!headerLink"
|
||||
aw-tool-tip="{{ statusTip }}" data-tip-watch="statusTip"
|
||||
data-placement="top">
|
||||
<i class="fa icon-job-{{ status }}"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="at-RowItem-header" ng-if="headerValue && headerLink">
|
||||
<a ng-href="{{ headerLink }}">{{ headerValue }}</a>
|
||||
|
||||
@ -93,6 +93,12 @@ function BaseStringService (namespace) {
|
||||
CALL: ({ path, action, status }) => t.s('Call to {{ path }} failed. {{ action }} returned status: {{ status }}.', { path, action, status }),
|
||||
};
|
||||
|
||||
this.listActions = {
|
||||
COPY: resourceType => t.s('Copy {{resourceType}}', { resourceType }),
|
||||
DELETE: resourceType => t.s('Delete the {{resourceType}}', { resourceType }),
|
||||
CANCEL: resourceType => t.s('Cancel the {{resourceType}}', { resourceType })
|
||||
};
|
||||
|
||||
this.ALERT = ({ header, body }) => t.s('{{ header }} {{ body }}', { header, body });
|
||||
|
||||
/**
|
||||
|
||||
@ -4,7 +4,8 @@ export default
|
||||
'templateUrl',
|
||||
'$location',
|
||||
'i18n',
|
||||
function JobsList($filter, templateUrl, $location, i18n) {
|
||||
'JobsStrings',
|
||||
function JobsList($filter, templateUrl, $location, i18n, strings) {
|
||||
return {
|
||||
restrict: 'E',
|
||||
link: link,
|
||||
@ -15,6 +16,7 @@ export default
|
||||
};
|
||||
|
||||
function link(scope, element, attr) {
|
||||
scope.strings = strings;
|
||||
scope.$watch("data", function(data) {
|
||||
if (data) {
|
||||
if (data.length > 0) {
|
||||
@ -37,14 +39,7 @@ export default
|
||||
} else {
|
||||
detailsUrl = `/#/jobs/playbook/${job.id}`;
|
||||
}
|
||||
|
||||
if(_.has(job, 'status') && job.status === 'successful'){
|
||||
tooltip = i18n._('Job successful. Click for details.');
|
||||
}
|
||||
else if(_.has(job, 'status') && job.status === 'failed'){
|
||||
tooltip = i18n._('Job failed. Click for details.');
|
||||
}
|
||||
|
||||
|
||||
return {
|
||||
detailsUrl,
|
||||
status: job.status,
|
||||
|
||||
@ -16,10 +16,10 @@
|
||||
<tr class="List-tableRow"
|
||||
ng-repeat = "job in jobs">
|
||||
<td class="DashboardList-nameCell">
|
||||
<a href="{{ job.detailsUrl }}" ng-if="isSuccessful(job.status)" aw-tool-tip="{{job.tooltip}}" aw-tip-placement="right" data-tip-watch="job.tooltip">
|
||||
<a href="{{ job.detailsUrl }}" ng-if="isSuccessful(job.status)" aw-tool-tip="{{strings.get('list.STATUS_TOOLTIP', job.status)}}" aw-tip-placement="right" data-tip-watch="strings.get('list.STATUS_TOOLTIP', job.status)">
|
||||
<i class="fa DashboardList-status DashboardList-status--success icon-job-successful"></i>
|
||||
</a>
|
||||
<a href="{{ job.detailsUrl }}" ng-if="!isSuccessful(job.status)" aw-tool-tip="{{job.tooltip}}" aw-tip-placement="right" data-tip-watch="job.tooltip">
|
||||
<a href="{{ job.detailsUrl }}" ng-if="!isSuccessful(job.status)" aw-tool-tip="{{strings.get('list.STATUS_TOOLTIP', job.status)}}" aw-tip-placement="right" data-tip-watch="strings.get('list.STATUS_TOOLTIP', job.status)">
|
||||
<i class="fa DashboardList-status DashboardList-status--failed icon-job-failed"></i>
|
||||
</a>
|
||||
<a href="{{ job.detailsUrl }}" class="DashboardList-nameContainer">
|
||||
|
||||
@ -50,7 +50,7 @@
|
||||
<tbody>
|
||||
<tr ng-class="{'List-tableRow--selected': $stateParams['host_id'] == host.id}" id="{{ host.id }}" class="List-tableRow host_class" ng-repeat="host in hosts track by host.id">
|
||||
<td class="List-tableCell toggleHost-column List-staticColumn--toggle">
|
||||
<div class="ScheduleToggle" ng-class="{'is-on': host.enabled, 'ScheduleToggle--disabled': host.has_inventory_sources}" aw-tool-tip="<p>Indicates if a host is available and should be included in running jobs.</p><p>For hosts that are part of an external inventory, this flag cannot be changed. It will be set by the inventory sync process.</p>" data-placement="right" data-tip-watch="undefined">
|
||||
<div class="ScheduleToggle" ng-class="{'is-on': host.enabled, 'ScheduleToggle--disabled': host.has_inventory_sources}" aw-tool-tip="{{strings.get('hostList.DISABLED_TOGGLE_TOOLTIP')}}" data-placement="right" data-tip-watch="undefined">
|
||||
<button ng-disabled="host.has_inventory_sources" ng-show="host.enabled" class="ScheduleToggle-switch is-on" ng-click="toggleHost($event, host)" translate>ON</button>
|
||||
<button ng-disabled="host.has_inventory_sources" ng-show="!host.enabled" class="ScheduleToggle-switch" ng-click="toggleHost($event, host)" translate>OFF</button>
|
||||
</div>
|
||||
@ -74,13 +74,13 @@
|
||||
</td>
|
||||
<td class="List-actionsContainer">
|
||||
<div class="List-actionButtonCell List-tableCell">
|
||||
<button id="insights-action" class="List-actionButton " ng-class="{'List-actionButton--selected' : $stateParams['host_id'] == host.id && $state.is('hosts.edit.insights')}" data-placement="top" ng-click="goToInsights(host.id)" aw-tool-tip="View Insights Data" ng-show="host.insights_system_id && host.summary_fields.inventory.hasOwnProperty('insights_credential_id')">
|
||||
<button id="insights-action" class="List-actionButton " ng-class="{'List-actionButton--selected' : $stateParams['host_id'] == host.id && $state.is('hosts.edit.insights')}" data-placement="top" ng-click="goToInsights(host.id)" aw-tool-tip="{{strings.get('inventory.VIEW_INSIGHTS')}}" data-tip-watch="strings.get('inventory.VIEW_INSIGHTS')" ng-show="host.insights_system_id && host.summary_fields.inventory.hasOwnProperty('insights_credential_id')">
|
||||
<i class="fa fa-info"></i>
|
||||
</button>
|
||||
<button id="edit-action" class="List-actionButton " ng-class="{'List-editButton--selected' : $stateParams['host_id'] == host.id && $state.is('hosts.edit') }" data-placement="top" ng-click="editHost(host.id)" aw-tool-tip="Edit host" ng-show="host.summary_fields.user_capabilities.edit">
|
||||
<button id="edit-action" class="List-actionButton " ng-class="{'List-editButton--selected' : $stateParams['host_id'] == host.id && $state.is('hosts.edit') }" data-placement="top" ng-click="editHost(host.id)" aw-tool-tip="{{strings.get('inventory.EDIT_HOST')}}" data-tip-watch="strings.get('inventory.VIEW_HOST')" ng-show="host.summary_fields.user_capabilities.edit">
|
||||
<i class="fa fa-pencil"></i>
|
||||
</button>
|
||||
<button id="view-action" class="List-actionButton " data-placement="top" ng-click="editHost(host.id)" aw-tool-tip="View host" ng-show="!host.summary_fields.user_capabilities.edit"><i class="fa fa-search-plus"></i>
|
||||
<button id="view-action" class="List-actionButton " data-placement="top" ng-click="editHost(host.id)" aw-tool-tip="{{strings.get('inventory.VIEW_HOST')}}" data-tip-watch="strings.get('inventory.VIEW_HOST')" ng-show="!host.summary_fields.user_capabilities.edit"><i class="fa fa-search-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
@ -17,6 +17,7 @@ function HostsList($scope, HostsList, $rootScope, GetBasePath,
|
||||
$scope.canAdd = canAdd;
|
||||
$scope.enableSmartInventoryButton = false;
|
||||
$scope.smartInventoryButtonTooltip = InventoryHostsStrings.get('smartinventorybutton.DISABLED_INSTRUCTIONS');
|
||||
$scope.strings = InventoryHostsStrings;
|
||||
|
||||
// Search init
|
||||
$scope.list = list;
|
||||
|
||||
@ -21,6 +21,19 @@ function InventoryHostsStrings (BaseString) {
|
||||
DELETE_HOST: count => t.p(count, 'Delete host', 'Delete hosts'),
|
||||
};
|
||||
|
||||
ns.inventory = {
|
||||
EDIT_HOST: t.s('Edit host'),
|
||||
VIEW_HOST: t.s('View host'),
|
||||
VIEW_INSIGHTS: t.s('View Insights Data')
|
||||
};
|
||||
|
||||
ns.hostList = {
|
||||
DISABLED_TOGGLE_TOOLTIP: () => t.s('{{ str1 }}</p><p>{{ str2 }}</p>', {
|
||||
str1: t.s('Indicates if a host is available and should be included in running jobs.'),
|
||||
str2: t.s('For hosts that are part of an external inventory, this flag cannot be changed. It will be set by the inventory sync process.')
|
||||
})
|
||||
};
|
||||
|
||||
ns.smartinventories = {
|
||||
hostfilter: {
|
||||
MISSING_ORG: t.s('Please select an organization before editing the host filter.'),
|
||||
@ -30,8 +43,8 @@ function InventoryHostsStrings (BaseString) {
|
||||
};
|
||||
|
||||
ns.smartinventorybutton = {
|
||||
DISABLED_INSTRUCTIONS: "Please enter at least one search term to create a new Smart Inventory.",
|
||||
ENABLED_INSTRUCTIONS: "Create a new Smart Inventory from search results.<br /><br />Note: changing the organization of the Smart Inventory could change the hosts included in the Smart Inventory."
|
||||
DISABLED_INSTRUCTIONS: t.s("Please enter at least one search term to create a new Smart Inventory."),
|
||||
ENABLED_INSTRUCTIONS: t.s("Create a new Smart Inventory from search results.<br /><br />Note: changing the organization of the Smart Inventory could change the hosts included in the Smart Inventory.")
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -7,11 +7,11 @@
|
||||
export default ['$scope', '$rootScope', '$log', '$stateParams', 'Rest', 'Alert',
|
||||
'OrgProjectList', 'OrgProjectDataset', 'ProcessErrors', 'GetBasePath',
|
||||
'ProjectUpdate', 'Wait', 'GetChoices', 'Empty', 'Find', 'GetProjectIcon',
|
||||
'GetProjectToolTip', '$filter', '$state',
|
||||
'GetProjectToolTip', '$filter', '$state', 'i18n',
|
||||
function($scope, $rootScope, $log, $stateParams, Rest, Alert,
|
||||
OrgProjectList, Dataset, ProcessErrors, GetBasePath, ProjectUpdate,
|
||||
Wait, GetChoices, Empty, Find, GetProjectIcon, GetProjectToolTip, $filter,
|
||||
$state) {
|
||||
$state, i18n) {
|
||||
|
||||
var list = OrgProjectList,
|
||||
projUrl,
|
||||
@ -35,15 +35,15 @@ export default ['$scope', '$rootScope', '$log', '$stateParams', 'Rest', 'Alert',
|
||||
$scope.projects.forEach(function(project, i) {
|
||||
$scope.projects[i].statusIcon = GetProjectIcon(project.status);
|
||||
$scope.projects[i].statusTip = GetProjectToolTip(project.status);
|
||||
$scope.projects[i].scm_update_tooltip = "Get latest SCM revision";
|
||||
$scope.projects[i].scm_update_tooltip = i18n._("Get latest SCM revision");
|
||||
$scope.projects[i].scm_type_class = "";
|
||||
|
||||
if (project.status === 'failed' && project.summary_fields.last_update && project.summary_fields.last_update.status === 'canceled') {
|
||||
$scope.projects[i].statusTip = 'Canceled. Click for details';
|
||||
$scope.projects[i].statusTip = i18n._('Canceled. Click for details');
|
||||
}
|
||||
|
||||
if (project.status === 'running' || project.status === 'updating') {
|
||||
$scope.projects[i].scm_update_tooltip = "SCM update currently running";
|
||||
$scope.projects[i].scm_update_tooltip = i18n._("SCM update currently running");
|
||||
$scope.projects[i].scm_type_class = "btn-disabled";
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ export default ['$scope', '$rootScope', '$log', '$stateParams', 'Rest', 'Alert',
|
||||
if (type.value === project.scm_type) {
|
||||
$scope.projects[i].scm_type = type.label;
|
||||
if (type.label === 'Manual') {
|
||||
$scope.projects[i].scm_update_tooltip = 'Manual projects do not require an SCM update';
|
||||
$scope.projects[i].scm_update_tooltip = i18n._('Manual projects do not require an SCM update');
|
||||
$scope.projects[i].scm_type_class = 'btn-disabled';
|
||||
$scope.projects[i].statusTip = 'Not configured for SCM';
|
||||
$scope.projects[i].statusIcon = 'none';
|
||||
@ -116,7 +116,7 @@ export default ['$scope', '$rootScope', '$log', '$stateParams', 'Rest', 'Alert',
|
||||
$log.debug('Received event for project: ' + project.name);
|
||||
$log.debug('Status changed to: ' + data.status);
|
||||
if (!(data.status === 'successful' || data.status === 'failed')) {
|
||||
project.scm_update_tooltip = "SCM update currently running";
|
||||
project.scm_update_tooltip = i18n._("SCM update currently running");
|
||||
project.scm_type_class = "btn-disabled";
|
||||
}
|
||||
project.status = data.status;
|
||||
@ -188,8 +188,7 @@ export default ['$scope', '$rootScope', '$log', '$stateParams', 'Rest', 'Alert',
|
||||
$state.go('output', { id: id, type: 'project' });
|
||||
|
||||
} else {
|
||||
Alert('No Updates Available', 'There is no SCM update information available for this project. An update has not yet been ' +
|
||||
' completed. If you have not already done so, start an update for this project.', 'alert-info');
|
||||
Alert(i18n._('No Updates Available'), i18n._('There is no SCM update information available for this project. An update has not yet been completed. If you have not already done so, start an update for this project.'), 'alert-info');
|
||||
}
|
||||
});
|
||||
|
||||
@ -197,8 +196,7 @@ export default ['$scope', '$rootScope', '$log', '$stateParams', 'Rest', 'Alert',
|
||||
// Refresh the project list
|
||||
var project = Find({ list: $scope.projects, key: 'id', val: id });
|
||||
if (Empty(project.scm_type) || project.scm_type === 'Manual') {
|
||||
Alert('No SCM Configuration', 'The selected project is not configured for SCM. To configure for SCM, edit the project and provide SCM settings, ' +
|
||||
'and then run an update.', 'alert-info');
|
||||
Alert(i18n._('No SCM Configuration'), i18n._('The selected project is not configured for SCM. To configure for SCM, edit the project and provide SCM settings and then run an update.'), 'alert-info');
|
||||
} else {
|
||||
// Refresh what we have in memory to insure we're accessing the most recent status record
|
||||
Rest.setUrl(project.url);
|
||||
@ -223,7 +221,7 @@ export default ['$scope', '$rootScope', '$log', '$stateParams', 'Rest', 'Alert',
|
||||
Rest.setUrl(url);
|
||||
Rest.post()
|
||||
.then(() => {
|
||||
Alert('SCM Update Cancel', 'Your request to cancel the update was submitted to the task manager.', 'alert-info');
|
||||
Alert(i18n._('SCM Update Cancel'), i18n._('Your request to cancel the update was submitted to the task manager.'), 'alert-info');
|
||||
$scope.refresh();
|
||||
})
|
||||
.catch(({data, status}) => {
|
||||
@ -243,8 +241,8 @@ export default ['$scope', '$rootScope', '$log', '$stateParams', 'Rest', 'Alert',
|
||||
if (data.can_cancel) {
|
||||
$scope.$emit('Cancel_Update', url);
|
||||
} else {
|
||||
Alert('Cancel Not Allowed', '<div>Either you do not have access or the SCM update process completed. ' +
|
||||
'Click the <em>Refresh</em> button to view the latest status.</div>', 'alert-info', null, null, null, null, true);
|
||||
Alert(i18n._('Cancel Not Allowed'), `<div>${i18n._('Either you do not have access or the SCM update process completed. Click the ')}
|
||||
<em>${i18n._('Refresh')}</em> ${i18n._('button to view the latest status.')}</div>`, 'alert-info', null, null, null, null, true);
|
||||
}
|
||||
})
|
||||
.catch(({data, status}) => {
|
||||
@ -269,8 +267,8 @@ export default ['$scope', '$rootScope', '$log', '$stateParams', 'Rest', 'Alert',
|
||||
});
|
||||
});
|
||||
} else {
|
||||
Alert('Update Not Found', '<div>An SCM update does not appear to be running for project: ' + $filter('sanitize')(name) + '. Click the <em>Refresh</em> ' +
|
||||
'button to view the latest status.</div>', 'alert-info', undefined, undefined, undefined, undefined, true);
|
||||
Alert(i18n._('Update Not Found'), `<div>${i18n._('An SCM update does not appear to be running for project: ')} ${$filter('sanitize')(name)}. ${i18n._('Click the')} <em>${i18n._('Refresh')}</em>${i18n._('button to view the latest status.')}</div>`,
|
||||
'alert-info', undefined, undefined, undefined, undefined, true);
|
||||
}
|
||||
})
|
||||
.catch(({data, status}) => {
|
||||
|
||||
@ -155,7 +155,7 @@ let lists = [{
|
||||
list.title = true;
|
||||
list.listTitle = N_('Inventories') + ` | {{ name }}`;
|
||||
list.basePath = `${GetBasePath('organizations')}${$stateParams.organization_id}/inventories`;
|
||||
list.emptyListText = "This list is populated by inventories added from the <a ui-sref='inventories.add'>Inventories</a> section";
|
||||
list.emptyListText = `${N_("This list is populated by inventories added from the")} <a ui-sref='inventories.add'>${N_("Inventories")}</a> ${N_("section")}`;
|
||||
return list;
|
||||
}],
|
||||
OrgInventoryDataset: ['OrgInventoryList', 'QuerySet', '$stateParams', 'GetBasePath',
|
||||
@ -206,7 +206,7 @@ let lists = [{
|
||||
delete list.fieldActions.delete;
|
||||
list.listTitle = N_('Projects') + ` | {{ name }}`;
|
||||
list.basePath = `${GetBasePath('organizations')}${$stateParams.organization_id}/projects`;
|
||||
list.emptyListText = "This list is populated by projects added from the <a ui-sref='projects.add'>Projects</a> section";
|
||||
list.emptyListText = `${N_("This list is populated by projects added from the")} <a ui-sref='projects.add'>${N_("Projects")}</a> ${N_("section")}`;
|
||||
return list;
|
||||
}],
|
||||
OrgProjectDataset: ['OrgProjectList', 'QuerySet', '$stateParams', 'GetBasePath',
|
||||
|
||||
@ -115,7 +115,7 @@ export default ['$scope', '$rootScope', '$log', 'Rest', 'Alert',
|
||||
if (data.status === 'successful' || data.status === 'failed' || data.status === 'canceled') {
|
||||
$scope.reloadList();
|
||||
} else {
|
||||
project.scm_update_tooltip = "SCM update currently running";
|
||||
project.scm_update_tooltip = i18n._("SCM update currently running");
|
||||
project.scm_type_class = "btn-disabled";
|
||||
}
|
||||
project.status = data.status;
|
||||
|
||||
@ -104,7 +104,7 @@ export default ['i18n', 'NotificationsList', 'TemplateList',
|
||||
ngDisabled: '!(project_obj.summary_fields.user_capabilities.edit || canAdd)'
|
||||
},
|
||||
scm_url: {
|
||||
label: 'SCM URL',
|
||||
label: i18n._('SCM URL'),
|
||||
type: 'text',
|
||||
ngShow: "scm_type && scm_type.value !== 'manual' && scm_type.value !== 'insights' ",
|
||||
awRequiredWhen: {
|
||||
|
||||
@ -9,6 +9,14 @@ function SchedulerStrings (BaseString) {
|
||||
EDIT_SCHEDULE: t.s('EDIT SCHEDULE')
|
||||
};
|
||||
|
||||
ns.list = {
|
||||
CLICK_TO_EDIT: t.s('Click to edit schedule.'),
|
||||
SCHEDULE_IS_ACTIVE: t.s('Schedule is active.'),
|
||||
SCHEDULE_IS_ACTIVE_CLICK_TO_STOP: t.s('Schedule is active. Click to stop.'),
|
||||
SCHEDULE_IS_STOPPED: t.s('Schedule is stopped.'),
|
||||
SCHEDULE_IS_STOPPED_CLICK_TO_STOP: t.s('Schedule is stopped. Click to activate.')
|
||||
};
|
||||
|
||||
ns.form = {
|
||||
NAME: t.s('Name'),
|
||||
NAME_REQUIRED_MESSAGE: t.s('A schedule name is required.'),
|
||||
|
||||
@ -14,10 +14,10 @@
|
||||
export default [
|
||||
'$filter', '$scope', '$location', '$stateParams', 'ScheduleList', 'Rest',
|
||||
'rbacUiControlService', 'JobTemplateModel', 'ToggleSchedule', 'DeleteSchedule',
|
||||
'$q', '$state', 'Dataset', 'ParentObject', 'UnifiedJobsOptions', 'i18n',
|
||||
'$q', '$state', 'Dataset', 'ParentObject', 'UnifiedJobsOptions', 'i18n', 'SchedulerStrings',
|
||||
function($filter, $scope, $location, $stateParams, ScheduleList, Rest,
|
||||
rbacUiControlService, JobTemplate, ToggleSchedule, DeleteSchedule,
|
||||
$q, $state, Dataset, ParentObject, UnifiedJobsOptions, i18n
|
||||
$q, $state, Dataset, ParentObject, UnifiedJobsOptions, i18n, strings
|
||||
) {
|
||||
|
||||
var base, scheduleEndpoint,
|
||||
@ -119,12 +119,12 @@ export default [
|
||||
function buildTooltips(schedule) {
|
||||
var job = schedule.summary_fields.unified_job_template;
|
||||
if (schedule.enabled) {
|
||||
const tip = (schedule.summary_fields.user_capabilities.edit || $scope.credentialRequiresPassword) ? i18n._('Schedule is active.') : i18n._('Schedule is active. Click to stop.');
|
||||
const tip = (schedule.summary_fields.user_capabilities.edit || $scope.credentialRequiresPassword) ? strings.get('list.SCHEDULE_IS_ACTIVE') : strings.get('list.SCHEDULE_IS_ACTIVE_CLICK_TO_STOP');
|
||||
schedule.play_tip = tip;
|
||||
schedule.status = 'active';
|
||||
schedule.status_tip = tip;
|
||||
} else {
|
||||
const tip = (schedule.summary_fields.user_capabilities.edit || $scope.credentialRequiresPassword) ? i18n._('Schedule is stopped.') : i18n._('Schedule is stopped. Click to activate.');
|
||||
const tip = (schedule.summary_fields.user_capabilities.edit || $scope.credentialRequiresPassword) ? strings.get('list.SCHEDULE_IS_STOPPED') : strings.get('list.SCHEDULE_IS_STOPPED_CLICK_TO_STOP');//i18n._('Schedule is stopped.') : i18n._('Schedule is stopped. Click to activate.');
|
||||
schedule.play_tip = tip;
|
||||
schedule.status = 'stopped';
|
||||
schedule.status_tip = tip;
|
||||
@ -140,7 +140,7 @@ export default [
|
||||
schedule.nameTip += "job ";
|
||||
}
|
||||
schedule.nameTip += $filter('sanitize')(job.name);
|
||||
schedule.nameTip += ". Click to edit schedule.";
|
||||
schedule.nameTip += `. ${strings.get('list.CLICK_TO_EDIT')}`;
|
||||
}
|
||||
|
||||
$scope.refreshSchedules = function() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user