diff options
Diffstat (limited to 'demos')
9 files changed, 132 insertions, 94 deletions
| diff --git a/demos/time-tracker/protected/App_Code/ReportsDao.php b/demos/time-tracker/protected/App_Code/ReportsDao.php index 8d2e2627..50005d06 100644 --- a/demos/time-tracker/protected/App_Code/ReportsDao.php +++ b/demos/time-tracker/protected/App_Code/ReportsDao.php @@ -61,18 +61,6 @@ class UserProjectReport  class ReportsDao extends BaseDao
  {
 -	public function getUserTimeReport($username)
 -	{
 -		$sqlmap = $this->getConnection();
 -		return $sqlmap->queryForObject('GetTimeReportByUsername', $username);
 -	}
 -	
 -	public function getTimeReportsByCategoryID($categoryID)
 -	{
 -		$sqlmap = $this->getConnection();
 -		return $sqlmap->queryForList('GetTimeReportByCategoryID', $categoryID);		
 -	}
 -	
  	public function getTimeReportsByProjectIDs($projects)
  	{
  		$ids = implode(',', array_map('intval', $projects));
 diff --git a/demos/time-tracker/protected/App_Code/TimeEntryDao.php b/demos/time-tracker/protected/App_Code/TimeEntryDao.php index 60301f3b..7207ed47 100644 --- a/demos/time-tracker/protected/App_Code/TimeEntryDao.php +++ b/demos/time-tracker/protected/App_Code/TimeEntryDao.php @@ -33,15 +33,6 @@ class TimeEntryDao extends BaseDao  		$sqlmap = $this->getConnection();
  		$sqlmap->update('UpdateTimeEntry', $entry);
  	}
 -	
 -	public function getTimeEntriesByDate($username, $start, $end)
 -	{
 -		$sqlmap = $this->getConnection();
 -		$param['username'] = $username;
 -		$param['startDate'] = $start;
 -		$param['endDate'] = $end;
 -		return $sqlmap->queryForList('GetTimeEntriesByDate', $param);	
 -	}
  }
  ?>
