mirror of
https://github.com/ansible/awx.git
synced 2026-01-14 19:30:39 -03:30
Merge pull request #213 from jaredevantabor/dates
Filter Tower dates using moment.js
This commit is contained in:
commit
a1011106db
@ -23,7 +23,8 @@
|
||||
"it": false,
|
||||
"expect": false,
|
||||
"context": false,
|
||||
"describe": false
|
||||
"describe": false,
|
||||
"moment": false
|
||||
},
|
||||
"strict": false,
|
||||
"quotmark": false,
|
||||
|
||||
@ -179,7 +179,8 @@ var tower = angular.module('Tower', [
|
||||
'CreateCustomInventoryHelper',
|
||||
'CustomInventoryListDefinition',
|
||||
'AdhocHelper',
|
||||
'features'
|
||||
'features',
|
||||
'longDateFilter'
|
||||
])
|
||||
|
||||
.constant('AngularScheduler.partials', urlPrefix + 'lib/angular-scheduler/lib/')
|
||||
|
||||
@ -422,7 +422,7 @@ export function HomeGroups($log, $scope, $filter, $compile, $location, $routePar
|
||||
html += "<td><a href=\"#/jobs/" + row.id + "\" " + "aw-tool-tip=\"" + row.status.charAt(0).toUpperCase() + row.status.slice(1) +
|
||||
". Click for details\" aw-tip-placement=\"top\"><i class=\"fa icon-job-" +
|
||||
row.status + "\"></i></a></td>\n";
|
||||
html += "<td>" + ($filter('date')(row.finished,'MM/dd HH:mm:ss')).replace(/ /,'<br />') + "</td>";
|
||||
html += "<td>" + ($filter('longDate')(row.finished)).replace(/ /,'<br />') + "</td>";
|
||||
html += "<td><a href=\"#/jobs/" + row.id + "\" " + "aw-tool-tip=\"" + row.status.charAt(0).toUpperCase() + row.status.slice(1) +
|
||||
". Click for details\" aw-tip-placement=\"top\">" + ellipsis(row.name) + "</a></td>";
|
||||
html += "</tr>\n";
|
||||
@ -457,7 +457,7 @@ export function HomeGroups($log, $scope, $filter, $compile, $location, $routePar
|
||||
data.results.forEach( function(row) {
|
||||
html += "<tr>";
|
||||
html += "<td><a href=\"\" ng-click=\"viewJob('" + row.related.last_update + "')\" aw-tool-tip=\"" + row.status.charAt(0).toUpperCase() + row.status.slice(1) + ". Click for details\" aw-tip-placement=\"top\"><i class=\"fa icon-job-" + row.status + "\"></i></a></td>";
|
||||
html += "<td>" + ($filter('date')(row.last_updated,'MM/dd HH:mm:ss')).replace(/ /,'<br />') + "</td>";
|
||||
html += "<td>" + ($filter('longDate')(row.last_updated)).replace(/ /,'<br />') + "</td>";
|
||||
html += "<td><a href=\"\" ng-click=\"viewJob('" + row.related.last_update + "')\">" + ellipsis(row.summary_fields.group.name) + "</a></td>";
|
||||
html += "</tr>\n";
|
||||
});
|
||||
|
||||
@ -202,7 +202,7 @@ export function InventoriesList($scope, $rootScope, $location, $log,
|
||||
html += "<tr>\n";
|
||||
html += "<td><a href=\"#/jobs/" + row.id + "\" " + "aw-tool-tip=\"" + row.status.charAt(0).toUpperCase() + row.status.slice(1) +
|
||||
". Click for details\" aw-tip-placement=\"top\"><i class=\"fa icon-job-" + row.status + "\"></i></a></td>\n";
|
||||
html += "<td>" + ($filter('date')(row.finished,'MM/dd HH:mm:ss')).replace(/ /,'<br />') + "</td>";
|
||||
html += "<td>" + ($filter('longDate')(row.finished)).replace(/ /,'<br />') + "</td>";
|
||||
html += "<td><a href=\"#/jobs/" + row.id + "\" " + "aw-tool-tip=\"" + row.status.charAt(0).toUpperCase() + row.status.slice(1) +
|
||||
". Click for details\" aw-tip-placement=\"top\">" + ellipsis(row.name) + "</a></td>";
|
||||
html += "</tr>\n";
|
||||
@ -238,7 +238,7 @@ export function InventoriesList($scope, $rootScope, $location, $log,
|
||||
if (row.related.last_update) {
|
||||
html += "<tr>";
|
||||
html += "<td><a href=\"\" ng-click=\"viewJob('" + row.related.last_update + "')\" aw-tool-tip=\"" + row.status.charAt(0).toUpperCase() + row.status.slice(1) + ". Click for details\" aw-tip-placement=\"top\"><i class=\"fa icon-job-" + row.status + "\"></i></a></td>";
|
||||
html += "<td>" + ($filter('date')(row.last_updated,'MM/dd HH:mm:ss')).replace(/ /,'<br />') + "</td>";
|
||||
html += "<td>" + ($filter('longDate')(row.last_updated)).replace(/ /,'<br />') + "</td>";
|
||||
html += "<td><a href=\"\" ng-click=\"viewJob('" + row.related.last_update + "')\">" + ellipsis(row.summary_fields.group.name) + "</a></td>";
|
||||
html += "</tr>\n";
|
||||
}
|
||||
|
||||
@ -175,7 +175,7 @@ export function JobEventsList($sce, $filter, $scope, $rootScope, $location, $log
|
||||
}
|
||||
//cDate = new Date(set[i].created);
|
||||
//set[i].created = FormatDate(cDate);
|
||||
set[i].created = $filter('date')(set[i].created, 'MM/dd HH:mm:ss');
|
||||
set[i].created = $filter('longDate')(set[i].created);
|
||||
}
|
||||
|
||||
// Need below lookup to get inventory_id, which is not on event record. Plus, good idea to get status and name
|
||||
@ -360,4 +360,4 @@ export function JobEventsEdit($scope, $rootScope, $compile, $location, $log, $ro
|
||||
|
||||
JobEventsEdit.$inject = ['$scope', '$rootScope', '$compile', '$location', '$log', '$routeParams', 'JobEventsForm', 'GenerateForm',
|
||||
'Rest', 'Alert', 'ProcessErrors', 'LoadBreadCrumbs', 'ClearScope', 'GetBasePath', 'FormatDate', 'EventView', 'Wait'
|
||||
];
|
||||
];
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
import sanitizeFilter from 'tower/filters/sanitize/xss-sanitizer.filter';
|
||||
import capitalizeFilter from 'tower/filters/capitalize.filter';
|
||||
import sanitizeFilter from 'tower/shared/xss-sanitizer.filter';
|
||||
import capitalizeFilter from 'tower/shared/capitalize.filter';
|
||||
import longDateFilter from 'tower/shared/long-date.filter';
|
||||
|
||||
export {
|
||||
sanitizeFilter,
|
||||
capitalizeFilter
|
||||
capitalizeFilter,
|
||||
longDateFilter
|
||||
};
|
||||
|
||||
@ -38,13 +38,13 @@ export default
|
||||
"started": {
|
||||
label: "Started",
|
||||
type: "date",
|
||||
"filter": "date:'MM/dd/yy HH:mm:ss'",
|
||||
"filter": "longDate",
|
||||
readonly: true
|
||||
},
|
||||
"finished": {
|
||||
label: "Finished",
|
||||
type: "date",
|
||||
"filter": "date:'MM/dd/yy HH:mm:ss'",
|
||||
"filter": "longDate",
|
||||
readonly: true
|
||||
},
|
||||
"elapsed": {
|
||||
|
||||
@ -423,10 +423,10 @@ export default
|
||||
else if (key === "start" || key === "end" || key === "created") {
|
||||
if (!/Z$/.test(itm)) {
|
||||
itm = itm.replace(/\ /,'T') + 'Z';
|
||||
html += $filter('date')(itm, 'MM/dd/yy HH:mm:ss.sss');
|
||||
html += $filter('longDate')(itm);
|
||||
}
|
||||
else {
|
||||
html += $filter('date')(itm, 'MM/dd/yy HH:mm:ss');
|
||||
html += $filter('longDate')(itm);
|
||||
}
|
||||
}
|
||||
else if (key === "host_name" && event.host_id) {
|
||||
|
||||
@ -121,7 +121,7 @@ angular.module('HostsHelper', [ 'RestServices', 'Utilities', listGenerator.name,
|
||||
". Click for details\" data-placement=\"top\"><i class=\"fa icon-job-" +
|
||||
job.status + "\"></i></a></td>\n";
|
||||
|
||||
html += "<td>" + ($filter('date')(job.finished,'MM/dd HH:mm:ss')).replace(/ /,'<br />') + "</td>\n";
|
||||
html += "<td>" + ($filter('longDate')(job.finished)).replace(/ /,'<br />') + "</td>\n";
|
||||
|
||||
html += "<td class=\"break\"><a href=\"#/jobs/" + job.id + "\" " +
|
||||
"aw-tool-tip=\"" + job.status.charAt(0).toUpperCase() + job.status.slice(1) +
|
||||
|
||||
@ -52,7 +52,7 @@ export default
|
||||
label: 'Finished',
|
||||
noLink: true,
|
||||
searchable: false,
|
||||
filter: "date:'MM/dd HH:mm:ss'",
|
||||
filter: "longDate",
|
||||
columnClass: "col-lg-2 col-md-2 hidden-xs",
|
||||
key: true,
|
||||
desc: true
|
||||
|
||||
@ -51,7 +51,7 @@ export default
|
||||
label: 'Finished',
|
||||
noLink: true,
|
||||
searchable: false,
|
||||
filter: "date:'MM/dd HH:mm:ss'",
|
||||
filter: "longDate",
|
||||
columnClass: "col-lg-2 col-md-2 hidden-xs",
|
||||
key: true,
|
||||
desc: true
|
||||
|
||||
@ -57,7 +57,7 @@ export default
|
||||
label: 'Started',
|
||||
noLink: true,
|
||||
searchable: false,
|
||||
filter: "date:'MM/dd HH:mm:ss'",
|
||||
filter: "longDate",
|
||||
columnClass: "col-lg-2 col-md-2 hidden-xs"
|
||||
},
|
||||
type: {
|
||||
|
||||
@ -58,7 +58,7 @@ export default
|
||||
label: 'Started',
|
||||
noLink: true,
|
||||
searchable: false,
|
||||
filter: "date:'MM/dd HH:mm:ss'",
|
||||
filter: "longDate",
|
||||
columnClass: "col-lg-3 col-md-3 hidden-xs"
|
||||
},
|
||||
name: {
|
||||
|
||||
@ -45,7 +45,7 @@ export default
|
||||
},
|
||||
last_updated: {
|
||||
label: 'Last Updated',
|
||||
filter: "date:'MM/dd/yy HH:mm:ss'",
|
||||
filter: "longDate",
|
||||
columnClass: "col-lg-2 col-md-2 hidden-sm hidden-xs",
|
||||
excludeModal: true,
|
||||
searchable: false,
|
||||
|
||||
@ -36,7 +36,7 @@ export default
|
||||
noLink: true,
|
||||
searchable: false,
|
||||
columnClass: "col-lg-2 col-md-2 hidden-xs",
|
||||
filter: "date:'MM/dd HH:mm:ss'",
|
||||
filter: "longDate",
|
||||
key: true
|
||||
},
|
||||
type: {
|
||||
|
||||
@ -29,19 +29,19 @@ export default
|
||||
},
|
||||
dtstart: {
|
||||
label: 'First Run',
|
||||
filter: "date:'MM/dd/yy HH:mm:ss'",
|
||||
filter: "longDate",
|
||||
searchable: false,
|
||||
columnClass: "col-md-2 col-sm-3 hidden-xs"
|
||||
},
|
||||
next_run: {
|
||||
label: 'Next Run',
|
||||
filter: "date:'MM/dd/yy HH:mm:ss'",
|
||||
filter: "longDate",
|
||||
searchable: false,
|
||||
columnClass: "col-md-2 col-sm-3 col-xs-3"
|
||||
},
|
||||
dtend: {
|
||||
label: 'Final Run',
|
||||
filter: "date:'MM/dd/yy HH:mm:ss'",
|
||||
filter: "longDate",
|
||||
searchable: false,
|
||||
columnClass: "col-md-2 col-sm-3 hidden-xs"
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@ export default
|
||||
desc: true,
|
||||
noLink: true,
|
||||
searchable: false,
|
||||
filter: "date:'MM/dd/yy HH:mm:ss'"
|
||||
filter: "longDate"
|
||||
},
|
||||
user: {
|
||||
label: 'Initiated by',
|
||||
|
||||
@ -572,7 +572,7 @@ angular.module('Utilities', ['RestServices', 'Utilities', 'sanitizeFilter'])
|
||||
.factory('FormatDate', ['$filter',
|
||||
function ($filter) {
|
||||
return function (dt) {
|
||||
return $filter('date')(dt, 'MM/dd/yy HH:mm:ss');
|
||||
return $filter('longDate')(dt);
|
||||
};
|
||||
}
|
||||
])
|
||||
|
||||
6
awx/ui/static/js/shared/long-date.filter.js
Normal file
6
awx/ui/static/js/shared/long-date.filter.js
Normal file
@ -0,0 +1,6 @@
|
||||
angular.module('longDateFilter', []).filter('longDate', function() {
|
||||
return function(input) {
|
||||
var date = moment(input).locale(navigator.language);
|
||||
return date.format('l LTS');
|
||||
};
|
||||
});
|
||||
@ -300,7 +300,7 @@ angular.module('StreamWidget', ['RestServices', 'Utilities', 'StreamListDefiniti
|
||||
scope = generator.inject(form, { mode: 'edit', modal: true, related: false });
|
||||
scope.changes = activity.changes_stringified;
|
||||
scope.user = ((activity.summary_fields.actor) ? activity.summary_fields.actor.username : 'system') +
|
||||
' on ' + $filter('date')(activity.timestamp, "MM/dd/yy HH:mm:ss");
|
||||
' on ' + $filter('longDate')(activity.timestamp);
|
||||
scope.operation = activity.description_nolink;
|
||||
|
||||
scope.formModalAction = function () {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user