| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen
_handler.h" | 5 #include "chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen
_handler.h" |
| 6 | 6 |
| 7 #include "ash/audio/sounds.h" | 7 #include "ash/audio/sounds.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "base/values.h" | 9 #include "base/values.h" |
| 10 #include "chrome/browser/chromeos/login/screens/user_selection_screen.h" | 10 #include "chrome/browser/chromeos/login/screens/user_selection_screen.h" |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 HandleCurrentSupervisedUserPage); | 209 HandleCurrentSupervisedUserPage); |
| 210 } | 210 } |
| 211 | 211 |
| 212 void SupervisedUserCreationScreenHandler::PrepareToShow() {} | 212 void SupervisedUserCreationScreenHandler::PrepareToShow() {} |
| 213 | 213 |
| 214 void SupervisedUserCreationScreenHandler::Show() { | 214 void SupervisedUserCreationScreenHandler::Show() { |
| 215 scoped_ptr<base::DictionaryValue> data(new base::DictionaryValue()); | 215 scoped_ptr<base::DictionaryValue> data(new base::DictionaryValue()); |
| 216 scoped_ptr<base::ListValue> users_list(new base::ListValue()); | 216 scoped_ptr<base::ListValue> users_list(new base::ListValue()); |
| 217 const user_manager::UserList& users = | 217 const user_manager::UserList& users = |
| 218 ChromeUserManager::Get()->GetUsersAllowedForSupervisedUsersCreation(); | 218 ChromeUserManager::Get()->GetUsersAllowedForSupervisedUsersCreation(); |
| 219 std::string owner; | 219 std::string owner_email; |
| 220 chromeos::CrosSettings::Get()->GetString(chromeos::kDeviceOwner, &owner); | 220 chromeos::CrosSettings::Get()->GetString(chromeos::kDeviceOwner, &owner_email)
; |
| 221 const user_manager::UserID owner_id(user_manager::UserID::FromUserEmail(owner_
email)); |
| 221 | 222 |
| 222 for (user_manager::UserList::const_iterator it = users.begin(); | 223 for (user_manager::UserList::const_iterator it = users.begin(); |
| 223 it != users.end(); | 224 it != users.end(); |
| 224 ++it) { | 225 ++it) { |
| 225 bool is_owner = ((*it)->email() == owner); | 226 bool is_owner = ((*it)->GetUserID() == owner_id); |
| 226 base::DictionaryValue* user_dict = new base::DictionaryValue(); | 227 base::DictionaryValue* user_dict = new base::DictionaryValue(); |
| 227 UserSelectionScreen::FillUserDictionary( | 228 UserSelectionScreen::FillUserDictionary( |
| 228 *it, is_owner, false, /* is_signin_to_add */ | 229 *it, is_owner, false, /* is_signin_to_add */ |
| 229 proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, | 230 proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
| 230 NULL, /* public_session_recommended_locales */ | 231 NULL, /* public_session_recommended_locales */ |
| 231 user_dict); | 232 user_dict); |
| 232 users_list->Append(user_dict); | 233 users_list->Append(user_dict); |
| 233 } | 234 } |
| 234 data->Set("managers", users_list.release()); | 235 data->Set("managers", users_list.release()); |
| 235 ShowScreen(OobeUI::kScreenSupervisedUserCreationFlow, data.get()); | 236 ShowScreen(OobeUI::kScreenSupervisedUserCreationFlow, data.get()); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 HandleAbortLocalSupervisedUserCreation() { | 287 HandleAbortLocalSupervisedUserCreation() { |
| 287 delegate_->AbortFlow(); | 288 delegate_->AbortFlow(); |
| 288 } | 289 } |
| 289 | 290 |
| 290 void SupervisedUserCreationScreenHandler:: | 291 void SupervisedUserCreationScreenHandler:: |
| 291 HandleHideLocalSupervisedUserCreation() { | 292 HandleHideLocalSupervisedUserCreation() { |
| 292 delegate_->HideFlow(); | 293 delegate_->HideFlow(); |
| 293 } | 294 } |
| 294 | 295 |
| 295 void SupervisedUserCreationScreenHandler::HandleManagerSelected( | 296 void SupervisedUserCreationScreenHandler::HandleManagerSelected( |
| 296 const std::string& manager_id) { | 297 const std::string& manager_email) { |
| 297 if (!delegate_) | 298 if (!delegate_) |
| 298 return; | 299 return; |
| 299 WallpaperManager::Get()->SetUserWallpaperNow(manager_id); | 300 WallpaperManager::Get()->SetUserWallpaperNow(user_manager::UserID::FromUserEma
il(manager_email)); |
| 300 } | 301 } |
| 301 | 302 |
| 302 void SupervisedUserCreationScreenHandler::HandleImportUserSelected( | 303 void SupervisedUserCreationScreenHandler::HandleImportUserSelected( |
| 303 const std::string& user_id) { | 304 const std::string& user_email) { |
| 304 if (!delegate_) | 305 if (!delegate_) |
| 305 return; | 306 return; |
| 306 } | 307 } |
| 307 | 308 |
| 308 void SupervisedUserCreationScreenHandler::HandleCheckSupervisedUserName( | 309 void SupervisedUserCreationScreenHandler::HandleCheckSupervisedUserName( |
| 309 const base::string16& name) { | 310 const base::string16& name) { |
| 310 std::string user_id; | 311 std::string user_email; |
| 311 if (NULL != | 312 if (NULL != |
| 312 ChromeUserManager::Get()->GetSupervisedUserManager()->FindByDisplayName( | 313 ChromeUserManager::Get()->GetSupervisedUserManager()->FindByDisplayName( |
| 313 base::CollapseWhitespace(name, true))) { | 314 base::CollapseWhitespace(name, true))) { |
| 314 CallJS("supervisedUserNameError", name, | 315 CallJS("supervisedUserNameError", name, |
| 315 l10n_util::GetStringUTF16( | 316 l10n_util::GetStringUTF16( |
| 316 IDS_CREATE_SUPERVISED_USER_CREATE_USERNAME_ALREADY_EXISTS)); | 317 IDS_CREATE_SUPERVISED_USER_CREATE_USERNAME_ALREADY_EXISTS)); |
| 317 } else if (net::EscapeForHTML(name) != name) { | 318 } else if (net::EscapeForHTML(name) != name) { |
| 318 CallJS("supervisedUserNameError", name, | 319 CallJS("supervisedUserNameError", name, |
| 319 l10n_util::GetStringUTF16( | 320 l10n_util::GetStringUTF16( |
| 320 IDS_CREATE_SUPERVISED_USER_CREATE_ILLEGAL_USERNAME)); | 321 IDS_CREATE_SUPERVISED_USER_CREATE_ILLEGAL_USERNAME)); |
| 321 } else if (delegate_ && delegate_->FindUserByDisplayName( | 322 } else if (delegate_ && delegate_->FindUserByDisplayName( |
| 322 base::CollapseWhitespace(name, true), &user_id)) { | 323 base::CollapseWhitespace(name, true), &user_email)) { |
| 323 CallJS("supervisedUserSuggestImport", name, user_id); | 324 CallJS("supervisedUserSuggestImport", name, user_email); |
| 324 } else { | 325 } else { |
| 325 CallJS("supervisedUserNameOk", name); | 326 CallJS("supervisedUserNameOk", name); |
| 326 } | 327 } |
| 327 } | 328 } |
| 328 | 329 |
| 329 void SupervisedUserCreationScreenHandler::HandleCreateSupervisedUser( | 330 void SupervisedUserCreationScreenHandler::HandleCreateSupervisedUser( |
| 330 const base::string16& new_raw_user_name, | 331 const base::string16& new_raw_user_name, |
| 331 const std::string& new_user_password) { | 332 const std::string& new_user_password) { |
| 332 if (!delegate_) | 333 if (!delegate_) |
| 333 return; | 334 return; |
| (...skipping 22 matching lines...) Expand all Loading... |
| 356 return; | 357 return; |
| 357 } | 358 } |
| 358 | 359 |
| 359 ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( | 360 ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( |
| 360 IDS_CREATE_SUPERVISED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); | 361 IDS_CREATE_SUPERVISED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); |
| 361 | 362 |
| 362 delegate_->CreateSupervisedUser(new_user_name, new_user_password); | 363 delegate_->CreateSupervisedUser(new_user_name, new_user_password); |
| 363 } | 364 } |
| 364 | 365 |
| 365 void SupervisedUserCreationScreenHandler::HandleImportSupervisedUser( | 366 void SupervisedUserCreationScreenHandler::HandleImportSupervisedUser( |
| 366 const std::string& user_id) { | 367 const std::string& user_email) { |
| 367 if (!delegate_) | 368 if (!delegate_) |
| 368 return; | 369 return; |
| 369 | 370 |
| 370 ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( | 371 ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( |
| 371 IDS_CREATE_SUPERVISED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); | 372 IDS_CREATE_SUPERVISED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); |
| 372 | 373 |
| 373 delegate_->ImportSupervisedUser(user_id); | 374 delegate_->ImportSupervisedUser(user_manager::UserID::FromUserEmail(user_email
)); |
| 374 } | 375 } |
| 375 | 376 |
| 376 void SupervisedUserCreationScreenHandler:: | 377 void SupervisedUserCreationScreenHandler:: |
| 377 HandleImportSupervisedUserWithPassword( | 378 HandleImportSupervisedUserWithPassword( |
| 378 const std::string& user_id, | 379 const std::string& user_email, |
| 379 const std::string& password) { | 380 const std::string& password) { |
| 380 if (!delegate_) | 381 if (!delegate_) |
| 381 return; | 382 return; |
| 382 | 383 |
| 383 ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( | 384 ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( |
| 384 IDS_CREATE_SUPERVISED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); | 385 IDS_CREATE_SUPERVISED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); |
| 385 | 386 |
| 386 delegate_->ImportSupervisedUserWithPassword(user_id, password); | 387 delegate_->ImportSupervisedUserWithPassword(user_manager::UserID::FromUserEmai
l(user_email), password); |
| 387 } | 388 } |
| 388 | 389 |
| 389 void SupervisedUserCreationScreenHandler::HandleAuthenticateManager( | 390 void SupervisedUserCreationScreenHandler::HandleAuthenticateManager( |
| 390 const std::string& raw_manager_username, | 391 const std::string& raw_manager_username, |
| 391 const std::string& manager_password) { | 392 const std::string& manager_password) { |
| 392 const std::string manager_username = | 393 const std::string manager_username = |
| 393 gaia::SanitizeEmail(raw_manager_username); | 394 gaia::SanitizeEmail(raw_manager_username); |
| 394 delegate_->AuthenticateManager(manager_username, manager_password); | 395 delegate_->AuthenticateManager(user_manager::UserID::FromUserEmail(manager_use
rname), manager_password); |
| 395 } | 396 } |
| 396 | 397 |
| 397 // TODO(antrim) : this is an explicit code duplications with UserImageScreen. | 398 // TODO(antrim) : this is an explicit code duplications with UserImageScreen. |
| 398 // It should be removed by issue 251179. | 399 // It should be removed by issue 251179. |
| 399 void SupervisedUserCreationScreenHandler::HandleGetImages() { | 400 void SupervisedUserCreationScreenHandler::HandleGetImages() { |
| 400 base::ListValue image_urls; | 401 base::ListValue image_urls; |
| 401 for (int i = user_manager::kFirstDefaultImageIndex; | 402 for (int i = user_manager::kFirstDefaultImageIndex; |
| 402 i < user_manager::kDefaultImagesCount; | 403 i < user_manager::kDefaultImagesCount; |
| 403 ++i) { | 404 ++i) { |
| 404 scoped_ptr<base::DictionaryValue> image_data(new base::DictionaryValue); | 405 scoped_ptr<base::DictionaryValue> image_data(new base::DictionaryValue); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 455 void SupervisedUserCreationScreenHandler::SetCameraPresent(bool present) { | 456 void SupervisedUserCreationScreenHandler::SetCameraPresent(bool present) { |
| 456 CallJS("setCameraPresent", present); | 457 CallJS("setCameraPresent", present); |
| 457 } | 458 } |
| 458 | 459 |
| 459 void SupervisedUserCreationScreenHandler::ShowExistingSupervisedUsers( | 460 void SupervisedUserCreationScreenHandler::ShowExistingSupervisedUsers( |
| 460 const base::ListValue* users) { | 461 const base::ListValue* users) { |
| 461 CallJS("setExistingSupervisedUsers", *users); | 462 CallJS("setExistingSupervisedUsers", *users); |
| 462 } | 463 } |
| 463 | 464 |
| 464 } // namespace chromeos | 465 } // namespace chromeos |
| OLD | NEW |