From abff68b382f6927b22f4f4bc2c66b543f0738c66 Mon Sep 17 00:00:00 2001
From: nishiki <nishiki@yaegashi.fr>
Date: Thu, 9 Jan 2014 23:16:07 +0100
Subject: [PATCH] fix my reverse

---
 i18n/en.yml |  2 +-
 i18n/fr.yml |  2 +-
 lib/MPW.rb  | 11 ++++++++++-
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/i18n/en.yml b/i18n/en.yml
index e4e8e94..6eecd3c 100644
--- a/i18n/en.yml
+++ b/i18n/en.yml
@@ -35,7 +35,7 @@ en:
       import: "Import item since a CSV file"
       force: "Force an action"
       format: "Change the display items format by an alternative format"
-      generate_password: "Generate a random password (default 8 characters, max 63 characters)"
+      generate_password: "Generate a random password (default 8 characters)"
       help: "Show this help message"
     form:
       add:
diff --git a/i18n/fr.yml b/i18n/fr.yml
index 0447f42..ba433fb 100644
--- a/i18n/fr.yml
+++ b/i18n/fr.yml
@@ -35,7 +35,7 @@ fr:
       import: "Importe des éléments depuis un fichier au format CSV"
       force: "Force une action, l'action ne demandera pas de confirmation"
       format: "Change le format d'affichage des éléments par un alternatif"
-      generate_password: "Génére un mot de passe aléatoire (défaut 8 caractères, max 63 caractères)"
+      generate_password: "Génére un mot de passe aléatoire (défaut 8 caractères)"
       help: "Affiche ce message d'aide"
     form:
       add:
diff --git a/lib/MPW.rb b/lib/MPW.rb
index d89ab29..e38ec0a 100644
--- a/lib/MPW.rb
+++ b/lib/MPW.rb
@@ -360,9 +360,18 @@ class MPW
 	def self.generatePassword(length=8)
 		if length.to_i <= 0
 			length = 8
+		else
+			length = length.to_i
 		end
 
-		return ([*('A'..'Z'),*('a'..'z'),*('0'..'9')]).sample(length.to_i).join
+		result = ''
+		while length > 62 do
+			result << ([*('A'..'Z'),*('a'..'z'),*('0'..'9')]).sample(62).join
+			length -= 62
+		end
+		result << ([*('A'..'Z'),*('a'..'z'),*('0'..'9')]).sample(length).join
+
+		return result
 		#return ([*('A'..'Z'),*('a'..'z'),*('0'..'9')]-%w(0 1 I O l i o)).sample(length).join
 	end