Unverified Commit 1bab2bb5 authored by Chris Willis-Ford's avatar Chris Willis-Ford Committed by GitHub

Merge pull request #3856 from cwillisf/day1-student-country-default

default student's country to educator's during reg
parents 7a666123 4bd81362
...@@ -453,7 +453,7 @@ class DemographicsStep extends React.Component { ...@@ -453,7 +453,7 @@ class DemographicsStep extends React.Component {
handleChooseGender (name, gender) { handleChooseGender (name, gender) {
this.setState({otherDisabled: gender !== 'other'}); this.setState({otherDisabled: gender !== 'other'});
} }
// look up country name using user's country code selection // look up country name using user's country code selection ('us' -> 'United States')
getCountryName (values) { getCountryName (values) {
if (values.countryCode) { if (values.countryCode) {
const countryInfo = countryData.lookupCountryInfo(values.countryCode); const countryInfo = countryData.lookupCountryInfo(values.countryCode);
...@@ -463,6 +463,12 @@ class DemographicsStep extends React.Component { ...@@ -463,6 +463,12 @@ class DemographicsStep extends React.Component {
} }
return null; return null;
} }
// look up country code from country label ('United States' -> 'us')
// if `countryName` is not found, including if it's null or undefined, then this function will return undefined.
getCountryCode (countryName) {
const country = countryData.countryInfo.find(countryItem => countryItem.name === countryName);
return country && country.code;
}
handleValidSubmit (formData) { handleValidSubmit (formData) {
const countryName = this.getCountryName(formData); const countryName = this.getCountryName(formData);
if (countryName && formData.user) { if (countryName && formData.user) {
...@@ -573,7 +579,7 @@ class DemographicsStep extends React.Component { ...@@ -573,7 +579,7 @@ class DemographicsStep extends React.Component {
validations={{ validations={{
countryVal: values => this.countryValidator(values) countryVal: values => this.countryValidator(values)
}} }}
value={countryOptions[0].value} value={this.getCountryCode(this.props.countryName) || countryOptions[0].value}
/> />
<Checkbox <Checkbox
className="demographics-checkbox-is-robot" className="demographics-checkbox-is-robot"
...@@ -598,6 +604,7 @@ class DemographicsStep extends React.Component { ...@@ -598,6 +604,7 @@ class DemographicsStep extends React.Component {
DemographicsStep.propTypes = { DemographicsStep.propTypes = {
activeStep: PropTypes.number, activeStep: PropTypes.number,
birthOffset: PropTypes.number, birthOffset: PropTypes.number,
countryName: PropTypes.string, // like 'United States', not 'US' or 'United States of America'
description: PropTypes.string, description: PropTypes.string,
intl: intlShape, intl: intlShape,
onNextStep: PropTypes.func, onNextStep: PropTypes.func,
......
...@@ -132,6 +132,8 @@ class StudentRegistration extends React.Component { ...@@ -132,6 +132,8 @@ class StudentRegistration extends React.Component {
onNextStep={this.handleAdvanceStep} onNextStep={this.handleAdvanceStep}
/> />
<Steps.DemographicsStep <Steps.DemographicsStep
countryName={this.state.classroom && this.state.classroom.educator &&
this.state.classroom.educator.profile && this.state.classroom.educator.profile.country}
description={this.props.intl.formatMessage({ description={this.props.intl.formatMessage({
id: 'registration.studentPersonalStepDescription' id: 'registration.studentPersonalStepDescription'
})} })}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment