diff --git a/src/components/forms/selection-plan-form.js b/src/components/forms/selection-plan-form.js index eae94c098..88f920a1c 100644 --- a/src/components/forms/selection-plan-form.js +++ b/src/components/forms/selection-plan-form.js @@ -64,7 +64,8 @@ class SelectionPlanForm extends React.Component { showSection: "main", newMemberEmail: "", showImportModal: false, - importFile: null + importFile: null, + selectedTimezone: props.currentSummit.time_zone_id }; this.handleTrackGroupLink = this.handleTrackGroupLink.bind(this); @@ -144,6 +145,7 @@ class SelectionPlanForm extends React.Component { if (!shallowEqual(prevProps.entity, this.props.entity)) { state.entity = { ...this.props.entity }; state.errors = {}; + state.selectedTimezone = this.props.currentSummit.time_zone_id; } if (!shallowEqual(prevProps.errors, this.props.errors)) { @@ -314,9 +316,11 @@ class SelectionPlanForm extends React.Component { } render() { - const { entity, showSection, newMemberEmail, showImportModal } = this.state; + const { entity, showSection, newMemberEmail, showImportModal, selectedTimezone } = + this.state; const { currentSummit, + timezones, extraQuestionsOrderDir, extraQuestionsOrder, actionTypesOrderDir, @@ -324,6 +328,8 @@ class SelectionPlanForm extends React.Component { allowedMembers } = this.props; + const timezoneDdl = (timezones || []).map((tz) => ({ label: tz, value: tz })); + const trackGroupsColumns = [ { columnKey: "name", value: T.translate("edit_selection_plan.name") }, { @@ -428,8 +434,6 @@ class SelectionPlanForm extends React.Component { } }; - console.log("CHECK...", entity, currentSummit); - return (
@@ -508,6 +512,22 @@ class SelectionPlanForm extends React.Component { +
+
+ + + this.setState({ selectedTimezone: ev.target.value }) + } + options={timezoneDdl} + /> +
+
+
@@ -534,10 +554,10 @@ class SelectionPlanForm extends React.Component { id="submission_end_date" onChange={this.handleChange} format={{ date: "YYYY-MM-DD", time: "HH:mm" }} - timezone={currentSummit.time_zone_id} + timezone={selectedTimezone} value={epochToMomentTimeZone( entity.submission_end_date, - currentSummit.time_zone_id + selectedTimezone )} />
@@ -573,10 +593,10 @@ class SelectionPlanForm extends React.Component { id="submission_lock_down_presentation_status_date" onChange={this.handleChange} format={{ date: "YYYY-MM-DD", time: "HH:mm" }} - timezone={currentSummit.time_zone_id} + timezone={selectedTimezone} value={epochToMomentTimeZone( entity.submission_lock_down_presentation_status_date, - currentSummit.time_zone_id + selectedTimezone )} /> @@ -591,10 +611,10 @@ class SelectionPlanForm extends React.Component { id="voting_begin_date" onChange={this.handleChange} format={{ date: "YYYY-MM-DD", time: "HH:mm" }} - timezone={currentSummit.time_zone_id} + timezone={selectedTimezone} value={epochToMomentTimeZone( entity.voting_begin_date, - currentSummit.time_zone_id + selectedTimezone )} /> @@ -607,10 +627,10 @@ class SelectionPlanForm extends React.Component { id="voting_end_date" onChange={this.handleChange} format={{ date: "YYYY-MM-DD", time: "HH:mm" }} - timezone={currentSummit.time_zone_id} + timezone={selectedTimezone} value={epochToMomentTimeZone( entity.voting_end_date, - currentSummit.time_zone_id + selectedTimezone )} /> @@ -625,10 +645,10 @@ class SelectionPlanForm extends React.Component { id="selection_begin_date" onChange={this.handleChange} format={{ date: "YYYY-MM-DD", time: "HH:mm" }} - timezone={currentSummit.time_zone_id} + timezone={selectedTimezone} value={epochToMomentTimeZone( entity.selection_begin_date, - currentSummit.time_zone_id + selectedTimezone )} /> @@ -641,10 +661,10 @@ class SelectionPlanForm extends React.Component { id="selection_end_date" onChange={this.handleChange} format={{ date: "YYYY-MM-DD", time: "HH:mm" }} - timezone={currentSummit.time_zone_id} + timezone={selectedTimezone} value={epochToMomentTimeZone( entity.selection_end_date, - currentSummit.time_zone_id + selectedTimezone )} /> diff --git a/src/i18n/en.json b/src/i18n/en.json index 30cebb8c6..222ca3e9b 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -446,6 +446,7 @@ "email": "Email", "enabled": "Enabled", "hidden": "Hidden", + "time_zone_for_dates": "Time Zone for Dates", "submission_begin_date": "Submissions Start", "submission_end_date": "Submissions End", "submission_lock_down_presentation_status_date": "Submissions Status Lock Down Date", diff --git a/src/pages/selection-plans/edit-selection-plan-page.js b/src/pages/selection-plans/edit-selection-plan-page.js index 07d37b595..3a7ed0efb 100644 --- a/src/pages/selection-plans/edit-selection-plan-page.js +++ b/src/pages/selection-plans/edit-selection-plan-page.js @@ -43,6 +43,7 @@ const EditSelectionPlanPage = ({ allowedMembers, errors, history, + timezones, extraQuestionsOrder, extraQuestionsOrderDir, updateSelectionPlanExtraQuestionOrder, @@ -194,6 +195,7 @@ const EditSelectionPlanPage = ({ entity={entity} allowedMembers={allowedMembers} currentSummit={currentSummit} + timezones={timezones} errors={errors} extraQuestionsOrder={extraQuestionsOrder} extraQuestionsOrderDir={extraQuestionsOrderDir} @@ -228,9 +230,11 @@ const EditSelectionPlanPage = ({ const mapStateToProps = ({ currentSummitState, - currentSelectionPlanState + currentSelectionPlanState, + baseState }) => ({ currentSummit: currentSummitState.currentSummit, + timezones: baseState.timezones, ...currentSelectionPlanState });