diff --git a/lib/WebGUI/Asset/Wobject/TimeTracking.pm b/lib/WebGUI/Asset/Wobject/TimeTracking.pm index b04296981..0478d94b3 100644 --- a/lib/WebGUI/Asset/Wobject/TimeTracking.pm +++ b/lib/WebGUI/Asset/Wobject/TimeTracking.pm @@ -194,6 +194,58 @@ sub view { return $self->processTemplate($var, undef, $self->{_viewTemplate}); } +#------------------------------------------------------------------- +sub www_manageProjects { + my $self = shift; + my $var = $_[0]; + my ($session,$privilege,$form,$db,$dt,$i18n,$user,$eh) = $self->getSessionVars("privilege","form","db","datetime","i18n","user","errorHandler"); + + #Check Privileges + return $privilege->insufficient unless ($user->isInGroup($self->get("groupToManage"))); + + my $pnLabel = $i18n->get("manage project name label"); + my $atLabel = $i18n->get("manage project available task label"); + my $resLabel = $i18n->get("manage project resource label"); + + my $output = q| + + + + + + + + |; + my $projects = $db->buildHashRef("select projectId, projectName from TT_projectList where assetId=".$db->quote($self->getId)); + + foreach my $project (@{$projects}) { + my $projectName = $project->{projectName}; + my @tasks = $db->buildArray("select taskName from TT_projectTasks where projectId=".$db->quote($projectId)); + my $taskList = join("
",@tasks); + my @resources = $db->buildArray("select resourceId from TT_projectResourceList where projectId=".$db->quote($projectId)); + for(my $i = 0; $i < scalar(@resources) $i++) { + my $u = WebGUI::User->new($session,$resources[$i]); + my $fname = $u->profileField("firstName"); + my $lname = $u->profileField("lastName"); + my $r = $u->username; + if($fname && $lname) { + $r = $fname." ".$lname; + } + $resources[$i] = $r; + } + my $resourceList = join("
",@resources); + $output .= qq| + + + + + + |; + } + $output .= "
$pnLabel$atLabel$resLabel 
$projectName$taskList$resourceList
"; + return $output +} + #------------------------------------------------------------------- sub _buildUserView { my $self = shift; @@ -309,7 +361,7 @@ sub _buildRow { if($pmAssetId) { #Build project list and task lists from project management app } else { - %projectList = $db->buildHash("select a.projectId, a.projectName from TT_projectList a, TT_projectResourceList b where a.projectId=b.projectId and b.resourceId=".$db->quote($user->userId)); + %projectList = $db->buildHash("select a.projectId, a.projectName from TT_projectList a, TT_projectResourceList b where a.assetId=".$db->quote($self->getId)." and a.projectId=b.projectId and b.resourceId=".$db->quote($user->userId)); } #if(scalar(keys %projectList) == 0) {