From aef8327bf6860164d99cce6896f0700825afbf82 Mon Sep 17 00:00:00 2001 From: ScottDowne Date: Wed, 4 Jul 2018 12:57:04 -0400 Subject: [PATCH 1/3] subscribed query string for petitions. --- source/js/components/petition/petition.jsx | 14 ++++++++------ source/js/main.js | 6 +++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/source/js/components/petition/petition.jsx b/source/js/components/petition/petition.jsx index a392b624635..7115a43f753 100644 --- a/source/js/components/petition/petition.jsx +++ b/source/js/components/petition/petition.jsx @@ -575,12 +575,14 @@ export default class Petition extends React.Component { {this.state.userTriedSubmitting && !this.refs.privacy.checked && Please check this box if you want to proceed} -
- -
+ { this.props.subscribed ? null : +
+ +
+ } { checkboxes.length > 0 ? (
{checkboxes}
) : null }
diff --git a/source/js/main.js b/source/js/main.js index 795b0ebb7c5..1434ee4ea27 100644 --- a/source/js/main.js +++ b/source/js/main.js @@ -231,13 +231,17 @@ let main = { // petition elements var petitionElements = Array.from(document.querySelectorAll(`.sign-petition`)); + var subscribed = false; + if (window.location.search.indexOf("subscribed=1") !== -1) { + subscribed = true; + } petitionElements.forEach(element => { var props = element.dataset; props.apiUrl = `${networkSiteURL}/api/campaign/petitions/${props.petitionId}/`; - ReactDOM.render(, element); + ReactDOM.render(, element); }); if (document.getElementById(`people`)) { From f90e0c0483531819c97b4d13e55d373b2ba110f1 Mon Sep 17 00:00:00 2001 From: ScottDowne Date: Wed, 4 Jul 2018 13:09:35 -0400 Subject: [PATCH 2/3] Travis stuff --- source/js/main.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/js/main.js b/source/js/main.js index 1434ee4ea27..47273d2d85a 100644 --- a/source/js/main.js +++ b/source/js/main.js @@ -232,7 +232,8 @@ let main = { // petition elements var petitionElements = Array.from(document.querySelectorAll(`.sign-petition`)); var subscribed = false; - if (window.location.search.indexOf("subscribed=1") !== -1) { + + if (window.location.search.indexOf(`subscribed=1`) !== -1) { subscribed = true; } From 7cbe7f59871abfb3493bebf674821466e4810261 Mon Sep 17 00:00:00 2001 From: ScottDowne Date: Wed, 4 Jul 2018 14:12:24 -0400 Subject: [PATCH 3/3] Review fixes --- source/js/components/petition/petition.jsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source/js/components/petition/petition.jsx b/source/js/components/petition/petition.jsx index 7115a43f753..ca7a13004fb 100644 --- a/source/js/components/petition/petition.jsx +++ b/source/js/components/petition/petition.jsx @@ -209,6 +209,7 @@ export default class Petition extends React.Component { let surname = this.surname.element.value; let country = this.country && this.country.element.value; let postalCode = this.postalCode && this.postalCode.element.value; + let newsletterSignup = false; // These should not be possible due to the fact that we validate // their content prior to submission. TODO: remove these rejections? @@ -224,13 +225,17 @@ export default class Petition extends React.Component { return reject(new Error(`missing postal code`)); } + if (this.refs.newsletterSignup) { + newsletterSignup = !!(this.refs.newsletterSignup.checked); + } + let payload = { givenNames, surname, email: this.email.element.value, checkbox1: this.props.checkbox1 ? !!(this.refs.checkbox1.checked) : null, checkbox2: this.props.checkbox2 ? !!(this.refs.checkbox2.checked) : null, - newsletterSignup: !!(this.refs.newsletterSignup.checked), + newsletterSignup, country, postalCode, source: window.location.toString(), @@ -578,7 +583,7 @@ export default class Petition extends React.Component { { this.props.subscribed ? null :