Work on look and feel v6

This commit is contained in:
Laurent Destailleur 2017-04-05 14:48:24 +02:00
parent 1dc2cae3a5
commit e2ea5945dd
25 changed files with 355 additions and 210 deletions

View File

@ -1570,40 +1570,85 @@ class Adherent extends CommonObject
/**
* Return clicable name (with picto eventually)
*
* @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto
* @param int $maxlen length max libelle
* @param string $option Page lien
* @param int $withpictoimg 0=No picto, 1=Include picto into link, 2=Only picto, -1=Include photo into link, -2=Only picto photo, -3=Only photo very small)
* @param int $maxlen length max label
* @param string $option Page for link
* @param string $mode ''=Show firstname and lastname, 'firstname'=Show only firstname, 'login'=Show login, 'ref'=Show ref
* @param string $morecss Add more css on link
* @return string Chaine avec URL
*/
function getNomUrl($withpicto=0,$maxlen=0,$option='card')
function getNomUrl($withpictoimg=0,$maxlen=0,$option='card',$mode='ref',$morecss='')
{
global $langs;
global $conf, $langs;
$result='';
$label = '<u>' . $langs->trans("ShowMember") . '</u>';
if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) && $withpictoimg) $withpictoimg=0;
$result=''; $label='';
$link=''; $linkstart=''; $linkend='';
if (! empty($this->photo))
{
$label.= '<div class="photointooltip">';
$label.= Form::showphoto('memberphoto', $this, 80, 0, 0, 'photowithmargin photologintooltip', 'small', 0, 1);
$label.= '</div><div style="clear: both;"></div>';
}
$label.= '<div class="centpercent">';
$label.= '<u>' . $langs->trans("Member") . '</u>';
if (! empty($this->ref))
$label.= '<br><b>' . $langs->trans('Ref') . ':</b> ' . $this->ref;
if (! empty($this->firstname) || ! empty($this->lastname))
$label.= '<br><b>' . $langs->trans('Name') . ':</b> ' . $this->getFullName($langs);
$linkclose = '" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
$link=''; $linkend='';
$label.='</div>';
if ($option == 'card' || $option == 'category')
{
$link = '<a href="'.DOL_URL_ROOT.'/adherents/card.php?rowid='.$this->id.$linkclose;
$linkend='</a>';
$link = '<a href="'.DOL_URL_ROOT.'/adherents/card.php?rowid='.$this->id.'"';
}
if ($option == 'subscription')
{
$link = '<a href="'.DOL_URL_ROOT.'/adherents/subscription.php?rowid='.$this->id.$linkclose;
$linkend='</a>';
$link = '<a href="'.DOL_URL_ROOT.'/adherents/subscription.php?rowid='.$this->id.'"';
}
$picto='user';
if ($withpicto) $result.=($link.img_object('', $picto, 'class="classfortooltip"').$linkend);
if ($withpicto && $withpicto != 2) $result.=' ';
$result.=$link.(($withpicto != 2) ? ($maxlen?dol_trunc($this->ref,$maxlen):$this->ref) : '').$linkend;
$linkclose="";
if (empty($notooltip))
{
if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER))
{
$langs->load("users");
$label=$langs->trans("ShowUser");
$linkclose.=' alt="'.dol_escape_htmltag($label, 1).'"';
}
$linkclose.= ' title="'.dol_escape_htmltag($label, 1).'"';
$linkclose.= ' class="classfortooltip'.($morecss?' '.$morecss:'').'"';
}
$link.=$linkclose.'>';
$linkend='</a>';
//if ($withpictoimg == -1) $result.='<div class="nowrap">';
$result.=$link;
if ($withpictoimg)
{
$paddafterimage='';
if (abs($withpictoimg) == 1) $paddafterimage='style="margin-right: 3px;"';
// Only picto
if ($withpictoimg > 0) $picto='<div class="inline-block nopadding valignmiddle'.($morecss?' userimg'.$morecss:'').'">'.img_object('', 'user', $paddafterimage.' '.($notooltip?'':'class="classfortooltip"'), 0, 0, $notooltip?0:1).'</div>';
// Picto must be a photo
else $picto='<div class="inline-block nopadding valignmiddle'.($morecss?' userimg'.$morecss:'').'"'.($paddafterimage?' '.$paddafterimage:'').'>'.Form::showphoto('memberphoto', $this, 0, 0, 0, 'userphoto'.($withpictoimg==-3?'small':''), 'mini', 0, 1).'</div>';
$result.=$picto;
}
if ($withpictoimg > -2 && $withpictoimg != 2)
{
if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) $result.='<div class="inline-block nopadding valignmiddle'.((! isset($this->statut) || $this->statut)?'':' strikefordisabled').($morecss?' usertext'.$morecss:'').'">';
if ($mode == 'login') $result.=dol_trunc($this->login, $maxlen);
elseif ($mode == 'ref') $result.=$this->id;
else $result.=$this->getFullName($langs,'',($mode == 'firstname' ? 2 : -1),$maxlen);
if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) $result.='</div>';
}
$result.=$linkend;
//if ($withpictoimg == -1) $result.='</div>';
return $result;
}

View File

@ -611,6 +611,7 @@ while ($i < min($num, $limit))
$memberstatic->statut=$obj->statut;
$memberstatic->datefin= $datefin;
$memberstatic->socid = $obj->fk_soc;
$memberstatic->photo = $obj->photo;
if (! empty($obj->fk_soc)) {
$memberstatic->fetch_thirdparty();
@ -619,8 +620,7 @@ while ($i < min($num, $limit))
$companyname=$obj->company;
}
$var=!$var;
print "<tr>";
print '<tr class="oddeven">';
if (! empty($conf->global->MAIN_VIEW_LINE_NUMBER))
{
@ -631,7 +631,7 @@ while ($i < min($num, $limit))
if (! empty($arrayfields['d.ref']['checked']))
{
print "<td>";
print $memberstatic->getNomUrl(1);
print $memberstatic->getNomUrl(-1);
print "</td>\n";
}
// Firstname

View File

@ -105,7 +105,7 @@ if ($object->id)
$head = categories_prepare_head($object,$type);
dol_fiche_head($head, 'photos', $title, 0, 'category');
dol_fiche_head($head, 'photos', $title, -1, 'category');
$linkback = '<a href="'.DOL_URL_ROOT.'/categories/index.php?leftmenu=cat&type='.$type.'">'.$langs->trans("BackToList").'</a>';
@ -130,6 +130,7 @@ if ($object->id)
print '<br>';
print '<div class="fichecenter">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border" width="100%">';
@ -146,7 +147,8 @@ if ($object->id)
print '</td></tr>';
print "</table>\n";
print '</div>';
print dol_fiche_end();
@ -198,7 +200,7 @@ if ($object->id)
$dir = $upload_dir.'/'.$pdir;
print '<br>';
print '<table width="100%" valign="top" align="center" border="0" cellpadding="2" cellspacing="2">';
print '<table width="100%" valign="top" align="center">';
foreach ($object->liste_photos($dir) as $key => $obj)
{
@ -255,14 +257,12 @@ if ($object->id)
$nbphoto++;
}
print '</table>';
if ($nbphoto < 1)
{
print '<tr align=center valign=middle border=1><td class="photo">';
print "<br>".$langs->trans("NoPhotoYet")."<br><br>";
print '</td></tr>';
print '<div class="opacitymedium">'.$langs->trans("NoPhotoYet")."</div>";
}
print '</table>';
}
}
else

