Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Side by Side Diff: chrome/browser/resources/options/manage_profile_overlay.js

Issue 1506353007: Show warning message when trying to create SU with existing name (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 cr.define('options', function() { 5 cr.define('options', function() {
6 var Page = cr.ui.pageManager.Page; 6 var Page = cr.ui.pageManager.Page;
7 var PageManager = cr.ui.pageManager.PageManager; 7 var PageManager = cr.ui.pageManager.PageManager;
8 var ArrayDataModel = cr.ui.ArrayDataModel; 8 var ArrayDataModel = cr.ui.ArrayDataModel;
9 9
10 /** 10 /**
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 */ 372 */
373 receiveExistingSupervisedUsers_: function(supervisedUsers) { 373 receiveExistingSupervisedUsers_: function(supervisedUsers) {
374 $('import-existing-supervised-user-link').hidden = 374 $('import-existing-supervised-user-link').hidden =
375 supervisedUsers.length === 0; 375 supervisedUsers.length === 0;
376 if (!$('create-profile-supervised').checked) 376 if (!$('create-profile-supervised').checked)
377 return; 377 return;
378 378
379 var newName = $('create-profile-name').value; 379 var newName = $('create-profile-name').value;
380 var i; 380 var i;
381 for (i = 0; i < supervisedUsers.length; ++i) { 381 for (i = 0; i < supervisedUsers.length; ++i) {
382 if (supervisedUsers[i].name == newName && 382 if (supervisedUsers[i].name != newName)
383 !supervisedUsers[i].onCurrentDevice) { 383 continue;
384 var errorHtml = loadTimeData.getStringF( 384 // Check if another supervised user also exists with that name.
385 'manageProfilesExistingSupervisedUser', 385 var nameIsUnique = true;
386 HTMLEscape(elide(newName, /* maxLength */ 50))); 386 // Handling the case when multiple supervised users with the same
387 this.showErrorBubble_(errorHtml, 'create', true); 387 // name exist, but not all of them are on the device.
388 // If at least one is not imported, we want to offer that
389 // option to the user. This could happen due to a bug that allowed
390 // creating SUs with the same name (https://crbug.com/557445).
391 var allOnCurrentDevice = supervisedUsers[i].onCurrentDevice;
392 var j;
393 for (j = i + 1; j < supervisedUsers.length; ++j) {
394 if (supervisedUsers[j].name == newName) {
395 nameIsUnique = false;
396 allOnCurrentDevice = allOnCurrentDevice &&
397 supervisedUsers[j].onCurrentDevice;
398 }
399 }
388 400
389 // Check if another supervised user also exists with that name. 401 var errorHtml = allOnCurrentDevice ?
390 var nameIsUnique = true; 402 loadTimeData.getStringF(
391 var j; 403 'managedProfilesExistingLocalSupervisedUser') :
392 for (j = i + 1; j < supervisedUsers.length; ++j) { 404 loadTimeData.getStringF(
393 if (supervisedUsers[j].name == newName) { 405 'manageProfilesExistingSupervisedUser',
394 nameIsUnique = false; 406 HTMLEscape(elide(newName, /* maxLength */ 50)));
395 break; 407 this.showErrorBubble_(errorHtml, 'create', true);
396 } 408
397 } 409 $('supervised-user-import-existing').onclick =
398 $('supervised-user-import-existing').onclick = 410 this.getImportHandler_(supervisedUsers[i], nameIsUnique);
399 this.getImportHandler_(supervisedUsers[i], nameIsUnique); 411 $('create-profile-ok').disabled = true;
400 $('create-profile-ok').disabled = true; 412 return;
401 return;
402 }
403 } 413 }
404 }, 414 },
405 415
406 /** 416 /**
407 * Called in case the request for the list of supervised users fails because 417 * Called in case the request for the list of supervised users fails because
408 * of a signin error. 418 * of a signin error.
409 * @private 419 * @private
410 */ 420 */
411 onSigninError_: function() { 421 onSigninError_: function() {
412 this.updateSignedInStatus(this.signedInEmail_, true); 422 this.updateSignedInStatus(this.signedInEmail_, true);
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after
861 'updateSignedInStatus', 871 'updateSignedInStatus',
862 'updateSupervisedUsersAllowed', 872 'updateSupervisedUsersAllowed',
863 ]); 873 ]);
864 874
865 // Export 875 // Export
866 return { 876 return {
867 ManageProfileOverlay: ManageProfileOverlay, 877 ManageProfileOverlay: ManageProfileOverlay,
868 CreateProfileOverlay: CreateProfileOverlay, 878 CreateProfileOverlay: CreateProfileOverlay,
869 }; 879 };
870 }); 880 });
OLDNEW
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/ui/webui/options/manage_profile_browsertest.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698