From 296f6e9f1166d8623c1d9ed37dc55dbbdc02f5be Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Mon, 22 Oct 2007 15:48:26 +0000 Subject: [PATCH] - Patch #180948 by quicksketch: automatically populate e-mail fields during install. --- install.php | 2 +- modules/system/system.js | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/install.php b/install.php index d117fcebe99..1cc77bb475a 100644 --- a/install.php +++ b/install.php @@ -922,7 +922,7 @@ function install_configure_form() { drupal_add_js(drupal_get_path('module', 'system') .'/system.js', 'module'); // We add these strings as settings because JavaScript translation does not // work on install time. - drupal_add_js(array('cleanURL' => array('success' => st('Your server has been successfully tested to support this feature.'), 'failure' => st('Your system configuration does not currently support this feature. The handbook page on Clean URLs has additional troubleshooting information.'), 'testing' => st('Testing clean URLs...'))), 'setting'); + drupal_add_js(array('copyFieldValue' => array('edit-site-mail' => array('edit-account-mail')), 'cleanURL' => array('success' => st('Your server has been successfully tested to support this feature.'), 'failure' => st('Your system configuration does not currently support this feature. The handbook page on Clean URLs has additional troubleshooting information.'), 'testing' => st('Testing clean URLs...'))), 'setting'); drupal_add_js(' // Global Killswitch if (Drupal.jsEnabled) { diff --git a/modules/system/system.js b/modules/system/system.js index 2db886eee65..45741e76a10 100644 --- a/modules/system/system.js +++ b/modules/system/system.js @@ -60,6 +60,31 @@ Drupal.cleanURLsInstallCheck = function() { $("#clean-url").addClass('clean-url-processed'); }; +/** + * When a field is filled out, apply its value to other fields that will likely + * use the same value. In the installer this is used to populate the + * administrator e-mail address with the same value as the site e-mail address. + */ +Drupal.behaviors.copyFieldValue = function (context) { + for (var sourceId in Drupal.settings.copyFieldValue) { + // Get the list of target fields. + targetIds = Drupal.settings.copyFieldValue[sourceId]; + if (!$('#'+ sourceId + '.copy-field-values-processed').size(), context) { + // Add the behavior to update target fields on blur of the primary field. + sourceField = $('#' + sourceId); + sourceField.bind('blur', function() { + for (var delta in targetIds) { + var targetField = $('#'+ targetIds[delta]); + if (targetField.val() == '') { + targetField.val(this.value); + } + } + }); + sourceField.addClass('copy-field-values-processed'); + } + } +} + /** * Show/hide custom format sections on the date-time settings page. */