From c7d41e5bea4a5f96979a08da9cc9f79355edfe70 Mon Sep 17 00:00:00 2001 From: wei <> Date: Sun, 16 Jul 2006 06:19:36 +0000 Subject: Update Time Tracker demo. --- .../protected/pages/TimeTracker/Login.page | 38 +++++++++++ .../protected/pages/TimeTracker/Login.php | 53 +++++++++++++++ .../protected/pages/TimeTracker/Logout.page | 0 .../protected/pages/TimeTracker/Logout.php | 34 ++++++++++ .../protected/pages/TimeTracker/MainLayout.php | 7 ++ .../protected/pages/TimeTracker/MainLayout.tpl | 40 +++++++++++ .../protected/pages/TimeTracker/SiteMap.php | 8 +++ .../protected/pages/TimeTracker/SiteMap.tpl | 43 ++++++++++++ .../protected/pages/TimeTracker/UserCreate.page | 65 ++++++++++++++++++ .../protected/pages/TimeTracker/UserCreate.php | 78 ++++++++++++++++++++++ .../protected/pages/TimeTracker/UserList.page | 3 + .../protected/pages/TimeTracker/config.xml | 24 +++++++ 12 files changed, 393 insertions(+) create mode 100644 demos/time-tracker/protected/pages/TimeTracker/Login.page create mode 100644 demos/time-tracker/protected/pages/TimeTracker/Login.php create mode 100644 demos/time-tracker/protected/pages/TimeTracker/Logout.page create mode 100644 demos/time-tracker/protected/pages/TimeTracker/Logout.php create mode 100644 demos/time-tracker/protected/pages/TimeTracker/MainLayout.php create mode 100644 demos/time-tracker/protected/pages/TimeTracker/MainLayout.tpl create mode 100644 demos/time-tracker/protected/pages/TimeTracker/SiteMap.php create mode 100644 demos/time-tracker/protected/pages/TimeTracker/SiteMap.tpl create mode 100644 demos/time-tracker/protected/pages/TimeTracker/UserCreate.page create mode 100644 demos/time-tracker/protected/pages/TimeTracker/UserCreate.php create mode 100644 demos/time-tracker/protected/pages/TimeTracker/UserList.page create mode 100644 demos/time-tracker/protected/pages/TimeTracker/config.xml (limited to 'demos/time-tracker/protected/pages/TimeTracker') diff --git a/demos/time-tracker/protected/pages/TimeTracker/Login.page b/demos/time-tracker/protected/pages/TimeTracker/Login.page new file mode 100644 index 00000000..dbc16de1 --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/Login.page @@ -0,0 +1,38 @@ +<%@ Title="My Company - Time Tracker - Site Logon" %> + +

Time Tracker Website Login