View File

@ -167,7 +167,7 @@ if (! empty($object->multilangs))
}
}
dol_fiche_head($head, 'translation', $title, 0, 'category');
dol_fiche_head($head, 'translation', $title, -1, 'category');
$linkback = '<a href="'.DOL_URL_ROOT.'/categories/index.php?leftmenu=cat&type='.$type.'">'.$langs->trans("BackToList").'</a>';
@ -184,6 +184,7 @@ dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref', 'ref',
print '<br>';
print '<div class="fichecenter">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border" width="100%">';
@ -201,6 +202,7 @@ print $formother->showColor($object->color);
print '</td></tr>';
print '</table>';
print '</div>';
dol_fiche_end();

View File

@ -192,7 +192,7 @@ else $title=$langs->trans("Category");
$head = categories_prepare_head($object,$type);
dol_fiche_head($head, 'card', $title, 0, 'category');
dol_fiche_head($head, 'card', $title, -1, 'category');
$linkback = '<a href="'.DOL_URL_ROOT.'/categories/index.php?leftmenu=cat&type='.$type.'">'.$langs->trans("BackToList").'</a>';
@ -219,6 +219,7 @@ if ($action == 'delete')
print '<br>';
print '<div class="fichecenter">';
print '<div class="underbanner clearboth"></div>';
print '<table width="100%" class="border">';
@ -241,6 +242,7 @@ if (empty($reshook) && ! empty($extrafields->attribute_label))
}
print '</table>';
print '</div>';
dol_fiche_end();

View File

@ -228,7 +228,6 @@ $tabs = array(
)
);
dol_fiche_head($tabs, 0, $langs->trans('LineRecord'), 0, 'account');
$sql = "SELECT b.rowid,b.dateo as do,b.datev as dv, b.amount, b.label, b.rappro,";
$sql.= " b.num_releve, b.fk_user_author, b.num_chq, b.fk_type, b.fk_account, b.fk_bordereau as receiptid,";
@ -269,11 +268,14 @@ if ($result)
print '<input type="hidden" name="orig_account" value="'.$orig_account.'">';
print '<input type="hidden" name="id" value="'.$acct->id.'">';
dol_fiche_head($tabs, 0, $langs->trans('LineRecord'), 0, 'account');
$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php">'.$langs->trans("BackToList").'</a>';
dol_banner_tab($bankline, 'rowid', $linkback);
print '<div class="underbanner clearboth"></div>';
print '<table class="border" width="100%">';
@ -542,8 +544,10 @@ if ($result)
print "</tr>";
print "</table>";
print '<br><div class="center"><input type="submit" class="button" value="'.$langs->trans("Update").'"></div>';
dol_fiche_end();
print '<div class="center"><input type="submit" class="button" value="'.$langs->trans("Update").'"></div><br>';
print "</form>";
@ -596,7 +600,7 @@ if ($result)
print '</tr>';
print '</table>';
print '<br><div class="center"><input type="submit" class="button" value="'.$langs->trans("Update").'"></div>';
print '<div class="center"><input type="submit" class="button" value="'.$langs->trans("Update").'"></div><br>';
print '</form>';
}
@ -606,7 +610,6 @@ if ($result)
$db->free($result);
}
else dol_print_error($db);
print '</div>';
@ -641,8 +644,7 @@ if ($result)
{
$objp = $db->fetch_object($result);
$var=!$var;
print "<tr ".$bc[$var].">";
print '<tr clas"oddeven">';
print "<td>".$objp->label."</td>";
print "<td align=\"center\"><a href=\"budget.php?bid=".$objp->rowid."\">".$langs->trans("ListBankTransactions")."</a></td>";

View File

@ -781,7 +781,7 @@ abstract class CommonObject
$tab=array();
$sql = "SELECT ec.rowid, ec.statut as statuslink, ec.fk_socpeople as id, ec.fk_c_type_contact"; // This field contains id of llx_socpeople or id of llx_user
if ($source == 'internal') $sql.=", '-1' as socid, t.statut as statuscontact";
if ($source == 'internal') $sql.=", '-1' as socid, t.statut as statuscontact, t.login, t.photo";
if ($source == 'external' || $source == 'thirdparty') $sql.=", t.fk_soc as socid, t.statut as statuscontact";
$sql.= ", t.civility as civility, t.lastname as lastname, t.firstname, t.email";
$sql.= ", tc.source, tc.element, tc.code, tc.libelle";
@ -815,7 +815,7 @@ abstract class CommonObject
$libelle_type=($langs->trans($transkey)!=$transkey ? $langs->trans($transkey) : $obj->libelle);
$tab[$i]=array('source'=>$obj->source,'socid'=>$obj->socid,'id'=>$obj->id,
'nom'=>$obj->lastname, // For backward compatibility
'civility'=>$obj->civility, 'lastname'=>$obj->lastname, 'firstname'=>$obj->firstname, 'email'=>$obj->email, 'statuscontact'=>$obj->statuscontact,
'civility'=>$obj->civility, 'lastname'=>$obj->lastname, 'firstname'=>$obj->firstname, 'email'=>$obj->email, 'login'=>$obj->login, 'photo'=>$obj->photo, 'statuscontact'=>$obj->statuscontact,
'rowid'=>$obj->rowid, 'code'=>$obj->code, 'libelle'=>$libelle_type, 'status'=>$obj->statuslink, 'fk_c_type_contact'=>$obj->fk_c_type_contact);
}
else

