diff --git a/htdocs/projet/activity/index.php b/htdocs/projet/activity/index.php index 7bea4bf3213..31cd2c1c350 100644 --- a/htdocs/projet/activity/index.php +++ b/htdocs/projet/activity/index.php @@ -29,7 +29,9 @@ require_once DOL_DOCUMENT_ROOT.'/projet/class/task.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; -$mine = $_REQUEST['mode']=='mine' ? 1 : 0; +$search_project_user = GETPOST('search_project_user','int'); +$mine = GETPOST('mode','aZ09')=='mine' ? 1 : 0; +if ($search_project_user == $user->id) $mine = 1; // Security check $socid=0; @@ -98,7 +100,7 @@ if (! empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS)) // This is usele { $listofsearchfields['search_task']=array('text'=>'Task'); } - + if (count($listofsearchfields)) { print '
'; @@ -114,7 +116,7 @@ if (! empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS)) // This is usele print ''; $i++; } - print ''; + print ''; print '
'; print '
'; } @@ -148,7 +150,7 @@ if ( $resql ) while ($row = $db->fetch_object($resql)) { - + print ''; print ''; $projectstatic->id=$row->rowid; @@ -205,7 +207,7 @@ if ( $resql ) while ($row = $db->fetch_object($resql)) { - + print ''; print ''; $projectstatic->id=$row->rowid; @@ -237,14 +239,14 @@ print ""; if ($db->type != 'pgsql') { print '
'; - + // Affichage de la liste des projets de la semaine print ''; print ''; print ''; print ''; print "\n"; - + $sql = "SELECT p.rowid, p.ref, p.title, p.public, SUM(tt.task_duration) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; $sql.= " , ".MAIN_DB_PREFIX."projet_task as t"; @@ -256,16 +258,16 @@ if ($db->type != 'pgsql') $sql.= " AND task_date >= '".$db->idate(dol_get_first_day($year, $month)).'" AND ..."; $sql.= " AND p.rowid in (".$projectsListId.")"; $sql.= " GROUP BY p.rowid, p.ref, p.title"; - + $resql = $db->query($sql); if ( $resql ) { $total = 0; $var=true; - + while ($row = $db->fetch_object($resql)) { - + print ''; print '\n"; $total += $row->nb; } - + $db->free($resql); } else @@ -302,7 +304,7 @@ if (! empty($conf->global->PROJECT_TASK_TIME_MONTH)) print ''; print ''; print "\n"; - + $sql = "SELECT p.rowid, p.ref, p.title, p.public, SUM(tt.task_duration) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; $sql.= ", ".MAIN_DB_PREFIX."projet_task as t"; @@ -314,12 +316,12 @@ if (! empty($conf->global->PROJECT_TASK_TIME_MONTH)) $sql.= " AND task_date BETWEEN '".$db->idate(dol_get_first_day($year, $month))."' AND '".$db->idate(dol_get_last_day($year, $month))."'"; $sql.= " AND p.rowid in (".$projectsListId.")"; $sql.= " GROUP BY p.rowid, p.ref, p.title, p.public"; - + $resql = $db->query($sql); if ( $resql ) { $var=false; - + while ($row = $db->fetch_object($resql)) { print ''; @@ -331,7 +333,7 @@ if (! empty($conf->global->PROJECT_TASK_TIME_MONTH)) print ''; print ''; print "\n"; - + } $db->free($resql); } @@ -383,7 +385,7 @@ if (! empty($conf->global->PROJECT_TASK_TIME_YEAR)) print ''; print ''; print "\n"; - + } $db->free($resql); } @@ -430,12 +432,12 @@ if (empty($conf->global->PROJECT_HIDE_TASKS) && ! empty($conf->global->PROJECT_S } else dol_print_error($db); if (count($listoftaskcontacttype) == 0) $listoftaskcontacttype[0]='0'; // To avoid sql syntax error if not found - + // Tasks for all resources of all opened projects and time spent for each task/resource // This list can be very long, so we don't show it by default on task area. We prefer to use the list page. // Add constant PROJECT_SHOW_TASK_LIST_ON_PROJECT_AREA to show this list - + $max = (empty($conf->global->PROJECT_LIMIT_TASK_PROJECT_AREA)?1000:$conf->global->PROJECT_LIMIT_TASK_PROJECT_AREA); $sql = "SELECT p.ref, p.title, p.rowid as projectid, p.fk_statut as status, p.fk_opp_status as opp_status, p.public, p.dateo as projdateo, p.datee as projdatee,"; @@ -489,7 +491,7 @@ if (empty($conf->global->PROJECT_HIDE_TASKS) && ! empty($conf->global->PROJECT_S while ($i < $num && $i < $max) { $obj = $db->fetch_object($resql); - + $username=''; if ($obj->userid && $userstatic->id != $obj->userid) // We have a user and it is not last loaded user @@ -509,7 +511,7 @@ if (empty($conf->global->PROJECT_HIDE_TASKS) && ! empty($conf->global->PROJECT_S $projectstatic->public = $obj->public; $projectstatic->dateo = $db->jdate($obj->projdateo); $projectstatic->datee = $db->jdate($obj->projdatee); - + print $projectstatic->getNomUrl(1,'',0,'','
'); print ''; if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES)) @@ -536,7 +538,7 @@ if (empty($conf->global->PROJECT_HIDE_TASKS) && ! empty($conf->global->PROJECT_S $taskstatic->datee = $db->jdate($obj->datee); print ''; print ''; print ''; $i++; } - print '
'.$langs->trans("ActivityOnProjectThisWeek").''.$langs->trans("Time").'
'; $projectstatic->id=$row->rowid; @@ -278,7 +280,7 @@ if ($db->type != 'pgsql') print "
'.$langs->trans("ActivityOnProjectThisMonth").': '.dol_print_date($now,"%B %Y").''.$langs->trans("Time").'
'.convertSecondToTime($row->nb, 'allhourmin').'
'.convertSecondToTime($row->nb, 'allhourmin').'
'.dol_print_date($db->jdate($obj->dateo),'day').''.dol_print_date($db->jdate($obj->datee),'day'); - print dol_print_date($obj->date_end,'dayhour'); + print dol_print_date($obj->date_end,'dayhour'); if ($taskstatic->hasDelay()) print img_warning($langs->trans("Late")); print ''; diff --git a/htdocs/projet/index.php b/htdocs/projet/index.php index c7f0181dbf5..7aecd454365 100644 --- a/htdocs/projet/index.php +++ b/htdocs/projet/index.php @@ -33,8 +33,9 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; $langs->load("projects"); $langs->load("companies"); -$mine = GETPOST('mode','aZ09')=='mine' ? 1 : 0; $search_project_user = GETPOST('search_project_user','int'); +$mine = GETPOST('mode','aZ09')=='mine' ? 1 : 0; +if ($search_project_user == $user->id) $mine = 1; // Security check $socid=0; @@ -122,7 +123,7 @@ if (! empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS)) // This is usele { $listofsearchfields['search_project']=array('text'=>'Project'); } - + if (count($listofsearchfields)) { print '
'; @@ -138,7 +139,7 @@ if (! empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS)) // This is usele print '
'; + print ''; print ''; print '
'; } @@ -185,7 +186,7 @@ if ( $resql ) while ($i < $num) { $obj = $db->fetch_object($resql); - + print ''; print ''; if ($obj->socid) @@ -217,9 +218,9 @@ if (! empty($conf->global->PROJECT_SHOW_PROJECT_LIST_ON_PROJECT_AREA)) { // This list can be very long, so we don't show it by default on task area. We prefer to use the list page. // Add constant PROJECT_SHOW_PROJECT_LIST_ON_PROJECT_AREA to show this list - + print '
'; - + print_projecttasks_array($db, $form, $socid, $projectsListId, 0, 1, $listofoppstatus, array()); } diff --git a/htdocs/projet/list.php b/htdocs/projet/list.php index 9e2971195e3..7ee41fcd024 100644 --- a/htdocs/projet/list.php +++ b/htdocs/projet/list.php @@ -261,8 +261,8 @@ if ($search_project_user > 0) } $sql.= " WHERE p.entity IN (".getEntity('project').')'; if (! $user->rights->projet->all->lire) $sql.= " AND p.rowid IN (".$projectsListId.")"; // public and assigned to, or restricted to company for external users -// No need to check company, as filtering of projects must be done by getProjectsAuthorizedForUser -if ($socid) $sql.= " AND (p.fk_soc IS NULL OR p.fk_soc = 0 OR p.fk_soc = ".$socid.")"; +// No need to check if company is external user, as filtering of projects must be done by getProjectsAuthorizedForUser +if ($socid > 0) $sql.= " AND (p.fk_soc = ".$socid.")"; if ($search_categ > 0) $sql.= " AND cs.fk_categorie = ".$db->escape($search_categ); if ($search_categ == -2) $sql.= " AND cs.fk_categorie IS NULL"; if ($search_ref) $sql .= natural_search('p.ref', $search_ref); @@ -487,19 +487,25 @@ print ''; if (! empty($arrayfields['p.ref']['checked'])) { print ''; - print ''; + print ''; print ''; } if (! empty($arrayfields['p.title']['checked'])) { print ''; - print ''; + print ''; print ''; } if (! empty($arrayfields['s.nom']['checked'])) { print ''; - print ''; + if ($socid > 0) + { + $tmpthirdparty=new Societe($db); + $tmpthirdparty->fetch($socid); + $search_societe=$tmpthirdparty->nom; + } + print ''; print ''; } // Sale representative @@ -511,8 +517,8 @@ if (! empty($arrayfields['commercial']['checked'])) if (! empty($arrayfields['p.dateo']['checked'])) { print ''; - if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; - print ''; + if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; + print ''; $formother->select_year($search_syear?$search_syear:-1,'search_syear',1, 20, 5); print ''; } @@ -520,8 +526,8 @@ if (! empty($arrayfields['p.dateo']['checked'])) if (! empty($arrayfields['p.datee']['checked'])) { print ''; - if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; - print ''; + if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; + print ''; $formother->select_year($search_eyear?$search_eyear:-1,'search_eyear',1, 20, 5); print ''; }