From 9f93d4d8e66cb6b99afb669fa414476b5fd61a7d Mon Sep 17 00:00:00 2001 From: Deborah Kaplan Date: Tue, 3 Oct 2023 16:27:24 +0000 Subject: [PATCH] feat: remove (long-disabled) coaching functionality * Removes the coaching functionality * no tests are referencing this * Leaves behind a decision record referencing the creation of the coaching functionality (0002-coaching-addition) FIXES: APER-2408-Remove-Coaching-functionality-from-the-Account-MFE --- .env | 1 - .env.development | 1 - .env.test | 1 - README.rst | 6 - src/account-settings/AccountSettingsPage.jsx | 15 - .../coaching/CoachingConsent.jsx | 267 ---------------- .../coaching/CoachingConsent.messages.js | 66 ---- .../coaching/CoachingConsentForm.jsx | 129 -------- .../coaching/CoachingToggle.jsx | 103 ------ .../coaching/CoachingToggle.messages.js | 31 -- src/account-settings/coaching/data/service.js | 51 --- .../coaching/test/CoachingConsent.test.jsx | 103 ------ .../CoachingConsent.test.jsx.snap | 300 ------------------ src/account-settings/data/selectors.js | 34 -- src/account-settings/data/service.js | 14 +- src/i18n/messages/ar.json | 16 - src/i18n/messages/de.json | 16 - src/i18n/messages/de_DE.json | 16 - src/i18n/messages/es_419.json | 16 - src/i18n/messages/fa_IR.json | 16 - src/i18n/messages/fr.json | 16 - src/i18n/messages/fr_CA.json | 16 - src/i18n/messages/hi.json | 16 - src/i18n/messages/it.json | 16 - src/i18n/messages/it_IT.json | 16 - src/i18n/messages/pt.json | 16 - src/i18n/messages/pt_PT.json | 16 - src/i18n/messages/ru.json | 16 - src/i18n/messages/uk.json | 16 - src/i18n/messages/zh_CN.json | 16 - src/index.jsx | 3 - src/index.scss | 15 - 32 files changed, 2 insertions(+), 1378 deletions(-) delete mode 100644 src/account-settings/coaching/CoachingConsent.jsx delete mode 100644 src/account-settings/coaching/CoachingConsent.messages.js delete mode 100644 src/account-settings/coaching/CoachingConsentForm.jsx delete mode 100644 src/account-settings/coaching/CoachingToggle.jsx delete mode 100644 src/account-settings/coaching/CoachingToggle.messages.js delete mode 100644 src/account-settings/coaching/data/service.js delete mode 100644 src/account-settings/coaching/test/CoachingConsent.test.jsx delete mode 100644 src/account-settings/coaching/test/__snapshots__/CoachingConsent.test.jsx.snap diff --git a/.env b/.env index ff90ec62a..6bc494f80 100644 --- a/.env +++ b/.env @@ -1,6 +1,5 @@ ACCESS_TOKEN_COOKIE_NAME='' BASE_URL='' -COACHING_ENABLED='' CREDENTIALS_BASE_URL='' CSRF_TOKEN_API_PATH='' DEMOGRAPHICS_BASE_URL='' diff --git a/.env.development b/.env.development index 522910d06..b9ef17d51 100644 --- a/.env.development +++ b/.env.development @@ -1,6 +1,5 @@ ACCESS_TOKEN_COOKIE_NAME='edx-jwt-cookie-header-payload' BASE_URL='localhost:1997' -COACHING_ENABLED='' CREDENTIALS_BASE_URL='http://localhost:18150' CSRF_TOKEN_API_PATH='/csrf/api/v1/token' DEMOGRAPHICS_BASE_URL='http://localhost:18360' diff --git a/.env.test b/.env.test index e05bbcd52..ea283c0b5 100644 --- a/.env.test +++ b/.env.test @@ -1,6 +1,5 @@ ACCESS_TOKEN_COOKIE_NAME='edx-jwt-cookie-header-payload' BASE_URL='localhost:1997' -COACHING_ENABLED='' CREDENTIALS_BASE_URL='http://localhost:18150' CSRF_TOKEN_API_PATH='/csrf/api/v1/token' DEMOGRAPHICS_BASE_URL='http://localhost:18360' diff --git a/README.rst b/README.rst index b187ed3b2..7fa10bd45 100644 --- a/README.rst +++ b/README.rst @@ -75,12 +75,6 @@ edX-specific Environment Variables Furthermore, there are several edX-specific environment variables that enable integrations with closed-source services private to the edX organization, and are unsupported in Open edX. Enabling these environment variables will result in undefined behavior in Open edX installations: -``COACHING_ENABLED`` - -Example: ``true`` | ``''`` (empty strings are falsy) - -Enables support for a section of the micro-frontend that helps users arrange for coaching sessions. Integrates with a private coaching plugin and is only used by edx.org. - ``ENABLE_DEMOGRAPHICS_COLLECTION`` Example: ``true`` | ``''`` (empty strings are falsy) diff --git a/src/account-settings/AccountSettingsPage.jsx b/src/account-settings/AccountSettingsPage.jsx index bcca2f4ea..141f8917c 100644 --- a/src/account-settings/AccountSettingsPage.jsx +++ b/src/account-settings/AccountSettingsPage.jsx @@ -48,7 +48,6 @@ import { getStatesList, } from './data/constants'; import { fetchSiteLanguages } from './site-language'; -import CoachingToggle from './coaching/CoachingToggle'; import DemographicsSection from './demographics/DemographicsSection'; import { fetchCourseList } from '../notification-preferences/data/thunks'; import { withLocation, withNavigate } from './hoc'; @@ -689,15 +688,6 @@ class AccountSettingsPage extends React.Component { emptyLabel={this.props.intl.formatMessage(messages['account.settings.field.language.proficiencies.empty'])} {...editableFieldProps} /> - {getConfig().COACHING_ENABLED - && this.props.formValues.coaching.eligible_for_coaching - && ( - - )} {getConfig().ENABLE_DEMOGRAPHICS_COLLECTION && this.renderDemographicsSection()}
@@ -867,11 +857,6 @@ AccountSettingsPage.propTypes = { social_link_facebook: PropTypes.string, social_link_twitter: PropTypes.string, time_zone: PropTypes.string, - coaching: PropTypes.shape({ - coaching_consent: PropTypes.bool.isRequired, - user: PropTypes.number.isRequired, - eligible_for_coaching: PropTypes.bool.isRequired, - }), state: PropTypes.string, shouldDisplayDemographicsSection: PropTypes.bool, useVerifiedNameForCerts: PropTypes.bool.isRequired, diff --git a/src/account-settings/coaching/CoachingConsent.jsx b/src/account-settings/coaching/CoachingConsent.jsx deleted file mode 100644 index bd3728f24..000000000 --- a/src/account-settings/coaching/CoachingConsent.jsx +++ /dev/null @@ -1,267 +0,0 @@ -import React from 'react'; - -import { getConfig, getQueryParameters } from '@edx/frontend-platform'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import { Hyperlink } from '@edx/paragon'; -import { faCheck } from '@fortawesome/free-solid-svg-icons'; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import PropTypes from 'prop-types'; -import { connect } from 'react-redux'; -import get from 'lodash.get'; -import { getAuthenticatedHttpClient, getAuthenticatedUser } from '@edx/frontend-platform/auth'; - -import PageLoading from '../PageLoading'; -import CoachingConsentForm from './CoachingConsentForm'; -import messages from './CoachingConsent.messages'; -import LogoSVG from '../../logo.svg'; -import { fetchSettings } from '../data/actions'; -import { coachingConsentPageSelector } from '../data/selectors'; - -const Logo = ({ src, alt, ...attributes }) => {alt}; - -const SuccessMessage = (props) => ( -
- -
{props.header}
-
{props.message}
- - {props.continue} - -
-); - -const AutoRedirect = (props) => { - window.location.href = props.redirectUrl; - // eslint-disable-next-line react/jsx-no-useless-fragment - return <>; -}; - -const VIEWS = { - NOT_LOADED: 'NOT_LOADED', - LOADED: 'LOADED', - SUCCESS: 'SUCCESS', - SUCCESS_PENDING: 'SUCCESS_PENDING', - DECLINED: 'DECLINED', - DECLINE_PENDING: 'DECLINE_PENDING', -}; - -class CoachingConsent extends React.Component { - constructor(props, context) { - super(props, context); - - // Used to redirect back to the courseware. - const nextUrl = this.sanitizeForwardingUrl(getQueryParameters().next); - this.state = { - redirectUrl: nextUrl || `${getConfig().LMS_BASE_URL}/dashboard/`, - formErrors: {}, - formSubmitted: false, - declineSubmitted: false, - submissionSuccess: false, - }; - - this.handleSubmit = this.handleSubmit.bind(this); - this.declineCoaching = this.declineCoaching.bind(this); - this.patchUsingCoachingConsentForm = this.patchUsingCoachingConsentForm.bind(this); - } - - componentDidMount() { - this.props.fetchSettings(); - } - - handleSubmit(e) { - e.preventDefault(); - const fullName = e.target.fullName.value; - const phoneNumber = e.target.phoneNumber.value; - const body = { - coaching_consent: true, - consent_form_seen: true, - phone_number: phoneNumber, - full_name: fullName, - }; - this.setState({ - formErrors: {}, - formSubmitted: true, - declineSubmitted: false, - }, () => this.patchUsingCoachingConsentForm(body)); - } - - sanitizeForwardingUrl(url) { - // Redirect to root of MFE if invalid next param is sent - return url && url.startsWith(getConfig().LMS_BASE_URL) ? url : `${getConfig().LMS_BASE_URL}/dashboard/`; - } - - async patchUsingCoachingConsentForm(body) { - const { userId } = getAuthenticatedUser(); - const requestUrl = `${getConfig().LMS_BASE_URL}/api/coaching/v1/coaching_consent/${userId}/`; - let formErrors = {}; - const data = await getAuthenticatedHttpClient() - .patch(requestUrl, body) - .catch((error) => { - if (get(error, 'customAttributes.httpErrorResponseData')) { - formErrors = JSON.parse(error.customAttributes.httpErrorResponseData); - } else { - formErrors = { full_name: 'Something went wrong. Please try again.' }; - } - this.setState({ - submissionSuccess: false, - formErrors, - formSubmitted: false, - }); - }); - if (get(data, 'status') === 200) { - this.setState({ submissionSuccess: true }); - } - } - - declineCoaching(e) { - e.preventDefault(); - const body = { - coaching_consent: false, - consent_form_seen: true, - }; - this.setState({ - formErrors: {}, - formSubmitted: false, - declineSubmitted: true, - }, () => this.patchUsingCoachingConsentForm(body)); - } - - renderView(currentView) { - switch (currentView) { - case VIEWS.NOT_LOADED: - return ; - case VIEWS.LOADED: - return ( - - ); - case VIEWS.SUCCESS_PENDING: - return ; - case VIEWS.SUCCESS: - return ( - - ); - case VIEWS.DECLINE_PENDING: - return ; - case VIEWS.DECLINED: - return ; - default: - // eslint-disable-next-line react/jsx-no-useless-fragment - return <>; - } - } - - render() { - const { loaded } = this.props; - const formHasErrors = Object.keys(this.state.formErrors).length > 0; - let currentView = null; - // This amount of logic was making the template very hard to read, so I broke it out into views. - if (!loaded) { - currentView = VIEWS.NOT_LOADED; - } else if (this.state.formSubmitted && !formHasErrors) { - if (this.state.submissionSuccess) { - currentView = VIEWS.SUCCESS; - } else { - currentView = VIEWS.SUCCESS_PENDING; - } - } else if (this.state.declineSubmitted && !formHasErrors) { - if (this.state.submissionSuccess) { - currentView = VIEWS.DECLINED; - } else { - currentView = VIEWS.DECLINE_PENDING; - } - } else { - currentView = VIEWS.LOADED; - } - - return ( -
-
- -
- {this.renderView(currentView)} -
- ); - } -} - -Logo.defaultProps = { - src: '', - alt: '', -}; - -Logo.propTypes = { - src: PropTypes.string, - alt: PropTypes.string, -}; - -SuccessMessage.defaultProps = { - header: '', - message: '', - continueUrl: '', - continue: '', -}; - -SuccessMessage.propTypes = { - header: PropTypes.string, - message: PropTypes.string, - continueUrl: PropTypes.string, - continue: PropTypes.string, -}; - -AutoRedirect.defaultProps = { - redirectUrl: '', -}; - -AutoRedirect.propTypes = { - redirectUrl: PropTypes.string, -}; - -CoachingConsent.defaultProps = { - loaded: false, - profileDataManager: null, -}; - -CoachingConsent.propTypes = { - intl: intlShape.isRequired, - loaded: PropTypes.bool, - formValues: PropTypes.shape({ - name: PropTypes.string, - phone_number: PropTypes.string, - coaching: PropTypes.shape({ - coaching_consent: PropTypes.bool.isRequired, - user: PropTypes.number.isRequired, - eligible_for_coaching: PropTypes.bool.isRequired, - consent_form_seen: PropTypes.bool.isRequired, - }), - }).isRequired, - formErrors: PropTypes.shape({ - coaching: PropTypes.shape({}), - }).isRequired, - confirmationValues: PropTypes.shape({ - coaching: PropTypes.shape({}), - name: PropTypes.shape({}), - phone_number: PropTypes.shape({}), - }).isRequired, - fetchSettings: PropTypes.func.isRequired, - profileDataManager: PropTypes.string, -}; - -export default connect(coachingConsentPageSelector, { - fetchSettings, -})(injectIntl(CoachingConsent)); diff --git a/src/account-settings/coaching/CoachingConsent.messages.js b/src/account-settings/coaching/CoachingConsent.messages.js deleted file mode 100644 index 119af572a..000000000 --- a/src/account-settings/coaching/CoachingConsent.messages.js +++ /dev/null @@ -1,66 +0,0 @@ -import { defineMessages } from '@edx/frontend-platform/i18n'; - -const messages = defineMessages({ - 'account.settings.coaching.consent.welcome.header': { - id: 'account.settings.coaching.consent.welcome.header', - defaultMessage: 'Let’s get started.', - description: 'The welcome header for consent form.', - }, - 'account.settings.coaching.consent.welcome.subheader': { - id: 'account.settings.coaching.consent.welcome.subheader', - defaultMessage: "We're here for you from start to finish", - description: 'The welcome subheader for consent form.', - }, - 'account.settings.coaching.consent.description': { - id: 'account.settings.coaching.consent.description', - defaultMessage: "MicroBachelors programs include coaching that focuses on your career, education, and how you'll achieve results through one-on-one communication with an experienced professional. If you’re interested, provide the information below and click “Submit,” and our coaching partner will connect with you via email and/or text message to help you move forward. Terms and conditions apply.*", - description: 'Text describing what Coaching is.', - }, - 'account.settings.coaching.consent.text-messaging.disclaimer': { - id: 'account.settings.coaching.consent.text-messaging.disclaimer', - defaultMessage: '* Coaching services are included at no additional cost to learners with US phone numbers. Coaching includes recurring text messages. Message and data rates may apply. Text STOP to opt-out.', - description: 'Text describing what Coaching is.', - }, - 'account.settings.coaching.consent.accept-coaching': { - id: 'account.settings.coaching.consent.accept-coaching', - defaultMessage: 'Sign up for coaching', - description: 'Text to confirm coaching enablement', - }, - 'account.settings.coaching.consent.decline-coaching': { - id: 'account.settings.coaching.consent.decline-coaching', - defaultMessage: 'I prefer not to be contacted with free coaching services', - description: 'Text to decline coaching enablement', - }, - 'account.settings.coaching.consent.label.name': { - id: 'account.settings.coaching.consent.label.name', - defaultMessage: 'Please confirm your name', - description: 'Label for name input', - }, - 'account.settings.coaching.consent.label.phone-number': { - id: 'account.settings.coaching.consent.label.phone-number', - defaultMessage: 'Enter your mobile number', - description: 'Label for mobile phone number input', - }, - 'account.settings.coaching.consent.success.header': { - id: 'account.settings.coaching.consent.success.header', - defaultMessage: 'Success!', - description: 'Heading announcing that submission succeeded', - }, - 'account.settings.coaching.consent.success.message': { - id: 'account.settings.coaching.consent.success.message', - defaultMessage: "You're signed up for coaching. You can expect a message via email or SMS in the coming days.", - description: 'Text announcing that you have signed up and will receive texts', - }, - 'account.settings.coaching.consent.success.continue': { - id: 'account.settings.coaching.consent.success.continue', - defaultMessage: 'Start my course', - description: 'Text that the user will be sent back to the courseware', - }, - 'account.settings.coaching.managed.support': { - id: 'account.settings.coaching.managed.support', - defaultMessage: 'support', - description: 'website support', - }, -}); - -export default messages; diff --git a/src/account-settings/coaching/CoachingConsentForm.jsx b/src/account-settings/coaching/CoachingConsentForm.jsx deleted file mode 100644 index 9623e1f70..000000000 --- a/src/account-settings/coaching/CoachingConsentForm.jsx +++ /dev/null @@ -1,129 +0,0 @@ -import React from 'react'; - -import { injectIntl, intlShape, FormattedMessage } from '@edx/frontend-platform/i18n'; -import { Form, Button, Hyperlink } from '@edx/paragon'; - -import PropTypes from 'prop-types'; - -import Alert from '../Alert'; -import messages from './CoachingConsent.messages'; - -const ErrorMessage = (props) =>
{props.message}
; - -const ManagedProfileAlert = ({ profileDataManager }) => ( - - {profileDataManager}, - }} - /> - -); -const CoachingForm = (props) => ( -
-

- {props.intl.formatMessage(messages['account.settings.coaching.consent.welcome.header'])} -

-

{props.intl.formatMessage(messages['account.settings.coaching.consent.description'])}

-
-
-
- {!!props.profileDataManager && ( - - )} - - - -
-
- - - -
-
-

- {props.intl.formatMessage(messages['account.settings.coaching.consent.text-messaging.disclaimer'])} -

-
- -
- -
-
- - {props.intl.formatMessage(messages['account.settings.coaching.consent.decline-coaching'])} - -
- -
-
-); - -CoachingForm.defaultProps = { - formErrors: { - coaching: '', - name: '', - phone_number: '', - }, -}; - -CoachingForm.propTypes = { - intl: intlShape.isRequired, - onSubmit: PropTypes.func.isRequired, - declineCoaching: PropTypes.func.isRequired, - formValues: PropTypes.shape({ - name: PropTypes.string, - phone_number: PropTypes.string, - coaching: PropTypes.shape({ - coaching_consent: PropTypes.bool.isRequired, - user: PropTypes.number.isRequired, - eligible_for_coaching: PropTypes.bool.isRequired, - consent_form_seen: PropTypes.bool.isRequired, - }), - }).isRequired, - formErrors: PropTypes.shape({ - coaching: PropTypes.string, - full_name: PropTypes.string, - phone_number: PropTypes.string, - }), - redirectUrl: PropTypes.string.isRequired, - profileDataManager: PropTypes.string.isRequired, -}; - -ErrorMessage.defaultProps = { - message: '', -}; - -ErrorMessage.propTypes = { - message: PropTypes.string, -}; - -ManagedProfileAlert.propTypes = { - profileDataManager: PropTypes.string.isRequired, -}; - -export default injectIntl(CoachingForm); diff --git a/src/account-settings/coaching/CoachingToggle.jsx b/src/account-settings/coaching/CoachingToggle.jsx deleted file mode 100644 index 75127f208..000000000 --- a/src/account-settings/coaching/CoachingToggle.jsx +++ /dev/null @@ -1,103 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { connect } from 'react-redux'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import { Form } from '@edx/paragon'; -import messages from './CoachingToggle.messages'; -import { editableFieldSelector } from '../data/selectors'; -import { saveSettings, updateDraft, saveMultipleSettings } from '../data/actions'; -import EditableField from '../EditableField'; - -const CoachingToggle = (props) => ( - <> - { - const { coaching } = props; - if (coaching.coaching_consent === true) { - return props.saveMultipleSettings([ - { - formId: 'coaching', - commitValues: { - ...coaching, - phone_number: props.phone_number, - }, - }, - { - formId: 'phone_number', - commitValues: props.phone_number, - }, - ], 'phone_number'); - } - return props.saveSettings('phone_number', props.phone_number); - }} - /> - - { - const { name } = e.target; - // eslint-disable-next-line camelcase - const { user, eligible_for_coaching } = props.coaching; - const value = { - user, - // eslint-disable-next-line camelcase - eligible_for_coaching, - coaching_consent: e.target.checked, - }; - props.saveSettings(name, value); - }} - > - {props.intl.formatMessage(messages['account.settings.field.coaching_consent'])} - - {!!props.error && ( - - {props.intl.formatMessage(messages['account.settings.field.coaching_consent.error'])} - - )} - - -); - -CoachingToggle.defaultProps = { - phone_number: '', - error: '', - saveState: undefined, -}; - -CoachingToggle.propTypes = { - name: PropTypes.string.isRequired, - error: PropTypes.string, - coaching: PropTypes.shape({ - coaching_consent: PropTypes.bool.isRequired, - user: PropTypes.number.isRequired, - eligible_for_coaching: PropTypes.bool.isRequired, - }).isRequired, - saveState: PropTypes.oneOf(['default', 'pending', 'complete', 'error']), - saveSettings: PropTypes.func.isRequired, - saveMultipleSettings: PropTypes.func.isRequired, - updateDraft: PropTypes.func.isRequired, - intl: intlShape.isRequired, - phone_number: PropTypes.string, -}; - -export default connect(editableFieldSelector, { - saveSettings, - updateDraft, - saveMultipleSettings, -})(injectIntl(CoachingToggle)); diff --git a/src/account-settings/coaching/CoachingToggle.messages.js b/src/account-settings/coaching/CoachingToggle.messages.js deleted file mode 100644 index 59d309cf8..000000000 --- a/src/account-settings/coaching/CoachingToggle.messages.js +++ /dev/null @@ -1,31 +0,0 @@ -import { defineMessages } from '@edx/frontend-platform/i18n'; - -const messages = defineMessages({ - 'account.settings.field.phone_number': { - id: 'account.settings.field.phone_number', - defaultMessage: 'Phone Number', - description: 'The label for a phone numbers setting in the user profile', - }, - 'account.settings.field.phone_number.empty': { - id: 'account.settings.field.phone_number.empty', - defaultMessage: 'Add a phone number', - description: 'placeholder for a profiles empty phone number field', - }, - 'account.settings.field.coaching_consent': { - id: 'account.settings.field.coaching_consent', - defaultMessage: 'Coaching consent', - description: 'The label for the coaching consent setting in the user profile', - }, - 'account.settings.field.coaching_consent.tooltip': { - id: 'account.settings.field.coaching_consent.tooltip', - defaultMessage: 'MicroBachelors programs include text message based coaching that helps you pair educational experiences with your career goals through one-on-one advice. Coaching services are included at no additional cost, and are available to learners with U.S. mobile phone numbers. Standard messaging rates apply. Text ‘STOP’ at anytime to opt-out of messages.', - description: 'A tooltip explaining what coaching is and who it is for', - }, - 'account.settings.field.coaching_consent.error': { - id: 'account.settings.field.coaching_consent.error', - defaultMessage: 'A valid US phone number is required to opt into coaching', - description: 'An error message that displays when a user attempts to consent to coaching without first providing a phone number in their profile', - }, -}); - -export default messages; diff --git a/src/account-settings/coaching/data/service.js b/src/account-settings/coaching/data/service.js deleted file mode 100644 index e1d72b9aa..000000000 --- a/src/account-settings/coaching/data/service.js +++ /dev/null @@ -1,51 +0,0 @@ -import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth'; -import { getConfig } from '@edx/frontend-platform'; -import get from 'lodash.get'; - -/** - * get all settings related to the coaching plugin. Settings used - * by Microbachelors students. - * @param {Number} userId users are identified in the api by LMS id - */ -export async function getCoachingPreferences(userId) { - let data = {}; - try { - ({ data } = await getAuthenticatedHttpClient() - .get(`${getConfig().LMS_BASE_URL}/api/coaching/v1/users/${userId}/`)); - } catch (error) { - // If a user isn't active the API call will fail with a lack of credentials. - data = { - coaching_consent: false, - user: userId, - eligible_for_coaching: false, - consent_form_seen: false, - }; - } - - return data; -} - -/** - * patch all of the settings related to coaching. - * @param {Number} userId users are identified in the api by LMS id - * @param {Object} commitValues { coaching } - */ -export async function patchCoachingPreferences(userId, commitValues) { - const requestUrl = `${getConfig().LMS_BASE_URL}/api/coaching/v1/users/${userId}/`; - const { coaching } = commitValues; - coaching.user = userId; - - await getAuthenticatedHttpClient() - .patch(requestUrl, coaching) - .catch((error) => { - const apiError = Object.create(error); - apiError.fieldErrors = JSON.parse(error.customAttributes.httpErrorResponseData); - if (get(apiError, 'fieldErrors.phone_number')) { - // eslint-disable-next-line prefer-destructuring - apiError.fieldErrors.coaching = apiError.fieldErrors.phone_number[0]; - delete apiError.fieldErrors.phone_number; - } - throw apiError; - }); - return commitValues; -} diff --git a/src/account-settings/coaching/test/CoachingConsent.test.jsx b/src/account-settings/coaching/test/CoachingConsent.test.jsx deleted file mode 100644 index 82dd71a5e..000000000 --- a/src/account-settings/coaching/test/CoachingConsent.test.jsx +++ /dev/null @@ -1,103 +0,0 @@ -/* eslint-disable no-import-assign */ -import React from 'react'; -import { Provider } from 'react-redux'; -import renderer from 'react-test-renderer'; -import { act } from 'react-dom/test-utils'; -import configureStore from 'redux-mock-store'; -import { IntlProvider, injectIntl } from '@edx/frontend-platform/i18n'; -import * as auth from '@edx/frontend-platform/auth'; - -import CoachingConsent from '../CoachingConsent'; -import * as selectors from '../../data/selectors'; - -jest.mock('@edx/frontend-platform/auth'); - -const IntlCoachingConsent = injectIntl(CoachingConsent); - -jest.mock('../../data/selectors', () => jest.fn().mockImplementation(() => ({ coachingConsentPageSelector: () => ({}) }))); - -const mockStore = configureStore(); - -describe('CoachingConsent', () => { - let props = {}; - let store = {}; - selectors.mockClear(); - - const reduxWrapper = children => ( - - {children} - - ); - - beforeEach(() => { - store = mockStore(); - props = { - fetchSettings: jest.fn(), - loaded: true, - saveState: undefined, - formValues: { - name: 'edx edx', - phone_number: '1234567890', - coaching: { - coaching_consent: true, - consent_form_seen: false, - eligible_for_coaching: true, - user: 1, - }, - }, - formErrors: {}, - confirmationValues: {}, - profileDataManager: '', - intl: {}, - }; - auth.getAuthenticatedHttpClient = jest.fn(() => ({ - patch: async () => ({ - data: { status: 200 }, - catch: () => {}, - }), - })); - auth.getAuthenticatedUser = jest.fn(() => ({ userId: 3 })); - }); - - it('should render', () => { - const wrapper = renderer.create(reduxWrapper()).toJSON(); - expect(wrapper).toMatchSnapshot(); - }); - - it('disables name field on enterprise user', () => { - props = { - ...props, - profileDataManager: 'test person', - }; - const wrapper = renderer.create(reduxWrapper()).toJSON(); - expect(wrapper).toMatchSnapshot(); - }); - - it('display completed box when successfully submitted', async () => { - const fakeEvent = { - preventDefault: () => {}, - target: { - fullName: { value: 'edx edx' }, - phoneNumber: { value: '9783028731' }, - }, - }; - const wrapper = renderer.create( - reduxWrapper(), - { - // bypass the forward-ref. we don't care about focus for this one test - createNodeMock: (element) => { - if (element.type === 'button') { - // mock a focus function - return { - focus: async () => wrapper.root.findByType('form').props.onSubmit(fakeEvent), - }; - } - return null; - }, - }, - ); - const form = wrapper.root.findByType('form'); - await act(async () => { await form.props.onSubmit(fakeEvent); }); - expect(wrapper.toJSON()).toMatchSnapshot(); - }); -}); diff --git a/src/account-settings/coaching/test/__snapshots__/CoachingConsent.test.jsx.snap b/src/account-settings/coaching/test/__snapshots__/CoachingConsent.test.jsx.snap deleted file mode 100644 index e60df4943..000000000 --- a/src/account-settings/coaching/test/__snapshots__/CoachingConsent.test.jsx.snap +++ /dev/null @@ -1,300 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`CoachingConsent disables name field on enterprise user 1`] = ` -
-
- Logo -
-
-

- Let’s get started. -

-

- MicroBachelors programs include coaching that focuses on your career, education, and how you'll achieve results through one-on-one communication with an experienced professional. If you’re interested, provide the information below and click “Submit,” and our coaching partner will connect with you via email and/or text message to help you move forward. Terms and conditions apply.* -

-
-
-
-
-
-
- Your name is managed by - - test person - - . Contact your administrator for help. -
-
-
- -
- -
- -
-
-
-
- -
- -
- -
-
-
-

- * Coaching services are included at no additional cost to learners with US phone numbers. Coaching includes recurring text messages. Message and data rates may apply. Text STOP to opt-out. -

-
-
- -
-
- -
- - -
-
-
-`; - -exports[`CoachingConsent display completed box when successfully submitted 1`] = ` -
-
- Logo -
-
-
-
- - Submitting... - -
-
-
-
-`; - -exports[`CoachingConsent should render 1`] = ` -
-
- Logo -
-
-

- Let’s get started. -

-

- MicroBachelors programs include coaching that focuses on your career, education, and how you'll achieve results through one-on-one communication with an experienced professional. If you’re interested, provide the information below and click “Submit,” and our coaching partner will connect with you via email and/or text message to help you move forward. Terms and conditions apply.* -

-
-
-
-
- -
- -
- -
-
-
-
- -
- -
- -
-
-
-

- * Coaching services are included at no additional cost to learners with US phone numbers. Coaching includes recurring text messages. Message and data rates may apply. Text STOP to opt-out. -

-
-
- -
-
- -
- -
-
-
-
-`; diff --git a/src/account-settings/data/selectors.js b/src/account-settings/data/selectors.js index a3b81fa51..4939cd94d 100644 --- a/src/account-settings/data/selectors.js +++ b/src/account-settings/data/selectors.js @@ -106,11 +106,6 @@ const isEditingSelector = createSelector( (name, accountSettings) => accountSettings.openFormId === name, ); -const confirmationValuesSelector = createSelector( - accountSettingsSelector, - accountSettings => accountSettings.confirmationValues, -); - const errorSelector = createSelector( accountSettingsSelector, accountSettings => accountSettings.errors, @@ -289,35 +284,6 @@ export const certPreferenceSelector = createSelector( }), ); -export const coachingConsentPageSelector = createSelector( - accountSettingsSelector, - formValuesSelector, - activeAccountSelector, - profileDataManagerSelector, - saveStateSelector, - confirmationValuesSelector, - errorSelector, - ( - accountSettings, - formValues, - activeAccount, - profileDataManager, - saveState, - confirmationValues, - errors, - ) => ({ - loading: accountSettings.loading, - loaded: accountSettings.loaded, - loadingError: accountSettings.loadingError, - isActive: activeAccount, - profileDataManager, - formValues, - saveState, - confirmationValues, - formErrors: errors, - }), -); - export const demographicsSectionSelector = createSelector( formValuesSelector, draftsSelector, diff --git a/src/account-settings/data/service.js b/src/account-settings/data/service.js index ab5b434a7..d2f2e6118 100644 --- a/src/account-settings/data/service.js +++ b/src/account-settings/data/service.js @@ -8,7 +8,6 @@ import isEmpty from 'lodash.isempty'; import { handleRequestError, unpackFieldErrors } from './utils'; import { getThirdPartyAuthProviders } from '../third-party-auth'; import { postVerifiedNameConfig } from '../certificate-preference/data/service'; -import { getCoachingPreferences, patchCoachingPreferences } from '../coaching/data/service'; import { getDemographics, getDemographicsOptions, patchDemographics } from '../demographics/data/service'; import { DEMOGRAPHICS_FIELDS } from '../demographics/data/utils'; @@ -214,7 +213,7 @@ export async function postVerifiedName(data) { /** * A single function to GET everything considered a setting. - * Currently encapsulates Account, Preferences, Coaching, ThirdPartyAuth, and Demographics + * Currently encapsulates Account, Preferences, ThirdPartyAuth, and Demographics */ export async function getSettings(username, userRoles, userId) { const [ @@ -223,7 +222,6 @@ export async function getSettings(username, userRoles, userId) { thirdPartyAuthProviders, profileDataManager, timeZones, - coaching, shouldDisplayDemographicsQuestionsResponse, demographics, demographicsOptions, @@ -233,7 +231,6 @@ export async function getSettings(username, userRoles, userId) { getThirdPartyAuthProviders(), getProfileDataManager(username, userRoles), getTimeZones(), - getConfig().COACHING_ENABLED && getCoachingPreferences(userId), getConfig().ENABLE_DEMOGRAPHICS_COLLECTION && shouldDisplayDemographicsQuestions(), getConfig().ENABLE_DEMOGRAPHICS_COLLECTION && getDemographics(userId), getConfig().ENABLE_DEMOGRAPHICS_COLLECTION && getDemographicsOptions(), @@ -245,7 +242,6 @@ export async function getSettings(username, userRoles, userId) { thirdPartyAuthProviders, profileDataManager, timeZones, - coaching, shouldDisplayDemographicsSection: shouldDisplayDemographicsQuestionsResponse, ...demographics, demographicsOptions, @@ -254,26 +250,23 @@ export async function getSettings(username, userRoles, userId) { /** * A single function to PATCH everything considered a setting. - * Currently encapsulates Account, Preferences, coaching and ThirdPartyAuth + * Currently encapsulates Account, Preferences, ThirdPartyAuth */ export async function patchSettings(username, commitValues, userId) { // Note: time_zone exists in the return value from user/v1/accounts // but it is always null and won't update. It also exists in // user/v1/preferences where it does update. This is the one we use. const preferenceKeys = ['time_zone']; - const coachingKeys = ['coaching']; const demographicsKeys = DEMOGRAPHICS_FIELDS; const certificateKeys = ['useVerifiedNameForCerts']; const isDemographicsKey = (value, key) => key.includes('demographics'); const accountCommitValues = omit( commitValues, preferenceKeys, - coachingKeys, demographicsKeys, certificateKeys, ); const preferenceCommitValues = pick(commitValues, preferenceKeys); - const coachingCommitValues = pick(commitValues, coachingKeys); const demographicsCommitValues = pickBy(commitValues, isDemographicsKey); const certCommitValues = pick(commitValues, certificateKeys); const patchRequests = []; @@ -284,9 +277,6 @@ export async function patchSettings(username, commitValues, userId) { if (!isEmpty(preferenceCommitValues)) { patchRequests.push(patchPreferences(username, preferenceCommitValues)); } - if (!isEmpty(coachingCommitValues)) { - patchRequests.push(patchCoachingPreferences(userId, coachingCommitValues)); - } if (!isEmpty(demographicsCommitValues)) { patchRequests.push(patchDemographics(userId, demographicsCommitValues)); } diff --git a/src/i18n/messages/ar.json b/src/i18n/messages/ar.json index a32c60440..b0cceba3c 100644 --- a/src/i18n/messages/ar.json +++ b/src/i18n/messages/ar.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "الاسم الكامل", "account.settings.field.name.modal.certificate.option.verified": "اسم متحقَّق منه", "account.settings.field.name.modal.certificate.button.choose": "اختيار الاسم", - "account.settings.coaching.consent.welcome.header": "لنبدأ.", - "account.settings.coaching.consent.welcome.subheader": "نحن هنا لأجلك من البداية حتى النهاية", - "account.settings.coaching.consent.description": "تتضمن برامج MicroBachelors مرافقة تركز على مهنتك و تعليمك و كيفية تحقيقك للنتائج، و ذلك من خلال التواصل الفردي مع خبير متمرس. إن كنت مهتمًا، فيرجى تزويدنا بالمعلومات أدناه و النقر على \"إرسال\"، و سيتصل بك شريكنا في المرافقة عبر البريد الإلكتروني و/أو الرسائل النصية لمساعدتك على المضي قدمًا. تنطبق الشروط والأحكام.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* خدمات المرافقة مشمولة دون تكاليف إضافية للمتعلمين الذين لديهم أرقام هواتف أمريكية. تتضمن المرافقة رسائل نصية دورية. قد تنطبق أسعار على الرسائل والبيانات. أرسل STOP للانسحاب.", - "account.settings.coaching.consent.accept-coaching": "سجّل للاستفادة من خدمات المرافقة", - "account.settings.coaching.consent.decline-coaching": "أفضّل ألا يٌتصَل بي بخصوص خدمات المرافقة المجانية", - "account.settings.coaching.consent.label.name": "رجاءً أكّد اسمك", - "account.settings.coaching.consent.label.phone-number": "أدخل رقم هاتفك الجوّال", - "account.settings.coaching.consent.success.header": "نجحت العملية!", - "account.settings.coaching.consent.success.message": "أنت الآن مشترك في المرافقة. ترقّب رسالة عبر البريد الإلكتروني أو خدمة الرسائل القصيرة في في الأيام المقبلة.", - "account.settings.coaching.consent.success.continue": "البدء في مساقي", - "account.settings.coaching.managed.support": "الدعم", - "account.settings.coaching.managed.alert": "اسمك يديره {ManagerTitle}. اتصل بمديرك للحصول على المساعدة.", "account.settings.field.phone_number": "رقم الهاتف", "account.settings.field.phone_number.empty": "إضافة رقم هاتف", - "account.settings.field.coaching_consent": "الموافقة على المرافقة", - "account.settings.field.coaching_consent.tooltip": "تتضمن برامج MicroBachelors مرافقة قائمة على الرسائل النصية، تساعدك على إقران تجاربك التعلّمية مع أهدافك المهنية من خلال النصائح الفردية. خدمات المرافقة مشمولة دون تكاليف إضافية، وهي متوفرة للمتعلمين الذين لديهم أرقام هواتف جوالة أمريكية. تنطبق أسعار المراسلة القياسية. أرسل 'STOP' في أي وقت للانسحاب من الرسائل.", - "account.settings.field.coaching_consent.error": "مطلوب رقم هاتف أمريكي صحيح للتسجيل في المرافقة", "account.settings.delete.account.before.proceeding": "قبل المتابعة، يرجى {actionLink}.", "account.settings.delete.account.header": "حذف حسابي", "account.settings.delete.account.subheader": "نأسف لذهابك!", diff --git a/src/i18n/messages/de.json b/src/i18n/messages/de.json index 2ebde1dc4..ed7df9f3d 100644 --- a/src/i18n/messages/de.json +++ b/src/i18n/messages/de.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "Full Name", "account.settings.field.name.modal.certificate.option.verified": "Verified Name", "account.settings.field.name.modal.certificate.button.choose": "Choose name", - "account.settings.coaching.consent.welcome.header": "Let’s get started.", - "account.settings.coaching.consent.welcome.subheader": "We're here for you from start to finish", - "account.settings.coaching.consent.description": "MicroBachelors programs include coaching that focuses on your career, education, and how you'll achieve results through one-on-one communication with an experienced professional. If you’re interested, provide the information below and click “Submit,” and our coaching partner will connect with you via email and/or text message to help you move forward. Terms and conditions apply.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* Coaching services are included at no additional cost to learners with US phone numbers. Coaching includes recurring text messages. Message and data rates may apply. Text STOP to opt-out.", - "account.settings.coaching.consent.accept-coaching": "Sign up for coaching", - "account.settings.coaching.consent.decline-coaching": "I prefer not to be contacted with free coaching services", - "account.settings.coaching.consent.label.name": "Please confirm your name", - "account.settings.coaching.consent.label.phone-number": "Enter your mobile number", - "account.settings.coaching.consent.success.header": "Success!", - "account.settings.coaching.consent.success.message": "You're signed up for coaching. You can expect a message via email or SMS in the coming days.", - "account.settings.coaching.consent.success.continue": "Start my course", - "account.settings.coaching.managed.support": "support", - "account.settings.coaching.managed.alert": "Your name is managed by {managerTitle}. Contact your administrator for help.", "account.settings.field.phone_number": "Phone Number", "account.settings.field.phone_number.empty": "Add a phone number", - "account.settings.field.coaching_consent": "Coaching consent", - "account.settings.field.coaching_consent.tooltip": "MicroBachelors programs include text message based coaching that helps you pair educational experiences with your career goals through one-on-one advice. Coaching services are included at no additional cost, and are available to learners with U.S. mobile phone numbers. Standard messaging rates apply. Text ‘STOP’ at anytime to opt-out of messages.", - "account.settings.field.coaching_consent.error": "A valid US phone number is required to opt into coaching", "account.settings.delete.account.before.proceeding": "Before proceeding, please {actionLink}.", "account.settings.delete.account.header": "Delete My Account", "account.settings.delete.account.subheader": "We're sorry to see you go!", diff --git a/src/i18n/messages/de_DE.json b/src/i18n/messages/de_DE.json index 3e56f2988..f18de5eca 100644 --- a/src/i18n/messages/de_DE.json +++ b/src/i18n/messages/de_DE.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "Vollständiger Name", "account.settings.field.name.modal.certificate.option.verified": "Verifizierter Name", "account.settings.field.name.modal.certificate.button.choose": "Wähle Name", - "account.settings.coaching.consent.welcome.header": "Starten Sie jetzt.", - "account.settings.coaching.consent.welcome.subheader": "Wir begleiten Sie von Anfang bis Ende. ", - "account.settings.coaching.consent.description": "Zu den MicroBachelors-Programmen gehört ein Coaching, das sich auf Ihre Karriere, Ihre Ausbildung und die Art und Weise konzentriert, wie Sie durch persönliche Kommunikation mit einem erfahrenen Fachmann Ergebnisse erzielen. Wenn Sie interessiert sind, geben Sie die folgenden Informationen ein und klicken Sie auf \"Senden\". Unser Coaching-Partner wird sich per E-Mail und / oder SMS mit Ihnen in Verbindung setzen, um Sie voranzubringen. Geschäftsbedingungen gelten.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* Die Coaching Dienste erfordern keine zusätzlichen Kosten für Teilnehmer mit US-Telefonnummern. Das Coaching beinhaltet regelmäßige SMS-Nachrichten. Es gelten die üblichen Tarife für SMS-Nachrichten. Mit dem Text STOP können Sie sich jederzeit abmelden.", - "account.settings.coaching.consent.accept-coaching": "Anmeldung zum Coaching ", - "account.settings.coaching.consent.decline-coaching": "Ich bevorzuge es, ohne den coaching Service fortzufahren", - "account.settings.coaching.consent.label.name": "Bitte bestätigen Sie Ihren Namen", - "account.settings.coaching.consent.label.phone-number": "Bitte geben Sie Ihre Handynummer an", - "account.settings.coaching.consent.success.header": "Super!", - "account.settings.coaching.consent.success.message": "Sie sind nun für das Coaching angemeldet. Sie erhalten eine SMS-Nachricht als Bestätigung in den kommenden Tagen.", - "account.settings.coaching.consent.success.continue": "Kurs starten", - "account.settings.coaching.managed.support": "Support", - "account.settings.coaching.managed.alert": "Ihr Name wird von {managerTitle} verwaltet. Wenden Sie sich an Ihren Administrator, um Hilfe zu erhalten.", "account.settings.field.phone_number": "Telefonnummer", "account.settings.field.phone_number.empty": "Eine Telefonnummer hinzufügen", - "account.settings.field.coaching_consent": "Einverständnis zum Coaching", - "account.settings.field.coaching_consent.tooltip": "MicroBachelors-Programme umfassen SMS-basiertes Coaching, das Ihnen hilft, Bildungserfahrungen mit Ihren Karrierezielen durch persönliche Beratung zu verbinden. Coaching-Services sind ohne zusätzliche Kosten enthalten und stehen Lernenden mit US-Handynummern zur Verfügung. Es gelten die Standard-Messaging-Gebühren. Senden Sie jederzeit eine SMS mit „STOP“, um Nachrichten abzubestellen.", - "account.settings.field.coaching_consent.error": "Eine gültige Telefonnummer ist nötig, um sich für das Coaching anzumelden", "account.settings.delete.account.before.proceeding": "Bevor Sie fortfahren, bitte {actionLink}.", "account.settings.delete.account.header": "Meinen Account löschen", "account.settings.delete.account.subheader": "Es tut uns leid, dass Sie Ihren Account löschen möchten!", diff --git a/src/i18n/messages/es_419.json b/src/i18n/messages/es_419.json index bc65f9a55..2beb65c86 100644 --- a/src/i18n/messages/es_419.json +++ b/src/i18n/messages/es_419.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "Nombre completo", "account.settings.field.name.modal.certificate.option.verified": "Nombre verificado", "account.settings.field.name.modal.certificate.button.choose": "Escoge un nombre", - "account.settings.coaching.consent.welcome.header": "Empecemos", - "account.settings.coaching.consent.welcome.subheader": "Estamos aquí para ustede desde el inicio hasta el final", - "account.settings.coaching.consent.description": "Los programas de MicroBachelors incluyen entrenamiento que se enfoca en su carrera, educación y cómo logrará resultados a través de la comunicación individual con un profesional experimentado. Si está interesado, proporcione la información a continuación y haga clic en \"Enviar\", y nuestro socio asesor se comunicará con usted por correo electrónico y / o mensaje de texto para ayudarlo a avanzar. Los términos y Condiciones aplican.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* Los servicios de entrenamiento se incluyen sin costo adicional para los alumnos con números de teléfono de EE. UU. El entrenamiento incluye mensajes de texto recurrentes. Se pueden aplicar tarifas por mensajes y datos. Envía STOP para cancelar la suscripción.", - "account.settings.coaching.consent.accept-coaching": "Registrarse para coaching", - "account.settings.coaching.consent.decline-coaching": "Prefiero no ser contactado con servicios de coaching gratuitos.", - "account.settings.coaching.consent.label.name": "Por favor confirme su nombre", - "account.settings.coaching.consent.label.phone-number": "Ingrese su número de teléfono móvil", - "account.settings.coaching.consent.success.header": "¡Éxito!", - "account.settings.coaching.consent.success.message": "Estás inscrito para coaching. Puedes esperar un mensaje por correo electrónico o SMS en los próximos días.", - "account.settings.coaching.consent.success.continue": "Iniciar mi curso", - "account.settings.coaching.managed.support": "soporte", - "account.settings.coaching.managed.alert": "{ManagerTitle} administra su Nombre. Póngase en contacto con su administrador para obtener ayuda.", "account.settings.field.phone_number": "Teléfono", "account.settings.field.phone_number.empty": "Añadir un número de teléfono", - "account.settings.field.coaching_consent": "Consentimiento de coaching", - "account.settings.field.coaching_consent.tooltip": "Los programas de MicroBachelors incluyen entrenamiento basado en mensajes de texto que lo ayuda a emparejar experiencias educativas con sus objetivos profesionales a través de asesoramiento personalizado. Los servicios de entrenamiento se incluyen sin costo adicional y están disponibles para estudiantes con números de teléfono móvil de EE. UU. Se aplican tarifas de mensajería estándar. Envíe \"STOP\" en cualquier momento para cancelar la suscripción a los mensajes.", - "account.settings.field.coaching_consent.error": "Se requiere un número de teléfono válido de EE. UU. Para optar por el coaching", "account.settings.delete.account.before.proceeding": "Antes de continuar, por favor {actionLink}.", "account.settings.delete.account.header": "Eliminar mi cuenta", "account.settings.delete.account.subheader": "¡Sentimos que te vayas!", diff --git a/src/i18n/messages/fa_IR.json b/src/i18n/messages/fa_IR.json index 93dafebf7..7f90b844f 100644 --- a/src/i18n/messages/fa_IR.json +++ b/src/i18n/messages/fa_IR.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "نام و نام خانوادگی", "account.settings.field.name.modal.certificate.option.verified": "تغییر نام", "account.settings.field.name.modal.certificate.button.choose": "انتخاب نام", - "account.settings.coaching.consent.welcome.header": "بیا آغاز کنیم.", - "account.settings.coaching.consent.welcome.subheader": "ما از آغاز تا پایان با شما هستیم", - "account.settings.coaching.consent.description": "برنامه‌های MicroBachelors شامل مربیگری است که بر حرفه، تحصیلات و نحوه دستیابی به نتایج از طریق ارتباط یک‌به‌یک با یک متخصص با تجربه تمرکز دارد. اگر علاقه‌مند هستید، اطلاعات زیر را ارائه دهید و روی «ارسال» کلیک کنید، و شریک مربی ما از طریق رایانامه و/یا پیام متنی با شما در ارتباط خواهد بود تا به شما در حرکت به جلو کمک کند. شرایط و ضوابط اعمال می‌شود.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* خدمات مربیگری بدون هزینه اضافی برای یادگیرندگان با شماره تلفن ایالات متحده گنجانده شده است. مربی‌گری شامل پیام‌های متنی مکرر است. ممکن است نرخ پیام و داده اعمال شود. برای انصراف، STOP را پیامک کنید.", - "account.settings.coaching.consent.accept-coaching": "ثبت‌نام برای مربیگری", - "account.settings.coaching.consent.decline-coaching": "ترجیح می‌دهم با خدمات مربیگری رایگان تماس نگیرم", - "account.settings.coaching.consent.label.name": "لطفا نام خود را تایید کنید", - "account.settings.coaching.consent.label.phone-number": "شماره تلفن همراه خود را وارد کنید", - "account.settings.coaching.consent.success.header": "موفق شدید!", - "account.settings.coaching.consent.success.message": "شما برای مربیگری ثبت‌نام کردید. در روزهای آینده منتظر پیامک یا رایانامه باشید.", - "account.settings.coaching.consent.success.continue": "آغاز دوره آموزشی ", - "account.settings.coaching.managed.support": "پشتیبانی", - "account.settings.coaching.managed.alert": "نام شما توسط {managerTitle} مدیریت می‌شود. برای راهنمایی با مدیر خود تماس بگیرید.", "account.settings.field.phone_number": "شماره تلفن", "account.settings.field.phone_number.empty": "افزودن شماره تلفن", - "account.settings.field.coaching_consent": "رضایت مربیگری", - "account.settings.field.coaching_consent.tooltip": "برنامه های MicroBachelors شامل مربیگری مبتنی بر پیام متنی است که به شما کمک می‌کند تجربیات آموزشی را با اهداف شغلی خود از طریق مشاوره یک به یک، جفت کنید. خدمات مربیگری بدون هزینه اضافی گنجانده شده است و برای زبان آموزان با شماره تلفن همراه ایالات متحده در دسترس است. نرخ استاندارد پیام‌رسانی اعمال می‌شود. برای انصراف از پیام‌ها، در هر زمان «توقف» را پیامک کنید.", - "account.settings.field.coaching_consent.error": "ارائه یک شماره تلفن معتبر ایالات متحده برای شرکت در مربیگری ضروری است", "account.settings.delete.account.before.proceeding": "پیش از ادامه، لطفاً {actionLink}.", "account.settings.delete.account.header": "حذف حساب کاربری من", "account.settings.delete.account.subheader": "از رفتن شما متأسفیم. ", diff --git a/src/i18n/messages/fr.json b/src/i18n/messages/fr.json index 328179725..d59c76543 100644 --- a/src/i18n/messages/fr.json +++ b/src/i18n/messages/fr.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "Nom complet", "account.settings.field.name.modal.certificate.option.verified": "Nom vérifié", "account.settings.field.name.modal.certificate.button.choose": "Choisissez un nom", - "account.settings.coaching.consent.welcome.header": "Commençons.", - "account.settings.coaching.consent.welcome.subheader": "Nous sommes là pour vous du début à la fin", - "account.settings.coaching.consent.description": "Les programmes MicroBachelors comprennent un coaching axé sur votre carrière, vos études et la façon dont vous obtiendrez des résultats grâce à une communication individuelle avec un professionnel expérimenté. Si vous êtes intéressé, fournissez les informations ci-dessous et cliquez sur \"Soumettre\". Notre partenaire de coaching vous contactera par courrier électronique et/ou par SMS pour vous aider à progresser. Les conditions générales s'appliquent.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* Les services de coaching sont inclus sans frais supplémentaires pour les apprenants ayant un numéro de téléphone aux États-Unis. Le coaching comprend des messages textes récurrents. Les tarifs des messages et des données peuvent s'appliquer. Text STOP pour se désengager.", - "account.settings.coaching.consent.accept-coaching": "S'inscrire pour le coaching.", - "account.settings.coaching.consent.decline-coaching": "Je préfère ne pas être contacté par les services de coaching gratuit.", - "account.settings.coaching.consent.label.name": "Veuillez confirmer votre nom", - "account.settings.coaching.consent.label.phone-number": "Entrer un numéro de cellulaire", - "account.settings.coaching.consent.success.header": "Opération réussie!", - "account.settings.coaching.consent.success.message": "Vous êtes inscrit au coaching. Vous pouvez vous attendre à un message par courriel ou SMS dans les prochains jours.", - "account.settings.coaching.consent.success.continue": "Démarrer mon cours", - "account.settings.coaching.managed.support": "support", - "account.settings.coaching.managed.alert": "Votre nom est géré par {managerTitle}. Contactez votre administrateur pour obtenir de l'aide.", "account.settings.field.phone_number": "Numéro de téléphone", "account.settings.field.phone_number.empty": "Ajouter un numéro de téléphone", - "account.settings.field.coaching_consent": "Consentement pour le coaching", - "account.settings.field.coaching_consent.tooltip": "Un parcours MicroBachelors inclus du coaching par texto avec un professionnel expériementé qui vous aidera à combiner votre expérience éducationnelle et vos objectifs de carrière. Les services de coaching sont inclus sans coût additionnel aux apprenant ayant un numéro de téléphone US. Le coût standard des textos s'applique. Texter 'STOP' en tout temp pour arrêter les messages.", - "account.settings.field.coaching_consent.error": "Un numéro de téléphone US valide est requis pour s'inscrire pour du coaching", "account.settings.delete.account.before.proceeding": "Avant de poursuivre, veuillez {actionLink}.", "account.settings.delete.account.header": "Supprimer mon compte", "account.settings.delete.account.subheader": "Nous sommes désolés de vous voir quitter!", diff --git a/src/i18n/messages/fr_CA.json b/src/i18n/messages/fr_CA.json index 4c5b02979..75906105b 100644 --- a/src/i18n/messages/fr_CA.json +++ b/src/i18n/messages/fr_CA.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "Nom complet", "account.settings.field.name.modal.certificate.option.verified": "Nom vérifié", "account.settings.field.name.modal.certificate.button.choose": "Choisissez un nom", - "account.settings.coaching.consent.welcome.header": "Commençons.", - "account.settings.coaching.consent.welcome.subheader": "Nous vous accompagnons du début jusqu'à la fin", - "account.settings.coaching.consent.description": "Un parcours MicroBachelors inclus du coaching avec un professionnel expérimenté qui vous guidera sur votre carrière, votre éducation et comment atteindre vos objectifs. Si vous êtes intéressés, entrez les informations requises ci-dessous et cliquez \"Soumettre\". Un guide vous contactera par courriel ou texto pour vous aider à progresser. Termes et conditions s'appliquent. *", - "account.settings.coaching.consent.text-messaging.disclaimer": "* Nos services de coaching sont inclus sans coût additionnel aux apprenants ayant un numéro de téléphone US. Le coaching comprend des textos récurrents. Le coût des messages et des données peuvent s'appliquer. Envoyez STOP pour arrêter.", - "account.settings.coaching.consent.accept-coaching": "S'inscrire pour le coaching", - "account.settings.coaching.consent.decline-coaching": "Je préfère ne pas être contacté par les services de coaching gratuit", - "account.settings.coaching.consent.label.name": "Veuillez confirmer votre nom", - "account.settings.coaching.consent.label.phone-number": "Entrer un numéro de cellulaire", - "account.settings.coaching.consent.success.header": "Succès!", - "account.settings.coaching.consent.success.message": "Vous êtes inscrit au coaching. Vous pouvez vous attendre à un message par courriel ou SMS dans les prochains jours.", - "account.settings.coaching.consent.success.continue": "Commencer mon cours", - "account.settings.coaching.managed.support": "support", - "account.settings.coaching.managed.alert": "Votre nom est géré par {managerTitle}. Contactez votre administrateur pour obtenir de l'aide.", "account.settings.field.phone_number": "Numéro de téléphone", "account.settings.field.phone_number.empty": "Ajouter un numéro de téléphone", - "account.settings.field.coaching_consent": "Consentement pour le coaching", - "account.settings.field.coaching_consent.tooltip": "Un parcours MicroBachelors inclus du coaching par texto avec un professionnel expérimenté qui vous aidera à combiner votre expérience éducationnelle et vos objectifs de carrière. Les services de coaching sont inclus sans coût additionnel aux apprenants ayant un numéro de téléphone US. Le coût standard des textos s'applique. Envoyez 'STOP' en tout temps pour arrêter les messages.", - "account.settings.field.coaching_consent.error": "Un numéro de téléphone US valide est requis pour s'inscrire pour du coaching", "account.settings.delete.account.before.proceeding": "Avant de continuer, veuillez {actionLink}.", "account.settings.delete.account.header": "Supprimer mon compte", "account.settings.delete.account.subheader": "Nous sommes désolés de vous voir quitter!", diff --git a/src/i18n/messages/hi.json b/src/i18n/messages/hi.json index 2ebde1dc4..ed7df9f3d 100644 --- a/src/i18n/messages/hi.json +++ b/src/i18n/messages/hi.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "Full Name", "account.settings.field.name.modal.certificate.option.verified": "Verified Name", "account.settings.field.name.modal.certificate.button.choose": "Choose name", - "account.settings.coaching.consent.welcome.header": "Let’s get started.", - "account.settings.coaching.consent.welcome.subheader": "We're here for you from start to finish", - "account.settings.coaching.consent.description": "MicroBachelors programs include coaching that focuses on your career, education, and how you'll achieve results through one-on-one communication with an experienced professional. If you’re interested, provide the information below and click “Submit,” and our coaching partner will connect with you via email and/or text message to help you move forward. Terms and conditions apply.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* Coaching services are included at no additional cost to learners with US phone numbers. Coaching includes recurring text messages. Message and data rates may apply. Text STOP to opt-out.", - "account.settings.coaching.consent.accept-coaching": "Sign up for coaching", - "account.settings.coaching.consent.decline-coaching": "I prefer not to be contacted with free coaching services", - "account.settings.coaching.consent.label.name": "Please confirm your name", - "account.settings.coaching.consent.label.phone-number": "Enter your mobile number", - "account.settings.coaching.consent.success.header": "Success!", - "account.settings.coaching.consent.success.message": "You're signed up for coaching. You can expect a message via email or SMS in the coming days.", - "account.settings.coaching.consent.success.continue": "Start my course", - "account.settings.coaching.managed.support": "support", - "account.settings.coaching.managed.alert": "Your name is managed by {managerTitle}. Contact your administrator for help.", "account.settings.field.phone_number": "Phone Number", "account.settings.field.phone_number.empty": "Add a phone number", - "account.settings.field.coaching_consent": "Coaching consent", - "account.settings.field.coaching_consent.tooltip": "MicroBachelors programs include text message based coaching that helps you pair educational experiences with your career goals through one-on-one advice. Coaching services are included at no additional cost, and are available to learners with U.S. mobile phone numbers. Standard messaging rates apply. Text ‘STOP’ at anytime to opt-out of messages.", - "account.settings.field.coaching_consent.error": "A valid US phone number is required to opt into coaching", "account.settings.delete.account.before.proceeding": "Before proceeding, please {actionLink}.", "account.settings.delete.account.header": "Delete My Account", "account.settings.delete.account.subheader": "We're sorry to see you go!", diff --git a/src/i18n/messages/it.json b/src/i18n/messages/it.json index 2ebde1dc4..ed7df9f3d 100644 --- a/src/i18n/messages/it.json +++ b/src/i18n/messages/it.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "Full Name", "account.settings.field.name.modal.certificate.option.verified": "Verified Name", "account.settings.field.name.modal.certificate.button.choose": "Choose name", - "account.settings.coaching.consent.welcome.header": "Let’s get started.", - "account.settings.coaching.consent.welcome.subheader": "We're here for you from start to finish", - "account.settings.coaching.consent.description": "MicroBachelors programs include coaching that focuses on your career, education, and how you'll achieve results through one-on-one communication with an experienced professional. If you’re interested, provide the information below and click “Submit,” and our coaching partner will connect with you via email and/or text message to help you move forward. Terms and conditions apply.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* Coaching services are included at no additional cost to learners with US phone numbers. Coaching includes recurring text messages. Message and data rates may apply. Text STOP to opt-out.", - "account.settings.coaching.consent.accept-coaching": "Sign up for coaching", - "account.settings.coaching.consent.decline-coaching": "I prefer not to be contacted with free coaching services", - "account.settings.coaching.consent.label.name": "Please confirm your name", - "account.settings.coaching.consent.label.phone-number": "Enter your mobile number", - "account.settings.coaching.consent.success.header": "Success!", - "account.settings.coaching.consent.success.message": "You're signed up for coaching. You can expect a message via email or SMS in the coming days.", - "account.settings.coaching.consent.success.continue": "Start my course", - "account.settings.coaching.managed.support": "support", - "account.settings.coaching.managed.alert": "Your name is managed by {managerTitle}. Contact your administrator for help.", "account.settings.field.phone_number": "Phone Number", "account.settings.field.phone_number.empty": "Add a phone number", - "account.settings.field.coaching_consent": "Coaching consent", - "account.settings.field.coaching_consent.tooltip": "MicroBachelors programs include text message based coaching that helps you pair educational experiences with your career goals through one-on-one advice. Coaching services are included at no additional cost, and are available to learners with U.S. mobile phone numbers. Standard messaging rates apply. Text ‘STOP’ at anytime to opt-out of messages.", - "account.settings.field.coaching_consent.error": "A valid US phone number is required to opt into coaching", "account.settings.delete.account.before.proceeding": "Before proceeding, please {actionLink}.", "account.settings.delete.account.header": "Delete My Account", "account.settings.delete.account.subheader": "We're sorry to see you go!", diff --git a/src/i18n/messages/it_IT.json b/src/i18n/messages/it_IT.json index a46f5c699..84ed8cf75 100644 --- a/src/i18n/messages/it_IT.json +++ b/src/i18n/messages/it_IT.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "Nome e Cognome", "account.settings.field.name.modal.certificate.option.verified": "Nome verificato", "account.settings.field.name.modal.certificate.button.choose": "Scegli il nome", - "account.settings.coaching.consent.welcome.header": "Partiamo!", - "account.settings.coaching.consent.welcome.subheader": "Saremo qui per te dall'inizio alla fine", - "account.settings.coaching.consent.description": "I programmi MicroBachelors prevedono un servizio di coaching con un professionista esperto incentrato sulla tua carriera, istruzione e su come ottenere risultati attraverso la comunicazione individuale. Se sei interessato, fornisci le informazioni richieste di seguito e fai clic su \"Invia\" e il nostro partner di insegnamento si metterà in contatto con te tramite e-mail e/o messaggi sms per aiutarti a procedere. Si applicano Termini e Condizioni.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* I servizi di coaching sono inclusi senza costi aggiuntivi per gli studenti con numeri di telefono statunitensi. Il coaching include messaggi di testo ricorrenti. Potrebbero essere applicate tariffe per messaggi e dati. Invia un messaggio con il testo STOP per disattivare l'offerta.", - "account.settings.coaching.consent.accept-coaching": "Iscriviti al coaching", - "account.settings.coaching.consent.decline-coaching": "Preferisco non essere contattato con servizi di coaching gratuiti ", - "account.settings.coaching.consent.label.name": "Conferma il tuo nome", - "account.settings.coaching.consent.label.phone-number": "Immetti il tuo numero di cellulare", - "account.settings.coaching.consent.success.header": "Completato correttamente!", - "account.settings.coaching.consent.success.message": "Sei iscritto al coaching. Puoi aspettarti un messaggio via e-mail o SMS nei prossimi giorni. ", - "account.settings.coaching.consent.success.continue": "Inizia il mio corso", - "account.settings.coaching.managed.support": "supporto", - "account.settings.coaching.managed.alert": "Il tuo nome è gestito da {managerTitle}. Rivolgiti all'amministratore per assistenza.", "account.settings.field.phone_number": "Numero di telefono", "account.settings.field.phone_number.empty": "Aggiungi un numero di telefono", - "account.settings.field.coaching_consent": "Autorizza Coaching", - "account.settings.field.coaching_consent.tooltip": "I programmi MicroBachelors includono un servizio di coaching basato su messaggi SMS che ti aiuta ad abbinare le esperienze formative ai tuoi obiettivi di carriera attraverso consigli personali. I servizi di coaching sono inclusi senza costi aggiuntivi e sono disponibili per gli studenti con numeri di telefono cellulare statunitensi. Si applicano le tariffe standard per la messaggistica SMS. Invia in qualsiasi momento un SMSM con scritto ‘STOP’ per disattivare i messaggi.", - "account.settings.field.coaching_consent.error": "Per attivare il servizio di coaching è necessario un numero di telefono statunitense valido", "account.settings.delete.account.before.proceeding": "Prima di procedere, {actionLink}.", "account.settings.delete.account.header": "Elimina il mio Account", "account.settings.delete.account.subheader": "Ci dispiace che tu ci lasci!", diff --git a/src/i18n/messages/pt.json b/src/i18n/messages/pt.json index 2ebde1dc4..ed7df9f3d 100644 --- a/src/i18n/messages/pt.json +++ b/src/i18n/messages/pt.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "Full Name", "account.settings.field.name.modal.certificate.option.verified": "Verified Name", "account.settings.field.name.modal.certificate.button.choose": "Choose name", - "account.settings.coaching.consent.welcome.header": "Let’s get started.", - "account.settings.coaching.consent.welcome.subheader": "We're here for you from start to finish", - "account.settings.coaching.consent.description": "MicroBachelors programs include coaching that focuses on your career, education, and how you'll achieve results through one-on-one communication with an experienced professional. If you’re interested, provide the information below and click “Submit,” and our coaching partner will connect with you via email and/or text message to help you move forward. Terms and conditions apply.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* Coaching services are included at no additional cost to learners with US phone numbers. Coaching includes recurring text messages. Message and data rates may apply. Text STOP to opt-out.", - "account.settings.coaching.consent.accept-coaching": "Sign up for coaching", - "account.settings.coaching.consent.decline-coaching": "I prefer not to be contacted with free coaching services", - "account.settings.coaching.consent.label.name": "Please confirm your name", - "account.settings.coaching.consent.label.phone-number": "Enter your mobile number", - "account.settings.coaching.consent.success.header": "Success!", - "account.settings.coaching.consent.success.message": "You're signed up for coaching. You can expect a message via email or SMS in the coming days.", - "account.settings.coaching.consent.success.continue": "Start my course", - "account.settings.coaching.managed.support": "support", - "account.settings.coaching.managed.alert": "Your name is managed by {managerTitle}. Contact your administrator for help.", "account.settings.field.phone_number": "Phone Number", "account.settings.field.phone_number.empty": "Add a phone number", - "account.settings.field.coaching_consent": "Coaching consent", - "account.settings.field.coaching_consent.tooltip": "MicroBachelors programs include text message based coaching that helps you pair educational experiences with your career goals through one-on-one advice. Coaching services are included at no additional cost, and are available to learners with U.S. mobile phone numbers. Standard messaging rates apply. Text ‘STOP’ at anytime to opt-out of messages.", - "account.settings.field.coaching_consent.error": "A valid US phone number is required to opt into coaching", "account.settings.delete.account.before.proceeding": "Before proceeding, please {actionLink}.", "account.settings.delete.account.header": "Delete My Account", "account.settings.delete.account.subheader": "We're sorry to see you go!", diff --git a/src/i18n/messages/pt_PT.json b/src/i18n/messages/pt_PT.json index 7df79a995..e7e165cf5 100644 --- a/src/i18n/messages/pt_PT.json +++ b/src/i18n/messages/pt_PT.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "Nome Completo", "account.settings.field.name.modal.certificate.option.verified": "Nome Verificado", "account.settings.field.name.modal.certificate.button.choose": "Escolha um nome", - "account.settings.coaching.consent.welcome.header": "Vamos começar.", - "account.settings.coaching.consent.welcome.subheader": "Estamos aqui para si do princípio ao fim", - "account.settings.coaching.consent.description": "Os programas MicroBachelors incluem formação que se concentra na sua carreira, educação, e como alcançará resultados através da comunicação personalizada com um profissional experiente. Se estiver interessado, forneça as informações abaixo e clique em \"Submeter\", e o nosso parceiro de formação ligar-se-á a si através de e-mail e/ou mensagem de texto para o ajudar a seguir em frente. Aplicam-se os termos e condições.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* Os serviços de formação estão incluídos, sem custos adicionais para os alunos com números de telefone dos EUA. A formação inclui mensagens de texto recorrentes. Podem aplicar-se taxas de mensagens e dados. Digite STOP para optar por não participar .", - "account.settings.coaching.consent.accept-coaching": "Inscrever-se para a formação", - "account.settings.coaching.consent.decline-coaching": "Prefiro não ser contactado com serviços gratuitos de formação", - "account.settings.coaching.consent.label.name": "Por favor confirme o seu nome", - "account.settings.coaching.consent.label.phone-number": "Introduza o seu número de telemóvel", - "account.settings.coaching.consent.success.header": "Sucesso!", - "account.settings.coaching.consent.success.message": "Está inscrito como formador. Pode esperar uma mensagem via e-mail ou SMS nos próximos dias.", - "account.settings.coaching.consent.success.continue": "Iniciar o meu curso", - "account.settings.coaching.managed.support": "suporte", - "account.settings.coaching.managed.alert": "O seu nome é gerido por {managerTitle}. Contacte o seu administrador para obter ajuda.", "account.settings.field.phone_number": "Telefone", "account.settings.field.phone_number.empty": "Adicione um número de telefone", - "account.settings.field.coaching_consent": "Autorização para formação", - "account.settings.field.coaching_consent.tooltip": "Os programas MicroBachelors incluem treino baseado em mensagens de texto que o ajudam a associar experiências educacionais com os seus objectivos de carreira através de conselhos personalizados. Os serviços de formação estão incluídos sem custos adicionais, e estão disponíveis para estudantes com números de telemóvel nos EUA. Aplicam-se as taxas normais de mensagens. Escreva 'STOP' em qualquer altura para optar por não receber mensagens.", - "account.settings.field.coaching_consent.error": "É necessário um número de telefone válido nos EUA para optar pela formação", "account.settings.delete.account.before.proceeding": "Antes de prosseguir, por favor {actionLink}.", "account.settings.delete.account.header": "Eliminar a Minha Conta", "account.settings.delete.account.subheader": "Lamentamos vê-lo/a partir!", diff --git a/src/i18n/messages/ru.json b/src/i18n/messages/ru.json index 2ebde1dc4..ed7df9f3d 100644 --- a/src/i18n/messages/ru.json +++ b/src/i18n/messages/ru.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "Full Name", "account.settings.field.name.modal.certificate.option.verified": "Verified Name", "account.settings.field.name.modal.certificate.button.choose": "Choose name", - "account.settings.coaching.consent.welcome.header": "Let’s get started.", - "account.settings.coaching.consent.welcome.subheader": "We're here for you from start to finish", - "account.settings.coaching.consent.description": "MicroBachelors programs include coaching that focuses on your career, education, and how you'll achieve results through one-on-one communication with an experienced professional. If you’re interested, provide the information below and click “Submit,” and our coaching partner will connect with you via email and/or text message to help you move forward. Terms and conditions apply.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* Coaching services are included at no additional cost to learners with US phone numbers. Coaching includes recurring text messages. Message and data rates may apply. Text STOP to opt-out.", - "account.settings.coaching.consent.accept-coaching": "Sign up for coaching", - "account.settings.coaching.consent.decline-coaching": "I prefer not to be contacted with free coaching services", - "account.settings.coaching.consent.label.name": "Please confirm your name", - "account.settings.coaching.consent.label.phone-number": "Enter your mobile number", - "account.settings.coaching.consent.success.header": "Success!", - "account.settings.coaching.consent.success.message": "You're signed up for coaching. You can expect a message via email or SMS in the coming days.", - "account.settings.coaching.consent.success.continue": "Start my course", - "account.settings.coaching.managed.support": "support", - "account.settings.coaching.managed.alert": "Your name is managed by {managerTitle}. Contact your administrator for help.", "account.settings.field.phone_number": "Phone Number", "account.settings.field.phone_number.empty": "Add a phone number", - "account.settings.field.coaching_consent": "Coaching consent", - "account.settings.field.coaching_consent.tooltip": "MicroBachelors programs include text message based coaching that helps you pair educational experiences with your career goals through one-on-one advice. Coaching services are included at no additional cost, and are available to learners with U.S. mobile phone numbers. Standard messaging rates apply. Text ‘STOP’ at anytime to opt-out of messages.", - "account.settings.field.coaching_consent.error": "A valid US phone number is required to opt into coaching", "account.settings.delete.account.before.proceeding": "Before proceeding, please {actionLink}.", "account.settings.delete.account.header": "Delete My Account", "account.settings.delete.account.subheader": "We're sorry to see you go!", diff --git a/src/i18n/messages/uk.json b/src/i18n/messages/uk.json index 2ebde1dc4..ed7df9f3d 100644 --- a/src/i18n/messages/uk.json +++ b/src/i18n/messages/uk.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "Full Name", "account.settings.field.name.modal.certificate.option.verified": "Verified Name", "account.settings.field.name.modal.certificate.button.choose": "Choose name", - "account.settings.coaching.consent.welcome.header": "Let’s get started.", - "account.settings.coaching.consent.welcome.subheader": "We're here for you from start to finish", - "account.settings.coaching.consent.description": "MicroBachelors programs include coaching that focuses on your career, education, and how you'll achieve results through one-on-one communication with an experienced professional. If you’re interested, provide the information below and click “Submit,” and our coaching partner will connect with you via email and/or text message to help you move forward. Terms and conditions apply.*", - "account.settings.coaching.consent.text-messaging.disclaimer": "* Coaching services are included at no additional cost to learners with US phone numbers. Coaching includes recurring text messages. Message and data rates may apply. Text STOP to opt-out.", - "account.settings.coaching.consent.accept-coaching": "Sign up for coaching", - "account.settings.coaching.consent.decline-coaching": "I prefer not to be contacted with free coaching services", - "account.settings.coaching.consent.label.name": "Please confirm your name", - "account.settings.coaching.consent.label.phone-number": "Enter your mobile number", - "account.settings.coaching.consent.success.header": "Success!", - "account.settings.coaching.consent.success.message": "You're signed up for coaching. You can expect a message via email or SMS in the coming days.", - "account.settings.coaching.consent.success.continue": "Start my course", - "account.settings.coaching.managed.support": "support", - "account.settings.coaching.managed.alert": "Your name is managed by {managerTitle}. Contact your administrator for help.", "account.settings.field.phone_number": "Phone Number", "account.settings.field.phone_number.empty": "Add a phone number", - "account.settings.field.coaching_consent": "Coaching consent", - "account.settings.field.coaching_consent.tooltip": "MicroBachelors programs include text message based coaching that helps you pair educational experiences with your career goals through one-on-one advice. Coaching services are included at no additional cost, and are available to learners with U.S. mobile phone numbers. Standard messaging rates apply. Text ‘STOP’ at anytime to opt-out of messages.", - "account.settings.field.coaching_consent.error": "A valid US phone number is required to opt into coaching", "account.settings.delete.account.before.proceeding": "Before proceeding, please {actionLink}.", "account.settings.delete.account.header": "Delete My Account", "account.settings.delete.account.subheader": "We're sorry to see you go!", diff --git a/src/i18n/messages/zh_CN.json b/src/i18n/messages/zh_CN.json index 3fb2ae6ef..0833f455b 100644 --- a/src/i18n/messages/zh_CN.json +++ b/src/i18n/messages/zh_CN.json @@ -121,24 +121,8 @@ "account.settings.field.name.modal.certificate.option.full": "全名", "account.settings.field.name.modal.certificate.option.verified": "验证名称", "account.settings.field.name.modal.certificate.button.choose": "选择名字", - "account.settings.coaching.consent.welcome.header": "让我们开始吧。", - "account.settings.coaching.consent.welcome.subheader": "这里全程为您服务", - "account.settings.coaching.consent.description": "微型学士项目系统专注于您的职业、教育以及您将如何通过与经验丰富的专业人士的一对一交流取得成果的辅导。如果您有兴趣,请提供以下信息并单击“提交”,我们的讲师/助教将通过电子邮件与您联系,帮助您学习。条款与条件适用。", - "account.settings.coaching.consent.text-messaging.disclaimer": "拥有美国手机号码的用户无需支付辅导服务。辅导包括短信。您可能需要支付短信和数据使用费。发送stop终止服务。", - "account.settings.coaching.consent.accept-coaching": "报名参加辅导", - "account.settings.coaching.consent.decline-coaching": "我希望有人联系我免费提供辅导服务。", - "account.settings.coaching.consent.label.name": "请确认您的名字", - "account.settings.coaching.consent.label.phone-number": "请输入您的手机号码", - "account.settings.coaching.consent.success.header": "成功!", - "account.settings.coaching.consent.success.message": "您已报名参加辅导。您可以期待在未来几天通过电子邮件收到消息。", - "account.settings.coaching.consent.success.continue": "开始我的课程", - "account.settings.coaching.managed.support": "支持", - "account.settings.coaching.managed.alert": "您的名字由 {managerTitle} 管理。请联系您的管理员寻求帮助。", "account.settings.field.phone_number": "电话号码", "account.settings.field.phone_number.empty": "添加电话号码", - "account.settings.field.coaching_consent": "辅导同意", - "account.settings.field.coaching_consent.tooltip": "微型学士项目基于你的情况辅导,通过一对一的建议帮助您将教育经历与您的职业目标相结合。提供学习计划。辅导项目对于持有美国移动号码的学生是免费的,只收取标准短信费用。发送“stop”停止接收信息。", - "account.settings.field.coaching_consent.error": "*需要提供有效的美国号码接收辅导服务", "account.settings.delete.account.before.proceeding": "再进行下一步之前,请{actionLink}。", "account.settings.delete.account.header": "删除我的账号", "account.settings.delete.account.subheader": "很遗憾看到您要离开了!", diff --git a/src/index.jsx b/src/index.jsx index 88be4e779..5bb8a6151 100755 --- a/src/index.jsx +++ b/src/index.jsx @@ -16,7 +16,6 @@ import Footer from '@edx/frontend-component-footer'; import configureStore from './data/configureStore'; import AccountSettingsPage, { NotFoundPage } from './account-settings'; import IdVerificationPage from './id-verification'; -import CoachingConsent from './account-settings/coaching/CoachingConsent'; import messages from './i18n'; import './index.scss'; @@ -29,7 +28,6 @@ subscribe(APP_READY, () => { - } />
@@ -65,7 +63,6 @@ initialize({ config: () => { mergeConfig({ SUPPORT_URL: process.env.SUPPORT_URL, - COACHING_ENABLED: (process.env.COACHING_ENABLED || false), ENABLE_DEMOGRAPHICS_COLLECTION: (process.env.ENABLE_DEMOGRAPHICS_COLLECTION || false), DEMOGRAPHICS_BASE_URL: process.env.DEMOGRAPHICS_BASE_URL, ENABLE_COPPA_COMPLIANCE: (process.env.ENABLE_COPPA_COMPLIANCE || false), diff --git a/src/index.scss b/src/index.scss index e6ff6a290..05ad1f44f 100755 --- a/src/index.scss +++ b/src/index.scss @@ -38,21 +38,6 @@ $fa-font-path: "~font-awesome/fonts"; } } -.coaching-header { - .logo { - display: block; - box-sizing: content-box; - height: 1.75rem; - padding: .75rem 0; - } -} - -.coaching-consent { - .disclaimer { - font-size: 0.75rem; - } -} - .checkboxOption { input:focus { outline: -webkit-focus-ring-color auto 5px;