View File

@ -4920,7 +4920,7 @@ class Form
}
elseif ($typehour=='text' || $typehour=='textselect')
{
$retstring.='<input placeholder="'.$langs->trans('HourShort').'" type="number" min="0" size="1" name="'.$prefix.'hour"'.($disabled?' disabled':'').' class="flat" value="'.($hourSelected?((int) $hourSelected):'').'">';
$retstring.='<input placeholder="'.$langs->trans('HourShort').'" type="number" min="0" size="1" name="'.$prefix.'hour"'.($disabled?' disabled':'').' class="flat maxwidth50" value="'.($hourSelected?((int) $hourSelected):'').'">';
}
else return 'BadValueForParameterTypeHour';
@ -4944,7 +4944,7 @@ class Form
}
elseif ($typehour=='text' )
{
$retstring.='<input placeholder="'.$langs->trans('MinuteShort').'" type="number" min="0" size="1" name="'.$prefix.'min"'.($disabled?' disabled':'').' class="flat" value="'.($minSelected?((int) $minSelected):'').'">';
$retstring.='<input placeholder="'.$langs->trans('MinuteShort').'" type="number" min="0" size="1" name="'.$prefix.'min"'.($disabled?' disabled':'').' class="flat maxwidth50" value="'.($minSelected?((int) $minSelected):'').'">';
}
if ($typehour!='text') $retstring.=' '.$langs->trans('MinuteShort');

View File

@ -1103,19 +1103,16 @@ class FormFile
// Do we have entry into database ?
print '<!-- In database: position='.$filearray[$key]['position'].' -->'."\n";
print '<tr id="row-'.($filearray[$key]['rowid']>0?$filearray[$key]['rowid']:'-AFTER'.$lastrowid.'POS'.($i+1)).'" '.$bcdd[$var].'>';
print '<td class="tdoverflow">';
print '<td class="tdoverflowmax300">';
$filepath=$relativepath.$file['name'];
if (! $editline) print $this->showPreview($file,$modulepart,$filepath);
//print "XX".$file['name']; //$file['name'] must be utf8
print '<a data-ajax="false" href="'.DOL_URL_ROOT.'/document.php?modulepart='.$modulepart;
print '<a class="paddingleft" href="'.DOL_URL_ROOT.'/document.php?modulepart='.$modulepart;
if ($forcedownload) print '&attachment=1';
if (! empty($object->entity)) print '&entity='.$object->entity;
$filepath=$relativepath.$file['name'];
/* Restore old code: When file is at level 2+, full relative path (and not only level1) must be into url
if ($file['level1name'] <> $object->id)
$filepath=$object->id.'/'.$file['level1name'].'/'.$file['name'];
else
$filepath=$object->id.'/'.$file['name'];
*/
print '&file='.urlencode($filepath);
print '">';
@ -1135,10 +1132,10 @@ class FormFile
print '</a>';
}
if (! $editline) print $this->showPreview($file,$modulepart,$filepath);
print "</td>\n";
print '<td align="right" width="80px">'.dol_print_size($file['size'],1,1).'</td>';
print '<td align="center" width="130px">'.dol_print_date($file['date'],"dayhour","tzuser").'</td>';
// Preview

View File

@ -1176,7 +1176,8 @@ function dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='r
}
if (! empty($object->name_alias)) $morehtmlref.='<div class="refidno">'.$object->name_alias.'</div>'; // For thirdparty
if ($object->element == 'product' || $object->element == 'bank_account')
// Add label
if ($object->element == 'product' || $object->element == 'bank_account' || $object->element == 'project_task')
{
if (! empty($object->label)) $morehtmlref.='<div class="refidno">'.$object->label.'</div>';
}

View File

