diff --git a/lms/djangoapps/support/static/support/jsx/file_upload.jsx b/lms/djangoapps/support/static/support/jsx/file_upload.jsx
index f2160f70e9..566573779c 100644
--- a/lms/djangoapps/support/static/support/jsx/file_upload.jsx
+++ b/lms/djangoapps/support/static/support/jsx/file_upload.jsx
@@ -23,12 +23,11 @@ class FileUpload extends React.Component {
e.preventDefault();
const fileToken = e.target.id,
$this = this,
- url = `https://arbisoft.zendesk.com/api/v2/uploads/${fileToken}.json`,
- accessToken = 'd6ed06821334b6584dd9607d04007c281007324ed07e087879c9c44835c684da',
+ url = `${this.props.zendeskApiHost}/api/v2/uploads/${fileToken}.json`,
request = new XMLHttpRequest();
request.open('DELETE', url, true);
- request.setRequestHeader('Authorization', `Bearer ${accessToken}`);
+ request.setRequestHeader('Authorization', `Bearer ${this.props.accessToken}`);
request.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
request.send();
@@ -43,13 +42,12 @@ class FileUpload extends React.Component {
}
uploadFile(e) {
- const url = 'https://arbisoft.zendesk.com/api/v2/uploads.json?filename=',
+ const url = `${this.props.zendeskApiHost}/api/v2/uploads.json?filename=`,
fileReader = new FileReader(),
request = new XMLHttpRequest(),
errorList = [],
$this = this,
file = e.target.files[0],
- accessToken = 'd6ed06821334b6584dd9607d04007c281007324ed07e087879c9c44835c684da',
maxFileSize = 5000000, // 5mb is max limit
allowedFileTypes = ['gif', 'png', 'jpg', 'jpeg', 'pdf'];
@@ -68,7 +66,7 @@ class FileUpload extends React.Component {
}
request.open('POST', (url + file.name), true);
- request.setRequestHeader('Authorization', `Bearer ${accessToken}`);
+ request.setRequestHeader('Authorization', `Bearer ${this.props.accessToken}`);
request.setRequestHeader('Content-Type', 'application/binary');
fileReader.readAsArrayBuffer(file);
@@ -166,5 +164,7 @@ class FileUpload extends React.Component {
FileUpload.propTypes = {
setErrorState: PropTypes.func.isRequired,
+ zendeskApiHost: PropTypes.string.isRequired,
+ accessToken: PropTypes.string.isRequired,
};
export default FileUpload;
diff --git a/lms/djangoapps/support/static/support/jsx/single_support_form.jsx b/lms/djangoapps/support/static/support/jsx/single_support_form.jsx
index d6ce0aea09..4cdebde817 100644
--- a/lms/djangoapps/support/static/support/jsx/single_support_form.jsx
+++ b/lms/djangoapps/support/static/support/jsx/single_support_form.jsx
@@ -12,11 +12,6 @@ import LoggedInUser from './logged_in_user';
import LoggedOutUser from './logged_out_user';
import Success from './success';
-// TODO
-// edx zendesk APIs
-// access token
-// custom fields ids
-// https://openedx.atlassian.net/browse/LEARNER-2736
class RenderForm extends React.Component {
constructor(props) {
@@ -24,7 +19,7 @@ class RenderForm extends React.Component {
this.state = {
currentRequest: null,
errorList: [],
- success: true,
+ success: false,
};
this.submitForm = this.submitForm.bind(this);
this.setErrorState = this.setErrorState.bind(this);
@@ -37,11 +32,10 @@ class RenderForm extends React.Component {
}
submitForm() {
- const url = 'https://example.zendesk.com/api/v2/tickets.json',
+ const url = `${this.props.context.zendeskApiHost}/api/v2/tickets.json`,
$userInfo = $('.user-info'),
request = new XMLHttpRequest(),
$course = $('#course'),
- accessToken = 'abc000',
data = {
subject: $('#subject').val(),
comment: {
@@ -64,13 +58,13 @@ class RenderForm extends React.Component {
}
data.custom_fields = [{
- id: '114099484092',
+ id: this.props.context.customFields.course,
value: course,
}];
if (this.validateData(data)) {
request.open('POST', url, true);
- request.setRequestHeader('Authorization', `Bearer ${accessToken}`);
+ request.setRequestHeader('Authorization', `Bearer ${this.props.context.accessToken}`);
request.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
request.send(JSON.stringify({
@@ -197,7 +191,11 @@ class RenderForm extends React.Component {
-