From d3ed67240306bcb9ba34bf92f5708dae28b63c4a Mon Sep 17 00:00:00 2001
From: webchick <webchick@24967.no-reply.drupal.org>
Date: Wed, 8 Jun 2011 21:16:35 -0700
Subject: [PATCH] Issue #1149188 by fago: Fixed machine_name.js does not
 respect maxlength of target field.

---
 misc/machine-name.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/misc/machine-name.js b/misc/machine-name.js
index 00a648a1b54f..2691c3b73a2c 100644
--- a/misc/machine-name.js
+++ b/misc/machine-name.js
@@ -35,6 +35,8 @@ Drupal.behaviors.machineName = {
       if ($target.hasClass('error')) {
         return;
       }
+      // Figure out the maximum length for the machine name.
+      options.maxlength = $target.attr('maxlength');
       // Hide the form item container of the machine name form element.
       $wrapper.hide();
       // Determine the initial machine name value. Unless the machine name form
@@ -103,13 +105,14 @@ Drupal.behaviors.machineName = {
    *     disallowed characters in the machine name; e.g., '[^a-z0-9]+'.
    *   - replace: A character to replace disallowed characters with; e.g., '_'
    *     or '-'.
+   *   - maxlength: The maximum length of the machine name.
    *
    * @return
    *   The transliterated source string.
    */
   transliterate: function (source, settings) {
     var rx = new RegExp(settings.replace_pattern, 'g');
-    return source.toLowerCase().replace(rx, settings.replace);
+    return source.toLowerCase().replace(rx, settings.replace).substr(0, settings.maxlength);
   }
 };
 
-- 
GitLab