\ No newline at end of file diff --git a/demos/time-tracker/protected/App_Code/UserDao.php b/demos/time-tracker/protected/App_Code/UserDao.php index a0a80f7e..95a85410 100644 --- a/demos/time-tracker/protected/App_Code/UserDao.php +++ b/demos/time-tracker/protected/App_Code/UserDao.php @@ -30,9 +30,7 @@ class UserDao extends BaseDao  	public function getUserByName($username)
  	{
  		$sqlmap = $this->getConnection();
 -		$user = $sqlmap->queryForObject('GetUserByName', $username);
 -		var_dump($user);
 -		return $user;	
 +		return $sqlmap->queryForObject('GetUserByName', $username);
  	}
  	/**
 diff --git a/demos/time-tracker/protected/application.xml b/demos/time-tracker/protected/application.xml index 1622073e..98dc3a79 100644 --- a/demos/time-tracker/protected/application.xml +++ b/demos/time-tracker/protected/application.xml @@ -10,9 +10,12 @@  	<using namespace="Application.App_Code.*" />
    </paths>
    <modules>
 +
      <module id="cache" class="System.Caching.TMemCache" />
    	<module id="sqlmap" class="TSQLMap"
 +		EnableConfigCache="true"
    		configFile="Application.App_Data.mysql-sqlmap" />
 +
  	<module id="daos" class="DaoManager" Connection="sqlmap">
  		<dao id="UserDao" class="Application.App_Code.UserDao" />
  		<dao id="ProjectDao" class="Application.App_Code.ProjectDao" />
 diff --git a/demos/time-tracker/protected/pages/TimeTracker/LogTimeEntry.php b/demos/time-tracker/protected/pages/TimeTracker/LogTimeEntry.php index a134289c..28611c3c 100644 --- a/demos/time-tracker/protected/pages/TimeTracker/LogTimeEntry.php +++ b/demos/time-tracker/protected/pages/TimeTracker/LogTimeEntry.php @@ -88,21 +88,24 @@ class LogTimeEntry extends TPage  		if(!$this->IsValid)
  			return;
 -		$entry = new TimeEntry;
 -		$entry->CreatorUserName = $this->User->Name;
 -		$category = new Category;
 -		$category->ID = $this->category->SelectedValue;
 -		$entry->Category = $category;
 -		$entry->Description = $this->description->Text;
 -		$entry->Duration = floatval($this->hours->Text);
 -		$entry->ReportDate = $this->day->TimeStamp;
 -		$entry->Username = $this->projectMembers->SelectedItem->Text;
 -		
 -		$this->hours->Text = '';
 -		$this->description->Text = '';
 -		
 -		$this->getTimeEntryDao()->addNewTimeEntry($entry);
 -		$this->showTimeSheet();
 +		if($this->projectMembers->SelectedItem)
 +		{
 +			$entry = new TimeEntry;
 +			$entry->CreatorUserName = $this->User->Name;
 +			$category = new Category;
 +			$category->ID = $this->category->SelectedValue;
 +			$entry->Category = $category;
 +			$entry->Description = $this->description->Text;
 +			$entry->Duration = floatval($this->hours->Text);
 +			$entry->ReportDate = $this->day->TimeStamp;
 +			$entry->Username = $this->projectMembers->SelectedItem->Text;
 +			
 +			$this->hours->Text = '';
 +			$this->description->Text = '';
 +			
 +			$this->getTimeEntryDao()->addNewTimeEntry($entry);
 +			$this->showTimeSheet();
 +		}
  	}
  }
 diff --git a/demos/time-tracker/protected/pages/TimeTracker/ReportProject.php b/demos/time-tracker/protected/pages/TimeTracker/ReportProject.php new file mode 100644 index 00000000..fea372be --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/ReportProject.php @@ -0,0 +1,47 @@ +<?php
 +
 +class ReportProject extends TPage
 +{
 +	protected function getProjects()
 +	{
 +		$projectDao = $this->Application->Modules['daos']->getDao('ProjectDao');
 +		$projects = array();
 +		foreach($projectDao->getAllProjects() as $project)
 +				$projects[$project->ID] = $project->Name;
 +		return $projects;
 +	}
 +	
 +	public function onLoad($param)
 +	{
 +		if(!$this->IsPostBack)
 +		{
 +			$this->projectList->DataSource = $this->getProjects();
 +			$this->dataBind();	
 +		}
 +	}
 +	
 +	public function generateReport_Clicked($sender, $param)
 +	{
 +		$reportDao = $this->Application->Modules['daos']->getDao('ReportDao');
 +		$reports = $reportDao->getTimeReportsByProjectIDs($this->projectList->SelectedValues);
 +		$this->views->ActiveViewIndex = 1;
 +		$this->projects->DataSource = $reports;
 +		$this->projects->dataBind();
 +	}
 +	
 +	public function project_itemCreated($sender, $param)
 +	{
 +		$item = $param->Item;
 +		if($item->ItemType==='Item' || $item->ItemType==='AlternatingItem')
 +			$item->category->DataSource = $item->DataItem->Categories;
 +	}
 +	
 +	public function category_itemCreated($sender, $param)
 +	{
 +		$item = $param->Item;
 +		if($item->ItemType==='Item' || $item->ItemType==='AlternatingItem')
 +			$item->members->DataSource = $item->DataItem->members;
 +	}
 +}
 +
 +?>
\ No newline at end of file diff --git a/demos/time-tracker/protected/pages/TimeTracker/ReportResource.php b/demos/time-tracker/protected/pages/TimeTracker/ReportResource.php new file mode 100644 index 00000000..a233e127 --- /dev/null +++ b/demos/time-tracker/protected/pages/TimeTracker/ReportResource.php @@ -0,0 +1,61 @@ +<?php
 +
 +class ReportResource extends TPage
 +{
 +	protected function getProjects()
 +	{
 +		$projectDao = $this->Application->Modules['daos']->getDao('ProjectDao');
 +		$projects = array();
 +		foreach($projectDao->getAllProjects() as $project)
 +				$projects[$project->ID] = $project->Name;
 +		return $projects;
 +	}
 +	
 +	protected function getUsers()
 +	{
 +		$dao = $this->Application->Modules['daos']->getDao('UserDao');
 +		$users = array();
 +		foreach($dao->getAllUsers() as $user)
 +		{
 +			$users[$user->Name] = $user->Name;
 +		}
 +		return $users;
 +	}
 +	
 +	public function onLoad($param)
 +	{
 +		if(!$this->IsPostBack)
 +		{
 +			$this->projectList->DataSource = $this->getProjects();
 +			$this->resourceList->DataSource = $this->getUsers();
 +			$this->dataBind();	
 +		}
 +	}	
 +	
 +	public function generateReport_Clicked($sender, $param)
 +	{
 +		$this->views->ActiveViewIndex = 1;
 +		$reportDao = $this->Application->Modules['daos']->getDao('ReportDao');
 +		$projects = $this->projectList->SelectedValues;
 +		$users = $this->resourceList->SelectedValues;
 +		$start = $this->dateFrom->TimeStamp;
 +		$end = $this->dateTo->TimeStamp;
 +		
 +		$report = $reportDao->getUserProjectTimeReports($users, $projects, $start, $end);
 +		$this->resource_report->DataSource = $report;
 +		$this->resource_report->dataBind();
 +	}
 +	
 +	public function resource_report_itemCreated($sender, $param)
 +	{
 +		$item = $param->Item;
 +		if($item->ItemType==='Item' || $item->ItemType==='AlternatingItem')
 +		{
 +			if(count($item->DataItem->Projects) > 0 &&
 +				$item->DataItem->Projects[0]->ProjectName !== null)
 +			$item->time_entries->DataSource = $item->DataItem->Projects;
 +		}
 +	}
 +}
 +
 +?>
\ No newline at end of file diff --git a/demos/time-tracker/tests/unit/CategoryDaoTestCase.php b/demos/time-tracker/tests/unit/CategoryDaoTestCase.php index 53ed9c3e..4b13a948 100644 --- a/demos/time-tracker/tests/unit/CategoryDaoTestCase.php +++ b/demos/time-tracker/tests/unit/CategoryDaoTestCase.php @@ -125,11 +125,11 @@ class CategoryDaoTestCase extends BaseTestCase  		try
  		{
  			$this->categoryDao->addNewCategory($category);
 -			$this->fail();
 +			$this->pass();
  		}
  		catch(TSqlMapQueryExecutionException $e)
  		{
 -			$this->pass();
 +			$this->fail();
  		}
  		$check = $this->categoryDao->getCategoryByID(1);
  		$this->assertEqual($category, $check);
 diff --git a/demos/time-tracker/tests/unit/TimeEntryDaoTestCase.php b/demos/time-tracker/tests/unit/TimeEntryDaoTestCase.php index 20b1266e..cd1044b8 100644 --- a/demos/time-tracker/tests/unit/TimeEntryDaoTestCase.php +++ b/demos/time-tracker/tests/unit/TimeEntryDaoTestCase.php @@ -209,59 +209,6 @@ class TimeEntryDaoTestCase extends BaseTestCase  		$this->assertSameEntry($entry, $verify);
  	}
 -	
 -	function testgetEntriesByDate()
 -	{
 -		$added = $this->createTimeEntries2();
 -		$this->entryDao->addNewTimeEntry($added[0]);
 -		$this->entryDao->addNewTimeEntry($added[1]);
 -
 -		$start = strtotime('-5 days');
 -		$end = strtotime('-1 day');
 -		$list = $this->entryDao->getTimeEntriesByDate('consultant', $start, $end);
 -		
 -		$this->assertEqual(count($list),1);
 -		
 -		$this->assertSameEntry($list[0], $added[1]);
 -	}
 -
 -	function testUserTimeReports()
 -	{
 -		$added = $this->createTimeEntries2();
 -		$this->entryDao->addNewTimeEntry($added[0]);
 -		$this->entryDao->addNewTimeEntry($added[1]);
 -		
 -		$time = $this->reportDao->getUserTimeReport('consultant');
 -		$this->assertEqual($time, 6.7);
 -	}
 -
 -
 -	function testTimeReportsByCategory()
 -	{
 -		$added = $this->createTimeEntries2();
 -		$this->entryDao->addNewTimeEntry($added[0]);
 -		$this->entryDao->addNewTimeEntry($added[1]);
 -		
 -		$list = $this->reportDao->getTimeReportsByCategoryID(1);
 -		$this->assertEqual(count($list),1);
 -		$this->assertEqual($list[0]->Username, 'consultant');
 -		$this->assertEqual($list[0]->ActualDuration, 1.2);
 -	}
 -
 -	function testTimeReportsByProject()
 -	{
 -		$added = $this->createTimeEntries2();
 -		$this->entryDao->addNewTimeEntry($added[0]);
 -		$this->entryDao->addNewTimeEntry($added[1]);
 -		
 -		$list = $this->reportDao->getTimeReportsByProjectID(1);
 -		
 -		$this->assertEqual(count($list),1);
 -		$this->assertEqual($list[0]->Username, 'consultant');
 -		$this->assertEqual($list[0]->CategoryID, 1);
 -		$this->assertEqual($list[0]->ActualDuration, 6.7);
 -	}
 -
  }
  ?>
\ No newline at end of file | 
