Template:2012FR/Form-section/Processing/Default: Difference between revisions

From Donate
Jump to navigation Jump to search
Content deleted Content added
adding new toggleMonthly function
note why this is kept
 
(29 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- Merged to MediaWiki:DonationForm.js. Kept this page for the history. -->
<html>
<script>
var donationForm = donationForm | {};

function redirectPayment (legacyPaymentMethod) {
// wrapper for new function
// using old method parameters
// until buttons can be updated

switch (legacyPaymentMethod) {
case 'cc':
donationForm.redirectPaymentWithSubMethod('cc');
break;

case 'paypal':
case 'pp':
case 'ew-pp':
case 'ew-rpp':
case 'ew-pp-usd':
case 'ew-pp-eur':
donationForm.redirectPaymentWithSubMethod('paypal');
break;

case 'dd':
donationForm.redirectPaymentWithSubMethod('dd');
break;

case 'rtbt-id':
donationForm.redirectPaymentWithSubMethod('rtbt', 'rtbt_ideal');
break;

case 'ew-yd':
donationForm.redirectPaymentWithSubMethod('ew', 'ew_yandex');
break;

case 'rtbt-sf':
donationForm.redirectPaymentWithSubMethod('rtbt', 'rtbt_sofortuberweisung');
break;

case 'ew-amazon':
donationForm.redirectPaymentWithSubMethod('amazon');
break;

case 'obt-bp':
donationForm.redirectPaymentWithSubMethod('obt', 'bpay');
break;

case 'ew-wm':
donationForm.redirectPaymentWithSubMethod('ew', 'ew_webmoney');
break;

case 'cash-bl':
donationForm.redirectPaymentWithSubMethod('cash', 'boleto');
break;

case 'rtbt-en':
donationForm.redirectPaymentWithSubMethod('rtbt', 'rtbt_enets');
break;
}

}

donationForm.redirectPaymentWithSubMethod = function(paymentMethod, paymentSubMethod) {

// set up inputs
document.getElementsByName("currency_code")[0].value = '</html>{{{currency|USD}}}<html>';

if (typeof paymentSubMethod == 'undefined') {
paymentSubMethod = '';
}
var form = document.paypalcontribution; // we should really change this some day
var paymentsURL = 'https://payments.wikimedia.org/index.php/Special:GatewayFormChooser';
var params = {
'uselang' : $("input[name='language']").val(),
'language' : $("input[name='language']").val(),
'currency' : $("input[name='currency_code']").val(),
'country' : $("input[name='country']").val(),
'paymentmethod' : paymentMethod
};
if( paymentSubMethod != '' ){
params['submethod'] = paymentSubMethod;
}
// Testing for Adyen
if( paymentMethod === 'adyen-cc' ) {
paymentMethod = 'cc';
params.paymentmethod = 'cc';
params.gateway = 'adyen';
}
var frequency = $("input[name='frequency']:checked").val();
if( frequency !== 'monthly' ){
frequency = 'onetime';
// commented out below as it breaks eNETS for some reason
// params['recurring'] = 'false';
} else {
params['recurring'] = 'true';
// the following is only for contribution_tracking, do not submit 'r' to payments
paymentMethod = 'r' + paymentMethod;
}
form.action = paymentsURL + '?' + $.param(params);
form.payment_method.value = paymentMethod;
if( paymentSubMethod != '' ){
form.payment_method.value = form.payment_method.value + '.' + paymentSubMethod;
}

donationForm.addAnalytics();
if (validateForm(form)) {
form.method = "POST";
form.submit();
}
}

donationForm.addAnalytics = function() {
// stuffs parameters into utm_source to make them available for analytics

var form = document.paypalcontribution;

form.utm_source.value = getQuerystring( 'utm_source' ) + '.';

if(getQuerystring( 'template' ) == '') {
form.utm_source.value += 'default' + '~';
} else {
form.utm_source.value += getQuerystring( 'template' ).replace("Lp-layout-","") + '~';
}

if(getQuerystring( 'appeal-template' ) == '') {
form.utm_source.value += 'default' + '~';
} else {
form.utm_source.value += getQuerystring( 'appeal-template' ).replace("Appeal-template-","") + '~';
}

if(getQuerystring( 'appeal' ) == '') {
form.utm_source.value += 'default' + '~';
} else {
form.utm_source.value += getQuerystring( 'appeal' ).replace("Appeal-","") + '~';
}

if(getQuerystring( 'form-template' ) == '') {
form.utm_source.value += 'default' + '~';
} else {
form.utm_source.value += getQuerystring( 'form-template' ).replace("Form-template-","") + '~';
}

if(getQuerystring( 'form-countryspecific' ) == '') {
form.utm_source.value += 'control';
} else {
form.utm_source.value += getQuerystring( 'form-countryspecific' ).replace("Form-countryspecific-","");
}

form.utm_source.value += '.' + form.payment_method.value;
form.utm_campaign.value = getQuerystring( 'utm_campaign' );
}

donationForm.toggleMonthly = function(monthly) {
if (monthly) {
$('#form-wrapper').addClass('form-monthly');
} else {
$('#form-wrapper').removeClass('form-monthly');
}
}
</script>
</html>

Latest revision as of 13:04, 2 April 2019