+ +
User Login +
+ + * + + +
+
+ + * + + +
+
+ +
+ + +
+
\ No newline at end of file diff --git a/demos/time-tracker/protected/pages/TimeTracker/Login.php b/demos/time-tracker/protected/pages/TimeTracker/Login.php new file mode 100644 index 00000000..376953a5 --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/Login.php @@ -0,0 +1,53 @@ + + * @link http://www.pradosoft.com/ + * @copyright Copyright © 2005-2006 PradoSoft + * @license http://www.pradosoft.com/license/ + * @version $Revision: $ $16/07/2006: $ + * @package Demos + */ + +/** + * Login page class. + * + * Validate the user credentials and redirect to requested page + * if successful. + * + * @author Wei Zhuo + * @version $Revision: $ $16/07/2006: $ + * @package Demos + * @since 3.1 + */ +class Login extends TPage +{ + /** + * Validates the username and password. + * @param TControl custom validator that created the event. + * @param TServerValidateEventParameter validation parameters. + */ + public function validateUser($sender, $param) + { + $authManager=$this->Application->getModule('auth'); + if(!$authManager->login($this->username->Text,$this->password->Text)) + $param->IsValid=false;; + } + + /** + * Redirect to the requested page if login is successful. + * @param TControl button control that created the event. + * @param TEventParameter event parameters. + */ + public function doLogin($sender, $param) + { + if($this->Page->IsValid) + { + $auth = $this->Application->getModule('auth'); + $this->Response->redirect($auth->getReturnUrl()); + } + } +} + +?> \ No newline at end of file diff --git a/demos/time-tracker/protected/pages/TimeTracker/Logout.page b/demos/time-tracker/protected/pages/TimeTracker/Logout.page new file mode 100644 index 00000000..e69de29b diff --git a/demos/time-tracker/protected/pages/TimeTracker/Logout.php b/demos/time-tracker/protected/pages/TimeTracker/Logout.php new file mode 100644 index 00000000..08fdfaf6 --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/Logout.php @@ -0,0 +1,34 @@ + + * @link http://www.pradosoft.com/ + * @copyright Copyright © 2005-2006 PradoSoft + * @license http://www.pradosoft.com/license/ + * @version $Revision: $ $16/07/2006: $ + * @package Demos + */ + +/** + * Logout page class. + * + * @author Wei Zhuo + * @version $Revision: $ $16/07/2006: $ + * @package Demos + * @since 3.1 + */ +class Logout extends TPage +{ + /** + * Logs out the current user and redirect to default page. + */ + function onLoad($param) + { + $this->Application->getModule('auth')->logout(); + $url = $this->Service->constructUrl($this->Service->DefaultPage); + $this->Response->redirect($url); + } +} + +?> \ No newline at end of file diff --git a/demos/time-tracker/protected/pages/TimeTracker/MainLayout.php b/demos/time-tracker/protected/pages/TimeTracker/MainLayout.php new file mode 100644 index 00000000..253d6c03 --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/MainLayout.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/demos/time-tracker/protected/pages/TimeTracker/MainLayout.tpl b/demos/time-tracker/protected/pages/TimeTracker/MainLayout.tpl new file mode 100644 index 00000000..2d8bad44 --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/MainLayout.tpl @@ -0,0 +1,40 @@ + + + + + + + +

+ My Company + Time Tracker + +

+
+ +

Help

+

Implementation Guide

+
+ +User->getIsGuest() %> /> + +
+ +
+ +
+ + + \ No newline at end of file diff --git a/demos/time-tracker/protected/pages/TimeTracker/SiteMap.php b/demos/time-tracker/protected/pages/TimeTracker/SiteMap.php new file mode 100644 index 00000000..0b71eb68 --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/SiteMap.php @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/demos/time-tracker/protected/pages/TimeTracker/SiteMap.tpl b/demos/time-tracker/protected/pages/TimeTracker/SiteMap.tpl new file mode 100644 index 00000000..48187b52 --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/SiteMap.tpl @@ -0,0 +1,43 @@ + + + + Event.OnLoad(function() + { + menuitems = $$(".menuitem"); + menuitems.each(function(el) + { + Event.observe(el, "mouseover", function(ev) + { + menuitems.each(function(item) + { + Element.removeClassName(item.parentNode, "active"); + }); + Element.addClassName(Event.element(ev).parentNode, "active"); + }); + }); + }); + + \ No newline at end of file diff --git a/demos/time-tracker/protected/pages/TimeTracker/UserCreate.page b/demos/time-tracker/protected/pages/TimeTracker/UserCreate.page new file mode 100644 index 00000000..fda7ba9b --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/UserCreate.page @@ -0,0 +1,65 @@ + +

Create New User

+ + + +
\ No newline at end of file diff --git a/demos/time-tracker/protected/pages/TimeTracker/UserCreate.php b/demos/time-tracker/protected/pages/TimeTracker/UserCreate.php new file mode 100644 index 00000000..b337bfca --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/UserCreate.php @@ -0,0 +1,78 @@ + + * @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 + * @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); + } + } +} + +?> \ No newline at end of file diff --git a/demos/time-tracker/protected/pages/TimeTracker/UserList.page b/demos/time-tracker/protected/pages/TimeTracker/UserList.page new file mode 100644 index 00000000..48b2bbc7 --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/UserList.page @@ -0,0 +1,3 @@ + +

List Users

+
\ No newline at end of file diff --git a/demos/time-tracker/protected/pages/TimeTracker/config.xml b/demos/time-tracker/protected/pages/TimeTracker/config.xml new file mode 100644 index 00000000..dac6465d --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/config.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3