blob: b337bfca1157a41c8511977b2bd371982dd2ad5b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
<?php
/**
* UserCreate page class file.
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link http://www.pradosoft.com/
* @copyright Copyright © 2005-2006 PradoSoft
* @license http://www.pradosoft.com/license/
* @version $Revision: $ $16/07/2006: $
* @package Demos
*/
/**
* Create new user page class. Validate that the usernames are unique
* and set the new user credentials as the current application credentials.
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @version $Revision: $ $16/07/2006: $
* @package Demos
* @since 3.1
*/
class UserCreate extends TPage
{
/**
* Verify that the username is not taken.
* @param TControl custom validator that created the event.
* @param TServerValidateEventParameter validation parameters.
*/
public function checkUsername($sender, $param)
{
$userDao = $this->Application->Modules['daos']->getDao('UserDao');
$user = $userDao->getUserByName($this->username->Text);
if(!is_null($user))
{
$param->IsValid = false;
$sender->ErrorMessage =
"The user name is already taken, try '{$user->Name}01'";
}
}
/**
* Create a new user if all data entered are valid.
* The default user roles are obtained from "config.xml". The new user
* details is saved to the database and the new credentials are used as the
* application user. The user is redirected to the requested page.
* @param TControl button control that created the event.
* @param TEventParameter event parameters.
*/
public function createNewUser($sender, $param)
{
if($this->IsValid)
{
$newUser = new TimeTrackerUser($this->User->Manager);
$newUser->EmailAddress = $this->email->Text;
$newUser->Name = $this->username->Text;
$newUser->IsGuest = false;
$newUser->Roles = $this->Application->Parameters['NewUserRoles'];
//save the user
$userDao = $this->Application->Modules['daos']->getDao('UserDao');
$userDao->addNewUser($newUser, $this->password->Text);
//update the user
$auth = $this->Application->getModule('auth');
$auth->updateSessionUser($newUser);
$this->Application->User = $newUser;
//return to requested page
$this->Response->redirect($auth->getReturnUrl());
//goto default page.
//$url = $this->Service->constructUrl($this->Service->DefaultPage);
//$this->Response->redirect($url);
}
}
}
?>
|