Work on look and feel v6
This commit is contained in:
parent
1dc2cae3a5
commit
e2ea5945dd
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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();
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
|
||||
@ -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>";
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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');
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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>';
|
||||
}
|
||||
|
||||
@ -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')
|
||||
{
|
||||
|
||||
@ -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"');
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 ' ';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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>";
|
||||
|
||||
@ -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>';
|
||||
|
||||
|
||||
@ -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'];
|
||||
|
||||
@ -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';
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 ' ';
|
||||
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')
|
||||
{
|
||||
|
||||
@ -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>';
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
@ -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'].'">';
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user