diff --git a/.jshintrc b/.jshintrc index 3ed9f59504..0239abbde6 100644 --- a/.jshintrc +++ b/.jshintrc @@ -23,7 +23,8 @@ "it": false, "expect": false, "context": false, - "describe": false + "describe": false, + "moment": false }, "strict": false, "quotmark": false, diff --git a/awx/ui/static/js/app.js b/awx/ui/static/js/app.js index ed0a3b7ab8..2ee0160c33 100644 --- a/awx/ui/static/js/app.js +++ b/awx/ui/static/js/app.js @@ -179,7 +179,8 @@ var tower = angular.module('Tower', [ 'CreateCustomInventoryHelper', 'CustomInventoryListDefinition', 'AdhocHelper', - 'features' + 'features', + 'longDateFilter' ]) .constant('AngularScheduler.partials', urlPrefix + 'lib/angular-scheduler/lib/') diff --git a/awx/ui/static/js/filters.js b/awx/ui/static/js/filters.js index aaf9f04c17..be5d00ad85 100644 --- a/awx/ui/static/js/filters.js +++ b/awx/ui/static/js/filters.js @@ -1,7 +1,9 @@ import sanitizeFilter from 'tower/filters/sanitize/xss-sanitizer.filter'; import capitalizeFilter from 'tower/filters/capitalize.filter'; +import longDateFilter from 'tower/filters/dates/long-date.filter'; export { sanitizeFilter, - capitalizeFilter + capitalizeFilter, + longDateFilter }; diff --git a/awx/ui/static/js/filters/dates/long-date.filter.js b/awx/ui/static/js/filters/dates/long-date.filter.js new file mode 100644 index 0000000000..e80c89b347 --- /dev/null +++ b/awx/ui/static/js/filters/dates/long-date.filter.js @@ -0,0 +1,6 @@ +angular.module('longDateFilter', []).filter('longDate', function() { + return function(input) { + var date = moment(input); + return date.format('l LTS'); + }; +}); diff --git a/awx/ui/static/js/forms/LogViewerStatus.js b/awx/ui/static/js/forms/LogViewerStatus.js index d3dc26c118..a1b25e1e72 100644 --- a/awx/ui/static/js/forms/LogViewerStatus.js +++ b/awx/ui/static/js/forms/LogViewerStatus.js @@ -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": { diff --git a/awx/ui/static/js/helpers/EventViewer.js b/awx/ui/static/js/helpers/EventViewer.js index ff76bffc3d..65a7ab2452 100644 --- a/awx/ui/static/js/helpers/EventViewer.js +++ b/awx/ui/static/js/helpers/EventViewer.js @@ -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) { diff --git a/awx/ui/static/js/lists/AllJobs.js b/awx/ui/static/js/lists/AllJobs.js index fe194baa7d..3cc5b0e7b5 100644 --- a/awx/ui/static/js/lists/AllJobs.js +++ b/awx/ui/static/js/lists/AllJobs.js @@ -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 diff --git a/awx/ui/static/js/lists/CompletedJobs.js b/awx/ui/static/js/lists/CompletedJobs.js index c3f8d2447d..18c72fe0c5 100644 --- a/awx/ui/static/js/lists/CompletedJobs.js +++ b/awx/ui/static/js/lists/CompletedJobs.js @@ -9,7 +9,7 @@ export default - angular.module('CompletedJobsDefinition', ['sanitizeFilter']) + angular.module('CompletedJobsDefinition', ['sanitizeFilter', 'longDateFilter']) .value( 'CompletedJobsList', { name: 'completed_jobs', @@ -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 diff --git a/awx/ui/static/js/lists/Jobs.js b/awx/ui/static/js/lists/Jobs.js index ce739ac4df..b7548d54d6 100644 --- a/awx/ui/static/js/lists/Jobs.js +++ b/awx/ui/static/js/lists/Jobs.js @@ -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: { diff --git a/awx/ui/static/js/lists/PortalJobs.js b/awx/ui/static/js/lists/PortalJobs.js index 00db6461e0..65a3539bda 100644 --- a/awx/ui/static/js/lists/PortalJobs.js +++ b/awx/ui/static/js/lists/PortalJobs.js @@ -12,7 +12,7 @@ export default - angular.module('PortalJobsListDefinition', []) + angular.module('PortalJobsListDefinition', ['longDateFilter']) .value( 'PortalJobsList', { name: 'portal_jobs', @@ -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: { diff --git a/awx/ui/static/js/lists/Projects.js b/awx/ui/static/js/lists/Projects.js index 84adf22b17..1e6552debc 100644 --- a/awx/ui/static/js/lists/Projects.js +++ b/awx/ui/static/js/lists/Projects.js @@ -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, diff --git a/awx/ui/static/js/lists/ScheduledJobs.js b/awx/ui/static/js/lists/ScheduledJobs.js index 08d470af43..72af30e578 100644 --- a/awx/ui/static/js/lists/ScheduledJobs.js +++ b/awx/ui/static/js/lists/ScheduledJobs.js @@ -9,7 +9,7 @@ export default - angular.module('ScheduledJobsDefinition', ['sanitizeFilter']) + angular.module('ScheduledJobsDefinition', ['sanitizeFilter', 'longDateFilter']) .value( 'ScheduledJobsList', { name: 'schedules', @@ -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: { @@ -92,4 +92,4 @@ export default dataPlacement: 'top' } } - }); \ No newline at end of file + }); diff --git a/awx/ui/static/js/lists/Schedules.js b/awx/ui/static/js/lists/Schedules.js index 52e94d6187..e33b5e88a7 100644 --- a/awx/ui/static/js/lists/Schedules.js +++ b/awx/ui/static/js/lists/Schedules.js @@ -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" } @@ -96,4 +96,4 @@ export default dataPlacement: 'top' } } - }); \ No newline at end of file + }); diff --git a/awx/ui/static/js/lists/Streams.js b/awx/ui/static/js/lists/Streams.js index 7cae0dc263..7e2752b278 100644 --- a/awx/ui/static/js/lists/Streams.js +++ b/awx/ui/static/js/lists/Streams.js @@ -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', @@ -281,4 +281,4 @@ export default } } - }); \ No newline at end of file + }); diff --git a/awx/ui/static/js/widgets/Stream.js b/awx/ui/static/js/widgets/Stream.js index 3000100012..5afcd6d165 100644 --- a/awx/ui/static/js/widgets/Stream.js +++ b/awx/ui/static/js/widgets/Stream.js @@ -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 () { diff --git a/awx/ui/static/partials/job_detail.html b/awx/ui/static/partials/job_detail.html index 371b143ab3..c8460083e8 100644 --- a/awx/ui/static/partials/job_detail.html +++ b/awx/ui/static/partials/job_detail.html @@ -45,8 +45,8 @@