@ -196,7 +196,9 @@ if ($permission) {
$userstatic->id=$tab[$i]['id'];
$userstatic->lastname=$tab[$i]['lastname'];
$userstatic->firstname=$tab[$i]['firstname'];
echo $userstatic->getNomUrl(1);
$userstatic->photo=$tab[$i]['photo'];
$userstatic->login=$tab[$i]['login'];
echo $userstatic->getNomUrl(-1);
}
if ($tab[$i]['source']=='external')
{

View File

@ -848,7 +848,7 @@ if (! defined('NOREQUIRETRAN'))
// Define some constants used for style of arrays
$bc=array(0=>'class="impair"',1=>'class="pair"');
$bcdd=array(0=>'class="drag drop"',1=>'class="drag drop"');
$bcdd=array(0=>'class="drag drop oddeven"',1=>'class="drag drop oddeven"');
$bcnd=array(0=>'class="nodrag nodrop nohover"',1=>'class="nodrag nodrop nohoverpair"'); // Used for tr to add new lines
$bctag=array(0=>'class="tagtr"',1=>'class="pair tagtr"');

View File

@ -892,13 +892,12 @@ elseif ($object->id > 0)
// Date start - end
print '<tr><td>'.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").'</td><td>';
print dol_print_date($object->date_start,'day');
$end=dol_print_date($object->date_end,'day');
if ($end)
{
print ' - '.$end;
if ($object->hasDelay()) print img_warning($langs->trans('Late'));
}
$start = dol_print_date($object->date_start,'dayhour');
print ($start?$start:'?');
$end = dol_print_date($object->date_end,'dayhour');
print ' - ';
print ($end?$end:'?');
if ($object->hasDelay()) print img_warning("Late");
print '</td></tr>';
// Budget

View File

@ -1635,6 +1635,17 @@ class Task extends CommonObject
if ($statut==4) return $langs->trans($this->statuts_short[$statut]).' '.img_picto($langs->trans($this->statuts_short[$statut]),'statut6');
if ($statut==5) return $langs->trans($this->statuts_short[$statut]).' '.img_picto($langs->trans($this->statuts_short[$statut]),'statut5');
}
if ($mode == 6)
{
/*if ($statut==0) return $langs->trans($this->statuts_short[$statut]).' '.img_picto($langs->trans($this->statuts_short[$statut]),'statut0');
if ($statut==1) return $langs->trans($this->statuts_short[$statut]).' '.img_picto($langs->trans($this->statuts_short[$statut]),'statut1');
if ($statut==2) return $langs->trans($this->statuts_short[$statut]).' '.img_picto($langs->trans($this->statuts_short[$statut]),'statut3');
if ($statut==3) return $langs->trans($this->statuts_short[$statut]).' '.img_picto($langs->trans($this->statuts_short[$statut]),'statut4');
if ($statut==4) return $langs->trans($this->statuts_short[$statut]).' '.img_picto($langs->trans($this->statuts_short[$statut]),'statut6');
if ($statut==5) return $langs->trans($this->statuts_short[$statut]).' '.img_picto($langs->trans($this->statuts_short[$statut]),'statut5');*/
//return $this->progress.' %';
return '&nbsp;';
}
}
/**

View File

@ -146,7 +146,7 @@ if ($id > 0 || ! empty($ref))
//print "userAccess=".$userAccess." userWrite=".$userWrite." userDelete=".$userDelete;
$head = project_prepare_head($object);
dol_fiche_head($head, 'contact', $langs->trans("Project"), 0, ($object->public?'projectpub':'project'));
dol_fiche_head($head, 'contact', $langs->trans("Project"), -1, ($object->public?'projectpub':'project'));
// Project card
@ -206,9 +206,12 @@ if ($id > 0 || ! empty($ref))
// Date start - end
print '<tr><td>'.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").'</td><td>';
print dol_print_date($object->date_start,'day');
$end=dol_print_date($object->date_end,'day');
if ($end) print ' - '.$end;
$start = dol_print_date($object->date_start,'dayhour');
print ($start?$start:'?');
$end = dol_print_date($object->date_end,'dayhour');
print ' - ';
print ($end?$end:'?');
if ($object->hasDelay()) print img_warning("Late");
print '</td></tr>';
// Budget
@ -235,7 +238,7 @@ if ($id > 0 || ! empty($ref))
print '</td></tr>';
// Categories
if($conf->categorie->enabled) {
if ($conf->categorie->enabled) {
print '<tr><td valign="middle">'.$langs->trans("Categories").'</td><td>';
print $form->showCategories($object->id,'project',1);
print "</td></tr>";

View File

@ -183,9 +183,12 @@ if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES))
// Date start - end
print '<tr><td>'.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").'</td><td>';
print dol_print_date($object->date_start,'day');
$end=dol_print_date($object->date_end,'day');
if ($end) print ' - '.$end;
$start = dol_print_date($object->date_start,'dayhour');
print ($start?$start:'?');
$end = dol_print_date($object->date_end,'dayhour');
print ' - ';
print ($end?$end:'?');
if ($object->hasDelay()) print img_warning("Late");
print '</td></tr>';
// Budget
@ -770,7 +773,6 @@ foreach ($listofreferent as $key => $value)
$elementarray = $object->get_element_list($key, $tablename, $datefieldname, $dates, $datee);
if (is_array($elementarray) && count($elementarray)>0)
{
$var=true;
$total_ht = 0;
$total_ttc = 0;
@ -813,7 +815,6 @@ foreach ($listofreferent as $key => $value)
if ($breakline && $saved_third_id != $element->thirdparty->id)
{
print $breakline;
$var = true;
$saved_third_id = $element->thirdparty->id;
$breakline = '';
@ -829,8 +830,7 @@ foreach ($listofreferent as $key => $value)
if (! empty($element->close_code) && $element->close_code == 'replaced') $qualifiedfortotal=false; // Replacement invoice, do not include into total
}
$var=!$var;
print "<tr ".$bc[$var].">";
print '<tr class="oddeven">';
// Remove link
print '<td style="width: 24px">';
if ($tablename != 'projet_task' && $tablename != 'stock_mouvement')
@ -909,7 +909,9 @@ foreach ($listofreferent as $key => $value)
else if (in_array($tablename, array('projet_task')))
{
$tmpprojtime = $element->getSumOfAmount($elementuser, $dates, $datee); // $element is a task. $elementuser may be empty
print '<a href="'.DOL_URL_ROOT.'/projet/tasks/time.php?id='.$idofelement.'&withproject=1">';
print convertSecondToTime($tmpprojtime['nbseconds'], 'allhourmin');
print '</a>';
$total_time_by_line = $tmpprojtime['nbseconds'];
}
else print dol_print_date($date,'day');
@ -935,7 +937,7 @@ foreach ($listofreferent as $key => $value)
}
else if ($tablename == 'projet_task' && $key == 'project_task_time') // if $key == 'project_task', we don't want details per user
{
print $elementuser->getNomUrl(1);
print $elementuser->getNomUrl(1);
}
print '</td>';

View File

@ -167,8 +167,8 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_
$parent = $task["task_parent"];
// Define percent
$percent = $task['task_percent_complete']?$task['task_percent_complete']:0;
// Link
$link=DOL_URL_ROOT.'/projet/tasks/task.php?withproject=1&id='.$task["task_id"];
// Link (more information)
$link=DOL_URL_ROOT.'/projet/tasks/contact.php?withproject=1&id='.$task["task_id"];
// Name
$name=$task['task_name'];

View File

@ -94,7 +94,7 @@ if ($id > 0 || ! empty($ref))
$tab='gantt';
$head=project_prepare_head($object);
dol_fiche_head($head, $tab, $langs->trans("Project"),0,($object->public?'projectpub':'project'));
dol_fiche_head($head, $tab, $langs->trans("Project"), -1, ($object->public?'projectpub':'project'));
$param=($mode=='mine'?'&mode=mine':'');
@ -138,9 +138,12 @@ if ($id > 0 || ! empty($ref))
// Date start - end
print '<tr><td>'.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").'</td><td>';
print dol_print_date($object->date_start,'day');
$end=dol_print_date($object->date_end,'day');
if ($end) print ' - '.$end;
$start = dol_print_date($object->date_start,'dayhour');
print ($start?$start:'?');
$end = dol_print_date($object->date_end,'dayhour');
print ' - ';
print ($end?$end:'?');
if ($object->hasDelay()) print img_warning("Late");
print '</td></tr>';
// Budget
@ -253,7 +256,7 @@ if (count($tasksarray)>0)
$tasks[$taskcursor]['task_percent_complete']=$val->progress;
//$tasks[$taskcursor]['task_name']=$task->getNomUrl(1);
//print dol_print_date($val->date_start).dol_print_date($val->date_end).'<br>'."\n";
$tasks[$taskcursor]['task_name']=$val->label;
$tasks[$taskcursor]['task_name']=$val->ref.' - '.$val->label;
$tasks[$taskcursor]['task_start_date']=$val->date_start;
$tasks[$taskcursor]['task_end_date']=$val->date_end;
$tasks[$taskcursor]['task_color']='b4d1ea';

View File

@ -207,7 +207,7 @@ if ($id > 0 || ! empty($ref))
$tab=GETPOST('tab')?GETPOST('tab'):'tasks';
$head=project_prepare_head($object);
dol_fiche_head($head, $tab, $langs->trans("Project"),0,($object->public?'projectpub':'project'));
dol_fiche_head($head, $tab, $langs->trans("Project"), -1, ($object->public?'projectpub':'project'));
$param=($mode=='mine'?'&mode=mine':'');
@ -268,9 +268,12 @@ if ($id > 0 || ! empty($ref))
// Date start - end
print '<tr><td>'.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").'</td><td>';
print dol_print_date($object->date_start,'day');
$end=dol_print_date($object->date_end,'day');
if ($end) print ' - '.$end;
$start = dol_print_date($object->date_start,'dayhour');
print ($start?$start:'?');
$end = dol_print_date($object->date_end,'dayhour');
print ' - ';
print ($end?$end:'?');
if ($object->hasDelay()) print img_warning("Late");
print '</td></tr>';
// Budget

View File

@ -279,35 +279,31 @@ if ($id > 0 || ! empty($ref))
//$arrayofuseridoftask=$object->getListContactId('internal');
$head = task_prepare_head($object);
dol_fiche_head($head, 'task_contact', $langs->trans("Task"), 0, 'projecttask');
dol_fiche_head($head, 'task_contact', $langs->trans("Task"), -1, 'projecttask');
/*
* Projet synthese pour rappel
*/
print '<table class="border" width="100%">';
$param=(GETPOST('withproject')?'&withproject=1':'');
$linkback=GETPOST('withproject')?'<a href="'.DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.'">'.$langs->trans("BackToList").'</a>':'';
// Ref
print '<tr><td class="titlefield">'.$langs->trans('Ref').'</td><td colspan="3">';
if (! GETPOST('withproject') || empty($projectstatic->id))
{
$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,1);
$object->next_prev_filter=" fk_projet in (".$projectsListId.")";
}
else $object->next_prev_filter=" fk_projet = ".$projectstatic->id;
print $form->showrefnav($object,'ref',$linkback,1,'ref','ref','',$param);
print '</td></tr>';
// Label
print '<tr><td>'.$langs->trans("Label").'</td><td>'.$object->label.'</td></tr>';
// Project
if (empty($withproject))
$morehtmlref='';
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, $param, 0, '', '', 1);
if (empty($withproject))
{
print '<tr><td>'.$langs->trans("Project").'</td><td>';
print '<div class="fichecenter">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border" width="100%">';
// Project
print '<tr><td class="titlefield">'.$langs->trans("Project").'</td><td>';
print $projectstatic->getNomUrl(1);
print '</td></tr>';
@ -317,16 +313,18 @@ if ($id > 0 || ! empty($ref))
if ($projectstatic->thirdparty->id > 0) print $projectstatic->thirdparty->getNomUrl(1);
else print '&nbsp;';
print '</td></tr>';
print "</table>";
print '</div>';
}
print "</table>";
dol_fiche_end();
/*
* Lignes de contacts
*/
print '<br>';
/*
// Contacts lines (modules that overwrite templates must declare this into descriptor)
$dirtpls=array_merge($conf->modules_parts['tpl'],array('/core/tpl'));
@ -481,7 +479,9 @@ if ($id > 0 || ! empty($ref))
$userstatic->id=$tab[$i]['id'];
$userstatic->lastname=$tab[$i]['lastname'];
$userstatic->firstname=$tab[$i]['firstname'];
print $userstatic->getNomUrl(1);
$userstatic->photo=$tab[$i]['photo'];
$userstatic->login=$tab[$i]['login'];
print $userstatic->getNomUrl(-1);
}
if ($tab[$i]['source']=='external')
{

View File

@ -218,10 +218,7 @@ if ($object->id > 0)
}
$head = task_prepare_head($object);
dol_fiche_head($head, 'task_document', $langs->trans("Task"), 0, 'projecttask');
$param=(GETPOST('withproject')?'&withproject=1':'');
$linkback=GETPOST('withproject')?'<a href="'.DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.'">'.$langs->trans("BackToList").'</a>':'';
dol_fiche_head($head, 'task_document', $langs->trans("Task"), -1, 'projecttask');
// Files list constructor
$filearray=dol_dir_list($upload_dir,"files",0,'','(\.meta|_preview\.png)$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
@ -230,10 +227,27 @@ if ($object->id > 0)
{
$totalsize+=$file['size'];
}
$param=(GETPOST('withproject')?'&withproject=1':'');
$linkback=GETPOST('withproject')?'<a href="'.DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.'">'.$langs->trans("BackToList").'</a>':'';
if (! GETPOST('withproject') || empty($projectstatic->id))
{
$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,1);
$object->next_prev_filter=" fk_projet in (".$projectsListId.")";
}
else $object->next_prev_filter=" fk_projet = ".$projectstatic->id;
$morehtmlref='';
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, $param);
print '<div class="fichecenter">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border" width="100%">';
// Ref
/*
print '<tr><td class="titlefield">';
print $langs->trans("Ref");
print '</td><td colspan="3">';
@ -249,11 +263,12 @@ if ($object->id > 0)
// Label
print '<tr><td>'.$langs->trans("Label").'</td><td colspan="3">'.$object->label.'</td></tr>';
*/
// Project
if (empty($withproject))
{
print '<tr><td>'.$langs->trans("Project").'</td><td colspan="3">';
print '<tr><td class="titlefield">'.$langs->trans("Project").'</td><td colspan="3">';
print $projectstatic->getNomUrl(1);
print '</td></tr>';
@ -265,11 +280,13 @@ if ($object->id > 0)
}
// Files infos
print '<tr><td>'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
print '<tr><td class="titlefield">'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.$totalsize.' '.$langs->trans("bytes").'</td></tr>';
print "</table>\n";
print '</div>';
dol_fiche_end();
print '<br>';

