Index: chrome/browser/resources/options/manage_profile_overlay.js |
diff --git a/chrome/browser/resources/options/manage_profile_overlay.js b/chrome/browser/resources/options/manage_profile_overlay.js |
index df9862b545f1c027297dbf3f5fed425fdef660cf..5fef4c2e3bff54247723f191d393bb531401cbfe 100644 |
--- a/chrome/browser/resources/options/manage_profile_overlay.js |
+++ b/chrome/browser/resources/options/manage_profile_overlay.js |
@@ -379,22 +379,32 @@ cr.define('options', function() { |
var newName = $('create-profile-name').value; |
var i; |
for (i = 0; i < supervisedUsers.length; ++i) { |
- if (supervisedUsers[i].name == newName && |
- !supervisedUsers[i].onCurrentDevice) { |
- var errorHtml = loadTimeData.getStringF( |
- 'manageProfilesExistingSupervisedUser', |
- HTMLEscape(elide(newName, /* maxLength */ 50))); |
- this.showErrorBubble_(errorHtml, 'create', true); |
- |
+ if (supervisedUsers[i].name == newName) { |
Marc Treib
2015/12/16 09:26:54
optional nit: You could say
if (supervisedUsers[i]
atanasova
2015/12/16 14:35:37
Done.
|
// Check if another supervised user also exists with that name. |
var nameIsUnique = true; |
+ // Handling the case when multiple supervised users with the same |
+ // name exist, but not all of them are on the device. |
+ // If at least one is not imported, we want to offer that |
+ // option to the user. This could happen due to a bug that allowed |
+ // creating SUs with the same name. |
+ var allOnCurrentDevice = supervisedUsers[i].onCurrentDevice; |
var j; |
for (j = i + 1; j < supervisedUsers.length; ++j) { |
if (supervisedUsers[j].name == newName) { |
nameIsUnique = false; |
- break; |
+ allOnCurrentDevice = allOnCurrentDevice && |
+ supervisedUsers[j].onCurrentDevice; |
} |
} |
+ |
+ var errorHtml = allOnCurrentDevice ? |
+ loadTimeData.getStringF( |
+ 'managedProfilesExistingLocalSupervisedUser') : |
+ loadTimeData.getStringF( |
+ 'manageProfilesExistingSupervisedUser', |
+ HTMLEscape(elide(newName, /* maxLength */ 50))); |
+ this.showErrorBubble_(errorHtml, 'create', true); |
+ |
$('supervised-user-import-existing').onclick = |
this.getImportHandler_(supervisedUsers[i], nameIsUnique); |
$('create-profile-ok').disabled = true; |