diff options
| author | wei <> | 2006-07-30 23:42:06 +0000 | 
|---|---|---|
| committer | wei <> | 2006-07-30 23:42:06 +0000 | 
| commit | 9e322be6166ce34a93c8d5ba4854093c95fc036b (patch) | |
| tree | 3dc6326bf18413e743e1ec626b724e4676ddd683 | |
| parent | e0c9de073cce5b5c9975694c03e2dbe63788bd66 (diff) | |
Update time-tracker graphics.
| -rw-r--r-- | .gitattributes | 4 | ||||
| -rw-r--r-- | demos/time-tracker/protected/App_Data/MySQL4/time-tracker-mysql.sql | 1 | ||||
| -rw-r--r-- | demos/time-tracker/protected/application.xml | 5 | ||||
| -rw-r--r-- | demos/time-tracker/protected/pages/TimeTracker/MainLayout.tpl | 5 | ||||
| -rw-r--r-- | demos/time-tracker/protected/pages/TimeTracker/ReportProject.page | 46 | ||||
| -rw-r--r-- | demos/time-tracker/protected/pages/TimeTracker/ReportResource.page | 119 | ||||
| -rw-r--r-- | demos/time-tracker/themes/TimeTracker/clock.gif | bin | 0 -> 2500 bytes | |||
| -rw-r--r-- | demos/time-tracker/themes/TimeTracker/project.css | 2 | ||||
| -rw-r--r-- | demos/time-tracker/themes/TimeTracker/report.css | 156 | ||||
| -rw-r--r-- | demos/time-tracker/themes/TimeTracker/site.css | 17 | ||||
| -rw-r--r-- | demos/time-tracker/themes/TimeTracker/sync.gif | bin | 2721 -> 0 bytes | |||
| -rw-r--r-- | demos/time-tracker/themes/clock.png | bin | 0 -> 128984 bytes | 
12 files changed, 284 insertions, 71 deletions
| diff --git a/.gitattributes b/.gitattributes index 1347c5c2..f51ec8f0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1159,14 +1159,16 @@ demos/time-tracker/tests/unit/UserDaoTestCase.php -text  demos/time-tracker/themes/TimeTracker/background.png -text  demos/time-tracker/themes/TimeTracker/bar.png -text  demos/time-tracker/themes/TimeTracker/bell.gif -text +demos/time-tracker/themes/TimeTracker/clock.gif -text  demos/time-tracker/themes/TimeTracker/group.gif -text  demos/time-tracker/themes/TimeTracker/project.css -text +demos/time-tracker/themes/TimeTracker/report.css -text  demos/time-tracker/themes/TimeTracker/report.gif -text  demos/time-tracker/themes/TimeTracker/site.css -text -demos/time-tracker/themes/TimeTracker/sync.gif -text  demos/time-tracker/themes/TimeTracker/tabs.png -text  demos/time-tracker/themes/TimeTracker/time-entry.css -text  demos/time-tracker/themes/TimeTracker/time.gif -text +demos/time-tracker/themes/clock.png -text  docs/application.xml -text  docs/specs/application.dtd -text  docs/specs/application.xsd -text diff --git a/demos/time-tracker/protected/App_Data/MySQL4/time-tracker-mysql.sql b/demos/time-tracker/protected/App_Data/MySQL4/time-tracker-mysql.sql index 89de378a..bb120fc4 100644 --- a/demos/time-tracker/protected/App_Data/MySQL4/time-tracker-mysql.sql +++ b/demos/time-tracker/protected/App_Data/MySQL4/time-tracker-mysql.sql @@ -65,6 +65,7 @@ CREATE TABLE project (    `Name` varchar(255) NOT NULL,
    Description varchar(255) default NULL,
    CreationDate datetime NOT NULL,
 +  CompletionDate datetime NOT NULL,
    Disabled tinyint(1) NOT NULL default '0',
    EstimateDuration float(10,2) NOT NULL default '0.00',
    CreatorID varchar(50) NOT NULL,
 diff --git a/demos/time-tracker/protected/application.xml b/demos/time-tracker/protected/application.xml index 2bf705ef..80ad5ded 100644 --- a/demos/time-tracker/protected/application.xml +++ b/demos/time-tracker/protected/application.xml @@ -13,11 +13,10 @@    </paths>
    <modules>
 -<!--    
 +<!--   
  	<module id="cache" class="System.Caching.TMemCache" />
 --->
 -
 +-->
  	<module id="sqlmap" class="TSQLMap"
  		EnableConfigCache="true"
    		configFile="Application.App_Data.sqlite-sqlmap" />
 diff --git a/demos/time-tracker/protected/pages/TimeTracker/MainLayout.tpl b/demos/time-tracker/protected/pages/TimeTracker/MainLayout.tpl index 915b2fb3..ad33217b 100644 --- a/demos/time-tracker/protected/pages/TimeTracker/MainLayout.tpl +++ b/demos/time-tracker/protected/pages/TimeTracker/MainLayout.tpl @@ -36,5 +36,10 @@  </com:TForm>
 +<div class="copyrights">
 +Copyright © 2005-2006 <a href="http://www.pradosoft.com">PradoSoft</a>.
 +<span class="note"><a href="http://www.famfamfam.com/lab/icons/silk/">Silk icons</a> by Mark James.</span>
 +</div>
 +
  </body>
  </html>
\ No newline at end of file diff --git a/demos/time-tracker/protected/pages/TimeTracker/ReportProject.page b/demos/time-tracker/protected/pages/TimeTracker/ReportProject.page index 5f961da4..fcf6101b 100644 --- a/demos/time-tracker/protected/pages/TimeTracker/ReportProject.page +++ b/demos/time-tracker/protected/pages/TimeTracker/ReportProject.page @@ -7,8 +7,16 @@  	<com:TView>
  		<com:TLabel ForControl="projectList" 
  			Text="Select a project. Use ctrl+click to select multiple projects at once: "/>
 +		<span class="required">*</span><br />	
  		<com:TListBox ID="projectList" CssClass="projects" SelectionMode="Multiple" />
 -		<com:TButton Text="Generate Report" OnClick="generateReport_Clicked"/>		
 +		<com:TRequiredFieldValidator 
 +			Style="display:block"
 +			ControlToValidate="projectList"
 +			ErrorMessage="Please select at least one project."
 +			ControlCssClass="required-input" />
 +		<div class="buttons">
 +		<com:TButton Text="Generate Report" OnClick="generateReport_Clicked"/>
 +		</div>		
  	</com:TView>
  	<com:TView>
  		<com:TRepeater ID="projects" onItemCreated="project_itemCreated" EnableViewState="false">
 @@ -16,16 +24,16 @@  		<!-- project -->
  			<table class="project">
  				<tr>
 -					<th>Project Name</th>
 -					<th>Est. Hours</th>
 -					<th>Actual Hours</th>
 -					<th>Est. Completion</th>
 +					<th class="name">Project Name</th>
 +					<th class="est-hour">Est. Hours</th>
 +					<th class="hours">Actual Hours</th>
 +					<th class="completion">Est. Completion</th>
  				</tr>
  				<tr>
 -					<td><%# h($this->DataItem->ProjectName) %></td>
 -					<td><%# h($this->DataItem->EstimateHours) %></td>
 -					<td><%# h($this->DataItem->ActualHours) %></td>
 -					<td>
 +					<td class="name"><%# h($this->DataItem->ProjectName) %></td>
 +					<td class="est-hour"><%# h($this->DataItem->EstimateHours) %></td>
 +					<td class="hours"><%# h($this->DataItem->ActualHours) %></td>
 +					<td class="completion">
  						<com:System.I18N.TDateFormat 
  							Pattern="dd/MM/yyyy"
  							Value=<%# $this->DataItem->EstimateCompletion %> />
 @@ -34,24 +42,24 @@  			<com:TRepeater ID="category" onItemCreated="Page.category_itemCreated" EnableViewState="false">
  			<prop:HeaderTemplate>
 -				<tr><td></td><td colspan="2">
 +				<tr><td class="left-filler"> </td><td colspan="2" class="sub-table">
  			</prop:HeaderTemplate>
  			<prop:FooterTemplate>
 -				</tr></td><td></td>
 +				</td><td class="right-filler"> </td></tr>
  			</prop:FooterTemplate>
  			<prop:ItemTemplate>			
  			<!-- category -->
  				<table class="category">
  					<tr>
 -					<th>Category</th>
 -					<th>Est. Hours</th>
 -					<th>Actual Hours</th>
 +					<th class="category">Category</th>
 +					<th class="est-hour">Est. Hours</th>
 +					<th class="hours">Actual Hours</th>
  					</tr>
  					<tr>
 -						<td><%# h($this->DataItem->CategoryName) %></td>
 -						<td><%# h($this->DataItem->EstimateHours) %></td>
 -						<td><%# h($this->DataItem->ActualHours) %></td>
 +						<td class="category"><%# h($this->DataItem->CategoryName) %></td>
 +						<td class="est-hour"><%# h($this->DataItem->EstimateHours) %></td>
 +						<td class="hours"><%# h($this->DataItem->ActualHours) %></td>
  					</tr>
 @@ -59,10 +67,10 @@  					<prop:ItemTemplate>
  					<!-- member -->				
  						<tr>
 -							<td colspan="2">
 +							<td colspan="2" class="username">
  							<%# h($this->DataItem['username']) %>
  						</td>
 -						<td>
 +						<td class="hours">
  							<%# h($this->DataItem['hours']) %>
  						</td>
  						</tr>
 diff --git a/demos/time-tracker/protected/pages/TimeTracker/ReportResource.page b/demos/time-tracker/protected/pages/TimeTracker/ReportResource.page index e72fd0f2..b9404f4a 100644 --- a/demos/time-tracker/protected/pages/TimeTracker/ReportResource.page +++ b/demos/time-tracker/protected/pages/TimeTracker/ReportResource.page @@ -5,76 +5,109 @@  	<legend>Resource Report</legend>
  	<com:TMultiView ID="views" ActiveViewIndex="0">
  	<com:TView>
 +		<div class="step1">
  		<h2>STEP 1 - Select project(s)</h2>
  		<com:TLabel ForControl="projectList" 
  			Text="Select a project. Use ctrl+click to select multiple projects at once: "/>
 +		<span class="required">*</span><br />
  		<com:TListBox ID="projectList" CssClass="projects" SelectionMode="Multiple" />
 +		<com:TRequiredFieldValidator
 +			ControlToValidate="projectList"
 +			ErrorMessage="Please select at least one project."
 +			ControlCssClass="required-input"
 +			Display="None" />
 +		</div>
 +		<div class="step2">
  		<h2>STEP 2 - Select resource(s)</h2>
  		<com:TLabel ForControl="resourceList" 
  			Text="Select a resource. Use ctrl+click to select multiple resources at once: "/>
 +		<span class="required">*</span><br />
  		<com:TListBox ID="resourceList" CssClass="resource" SelectionMode="Multiple" />
 +		<com:TRequiredFieldValidator
 +			ControlToValidate="resourceList"
 +			ErrorMessage="Please select at least one member."
 +			ControlCssClass="required-input"
 +			Display="None" />
 +		</div>
 +		<div class="step1">
  		<h2>STEP 3 - Select a date range</h2>
  		<div class="date-from">
  		<com:TLabel ForControl="dateFrom" Text="Dates from:"/>
 +		<span class="required">*</span><br />
  		<com:TDatePicker id="dateFrom" 
 +			DateFormat="dd/MM/yyyy"
  			TimeStamp=<%= strtotime("-1 year") %>
  			InputMode="DropDownList" />
  		</div>
  		<div class="date-to">
 -		<com:TLabel ForControl="dateTo" Text="to:"/>
 -		<com:TDatePicker id="dateTo" InputMode="DropDownList"/>
 +		<com:TLabel ForControl="dateTo" Text="Date to:"/>
 +		<span class="required">*</span><br />
 +		<com:TDatePicker id="dateTo" DateFormat="dd/MM/yyyy" InputMode="DropDownList"/>
 +		<com:TCompareValidator
 +			ControlToValidate="dateTo"
 +			ControlToCompare="dateFrom"
 +			DataType="Date"
 +			Display="None"
 +			ControlCssClass="required-input"
 +			DateFormat="dd/MM/yyyy"
 +			Operator="GreaterThanEqual"
 +			ErrorMessage="The end date must be greater or equal to the start date." />
 +		</div>
 +		</div>
 +		<div class="actions"> 
 +		<div class="summary">
 +		<com:TValidationSummary
 +			AutoUpdate="false" />
  		</div>
  		<div class="buttons">
  			<com:TButton Text="Generate Report" Onclick="generateReport_Clicked"/>
  		</div>	
 +		</div>
  	</com:TView>
  	<com:TView>
 -		 <h3>Beginning Date</h3>
 -		 <h4><%= h($this->dateFrom->Date) %></h4> 	 
 -		 <h3>Ending Date</h3>
 -		 <h4><%= h($this->dateTo->Date) %></h4>
 -		 
 +		<div class="date-range">
 +		 <h3 class="begin">Beginning Date:</h3>
 +		 <h4 class="begin"><%= h($this->dateFrom->Date) %></h4> 	 
 +		 <h3 class="end">Ending Date:</h3>
 +		 <h4 class="end"><%= h($this->dateTo->Date) %></h4>
 +		</div> 
  		 <com:TRepeater ID="resource_report" OnItemCreated="resource_report_itemCreated" EnableViewState="false">
  		 	<prop:ItemTemplate>
 -		 	<table class="resource">
 -		 		<tr>
 -		 			<th>Consultant</th>
 -		 			<th>Total Hours</th>
 -		 		</tr>
 -		 		<tr>
 -		 			<td><%# h($this->DataItem->Username) %></td>
 -		 			<td><%# h($this->DataItem->TotalHours) %></td>
 -		 		</tr>
 -		 	</table>
 +		 	<div class="resource">
 +		 	<strong class="name">Consultant:</strong> 
 +		 	<span class="name"><%# h($this->DataItem->Username) %></span>
 +		 	<strong class="hours">Total Hours:</strong>
 +		 	<span class="hours"><%# h($this->DataItem->TotalHours) %></span>
  		 	<com:TRepeater ID="time_entries">
 -		 	<prop:HeaderTemplate>
 -		 		<table>
 -		 			<tr>
 -		 				<th>Reported Date</th>
 -		 				<th>Project Name</th>
 -		 				<th>Category Name</th>
 -		 				<th>Duration</th>
 -		 				<th>Description</th>
 -		 			</tr>
 -		 	</prop:HeaderTemplate>
 -		 	<prop:FooterTemplate>
 -		 		</table>
 -		 	</prop:FooterTemplate>
 -		 	<prop:ItemTemplate>
 -		 	<tr>
 -		 		<td><com:System.I18N.TDateFormat 
 -							Pattern="dd/MM/yyyy"
 -							Value=<%# $this->DataItem->ReportDate %> />
 -				</td>
 -		 		<td><%# h($this->DataItem->ProjectName) %></td>
 -		 		<td><%# h($this->DataItem->CategoryName) %></td>
 -		 		<td><%# h($this->DataItem->Duration) %></td>
 -		 		<td><%# h($this->DataItem->Description) %></td>
 -		 	</tr>
 -		 	</prop:ItemTemplate>
 -		 	</com:TRepeater>
 +			 	<prop:HeaderTemplate>
 +			 		<table class="project">
 +			 			<tr>
 +			 				<th class="date">Reported Date</th>
 +			 				<th class="project">Project Name</th>
 +			 				<th class="category">Category Name</th>
 +			 				<th class="hours">Duration</th>
 +			 				<th class="description">Description</th>
 +			 			</tr>
 +			 	</prop:HeaderTemplate>
 +			 	<prop:FooterTemplate>
 +			 		</table>
 +			 	</prop:FooterTemplate>
 +			 	<prop:ItemTemplate>
 +			 	<tr>
 +			 		<td class="date"><com:System.I18N.TDateFormat 
 +								Pattern="dd/MM/yyyy"
 +								Value=<%# $this->DataItem->ReportDate %> />
 +					</td>
 +			 		<td class="project"><%# h($this->DataItem->ProjectName) %></td>
 +			 		<td class="category"><%# h($this->DataItem->CategoryName) %></td>
 +			 		<td class="hours"><%# h($this->DataItem->Duration) %></td>
 +			 		<td class="description"><%# h($this->DataItem->Description) %></td>
 +			 	</tr>
 +			 	</prop:ItemTemplate>
 +			 	</com:TRepeater>
 +			</div> 
  		 	</prop:ItemTemplate>
  		 </com:TRepeater>
 diff --git a/demos/time-tracker/themes/TimeTracker/clock.gif b/demos/time-tracker/themes/TimeTracker/clock.gifBinary files differ new file mode 100644 index 00000000..6fa3d9ae --- /dev/null +++ b/demos/time-tracker/themes/TimeTracker/clock.gif diff --git a/demos/time-tracker/themes/TimeTracker/project.css b/demos/time-tracker/themes/TimeTracker/project.css index 809948cd..1f514b79 100644 --- a/demos/time-tracker/themes/TimeTracker/project.css +++ b/demos/time-tracker/themes/TimeTracker/project.css @@ -66,7 +66,7 @@ fieldset.project h2  .actions
  {
 -	float: left;
 +
  	margin-top: 1em;
  	clear: both;
  	width: 100%;
 diff --git a/demos/time-tracker/themes/TimeTracker/report.css b/demos/time-tracker/themes/TimeTracker/report.css new file mode 100644 index 00000000..b5b69117 --- /dev/null +++ b/demos/time-tracker/themes/TimeTracker/report.css @@ -0,0 +1,156 @@ +.project-report label, .resource-report label
 +{
 +	font-size: 0.9em;
 +}
 +
 +.project-report .projects
 +{
 +	width: 20em;
 +	height: 15em;
 +}
 +
 +.project-report .buttons
 +{
 +	margin: 2em;
 +}
 +
 +.project-report table, .resource-report table
 +{
 +	border-collapse: collapse;
 +	empty-cells: hide;
 +}
 +
 +.project-report table th, .resource-report table th
 +{
 +	padding: 0.25em;
 +	font-size: 0.9em;
 +	white-space: nowrap;
 +}
 +
 +.project-report td, .resource-report td
 +{
 +	border: 1px solid #ccc;
 +	padding: 0.25em;
 +}
 +
 +.project-report .est-hour, .project-report .hours, .resource-report .hours
 +{
 +	text-align: right;
 +}
 +
 +.project-report .hours
 +{
 +	width: 6em;
 +}
 +
 +.project-report td.sub-table
 +{
 +	padding: 0;
 +	border-right: 0 none;
 +	border-left: 0 none;
 +}
 +
 +.project-report td.left-filler
 +{
 +	border-right: 0 none;
 +}
 +
 +.project-report td.right-filler
 +{
 +	border-left: 0 none;
 +}
 +
 +.project-report .username
 +{
 +	text-align: center;
 +}
 +
 +
 +.project-report table.project
 +{
 +	margin-bottom: 3em;
 +}
 +
 +.project-report td.sub-table table
 +{
 +	margin: 1em 0;
 +}
 +
 +.project-report .completion, .resource-report .date
 +{
 +	text-align: center;
 +}
 +
 +.resource-report h2
 +{
 +		background-color: #D2E8E8;
 +	font-size: 0.8em;
 +	color: #4169E1;
 +	padding: 0.65em;
 +	text-align: center;
 +	background-image: url(bar.png);
 +	background-repeat: repeat-x;
 +	background-position: center;
 +}
 +
 +.resource-report select.resource, .resource-report select.projects
 +{
 +	width: 15em;
 +	height: 17em;
 +}
 +
 +.resource-report .step1, .resource-report .step2, .resource-report .step3
 +{
 +	float: left;
 +	width: 32%;
 +	margin-right: 0.25em;
 +}
 +
 +.resource-report .buttons
 +{
 +	background-color: #D2E8E8;
 +	background-image: url(bar.png);
 +	background-repeat: repeat-x;
 +	background-position: center;
 +	padding: 0.65em;
 +	margin-top: 2em;
 +}
 +
 +.resource-report .date-to
 +{
 +	margin-top: 0.5em;
 +}
 +
 +.resource-report .summary
 +{
 +	text-align: left;
 +	padding-left: 5em;
 +}
 +
 +.resource-report .date-from, .resource-report .date-to
 +{
 +	padding-left: 1em;
 +}
 +
 +.resource-report .resource strong.hours
 +{
 +	margin-left: 1em;
 +}
 +
 +.resource-report .resource
 +{
 +	
 +	margin-bottom: 2em;
 +	padding: 0.5em;
 +}
 +
 +
 +.resource-report .date-range h3, .resource-report .date-range h4
 +{
 +	display: inline;
 +}
 +
 +.resource-report .date-range h3.end
 +{
 +	margin-left: 2em;
 +}
\ No newline at end of file diff --git a/demos/time-tracker/themes/TimeTracker/site.css b/demos/time-tracker/themes/TimeTracker/site.css index bfe59f9e..8d9c6f99 100644 --- a/demos/time-tracker/themes/TimeTracker/site.css +++ b/demos/time-tracker/themes/TimeTracker/site.css @@ -1,12 +1,13 @@  html
  {
 +	background: url(background.png) repeat-x top;
  	background-color: #eef;
  }
  body
  {
 -	background: url(background.png) repeat-x top;
 -	margin: 0;
 +	margin: 0 auto;
  	padding: 2em;
 +	max-width: 60em;
  	font-family: Tahoma, Arial, Helvetica, sans-serif;
  }
 @@ -40,10 +41,10 @@ h1.heading, h1 a:hover  h1.heading
  {
 -	background-image: url(sync.gif);
 +	background-image: url(clock.gif);
  	background-repeat: no-repeat;
  	background-position: center left;
 -	padding: 0px 0px 5px 75px;
 +	padding: 0px 0px 5px 70px;
  }
 @@ -251,4 +252,12 @@ fieldset.signup .wizardNav  {
  	border: 2px solid red;
  	background-color: #FFE4E1
 +}
 +
 +.copyrights
 +{
 +	font-size: 0.8em;
 +	text-align: center;
 +	color: #708090;
 +	margin-top: 2em;
  }
\ No newline at end of file diff --git a/demos/time-tracker/themes/TimeTracker/sync.gif b/demos/time-tracker/themes/TimeTracker/sync.gifBinary files differ deleted file mode 100644 index 3ed6630f..00000000 --- a/demos/time-tracker/themes/TimeTracker/sync.gif +++ /dev/null diff --git a/demos/time-tracker/themes/clock.png b/demos/time-tracker/themes/clock.pngBinary files differ new file mode 100644 index 00000000..8be70a41 --- /dev/null +++ b/demos/time-tracker/themes/clock.png | 
