diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/create.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/create.js index a6323fc35053a8bc66c234bd6305c02a7b2548c0..87bd39d7b06898428e0f21a5eaa2414b4387e402 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/create.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/create.js @@ -277,9 +277,9 @@ export class CycleCreate extends Component { if (this.validateForm) { let cycleQuota = []; let cycle = this.state.cycle; - // let stoptime = _.replace(this.state.cycle['stop'],'00:00:00', '23:59:59'); - cycle['start'] = cycle['start']; - cycle['stop'] = cycle['stop']; + let stoptime = _.replace(this.state.cycle['stop'],'00:00:00', '23:59:59'); + cycle['start'] = moment(cycle['start']).format(UIConstants.UTC_DATE_TIME_FORMAT); + cycle['stop'] = moment(stoptime).format(UIConstants.UTC_DATE_TIME_FORMAT); this.setState({cycle: cycle, isDirty: false}); for (const resource in this.state.cycleQuota) { let resourceType = _.find(this.state.resources, {'name': resource}); diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/edit.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/edit.js index bd2a6f93740122faa4cd01b0191a608f9c780e2e..7ef3b05cc8bf50d554ae4f4fcd64e409b7e853c0 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/edit.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/edit.js @@ -195,7 +195,7 @@ export class CycleEdit extends Component { * @param {string} key * @param {any} value */ - setCycleParams(key, value, type) { + async setCycleParams(key, value, type) { let cycle = _.cloneDeep(this.state.cycle); switch(type) { case 'NUMBER': { @@ -208,9 +208,11 @@ export class CycleEdit extends Component { } } if ( !this.state.isDirty && !_.isEqual(this.state.cycle, cycle)) { - this.setState({cycle: cycle, validForm: this.validateForm(key), isDirty: true}); + await this.setState({cycle: cycle}); + this.setState({validForm: this.validateForm(key), isDirty: true}); } else { - this.setState({cycle: cycle, validForm: this.validateForm(key)}); + await await this.setState({cycle: cycle}); + this.setState({validForm: this.validateForm(key)}); } } @@ -306,9 +308,9 @@ export class CycleEdit extends Component { saveCycle() { if (this.validateForm) { let cycle = this.state.cycle; - // let stoptime = _.replace(this.state.cycle['stop'],'00:00:00', '23:59:59'); - cycle['start'] = cycle['start']; - cycle['stop'] = cycle['stop']; + let stoptime = _.replace(this.state.cycle['stop'],'00:00:00', '23:59:59'); + cycle['start'] = moment(cycle['start']).format(UIConstants.UTC_DATE_TIME_FORMAT); + cycle['stop'] = moment(stoptime).format(UIConstants.UTC_DATE_TIME_FORMAT); this.setState({cycle: cycle, isDirty: false}); CycleService.updateCycle(this.props.match.params.id, this.state.cycle) .then(async (cycle) => { diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/Scheduling.Constraints.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/Scheduling.Constraints.js index 69d9a6588afc6ad5a1cce45dee6f452e905d7bb7..92739eb404e5b22e114318a28af160adb759a910 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/Scheduling.Constraints.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/Scheduling.Constraints.js @@ -74,7 +74,7 @@ export default (props) => { propertyValue.skipFormat = true; propertyValue.options = { "inputAttributes": { - "placeholder": "yyyy/mm/dd,--:--:--" + "placeholder": "YYYY-MM-DD HH:mm:ss" }, "flatpickr": { "inlineHideInput": true, diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/excelview.schedulingset.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/excelview.schedulingset.js index 58763de940aee3aa623e71e4c62ab4e21fadaa5b..5174562b1ca6fd690140f7e859ccd19ce9a10d25 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/excelview.schedulingset.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/excelview.schedulingset.js @@ -36,7 +36,7 @@ import 'ag-grid-community/dist/styles/ag-theme-alpine.css'; import { CustomPageSpinner } from '../../components/CustomPageSpinner'; import { CustomDialog } from '../../layout/components/CustomDialog'; -const DATE_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss'; +// const DATE_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss'; const BG_COLOR = '#f878788f'; /** @@ -1174,9 +1174,9 @@ export class SchedulingSetCreate extends Component { if (constraint.scheduler){ observationProps['scheduler'] = constraint.scheduler; } - observationProps['timeat'] = this.isNotEmpty(constraint.time.at)?moment.utc(constraint.time.at).format(DATE_TIME_FORMAT): ''; - observationProps['timeafter'] = this.isNotEmpty(constraint.time.after)?moment.utc(constraint.time.after).format(DATE_TIME_FORMAT):''; - observationProps['timebefore'] = this.isNotEmpty(constraint.time.before)?moment.utc(constraint.time.before).format(DATE_TIME_FORMAT):''; + observationProps['timeat'] = this.isNotEmpty(constraint.time.at)?moment.utc(constraint.time.at).format(UIConstants.CALENDAR_DATETIME_FORMAT): ''; + observationProps['timeafter'] = this.isNotEmpty(constraint.time.after)?moment.utc(constraint.time.after).format(UIConstants.CALENDAR_DATETIME_FORMAT):''; + observationProps['timebefore'] = this.isNotEmpty(constraint.time.before)?moment.utc(constraint.time.before).format(UIConstants.CALENDAR_DATETIME_FORMAT):''; if (constraint.time.between){ observationProps['between'] = this.getBetweenStringValue(constraint.time.between); } @@ -1796,18 +1796,18 @@ export class SchedulingSetCreate extends Component { } else { //mandatory - constraint.time.at = `${moment(suRow.timeat).format("YYYY-MM-DDTHH:mm:ss.SSSSS", { trim: false })}Z`; + constraint.time.at = `${moment(suRow.timeat).format(UIConstants.UTC_DATE_TIME_MS_FORMAT, { trim: false })}Z`; //optional if (!this.isNotEmpty(suRow.timeafter)) { delete constraint.time.after; } else { - constraint.time.after = `${moment(suRow.timeafter).format("YYYY-MM-DDTHH:mm:ss.SSSSS", { trim: false })}Z`; + constraint.time.after = `${moment(suRow.timeafter).format(UIConstants.UTC_DATE_TIME_MS_FORMAT, { trim: false })}Z`; } if (!this.isNotEmpty(suRow.timebefore)) { delete constraint.time.before; } else { - constraint.time.before = `${moment(suRow.timebefore).format("YYYY-MM-DDTHH:mm:ss.SSSSS", { trim: false })}Z`; + constraint.time.before = `${moment(suRow.timebefore).format(UIConstants.UTC_DATE_TIME_MS_FORMAT, { trim: false })}Z`; } } @@ -1916,11 +1916,12 @@ export class SchedulingSetCreate extends Component { * @param {*} dates */ getBetweenStringValue(dates){ + console.log(dates); let returnDate = ''; if (dates){ dates.forEach(utcDateArray => { - returnDate += moment.utc(utcDateArray.from).format(DATE_TIME_FORMAT)+","; - returnDate += moment.utc(utcDateArray.to).format(DATE_TIME_FORMAT)+"|"; + returnDate += moment.utc(utcDateArray.from).format(UIConstants.CALENDAR_DATETIME_FORMAT)+","; + returnDate += moment.utc(utcDateArray.to).format(UIConstants.CALENDAR_DATETIME_FORMAT)+"|"; }) } return returnDate; @@ -1937,8 +1938,8 @@ export class SchedulingSetCreate extends Component { let betweendate = _.split(betweenDates, ","); let dateres = {}; if (betweendate && betweendate.length === 2){ - dateres['from'] = `${moment(betweendate[0]).format("YYYY-MM-DDTHH:mm:SS.SSSSS", { trim: false })}Z`; - dateres['to'] = `${moment(betweendate[1]).format("YYYY-MM-DDTHH:mm:SS.SSSSS", { trim: false })}Z`; + dateres['from'] = `${moment(betweendate[0]).format(UIConstants.UTC_DATE_TIME_MS_FORMAT, { trim: false })}Z`; + dateres['to'] = `${moment(betweendate[1]).format(UIConstants.UTC_DATE_TIME_MS_FORMAT, { trim: false })}Z`; returnDate.push(dateres); } }) diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/reservation.create.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/reservation.create.js index 2932b01a705b35428eaedcd91325af3aa2eed1e1..4809304616b85fe9a91f3828a8a16f5b29f64dda 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/reservation.create.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/reservation.create.js @@ -1,6 +1,7 @@ import React, { Component } from 'react'; import { Redirect } from 'react-router-dom'; import _ from 'lodash'; +import moment from 'moment'; import { Growl } from 'primereact/components/growl/Growl'; import AppLoader from '../../layout/components/AppLoader'; import PageHeader from '../../layout/components/PageHeader'; @@ -234,6 +235,7 @@ export class ReservationCreate extends Component { saveReservation(){ let reservation = this.state.reservation; let project = this.projects.find(project => project.name === reservation.project); + reservation['start_time'] = moment(reservation['start_time']).format(UIConstants.CALENDAR_DATETIME_FORMAT); reservation['duration'] = ( reservation['duration'] === ''? null: UnitService.getHHmmssToSecs(reservation['duration'])); reservation['project']= project ? project.url: null; reservation['specifications_template']= this.reservationTemplates[0].url; diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/reservation.list.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/reservation.list.js index 7d8d30ec819e123e4e6c855899d911f8aa7456cd..dd776d470c2d3a496d7a3f355cad38d47f75dd28 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/reservation.list.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/reservation.list.js @@ -130,9 +130,9 @@ export class ReservationList extends Component{ reservation.duration = UnitService.getSecsToHHmmss(reservation.duration); let endDate = moment(reservation.start_time); endDate = moment(endDate).add(duration, 's'); - reservation['end_time']= moment( reservation['end_time'], moment.ISO_8601).format('YYYY-MM-DD HH:mm:ss'); + reservation['end_time']= moment(endDate).format(UIConstants.CALENDAR_DATETIME_FORMAT); } - reservation['start_time']= moment(reservation['start_time'], moment.ISO_8601).format('YYYY-MM-DD HH:mm:ss'); + reservation['start_time']= moment(reservation['start_time']).format(UIConstants.CALENDAR_DATETIME_FORMAT); this.reservations.push(reservation); }; this.cycleList.map(cycle => { diff --git a/SAS/TMSS/frontend/tmss_webapp/src/utils/ui.constants.js b/SAS/TMSS/frontend/tmss_webapp/src/utils/ui.constants.js index 1211a026cd86decedcbef4851628c3c8f3f15939..b4ca89eb6f0b31d99092b8d978ffb1e0e9c695f3 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/utils/ui.constants.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/utils/ui.constants.js @@ -6,7 +6,9 @@ const UIConstants = { CALENDAR_DATE_FORMAT: 'yy-mm-dd', CALENDAR_DATETIME_FORMAT : 'YYYY-MM-DD HH:mm:ss', CALENDAR_TIME_FORMAT: 'HH:mm:ss', - CALENDAR_DEFAULTDATE_FORMAT: 'YYYY-MM-DD' + CALENDAR_DEFAULTDATE_FORMAT: 'YYYY-MM-DD', + UTC_DATE_TIME_FORMAT: "YYYY-MM-DDTHH:mm:ss", + UTC_DATE_TIME_MS_FORMAT: "YYYY-MM-DDTHH:mm:ss.SSSSS" } export default UIConstants; \ No newline at end of file