From c7447b08996e9aa3b9d0a72c65cb829aceae4921 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 21 Nov 2015 20:25:28 +0100 Subject: [PATCH] Add thirdparty of project into project summary of project home page. Total use a different color --- htdocs/core/lib/project.lib.php | 42 +++++++++++++++++++++++---------- htdocs/projet/index.php | 2 +- htdocs/theme/eldy/style.css.php | 2 +- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index 7e1a5e9c9c0..0569e90d903 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -878,16 +878,18 @@ function searchTaskInChild(&$inc, $parent, &$lines, &$taskrole) * @param int $mytasks Limited to task i am contact to * @param int $statut -1=No filter on statut, 0 or 1 = Filter on status * @param array $listofoppstatus List of opportunity status + * @param array $hiddenfields List of fields to not show * @return void */ -function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks=0, $statut=-1, $listofoppstatus=array()) +function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks=0, $statut=-1, $listofoppstatus=array(),$hiddenfields=array()) { global $langs,$conf,$user,$bc; require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; $projectstatic=new Project($db); - + $thirdpartystatic=new Societe($db); + $sortfield=''; $sortorder=''; $project_year_filter=0; @@ -960,12 +962,13 @@ function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks= if (empty($arrayidofprojects)) $arrayidofprojects[0]=-1; // Get list of project with calculation on tasks - $sql2 = "SELECT p.rowid as projectid, p.ref, p.title, p.fk_user_creat, p.public, p.fk_statut as status, p.fk_opp_status as opp_status, p.opp_amount,"; + $sql2 = "SELECT p.rowid as projectid, p.ref, p.title, p.fk_soc, s.nom as socname, p.fk_user_creat, p.public, p.fk_statut as status, p.fk_opp_status as opp_status, p.opp_amount,"; $sql2.= " COUNT(t.rowid) as nb, SUM(t.planned_workload) as planned_workload, SUM(t.planned_workload * t.progress / 100) as declared_progess_workload"; $sql2.= " FROM ".MAIN_DB_PREFIX."projet as p"; + $sql2.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = p.fk_soc"; $sql2.= " LEFT JOIN ".MAIN_DB_PREFIX."projet_task as t ON p.rowid = t.fk_projet"; $sql2.= " WHERE p.rowid IN (".join(',',$arrayidofprojects).")"; - $sql2.= " GROUP BY p.rowid, p.ref, p.title, p.fk_user_creat, p.public, p.fk_statut, p.fk_opp_status, p.opp_amount"; + $sql2.= " GROUP BY p.rowid, p.ref, p.title, p.fk_soc, p.fk_user_creat, p.public, p.fk_statut, p.fk_opp_status, p.opp_amount"; $sql2.= " ORDER BY p.title, p.ref"; $var=true; @@ -981,6 +984,7 @@ function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks= print ''; print_liste_field_titre($title.' '.$num.'',$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES)) { print_liste_field_titre($langs->trans("OpportunityAmount"),"","","","",'align="right"',$sortfield,$sortorder); @@ -990,7 +994,7 @@ function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks= { print_liste_field_titre($langs->trans("Tasks"),"","","","",'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("PlannedWorkload"),"","","","",'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("ProgressDeclared"),"","","","",'align="right"',$sortfield,$sortorder); + if (! in_array('declaredprogress', $hiddenfields)) print_liste_field_titre($langs->trans("ProgressDeclared"),"","","","",'align="right"',$sortfield,$sortorder); } print_liste_field_titre($langs->trans("Status"),"","","","",'align="right"',$sortfield,$sortorder); print "\n"; @@ -1014,6 +1018,15 @@ function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks= print $projectstatic->getNomUrl(1); print ' - '.dol_trunc($objp->title,24); print ''; + print ''; + if ($objp->fk_soc > 0) + { + $thirdpartystatic->id=$objp->fk_soc; + $thirdpartystatic->ref=$objp->socname; + $thirdpartystatic->name=$objp->socname; + print $thirdpartystatic->getNomUrl(1); + } + print ''; if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES)) { print ''; @@ -1033,12 +1046,15 @@ function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks= $total_plannedworkload+=$plannedworkload; print ''.($plannedworkload?convertSecondToTime($plannedworkload):'').''; - $declaredprogressworkload=$objp->declared_progess_workload; - $total_declaredprogressworkload+=$declaredprogressworkload; - print ''; - //print $objp->planned_workload.'-'.$objp->declared_progess_workload."
"; - print ($plannedworkload?round(100*$declaredprogressworkload/$plannedworkload,0).'%':''); - print ''; + if (! in_array('declaredprogress', $hiddenfields)) + { + $declaredprogressworkload=$objp->declared_progess_workload; + $total_declaredprogressworkload+=$declaredprogressworkload; + print ''; + //print $objp->planned_workload.'-'.$objp->declared_progess_workload."
"; + print ($plannedworkload?round(100*$declaredprogressworkload/$plannedworkload,0).'%':''); + print ''; + } } print ''.$projectstatic->getLibStatut(3).''; @@ -1053,7 +1069,7 @@ function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks= } print ''; - print ''.$langs->trans("Total").""; + print ''.$langs->trans("Total").""; if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES)) { print ''.price($total_opp_amount, 0, '', 1, -1, -1, $conf->currency).''; @@ -1063,7 +1079,7 @@ function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks= { print ''.$total_task.''; print ''.($total_plannedworkload?convertSecondToTime($total_plannedworkload):'').''; - print ''.($total_plannedworkload?round(100*$total_declaredprogressworkload/$total_plannedworkload,0).'%':'').''; + if (! in_array('declaredprogress', $hiddenfields)) print ''.($total_plannedworkload?round(100*$total_declaredprogressworkload/$total_plannedworkload,0).'%':'').''; } print ''; print ''; diff --git a/htdocs/projet/index.php b/htdocs/projet/index.php index 2f45dce9906..11ae9e78906 100644 --- a/htdocs/projet/index.php +++ b/htdocs/projet/index.php @@ -216,7 +216,7 @@ if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES)) // List of draft projects -print_projecttasks_array($db,$form,$socid,$projectsListId,0,0,$listofoppstatus); +print_projecttasks_array($db,$form,$socid,$projectsListId,0,0,$listofoppstatus,array('declaredprogress')); print '
'; diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index f9c2452e4ce..d8bbe966843 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -2456,7 +2456,7 @@ input.liste_titre { background: #F0F0F0; } .noborder tr.liste_total td, tr.liste_total td, form.liste_total div { - color: #332266; + color: #552266; font-weight: normal; white-space: nowrap; }