View File

@ -110,7 +110,7 @@ if ($object->id > 0)
// Tabs for project
$tab='tasks';
$head=project_prepare_head($projectstatic);
dol_fiche_head($head, $tab, $langs->trans("Project"),0,($projectstatic->public?'projectpub':'project'));
dol_fiche_head($head, $tab, $langs->trans("Project"), 0, ($projectstatic->public?'projectpub':'project'));
$param=($mode=='mine'?'&mode=mine':'');
// Project card
@ -197,13 +197,27 @@ if ($object->id > 0)
}
$head = task_prepare_head($object);
dol_fiche_head($head, 'task_notes', $langs->trans('Task'), 0, 'projecttask');
print '<table class="border" width="100%">';
dol_fiche_head($head, 'task_notes', $langs->trans('Task'), -1, 'projecttask');
$param=(GETPOST('withproject')?'&withproject=1':'');
$linkback=GETPOST('withproject')?'<a href="'.DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.'">'.$langs->trans("BackToList").'</a>':'';
if (! GETPOST('withproject') || empty($projectstatic->id))
{
$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,1);
$object->next_prev_filter=" fk_projet in (".$projectsListId.")";
}
else $object->next_prev_filter=" fk_projet = ".$projectstatic->id;
$morehtmlref='';
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, $param);
print '<div class="fichecenter">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border" width="100%">';
/*
// Ref
print '<tr><td class="titlefield">'.$langs->trans("Ref").'</td><td>';
if (empty($withproject) || empty($projectstatic->id))
@ -217,7 +231,8 @@ if ($object->id > 0)
// Label
print '<tr><td>'.$langs->trans("Label").'</td><td>'.$object->label.'</td></tr>';
*/
// Project
if (empty($withproject))
{
@ -234,12 +249,12 @@ if ($object->id > 0)
print "</table>";
print '<br>';
$cssclass='titlefield';
$moreparam=$param;
include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php';
print '</div>';
dol_fiche_end();
}

