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 |