diff --git a/htdocs/comm/action/listactions.php b/htdocs/comm/action/listactions.php
index 9be7461f395..63a28c9f480 100644
--- a/htdocs/comm/action/listactions.php
+++ b/htdocs/comm/action/listactions.php
@@ -55,6 +55,7 @@ else
$actioncode=GETPOST("actioncode","alpha",3)?GETPOST("actioncode","alpha",3):(GETPOST("actioncode")=='0'?'0':(empty($conf->global->AGENDA_DEFAULT_FILTER_TYPE)?'':$conf->global->AGENDA_DEFAULT_FILTER_TYPE));
}
if ($actioncode == '' && empty($actioncodearray)) $actioncode=(empty($conf->global->AGENDA_DEFAULT_FILTER_TYPE)?'':$conf->global->AGENDA_DEFAULT_FILTER_TYPE);
+$search_title=GETPOST('search_title','alpha');
$dateselect=dol_mktime(0, 0, 0, GETPOST('dateselectmonth'), GETPOST('dateselectday'), GETPOST('dateselectyear'));
$datestart=dol_mktime(0, 0, 0, GETPOST('datestartmonth'), GETPOST('datestartday'), GETPOST('datestartyear'));
@@ -106,13 +107,6 @@ if (! $user->rights->agenda->allactions->read || $filter=='mine') // If no permi
$filtert=$user->id;
}
-// Purge search criteria
-if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers
-{
- $datestart='';
- $dateend='';
-}
-
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('agendalist'));
@@ -133,6 +127,18 @@ if (GETPOST("viewcal") || GETPOST("viewweek") || GETPOST("viewday"))
exit;
}
+$parameters=array('id'=>$socid);
+$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
+if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
+
+// Purge search criteria
+if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // All test are required to be compatible with all browsers
+{
+ $actioncode='';
+ $search_title='';
+ $datestart='';
+ $dateend='';
+}
/*
@@ -201,6 +207,7 @@ if ($status == '-1') { $sql.= " AND a.percent = -1"; } // Not applicable
if ($status == '50') { $sql.= " AND (a.percent > 0 AND a.percent < 100)"; } // Running already started
if ($status == 'done' || $status == '100') { $sql.= " AND (a.percent = 100 OR (a.percent = -1 AND a.datep2 <= '".$db->idate($now)."'))"; }
if ($status == 'todo') { $sql.= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep2 > '".$db->idate($now)."'))"; }
+if ($search_title) $sql.=natural_search("a.label", $search_title);
// We must filter on assignement table
if ($filtert > 0 || $usergroup > 0)
{
@@ -323,7 +330,7 @@ if ($resql)
print '
'.$langs->trans("Categories").' ';
$cate_arbo = $form->select_all_categories(Categorie::TYPE_PROJECT, '', 'parent', 64, 0, 1);
@@ -829,7 +829,6 @@ else
print '';
-
// Ref
/*
print ''.$langs->trans("Ref").' ';
@@ -875,17 +874,14 @@ else
if (strcmp($object->opp_amount,'')) print price($object->opp_amount,'',$langs,1,0,0,$conf->currency);
print ' ';
}
-
- // Date start
- print ''.$langs->trans("DateStart").' ';
- print dol_print_date($object->date_start,'day');
- print ' ';
-
- // Date end
- print ''.$langs->trans("DateEnd").' ';
- print dol_print_date($object->date_end,'day');
- print ' ';
-
+
+ // Date start - end
+ print ''.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").' ';
+ print dol_print_date($object->date_start,'day');
+ $end=dol_print_date($object->date_end,'day');
+ if ($end) print ' - '.$end;
+ print ' ';
+
// Budget
print ''.$langs->trans("Budget").' ';
if (strcmp($object->budget_amount, '')) print price($object->budget_amount,'',$langs,1,0,0,$conf->currency);
diff --git a/htdocs/projet/contact.php b/htdocs/projet/contact.php
index 228f5fab27d..c2a24458015 100644
--- a/htdocs/projet/contact.php
+++ b/htdocs/projet/contact.php
@@ -179,29 +179,6 @@ if ($id > 0 || ! empty($ref))
print '';
- /*
- // Ref
- print ''.$langs->trans('Ref').' ';
- // Define a complementary filter for search of next/prev ref.
- if (! $user->rights->projet->all->lire)
- {
- $objectsListId = $object->getProjectsAuthorizedForUser($user,0,0);
- $object->next_prev_filter=" rowid in (".(count($objectsListId)?join(',',array_keys($objectsListId)):'0').")";
- }
- print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', '');
- print ' ';
-
- // Label
- print ''.$langs->trans("Label").' '.$object->title.' ';
-
- // Customer
- print "".$langs->trans("ThirdParty")." ";
- print '';
- if ($object->thirdparty->id > 0) print $object->thirdparty->getNomUrl(1);
- else print ' ';
- print ' ';
- */
-
// Visibility
print ''.$langs->trans("Visibility").' ';
if ($object->public) print $langs->trans('SharedProject');
@@ -227,15 +204,12 @@ if ($id > 0 || ! empty($ref))
print ' ';
}
- // Date start
- print ''.$langs->trans("DateStart").' ';
- print dol_print_date($object->date_start,'day');
- print ' ';
-
- // Date end
- print ''.$langs->trans("DateEnd").' ';
- print dol_print_date($object->date_end,'day');
- print ' ';
+ // Date start - end
+ print ''.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").' ';
+ print dol_print_date($object->date_start,'day');
+ $end=dol_print_date($object->date_end,'day');
+ if ($end) print ' - '.$end;
+ print ' ';
// Budget
print ''.$langs->trans("Budget").' ';
diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php
index 4760f9d91aa..e94042f43d3 100644
--- a/htdocs/projet/element.php
+++ b/htdocs/projet/element.php
@@ -151,31 +151,12 @@ print '
';
print '';
-/*print ''.$langs->trans("Ref").' ';
-// Define a complementary filter for search of next/prev ref.
-if (! $user->rights->projet->all->lire)
-{
- $projectsListId = $object->getProjectsAuthorizedForUser($user,0,0);
- $object->next_prev_filter=" rowid in (".(count($projectsListId)?join(',',array_keys($projectsListId)):'0').")";
-}
-print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref');
-print ' ';
-
-print ''.$langs->trans("Label").' '.$object->title.' ';
-
-print ''.$langs->trans("ThirdParty").' ';
-if (! empty($object->thirdparty->id)) print $object->thirdparty->getNomUrl(1);
-else print ' ';
-print ' ';*/
// Visibility
print ''.$langs->trans("Visibility").' ';
if ($object->public) print $langs->trans('SharedProject');
else print $langs->trans('PrivateProject');
print ' ';
-// Statut
-//print ''.$langs->trans("Status").' '.$object->getLibStatut(4).' ';
-
if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES))
{
// Opportunity status
@@ -195,14 +176,11 @@ if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES))
print '';
}
-// Date start
-print ''.$langs->trans("DateStart").' ';
+// Date start - end
+print ' '.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").' ';
print dol_print_date($object->date_start,'day');
-print ' ';
-
-// Date end
-print ''.$langs->trans("DateEnd").' ';
-print dol_print_date($object->date_end,'day');
+$end=dol_print_date($object->date_end,'day');
+if ($end) print ' - '.$end;
print ' ';
// Budget
diff --git a/htdocs/projet/ganttview.php b/htdocs/projet/ganttview.php
index c7ab28e38ae..1751b30a4bb 100644
--- a/htdocs/projet/ganttview.php
+++ b/htdocs/projet/ganttview.php
@@ -130,63 +130,19 @@ if ($id > 0 || ! empty($ref))
print '';
-
- // Ref
- /*
- print ''.$langs->trans("Ref").' ';
- print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref');
- print ' ';
- */
-
- // Label
- //print ''.$langs->trans("Label").' '.$object->title.' ';
-
- // Third party
- /*
- print ''.$langs->trans("ThirdParty").' ';
- if ($object->thirdparty->id > 0) print $object->thirdparty->getNomUrl(1, 'project');
- else print' ';
- print ' ';
- */
-
// Visibility
print ''.$langs->trans("Visibility").' ';
if ($object->public) print $langs->trans('SharedProject');
else print $langs->trans('PrivateProject');
print ' ';
- // Statut
- //print ''.$langs->trans("Status").' '.$object->getLibStatut(4).' ';
-
- if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES))
- {
- // Opportunity status
- print ''.$langs->trans("OpportunityStatus").' ';
- $code = dol_getIdFromCode($db, $object->opp_status, 'c_lead_status', 'rowid', 'code');
- if ($code) print $langs->trans("OppStatus".$code);
- print ' ';
-
- // Opportunity percent
- print ''.$langs->trans("OpportunityProbability").' ';
- if (strcmp($object->opp_percent,'')) print price($object->opp_percent,'',$langs,1,0).' %';
- print ' ';
-
- // Opportunity Amount
- print ''.$langs->trans("OpportunityAmount").' ';
- if (strcmp($object->opp_amount,'')) print price($object->opp_amount,'',$langs,1,0,0,$conf->currency);
- print ' ';
- }
-
- // Date start
- print ''.$langs->trans("DateStart").' ';
+ // Date start - end
+ print ' '.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").' ';
print dol_print_date($object->date_start,'day');
+ $end=dol_print_date($object->date_end,'day');
+ if ($end) print ' - '.$end;
print ' ';
- // Date end
- print ''.$langs->trans("DateEnd").' ';
- print dol_print_date($object->date_end,'day');
- print ' ';
-
// Budget
print ''.$langs->trans("Budget").' ';
if (strcmp($object->budget_amount, '')) print price($object->budget_amount,'',$langs,1,0,0,$conf->currency);
diff --git a/htdocs/projet/list.php b/htdocs/projet/list.php
index fb29e4089cc..56da78cdbcf 100644
--- a/htdocs/projet/list.php
+++ b/htdocs/projet/list.php
@@ -270,7 +270,11 @@ else if ($year > 0)
$sql.= " AND p.datee BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'";
}
if ($search_all) $sql .= natural_search(array_keys($fieldstosearchall), $search_all);
-if ($search_status >= 0) $sql .= " AND p.fk_statut = ".$db->escape($search_status);
+if ($search_status >= 0)
+{
+ if ($search_status == 99) $sql .= " AND p.fk_statut <> 2";
+ else $sql .= " AND p.fk_statut = ".$db->escape($search_status);
+}
if ($search_opp_status)
{
if (is_numeric($search_opp_status) && $search_opp_status > 0) $sql .= " AND p.fk_opp_status = ".$db->escape($search_opp_status);
@@ -575,7 +579,10 @@ if ($resql)
if (! empty($arrayfields['p.fk_statut']['checked']))
{
print ' ';
- print $form->selectarray('search_status', array('-1'=>'', '0'=>$langs->trans('Draft'),'1'=>$langs->trans('Opened'),'2'=>$langs->trans('Closed')),$search_status);
+ $arrayofstatus = array();
+ foreach($projectstatic->statuts_short as $key => $val) $arrayofstatus[$key]=$langs->trans($val);
+ $arrayofstatus['99']=$langs->trans("NotClosed").' ('.$langs->trans('Draft').'+'.$langs->trans('Opened').')';
+ print $form->selectarray('search_status', $arrayofstatus, $search_status, 1, 0, 0, '', 0, 0, 0, '', 'maxwidth100');
print ' ';
}
// Action column
diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php
index 46c2e965ea1..986c0537bc5 100644
--- a/htdocs/projet/tasks.php
+++ b/htdocs/projet/tasks.php
@@ -235,42 +235,19 @@ if ($id > 0 || ! empty($ref))
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
-
print '';
print '
';
print '
';
print '
';
-
- // Ref
- /*
- print ''.$langs->trans("Ref").' ';
- print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref');
- print ' ';
- */
-
- // Label
- //print ''.$langs->trans("Label").' '.$object->title.' ';
-
- // Third party
- /*
- print ''.$langs->trans("ThirdParty").' ';
- if ($object->thirdparty->id > 0) print $object->thirdparty->getNomUrl(1, 'project');
- else print' ';
- print ' ';
- */
-
// Visibility
print ''.$langs->trans("Visibility").' ';
if ($object->public) print $langs->trans('SharedProject');
else print $langs->trans('PrivateProject');
print ' ';
- // Statut
- //print ''.$langs->trans("Status").' '.$object->getLibStatut(4).' ';
-
- if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES))
+ /*if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES))
{
// Opportunity status
print ''.$langs->trans("OpportunityStatus").' ';
@@ -287,18 +264,15 @@ if ($id > 0 || ! empty($ref))
print ' '.$langs->trans("OpportunityAmount").' ';
if (strcmp($object->opp_amount,'')) print price($object->opp_amount,'',$langs,1,0,0,$conf->currency);
print ' ';
- }
+ }*/
- // Date start
- print ''.$langs->trans("DateStart").' ';
+ // Date start - end
+ print ' '.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").' ';
print dol_print_date($object->date_start,'day');
+ $end=dol_print_date($object->date_end,'day');
+ if ($end) print ' - '.$end;
print ' ';
- // Date end
- print ''.$langs->trans("DateEnd").' ';
- print dol_print_date($object->date_end,'day');
- print ' ';
-
// Budget
print ''.$langs->trans("Budget").' ';
if (strcmp($object->budget_amount, '')) print price($object->budget_amount,'',$langs,1,0,0,$conf->currency);
diff --git a/htdocs/projet/tasks/contact.php b/htdocs/projet/tasks/contact.php
index 6689f966c15..dcb9f7426a8 100644
--- a/htdocs/projet/tasks/contact.php
+++ b/htdocs/projet/tasks/contact.php
@@ -191,49 +191,85 @@ if ($id > 0 || ! empty($ref))
$param=($mode=='mine'?'&mode=mine':'');
- print '';
-
- // Ref
- print '';
- print $langs->trans("Ref");
- print ' ';
- // Define a complementary filter for search of next/prev ref.
- if (! $user->rights->projet->all->lire)
- {
- $projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,0);
- $projectstatic->next_prev_filter=" rowid in (".(count($projectsListId)?join(',',array_keys($projectsListId)):'0').")";
- }
- print $form->showrefnav($projectstatic,'project_ref','',1,'ref','ref','',$param.'&withproject=1');
- print ' ';
-
- print ''.$langs->trans("Label").' '.$projectstatic->title.' ';
-
- print ''.$langs->trans("ThirdParty").' ';
- if (! empty($projectstatic->thirdparty->id)) print $projectstatic->thirdparty->getNomUrl(1);
- else print ' ';
- print ' ';
- print ' ';
-
- // Visibility
- print ''.$langs->trans("Visibility").' ';
- if ($projectstatic->public) print $langs->trans('SharedProject');
- else print $langs->trans('PrivateProject');
- print ' ';
-
- // Statut
- print ''.$langs->trans("Status").' '.$projectstatic->getLibStatut(4).' ';
-
- // Date start
- print ''.$langs->trans("DateStart").' ';
- print dol_print_date($projectstatic->date_start,'day');
- print ' ';
-
- // Date end
- print ''.$langs->trans("DateEnd").' ';
- print dol_print_date($projectstatic->date_end,'day');
- print ' ';
-
- print '
';
+ // Project card
+
+ $linkback = ''.$langs->trans("BackToList").' ';
+
+ $morehtmlref='';
+ // Title
+ $morehtmlref.=$projectstatic->title;
+ // Thirdparty
+ if ($projectstatic->thirdparty->id > 0)
+ {
+ $morehtmlref.=' '.$langs->trans('ThirdParty') . ' : ' . $projectstatic->thirdparty->getNomUrl(1, 'project');
+ }
+ $morehtmlref.='
';
+
+ // Define a complementary filter for search of next/prev ref.
+ if (! $user->rights->projet->all->lire)
+ {
+ $objectsListId = $object->getProjectsAuthorizedForUser($user,0,0);
+ $projectstatic->next_prev_filter=" rowid in (".(count($objectsListId)?join(',',array_keys($objectsListId)):'0').")";
+ }
+
+ dol_banner_tab($projectstatic, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
+
+ print '';
+ print '
';
+ print '
';
+
+ print '
';
+
+ // Visibility
+ print ''.$langs->trans("Visibility").' ';
+ if ($projectstatic->public) print $langs->trans('SharedProject');
+ else print $langs->trans('PrivateProject');
+ print ' ';
+
+ // Date start - end
+ print ''.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").' ';
+ print dol_print_date($projectstatic->date_start,'day');
+ $end=dol_print_date($projectstatic->date_end,'day');
+ if ($end) print ' - '.$end;
+ print ' ';
+
+ // Budget
+ print ''.$langs->trans("Budget").' ';
+ if (strcmp($projectstatic->budget_amount, '')) print price($projectstatic->budget_amount,'',$langs,1,0,0,$conf->currency);
+ print ' ';
+
+ // Other attributes
+ $cols = 2;
+ //include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php';
+
+ print '
';
+
+ print '
';
+ print '
';
+ print '
';
+ print '
';
+
+ print '
';
+
+ // Description
+ print ''.$langs->trans("Description").' ';
+ print nl2br($projectstatic->description);
+ print ' ';
+
+ // Categories
+ if($conf->categorie->enabled) {
+ print ''.$langs->trans("Categories").' ';
+ print $form->showCategories($projectstatic->id,'project',1);
+ print " ";
+ }
+
+ print '
';
+
+ print '
';
+ print '
';
+ print '
';
+
+ print '
';
dol_fiche_end();
}
diff --git a/htdocs/projet/tasks/document.php b/htdocs/projet/tasks/document.php
index 370ee117169..7c62fb651f1 100644
--- a/htdocs/projet/tasks/document.php
+++ b/htdocs/projet/tasks/document.php
@@ -134,50 +134,86 @@ if ($object->id > 0)
$param=($mode=='mine'?'&mode=mine':'');
- print '';
-
- // Ref
- print '';
- print $langs->trans("Ref");
- print ' ';
- // Define a complementary filter for search of next/prev ref.
- if (! $user->rights->projet->all->lire)
- {
- $projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,0);
- $projectstatic->next_prev_filter=" rowid in (".(count($projectsListId)?join(',',array_keys($projectsListId)):'0').")";
- }
- print $form->showrefnav($projectstatic,'project_ref','',1,'ref','ref','',$param.'&withproject=1');
- print ' ';
-
- print ''.$langs->trans("Label").' '.$projectstatic->title.' ';
-
- print ''.$langs->trans("ThirdParty").' ';
- if (! empty($projectstatic->thirdparty->id)) print $projectstatic->thirdparty->getNomUrl(1);
- else print ' ';
- print ' ';
- print ' ';
-
- // Visibility
- print ''.$langs->trans("Visibility").' ';
- if ($projectstatic->public) print $langs->trans('SharedProject');
- else print $langs->trans('PrivateProject');
- print ' ';
-
- // Statut
- print ''.$langs->trans("Status").' '.$projectstatic->getLibStatut(4).' ';
-
- // Date start
- print ''.$langs->trans("DateStart").' ';
- print dol_print_date($projectstatic->date_start,'day');
- print ' ';
-
- // Date end
- print ''.$langs->trans("DateEnd").' ';
- print dol_print_date($projectstatic->date_end,'day');
- print ' ';
-
- print '
';
+ // Project card
+ $linkback = ''.$langs->trans("BackToList").' ';
+
+ $morehtmlref='';
+ // Title
+ $morehtmlref.=$projectstatic->title;
+ // Thirdparty
+ if ($projectstatic->thirdparty->id > 0)
+ {
+ $morehtmlref.=' '.$langs->trans('ThirdParty') . ' : ' . $projectstatic->thirdparty->getNomUrl(1, 'project');
+ }
+ $morehtmlref.='
';
+
+ // Define a complementary filter for search of next/prev ref.
+ if (! $user->rights->projet->all->lire)
+ {
+ $objectsListId = $object->getProjectsAuthorizedForUser($user,0,0);
+ $projectstatic->next_prev_filter=" rowid in (".(count($objectsListId)?join(',',array_keys($objectsListId)):'0').")";
+ }
+
+ dol_banner_tab($projectstatic, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
+
+ print '';
+ print '
';
+ print '
';
+
+ print '
';
+
+ // Visibility
+ print ''.$langs->trans("Visibility").' ';
+ if ($projectstatic->public) print $langs->trans('SharedProject');
+ else print $langs->trans('PrivateProject');
+ print ' ';
+
+ // Date start - end
+ print ''.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").' ';
+ print dol_print_date($projectstatic->date_start,'day');
+ $end=dol_print_date($projectstatic->date_end,'day');
+ if ($end) print ' - '.$end;
+ print ' ';
+
+ // Budget
+ print ''.$langs->trans("Budget").' ';
+ if (strcmp($projectstatic->budget_amount, '')) print price($projectstatic->budget_amount,'',$langs,1,0,0,$conf->currency);
+ print ' ';
+
+ // Other attributes
+ $cols = 2;
+ //include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php';
+
+ print '
';
+
+ print '
';
+ print '
';
+ print '
';
+ print '
';
+
+ print '
';
+
+ // Description
+ print ''.$langs->trans("Description").' ';
+ print nl2br($projectstatic->description);
+ print ' ';
+
+ // Categories
+ if($conf->categorie->enabled) {
+ print ''.$langs->trans("Categories").' ';
+ print $form->showCategories($projectstatic->id,'project',1);
+ print " ";
+ }
+
+ print '
';
+
+ print '
';
+ print '
';
+ print '
';
+
+ print '
';
+
dol_fiche_end();
}
diff --git a/htdocs/projet/tasks/list.php b/htdocs/projet/tasks/list.php
index ae52588a0a9..f5b422a7ce2 100644
--- a/htdocs/projet/tasks/list.php
+++ b/htdocs/projet/tasks/list.php
@@ -99,14 +99,14 @@ $fieldstosearchall = array(
if (empty($user->socid)) $fieldstosearchall['t.note_private']="NotePrivate";
$arrayfields=array(
- 'p.ref'=>array('label'=>$langs->trans("ProjectRef"), 'checked'=>1),
- 'p.title'=>array('label'=>$langs->trans("ProjectLabel"), 'checked'=>0),
- 's.nom'=>array('label'=>$langs->trans("ThirdParty"), 'checked'=>0),
- 'p.fk_statut'=>array('label'=>$langs->trans("ProjectStatus"), 'checked'=>1),
't.ref'=>array('label'=>$langs->trans("RefTask"), 'checked'=>1, 'position'=>80),
't.label'=>array('label'=>$langs->trans("LabelTask"), 'checked'=>1, 'position'=>80),
't.dateo'=>array('label'=>$langs->trans("DateStart"), 'checked'=>1, 'position'=>100),
't.datee'=>array('label'=>$langs->trans("DateEnd"), 'checked'=>1, 'position'=>101),
+ 'p.ref'=>array('label'=>$langs->trans("ProjectRef"), 'checked'=>1),
+ 'p.title'=>array('label'=>$langs->trans("ProjectLabel"), 'checked'=>0),
+ 's.nom'=>array('label'=>$langs->trans("ThirdParty"), 'checked'=>0),
+ 'p.fk_statut'=>array('label'=>$langs->trans("ProjectStatus"), 'checked'=>1),
't.planned_workload'=>array('label'=>$langs->trans("PlannedWorkload"), 'checked'=>1, 'position'=>102),
't.duration_effective'=>array('label'=>$langs->trans("TimeSpent"), 'checked'=>1, 'position'=>103),
't.progress_calculated'=>array('label'=>$langs->trans("ProgressCalculated"), 'checked'=>1, 'position'=>104),
@@ -232,14 +232,8 @@ $sql.= " FROM ".MAIN_DB_PREFIX."projet as p";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s on p.fk_soc = s.rowid,";
$sql.= " ".MAIN_DB_PREFIX."projet_task as t";
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."projet_task_extrafields as ef on (t.rowid = ef.fk_object)";
-if ($search_project_user > 0)
-{
- $sql.=", ".MAIN_DB_PREFIX."element_contact as ecp";
-}
-if ($search_task_user > 0)
-{
- $sql.=", ".MAIN_DB_PREFIX."element_contact as ect";
-}
+if ($search_project_user > 0) $sql.=", ".MAIN_DB_PREFIX."element_contact as ecp";
+if ($search_task_user > 0) $sql.=", ".MAIN_DB_PREFIX."element_contact as ect";
$sql.= " WHERE t.fk_projet = p.rowid";
$sql.= " AND p.entity IN (".getEntity('project',1).')';
if (! $user->rights->projet->all->lire) $sql.=" AND p.rowid IN (".($projectsListId?$projectsListId:'0').")"; // public and assigned to projects, or restricted to company for external users
@@ -277,7 +271,11 @@ else if ($year > 0)
$sql.= " AND t.datee BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'";
}
if ($search_all) $sql .= natural_search(array_keys($fieldstosearchall), $search_all);
-if ($search_projectstatus >= 0) $sql .= " AND p.fk_statut = ".$db->escape($search_projectstatus);
+if ($search_projectstatus >= 0)
+{
+ if ($search_projectstatus == 99) $sql .= " AND p.fk_statut <> 2";
+ else $sql .= " AND p.fk_statut = ".$db->escape($search_projectstatus);
+}
if ($search_public!='') $sql .= " AND p.public = ".$db->escape($search_public);
if ($search_project_user > 0) $sql.= " AND ecp.fk_c_type_contact IN (".join(',',array_keys($listofprojectcontacttype)).") AND ecp.element_id = p.rowid AND ecp.fk_socpeople = ".$search_project_user;
if ($search_task_user > 0) $sql.= " AND ect.fk_c_type_contact IN (".join(',',array_keys($listoftaskcontacttype)).") AND ect.element_id = t.rowid AND ect.fk_socpeople = ".$search_task_user;
@@ -405,14 +403,14 @@ if ($resql)
print '';
print '';
- if (! empty($arrayfields['p.ref']['checked'])) print_liste_field_titre($arrayfields['p.ref']['label'],$_SERVER["PHP_SELF"],"p.ref","",$param,"",$sortfield,$sortorder);
- if (! empty($arrayfields['p.title']['checked'])) print_liste_field_titre($arrayfields['p.title']['label'],$_SERVER["PHP_SELF"],"p.title","",$param,"",$sortfield,$sortorder);
- if (! empty($arrayfields['s.nom']['checked'])) print_liste_field_titre($arrayfields['s.nom']['label'],$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder);
- if (! empty($arrayfields['p.fk_statut']['checked'])) print_liste_field_titre($arrayfields['p.fk_statut']['label'],$_SERVER["PHP_SELF"],"p.fk_statut","",$param,"",$sortfield,$sortorder);
if (! empty($arrayfields['t.ref']['checked'])) print_liste_field_titre($arrayfields['t.ref']['label'],$_SERVER["PHP_SELF"],"t.ref","",$param,"",$sortfield,$sortorder);
if (! empty($arrayfields['t.label']['checked'])) print_liste_field_titre($arrayfields['t.label']['label'],$_SERVER["PHP_SELF"],"t.label","",$param,"",$sortfield,$sortorder);
if (! empty($arrayfields['t.dateo']['checked'])) print_liste_field_titre($arrayfields['t.dateo']['label'],$_SERVER["PHP_SELF"],"t.dateo","",$param,'align="center"',$sortfield,$sortorder);
if (! empty($arrayfields['t.datee']['checked'])) print_liste_field_titre($arrayfields['t.datee']['label'],$_SERVER["PHP_SELF"],"t.datee","",$param,'align="center"',$sortfield,$sortorder);
+ if (! empty($arrayfields['p.ref']['checked'])) print_liste_field_titre($arrayfields['p.ref']['label'],$_SERVER["PHP_SELF"],"p.ref","",$param,"",$sortfield,$sortorder);
+ if (! empty($arrayfields['p.title']['checked'])) print_liste_field_titre($arrayfields['p.title']['label'],$_SERVER["PHP_SELF"],"p.title","",$param,"",$sortfield,$sortorder);
+ if (! empty($arrayfields['s.nom']['checked'])) print_liste_field_titre($arrayfields['s.nom']['label'],$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder);
+ if (! empty($arrayfields['p.fk_statut']['checked'])) print_liste_field_titre($arrayfields['p.fk_statut']['label'],$_SERVER["PHP_SELF"],"p.fk_statut","",$param,"",$sortfield,$sortorder);
if (! empty($arrayfields['t.planned_workload']['checked'])) print_liste_field_titre($arrayfields['t.planned_workload']['label'],$_SERVER["PHP_SELF"],"t.planned_workload","",$param,'align="center"',$sortfield,$sortorder);
if (! empty($arrayfields['t.duration_effective']['checked'])) print_liste_field_titre($arrayfields['t.duration_effective']['label'],$_SERVER["PHP_SELF"],"t.duration_effective","",$param,'align="center"',$sortfield,$sortorder);
if (! empty($arrayfields['t.progress_calculated']['checked'])) print_liste_field_titre($arrayfields['t.progress_calculated']['label'],$_SERVER["PHP_SELF"],"","",$param,'align="center"');
@@ -439,32 +437,6 @@ if ($resql)
print " \n";
print '';
- if (! empty($arrayfields['p.ref']['checked']))
- {
- print '';
- print ' ';
- print ' ';
- }
- if (! empty($arrayfields['p.title']['checked']))
- {
- print '';
- print ' ';
- print ' ';
- }
- if (! empty($arrayfields['s.nom']['checked']))
- {
- print '';
- print ' ';
- print ' ';
- }
- if (! empty($arrayfields['p.fk_statut']['checked']))
- {
- print '';
- $listofstatus=array(-1=>' ');
- foreach($projectstatic->statuts_short as $key => $val) $listofstatus[$key]=$langs->trans($val);
- print $form->selectarray('search_projectstatus', $listofstatus, $search_projectstatus);
- print ' ';
- }
if (! empty($arrayfields['t.ref']['checked']))
{
print '';
@@ -495,6 +467,33 @@ if ($resql)
$formother->select_year($year?$year:-1,'year',1, 20, 5);
print ' ';
}
+ if (! empty($arrayfields['p.ref']['checked']))
+ {
+ print '';
+ print ' ';
+ print ' ';
+ }
+ if (! empty($arrayfields['p.title']['checked']))
+ {
+ print '';
+ print ' ';
+ print ' ';
+ }
+ if (! empty($arrayfields['s.nom']['checked']))
+ {
+ print '';
+ print ' ';
+ print ' ';
+ }
+ if (! empty($arrayfields['p.fk_statut']['checked']))
+ {
+ print '';
+ $arrayofstatus = array();
+ foreach($projectstatic->statuts_short as $key => $val) $arrayofstatus[$key]=$langs->trans($val);
+ $arrayofstatus['99']=$langs->trans("NotClosed").' ('.$langs->trans('Draft').'+'.$langs->trans('Opened').')';
+ print $form->selectarray('search_projectstatus', $arrayofstatus, $search_projectstatus, 1, 0, 0, '', 0, 0, 0, '', 'maxwidth100');
+ print ' ';
+ }
if (! empty($arrayfields['t.planned_workload']['checked'])) print ' ';
if (! empty($arrayfields['t.duration_effective']['checked'])) print ' ';
if (! empty($arrayfields['t.progress_calculated']['checked'])) print ' ';
@@ -580,48 +579,6 @@ if ($resql)
$var=!$var;
print " ";
- // Project url
- if (! empty($arrayfields['p.ref']['checked']))
- {
- print '';
- print $projectstatic->getNomUrl(1, 'task');
- if ($projectstatic->hasDelay()) print img_warning("Late");
- print ' ';
- if (! $i) $totalarray['nbfield']++;
- }
- // Title
- if (! empty($arrayfields['p.title']['checked']))
- {
- print '';
- print dol_trunc($obj->projecttitle,80);
- print ' ';
- if (! $i) $totalarray['nbfield']++;
- }
- // Company
- if (! empty($arrayfields['s.nom']['checked']))
- {
- print '';
- if ($obj->socid)
- {
- $socstatic->id=$obj->socid;
- $socstatic->name=$obj->name;
- print $socstatic->getNomUrl(1);
- }
- else
- {
- print ' ';
- }
- print ' ';
- if (! $i) $totalarray['nbfield']++;
- }
- // Status
- if (! empty($arrayfields['p.fk_statut']['checked']))
- {
- print '';
- print $projectstatic->getLibStatut(1);
- print ' ';
- if (! $i) $totalarray['nbfield']++;
- }
// Ref
if (! empty($arrayfields['t.ref']['checked']))
{
@@ -655,6 +612,48 @@ if ($resql)
print '';
if (! $i) $totalarray['nbfield']++;
}
+ // Project ref
+ if (! empty($arrayfields['p.ref']['checked']))
+ {
+ print '';
+ print $projectstatic->getNomUrl(1, 'task');
+ if ($projectstatic->hasDelay()) print img_warning("Late");
+ print ' ';
+ if (! $i) $totalarray['nbfield']++;
+ }
+ // Project title
+ if (! empty($arrayfields['p.title']['checked']))
+ {
+ print '';
+ print dol_trunc($obj->projecttitle,80);
+ print ' ';
+ if (! $i) $totalarray['nbfield']++;
+ }
+ // Third party
+ if (! empty($arrayfields['s.nom']['checked']))
+ {
+ print '';
+ if ($obj->socid)
+ {
+ $socstatic->id=$obj->socid;
+ $socstatic->name=$obj->name;
+ print $socstatic->getNomUrl(1);
+ }
+ else
+ {
+ print ' ';
+ }
+ print ' ';
+ if (! $i) $totalarray['nbfield']++;
+ }
+ // Project status
+ if (! empty($arrayfields['p.fk_statut']['checked']))
+ {
+ print '';
+ print $projectstatic->getLibStatut(1);
+ print ' ';
+ if (! $i) $totalarray['nbfield']++;
+ }
// Planned workload
if (! empty($arrayfields['t.planned_workload']['checked']))
diff --git a/htdocs/projet/tasks/note.php b/htdocs/projet/tasks/note.php
index 5d5cb38dbe5..f443facaabf 100644
--- a/htdocs/projet/tasks/note.php
+++ b/htdocs/projet/tasks/note.php
@@ -113,53 +113,86 @@ if ($object->id > 0)
dol_fiche_head($head, $tab, $langs->trans("Project"),0,($projectstatic->public?'projectpub':'project'));
$param=($mode=='mine'?'&mode=mine':'');
-
- print '';
-
- // Ref
- print '';
- print $langs->trans("Ref");
- print ' ';
+ // Project card
+
+ $linkback = ''.$langs->trans("BackToList").' ';
+
+ $morehtmlref='';
+ // Title
+ $morehtmlref.=$projectstatic->title;
+ // Thirdparty
+ if ($projectstatic->thirdparty->id > 0)
+ {
+ $morehtmlref.=' '.$langs->trans('ThirdParty') . ' : ' . $projectstatic->thirdparty->getNomUrl(1, 'project');
+ }
+ $morehtmlref.='
';
+
// Define a complementary filter for search of next/prev ref.
if (! $user->rights->projet->all->lire)
{
- $projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,0);
- $projectstatic->next_prev_filter=" rowid in (".(count($projectsListId)?join(',',array_keys($projectsListId)):'0').")";
+ $objectsListId = $object->getProjectsAuthorizedForUser($user,0,0);
+ $projectstatic->next_prev_filter=" rowid in (".(count($objectsListId)?join(',',array_keys($objectsListId)):'0').")";
}
- print $form->showrefnav($projectstatic,'project_ref','',1,'ref','ref','',$param.'&withproject=1');
- print ' ';
-
- // Project
- print ''.$langs->trans("Label").' '.$projectstatic->title.' ';
-
- // Company
- print ''.$langs->trans("ThirdParty").' ';
- if (! empty($projectstatic->thirdparty->id)) print $projectstatic->thirdparty->getNomUrl(1);
- else print ' ';
- print ' ';
- print ' ';
-
+
+ dol_banner_tab($projectstatic, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
+
+ print '';
+ print '
';
+ print '
';
+
+ print '
';
+
// Visibility
- print ''.$langs->trans("Visibility").' ';
+ print ' '.$langs->trans("Visibility").' ';
if ($projectstatic->public) print $langs->trans('SharedProject');
else print $langs->trans('PrivateProject');
print ' ';
-
- // Statut
- print ''.$langs->trans("Status").' '.$projectstatic->getLibStatut(4).' ';
-
- // Date start
- print ''.$langs->trans("DateStart").' ';
+
+ // Date start - end
+ print ' '.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").' ';
print dol_print_date($projectstatic->date_start,'day');
+ $end=dol_print_date($projectstatic->date_end,'day');
+ if ($end) print ' - '.$end;
print ' ';
-
- // Date end
- print ''.$langs->trans("DateEnd").' ';
- print dol_print_date($projectstatic->date_end,'day');
+
+ // Budget
+ print ' '.$langs->trans("Budget").' ';
+ if (strcmp($projectstatic->budget_amount, '')) print price($projectstatic->budget_amount,'',$langs,1,0,0,$conf->currency);
print ' ';
-
+
+ // Other attributes
+ $cols = 2;
+ //include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php';
+
print '
';
-
+
+ print '
';
+ print '
';
+ print '
';
+ print '
';
+
+ print '
';
+
+ // Description
+ print ''.$langs->trans("Description").' ';
+ print nl2br($projectstatic->description);
+ print ' ';
+
+ // Categories
+ if($conf->categorie->enabled) {
+ print ''.$langs->trans("Categories").' ';
+ print $form->showCategories($projectstatic->id,'project',1);
+ print " ";
+ }
+
+ print '
';
+
+ print '
';
+ print '
';
+ print '
';
+
+ print '
';
+
dol_fiche_end();
}
@@ -203,7 +236,7 @@ if ($object->id > 0)
print ' ';
- $colwidth=30;
+ $cssclass='titlefield';
$moreparam=$param;
include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php';
diff --git a/htdocs/projet/tasks/task.php b/htdocs/projet/tasks/task.php
index 0dd08bbd342..55838675920 100644
--- a/htdocs/projet/tasks/task.php
+++ b/htdocs/projet/tasks/task.php
@@ -224,52 +224,86 @@ if ($id > 0 || ! empty($ref))
$param=($mode=='mine'?'&mode=mine':'');
- print '';
-
- $linkback = ''.$langs->trans("BackToList").' ';
-
- // Ref
- print '';
- print $langs->trans("Ref");
- print ' ';
- // Define a complementary filter for search of next/prev ref.
- if (! $user->rights->projet->all->lire)
- {
- $projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,0);
- $projectstatic->next_prev_filter=" rowid in (".(count($projectsListId)?join(',',array_keys($projectsListId)):'0').")";
- }
- print $form->showrefnav($projectstatic,'project_ref',$linkback,1,'ref','ref','',$param.'&withproject=1');
- print ' ';
-
- print ''.$langs->trans("Label").' '.$projectstatic->title.' ';
-
- print ''.$langs->trans("ThirdParty").' ';
- if (! empty($projectstatic->thirdparty->id)) print $projectstatic->thirdparty->getNomUrl(1);
- else print ' ';
- print ' ';
- print ' ';
-
- // Visibility
- print ''.$langs->trans("Visibility").' ';
- if ($projectstatic->public) print $langs->trans('SharedProject');
- else print $langs->trans('PrivateProject');
- print ' ';
-
- // Statut
- print ''.$langs->trans("Status").' '.$projectstatic->getLibStatut(4).' ';
-
- // Date start
- print ''.$langs->trans("DateStart").' ';
- print dol_print_date($projectstatic->date_start,'day');
- print ' ';
-
- // Date end
- print ''.$langs->trans("DateEnd").' ';
- print dol_print_date($projectstatic->date_end,'day');
- print ' ';
-
- print '
';
-
+ // Project card
+
+ $linkback = ''.$langs->trans("BackToList").' ';
+
+ $morehtmlref='';
+ // Title
+ $morehtmlref.=$projectstatic->title;
+ // Thirdparty
+ if ($projectstatic->thirdparty->id > 0)
+ {
+ $morehtmlref.=' '.$langs->trans('ThirdParty') . ' : ' . $projectstatic->thirdparty->getNomUrl(1, 'project');
+ }
+ $morehtmlref.='
';
+
+ // Define a complementary filter for search of next/prev ref.
+ if (! $user->rights->projet->all->lire)
+ {
+ $objectsListId = $object->getProjectsAuthorizedForUser($user,0,0);
+ $projectstatic->next_prev_filter=" rowid in (".(count($objectsListId)?join(',',array_keys($objectsListId)):'0').")";
+ }
+
+ dol_banner_tab($projectstatic, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
+
+ print '';
+ print '
';
+ print '
';
+
+ print '
';
+
+ // Visibility
+ print ''.$langs->trans("Visibility").' ';
+ if ($projectstatic->public) print $langs->trans('SharedProject');
+ else print $langs->trans('PrivateProject');
+ print ' ';
+
+ // Date start - end
+ print ''.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").' ';
+ print dol_print_date($projectstatic->date_start,'day');
+ $end=dol_print_date($projectstatic->date_end,'day');
+ if ($end) print ' - '.$end;
+ print ' ';
+
+ // Budget
+ print ''.$langs->trans("Budget").' ';
+ if (strcmp($projectstatic->budget_amount, '')) print price($projectstatic->budget_amount,'',$langs,1,0,0,$conf->currency);
+ print ' ';
+
+ // Other attributes
+ $cols = 2;
+ //include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php';
+
+ print '
';
+
+ print '
';
+ print '
';
+ print '
';
+ print '
';
+
+ print '
';
+
+ // Description
+ print ''.$langs->trans("Description").' ';
+ print nl2br($projectstatic->description);
+ print ' ';
+
+ // Categories
+ if($conf->categorie->enabled) {
+ print ''.$langs->trans("Categories").' ';
+ print $form->showCategories($projectstatic->id,'project',1);
+ print " ";
+ }
+
+ print '
';
+
+ print '
';
+ print '
';
+ print '
';
+
+ print '
';
+
dol_fiche_end();
}
diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php
index 0caf1461e88..1041f95640a 100644
--- a/htdocs/projet/tasks/time.php
+++ b/htdocs/projet/tasks/time.php
@@ -301,69 +301,85 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0)
$param=($mode=='mine'?'&mode=mine':'');
- print '';
-
- $linkback = ''.$langs->trans("BackToList").' ';
-
- // Ref
- print '';
- print $langs->trans("Ref");
- print ' ';
- // Define a complementary filter for search of next/prev ref.
- if (! $user->rights->projet->all->lire)
- {
- $projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,0);
- $projectstatic->next_prev_filter=" rowid in (".(count($projectsListId)?join(',',array_keys($projectsListId)):'0').")";
- }
- print $form->showrefnav($projectstatic,'project_ref',$linkback,1,'ref','ref','',$param.'&withproject=1');
- print ' ';
-
- // Label
- print ''.$langs->trans("Label").' '.$projectstatic->title.' ';
-
- // Thirdparty
- print ''.$langs->trans("ThirdParty").' ';
- if (! empty($projectstatic->thirdparty->id)) print $projectstatic->thirdparty->getNomUrl(1);
- else print ' ';
- print ' ';
- print ' ';
-
- // Visibility
- print ''.$langs->trans("Visibility").' ';
- if ($projectstatic->public) print $langs->trans('SharedProject');
- else print $langs->trans('PrivateProject');
- print ' ';
-
- // Statut
- print ''.$langs->trans("Status").' '.$projectstatic->getLibStatut(4).' ';
-
- // Date start
- print ''.$langs->trans("DateStart").' ';
- print dol_print_date($projectstatic->date_start,'day');
- print ' ';
-
- // Date end
- print ''.$langs->trans("DateEnd").' ';
- print dol_print_date($projectstatic->date_end,'day');
- print ' ';
-
- if ((! $id && ! $ref) || ! empty($projectidforalltimes)) // Not a dedicated task
- {
- // Budget
- print ''.$langs->trans("Budget").' ';
- if (strcmp($projectstatic->budget_amount, '')) print price($projectstatic->budget_amount,'',$langs,0,0,0,$conf->currency);
- print ' ';
-
- // Other options
- $parameters=array();
- $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$projectstatic,$action); // Note that $action and $object may have been modified by hook
- if (empty($reshook) && ! empty($extrafields_project->attribute_label))
- {
- print $projectstatic->showOptionals($extrafields_project);
- }
- }
-
- print '
';
+ // Project card
+
+ $linkback = ''.$langs->trans("BackToList").' ';
+
+ $morehtmlref='';
+ // Title
+ $morehtmlref.=$projectstatic->title;
+ // Thirdparty
+ if ($projectstatic->thirdparty->id > 0)
+ {
+ $morehtmlref.=' '.$langs->trans('ThirdParty') . ' : ' . $projectstatic->thirdparty->getNomUrl(1, 'project');
+ }
+ $morehtmlref.='
';
+
+ // Define a complementary filter for search of next/prev ref.
+ if (! $user->rights->projet->all->lire)
+ {
+ $objectsListId = $object->getProjectsAuthorizedForUser($user,0,0);
+ $projectstatic->next_prev_filter=" rowid in (".(count($objectsListId)?join(',',array_keys($objectsListId)):'0').")";
+ }
+
+ dol_banner_tab($projectstatic, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
+
+ print '';
+ print '
';
+ print '
';
+
+ print '
';
+
+ // Visibility
+ print ''.$langs->trans("Visibility").' ';
+ if ($projectstatic->public) print $langs->trans('SharedProject');
+ else print $langs->trans('PrivateProject');
+ print ' ';
+
+ // Date start - end
+ print ''.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").' ';
+ print dol_print_date($projectstatic->date_start,'day');
+ $end=dol_print_date($projectstatic->date_end,'day');
+ if ($end) print ' - '.$end;
+ print ' ';
+
+ // Budget
+ print ''.$langs->trans("Budget").' ';
+ if (strcmp($projectstatic->budget_amount, '')) print price($projectstatic->budget_amount,'',$langs,1,0,0,$conf->currency);
+ print ' ';
+
+ // Other attributes
+ $cols = 2;
+ //include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php';
+
+ print '
';
+
+ print '
';
+ print '
';
+ print '
';
+ print '
';
+
+ print '
';
+
+ // Description
+ print ''.$langs->trans("Description").' ';
+ print nl2br($projectstatic->description);
+ print ' ';
+
+ // Categories
+ if($conf->categorie->enabled) {
+ print ''.$langs->trans("Categories").' ';
+ print $form->showCategories($projectstatic->id,'project',1);
+ print " ";
+ }
+
+ print '
';
+
+ print '
';
+ print '
';
+ print '
';
+
+ print '
';
dol_fiche_end();