View File

@ -221,7 +221,7 @@ if ($id > 0 || ! empty($ref))
// Tabs for project
$tab='tasks';
$head=project_prepare_head($projectstatic);
dol_fiche_head($head, $tab, $langs->trans("Project"),0,($projectstatic->public?'projectpub':'project'));
dol_fiche_head($head, $tab, $langs->trans("Project"), -1, ($projectstatic->public?'projectpub':'project'));
$param=($mode=='mine'?'&mode=mine':'');
@ -306,6 +306,8 @@ if ($id > 0 || ! empty($ref))
print '<div class="clearboth"></div>';
dol_fiche_end();
print '<br>';
}
/*
@ -437,9 +439,22 @@ if ($id > 0 || ! empty($ref))
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$_GET["id"].'&withproject='.$withproject,$langs->trans("DeleteATask"),$langs->trans("ConfirmDeleteATask"),"confirm_delete");
}
if (! GETPOST('withproject') || empty($projectstatic->id))
{
$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,1);
$object->next_prev_filter=" fk_projet in (".$projectsListId.")";
}
else $object->next_prev_filter=" fk_projet = ".$projectstatic->id;
$morehtmlref='';
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, $param);
print '<div class="fichecenter">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border" width="100%">';
/*
// Ref
print '<tr><td class="titlefield">';
print $langs->trans("Ref");
@ -456,11 +471,12 @@ if ($id > 0 || ! empty($ref))
// Label
print '<tr><td>'.$langs->trans("Label").'</td><td colspan="3">'.$object->label.'</td></tr>';
*/
// Project
if (empty($withproject))
{
print '<tr><td>'.$langs->trans("Project").'</td><td colspan="3">';
print '<tr><td class="titlefield">'.$langs->trans("Project").'</td><td colspan="3">';
print $projectstatic->getNomUrl(1);
print '</td></tr>';
@ -471,15 +487,14 @@ if ($id > 0 || ! empty($ref))
print '</td></tr>';
}
// Date start
print '<tr><td>'.$langs->trans("DateStart").'</td><td colspan="3">';
print dol_print_date($object->date_start,'dayhour');
print '</td></tr>';
// Date end
print '<tr><td>'.$langs->trans("DateEnd").'</td><td colspan="3">';
print dol_print_date($object->date_end,'dayhour');
if ($object->hasDelay()) print img_warning("Late");
// Date start - Date end
print '<tr><td class="titlefield">'.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").'</td><td colspan="3">';
$start = dol_print_date($object->date_start,'dayhour');
print ($start?$start:'?');
$end = dol_print_date($object->date_end,'dayhour');
print ' - ';
print ($end?$end:'?');
if ($object->hasDelay()) print img_warning("Late");
print '</td></tr>';
// Planned workload
@ -523,7 +538,8 @@ if ($id > 0 || ! empty($ref))
}
print '</table>';
print '</div>';
print '</div>';
dol_fiche_end();
}

View File

@ -49,6 +49,9 @@ $search_datewithhour='';
$search_note=GETPOST('search_note','alpha');
$search_duration=GETPOST('search_duration','int');
$search_value=GETPOST('search_value','int');
$search_task_ref=GETPOST('search_task_ref','alpha');
$search_task_label=GETPOST('search_task_label','alpha');
$search_user=GETPOST('search_user','int');
// Security check
$socid=0;
@ -103,6 +106,9 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") ||GETPO
$search_value='';
$search_date_creation='';
$search_date_update='';
$search_task_ref='';
$search_task_label='';
$search_user=0;
$toselect='';
$search_array_options=array();
$action='';
@ -299,7 +305,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0)
// Tabs for project
$tab='tasks';
$head=project_prepare_head($projectstatic);
dol_fiche_head($head, $tab, $langs->trans("Project"),0,($projectstatic->public?'projectpub':'project'));
dol_fiche_head($head, $tab, $langs->trans("Project"), 0, ($projectstatic->public?'projectpub':'project'));
$param=($mode=='mine'?'&mode=mine':'');
@ -418,43 +424,51 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0)
if (empty($projectidforalltimes))
{
$head=task_prepare_head($object);
dol_fiche_head($head, 'task_time', $langs->trans("Task"),0,'projecttask');
dol_fiche_head($head, 'task_time', $langs->trans("Task"), -1, 'projecttask');
if ($action == 'deleteline')
{
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id.'&lineid='.$_GET["lineid"].($withproject?'&withproject=1':''),$langs->trans("DeleteATimeSpent"),$langs->trans("ConfirmDeleteATimeSpent"),"confirm_delete",'','',1);
}
print '<div class="fichecenter">';
print '<table class="border" width="100%">';
$param=($withproject?'&withproject=1':'');
$linkback=$withproject?'<a href="'.DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.'">'.$langs->trans("BackToList").'</a>':'';
// Ref
print '<tr><td class="titlefield">';
print $langs->trans("Ref");
print '</td><td colspan="3">';
if (! GETPOST('withproject') || empty($projectstatic->id))
{
$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,1);
$object->next_prev_filter=" fk_projet in (".$projectsListId.")";
}
else $object->next_prev_filter=" fk_projet = ".$projectstatic->id;
$morehtmlref='';
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, $param);
print '<div class="fichecenter">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border" width="100%">';
// Ref
/*
print '<tr><td class="titlefield">';
print $langs->trans("Ref");
print '</td><td colspan="3">';
print $form->showrefnav($object,'ref',$linkback,1,'ref','ref','',$param);
print '</td></tr>';
// Label
print '<tr><td>'.$langs->trans("Label").'</td><td colspan="3">'.$object->label.'</td></tr>';
// Date start
print '<tr><td>'.$langs->trans("DateStart").'</td><td colspan="3">';
print dol_print_date($object->date_start,'dayhour');
print '</td></tr>';
// Date end
print '<tr><td>'.$langs->trans("DateEnd").'</td><td colspan="3">';
print dol_print_date($object->date_end,'dayhour');
*/
// Date start - Date end
print '<tr><td class="titlefield">'.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").'</td><td colspan="3">';
$start = dol_print_date($object->date_start,'dayhour');
print ($start?$start:'?');
$end = dol_print_date($object->date_end,'dayhour');
print ' - ';
print ($end?$end:'?');
if ($object->hasDelay()) print img_warning("Late");
print '</td></tr>';
// Planned workload
@ -517,11 +531,12 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0)
print '<td>'.$langs->trans("Date").'</td>';
print '<td>'.$langs->trans("By").'</td>';
print '<td>'.$langs->trans("Note").'</td>';
print '<td>'.$langs->trans("NewTimeSpent").'</td>';
print '<td>'.$langs->trans("ProgressDeclared").'</td>';
print '<td align="right" colspan="2">'.$langs->trans("NewTimeSpent").'</td>';
print '<td></td>';
print "</tr>\n";
print '<tr '.$bc[false].'>';
print '<tr class="oddeven">';
// Date
print '<td class="maxwidthonsmartphone">';
@ -550,16 +565,16 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0)
print '<textarea name="timespent_note" class="maxwidth100onsmartphone" rows="'.ROWS_2.'">'.($_POST['timespent_note']?$_POST['timespent_note']:'').'</textarea>';
print '</td>';
// Duration - Time spent
print '<td>';
print $form->select_duration('timespent_duration', ($_POST['timespent_duration']?$_POST['timespent_duration']:''), 0, 'text');
print '</td>';
// Progress declared
print '<td class="nowrap">';
print $formother->select_percent(GETPOST('progress')?GETPOST('progress'):$object->progress,'progress');
print '</td>';
// Duration - Time spent
print '<td class="nowrap" align="right">';
print $form->select_duration('timespent_duration', ($_POST['timespent_duration']?$_POST['timespent_duration']:''), 0, 'text');
print '</td>';
print '<td align="center">';
print '<input type="submit" class="button" value="'.$langs->trans("Add").'">';
print '</td></tr>';
@ -609,13 +624,16 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0)
$sql = "SELECT t.rowid, t.fk_task, t.task_date, t.task_datehour, t.task_date_withhour, t.task_duration, t.fk_user, t.note, t.thm,";
$sql .= " pt.ref, pt.label,";
$sql .= " u.lastname, u.firstname";
$sql .= " u.lastname, u.firstname, u.login, u.photo";
$sql .= " FROM ".MAIN_DB_PREFIX."projet_task_time as t, ".MAIN_DB_PREFIX."projet_task as pt, ".MAIN_DB_PREFIX."user as u";
$sql .= " WHERE t.fk_user = u.rowid AND t.fk_task = pt.rowid";
if (empty($projectidforalltimes)) $sql .= " AND t.fk_task =".$object->id;
else $sql.= " AND pt.fk_projet IN (".$projectidforalltimes.")";
if ($search_ref) $sql .= natural_search('c.ref', $search_ref);
if ($search_note) $sql .= natural_search('t.note', $search_note);
if ($search_task_ref) $sql .= natural_search('pt.ref', $search_task_ref);
if ($search_task_label) $sql .= natural_search('pt.label', $search_task_label);
if ($search_user > 0) $sql .= natural_search('t.fk_user', $search_user);
$sql .= $db->order($sortfield, $sortorder);
$var=true;
@ -711,50 +729,23 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0)
print '<div class="div-table-responsive">';
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
print '<tr class="liste_titre">';
if (! empty($arrayfields['t.task_date']['checked'])) print_liste_field_titre($arrayfields['t.task_date']['label'],$_SERVER['PHP_SELF'],'t.task_date,t.task_datehour,t.rowid','',$params,'',$sortfield,$sortorder);
if ((empty($id) && empty($ref)) || ! empty($projectidforalltimes)) // Not a dedicated task
{
if (! empty($arrayfields['t.task_ref']['checked'])) print_liste_field_titre($arrayfields['t.task_ref']['label'],$_SERVER['PHP_SELF'],'pt.ref','',$params,'',$sortfield,$sortorder);
if (! empty($arrayfields['t.task_label']['checked'])) print_liste_field_titre($arrayfields['t.task_label']['label'],$_SERVER['PHP_SELF'],'pt.label','',$params,'',$sortfield,$sortorder);
}
if (! empty($arrayfields['author']['checked'])) print_liste_field_titre($arrayfields['author']['label'],$_SERVER['PHP_SELF'],'','',$params,'',$sortfield,$sortorder);
if (! empty($arrayfields['t.note']['checked'])) print_liste_field_titre($arrayfields['t.note']['label'],$_SERVER['PHP_SELF'],'t.note','',$params,'',$sortfield,$sortorder);
if (! empty($arrayfields['t.task_duration']['checked'])) print_liste_field_titre($arrayfields['t.task_duration']['label'],$_SERVER['PHP_SELF'],'t.task_duration','',$params,'align="right"',$sortfield,$sortorder);
if (! empty($arrayfields['value']['checked'])) print_liste_field_titre($arrayfields['value']['label'],$_SERVER['PHP_SELF'],'','',$params,'align="right"',$sortfield,$sortorder);
// Extra fields
/*
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label))
{
foreach($extrafields->attribute_label as $key => $val)
{
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}*/
// Hook fields
$parameters=array('arrayfields'=>$arrayfields);
$reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch ');
print "</tr>\n";
// Fields title search
print '<tr class="liste_titre">';
// LIST_OF_TD_TITLE_SEARCH
print '<tr class="liste_titre_filter">';
// Date
if (! empty($arrayfields['t.task_date']['checked'])) print '<td class="liste_titre"></td>';
if ((empty($id) && empty($ref)) || ! empty($projectidforalltimes)) // Not a dedicated task
{
if (! empty($arrayfields['t.task_ref']['checked'])) print '<td class="liste_titre"></td>';
if (! empty($arrayfields['t.task_label']['checked'])) print '<td class="liste_titre"></td>';
if (! empty($arrayfields['t.task_ref']['checked'])) print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="search_task_ref" value="'.dol_escape_htmltag($search_task_ref).'"></td>';
if (! empty($arrayfields['t.task_label']['checked'])) print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="search_task_label" value="'.dol_escape_htmltag($search_task_label).'"></td>';
}
if (! empty($arrayfields['author']['checked'])) print '<td class="liste_titre"></td>';
if (! empty($arrayfields['t.note']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_note" value="'.$search_note.'"></td>';
if (! empty($arrayfields['t.task_duration']['checked'])) print '<td class="liste_titre right"></td>';
if (! empty($arrayfields['value']['checked'])) print '<td class="liste_titre"></td>';
// Author
if (! empty($arrayfields['author']['checked'])) print '<td class="liste_titre">'.$form->select_dolusers($search_user > 0 ? $search_user : -1, 'search_user', 1).'</td>';
// Note
if (! empty($arrayfields['t.note']['checked'])) print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="search_note" value="'.dol_escape_htmltag($search_note).'"></td>';
// Duration
if (! empty($arrayfields['t.task_duration']['checked'])) print '<td class="liste_titre right"></td>';
// Value in currency
if (! empty($arrayfields['value']['checked'])) print '<td class="liste_titre"></td>';
// Extra fields
/*
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label))
@ -784,11 +775,42 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0)
$reshook=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
// Action column
print '<td class="liste_titre" align="right">';
print '<td class="liste_titre center">';
$searchpitco=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1);
print $searchpitco;
print '</td>';
print '</tr>'."\n";
print '</tr>'."\n";
print '<tr class="liste_titre">';
if (! empty($arrayfields['t.task_date']['checked'])) print_liste_field_titre($arrayfields['t.task_date']['label'],$_SERVER['PHP_SELF'],'t.task_date,t.task_datehour,t.rowid','',$params,'',$sortfield,$sortorder);
if ((empty($id) && empty($ref)) || ! empty($projectidforalltimes)) // Not a dedicated task
{
if (! empty($arrayfields['t.task_ref']['checked'])) print_liste_field_titre($arrayfields['t.task_ref']['label'],$_SERVER['PHP_SELF'],'pt.ref','',$params,'',$sortfield,$sortorder);
if (! empty($arrayfields['t.task_label']['checked'])) print_liste_field_titre($arrayfields['t.task_label']['label'],$_SERVER['PHP_SELF'],'pt.label','',$params,'',$sortfield,$sortorder);
}
if (! empty($arrayfields['author']['checked'])) print_liste_field_titre($arrayfields['author']['label'],$_SERVER['PHP_SELF'],'','',$params,'',$sortfield,$sortorder);
if (! empty($arrayfields['t.note']['checked'])) print_liste_field_titre($arrayfields['t.note']['label'],$_SERVER['PHP_SELF'],'t.note','',$params,'',$sortfield,$sortorder);
if (! empty($arrayfields['t.task_duration']['checked'])) print_liste_field_titre($arrayfields['t.task_duration']['label'],$_SERVER['PHP_SELF'],'t.task_duration','',$params,'align="right"',$sortfield,$sortorder);
if (! empty($arrayfields['value']['checked'])) print_liste_field_titre($arrayfields['value']['label'],$_SERVER['PHP_SELF'],'','',$params,'align="right"',$sortfield,$sortorder);
// Extra fields
/*
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label))
{
foreach($extrafields->attribute_label as $key => $val)
{
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}*/
// Hook fields
$parameters=array('arrayfields'=>$arrayfields);
$reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="center" width="80"',$sortfield,$sortorder,'maxwidthsearch ');
print "</tr>\n";
$tasktmp = new Task($db);
@ -802,7 +824,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0)
foreach ($tasks as $task_time)
{
$var=!$var;
print "<tr ".$bc[$var].">";
print '<tr class="oddeven">';
$date1=$db->jdate($task_time->task_date);
$date2=$db->jdate($task_time->task_datehour);
@ -873,7 +895,8 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0)
$userstatic->id = $task_time->fk_user;
$userstatic->lastname = $task_time->lastname;
$userstatic->firstname = $task_time->firstname;
print $userstatic->getNomUrl(1);
$userstatic->photo = $task_time->photo;
print $userstatic->getNomUrl(-1);
}
print '</td>';
if (! $i) $totalarray['nbfield']++;
@ -932,7 +955,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0)
print $hookmanager->resPrint;
// Action column
print '<td class="right" valign="middle" width="80">';
print '<td class="center"">';
if ($action == 'editline' && $_GET['lineid'] == $task_time->rowid)
{
print '<input type="hidden" name="lineid" value="'.$_GET['lineid'].'">';

View File

@ -1987,7 +1987,7 @@ class User extends CommonObject
if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) && $withpictoimg) $withpictoimg=0;
$result=''; $label='';
$linkstart=''; $linkend='';
$link=''; $linkstart=''; $linkend='';
if (! empty($this->photo))
{
@ -2086,7 +2086,9 @@ class User extends CommonObject
}
$result.=$linkend;
//if ($withpictoimg == -1) $result.='</div>';
$result.=$companylink;
return $result;
}