Work on 6.0 new look and feel
This commit is contained in:
parent
aca1c1944d
commit
8e70c4a0b7
@ -36,7 +36,7 @@ require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent_type.class.php';
|
|||||||
$langs->load("companies");
|
$langs->load("companies");
|
||||||
$langs->load("members");
|
$langs->load("members");
|
||||||
|
|
||||||
$id = GETPOST('id','int');
|
$id = GETPOST('id','int')?GETPOST('id','int'):GETPOST('rowid','int');
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
$result=restrictedArea($user,'adherent',$id);
|
$result=restrictedArea($user,'adherent',$id);
|
||||||
@ -85,12 +85,13 @@ if ($object->id > 0)
|
|||||||
if (! empty($conf->notification->enabled)) $langs->load("mails");
|
if (! empty($conf->notification->enabled)) $langs->load("mails");
|
||||||
$head = member_prepare_head($object);
|
$head = member_prepare_head($object);
|
||||||
|
|
||||||
dol_fiche_head($head, 'agenda', $langs->trans("Member"),0,'user');
|
dol_fiche_head($head, 'agenda', $langs->trans("Member"), -1, 'user');
|
||||||
|
|
||||||
$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php">'.$langs->trans("BackToList").'</a>';
|
$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
dol_banner_tab($object, 'rowid', $linkback);
|
dol_banner_tab($object, 'rowid', $linkback);
|
||||||
|
|
||||||
|
/*
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|
||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
@ -107,9 +108,6 @@ if ($object->id > 0)
|
|||||||
|
|
||||||
// Morphy
|
// Morphy
|
||||||
print '<tr><td>'.$langs->trans("Nature").'</td><td class="valeur" >'.$object->getmorphylib().'</td>';
|
print '<tr><td>'.$langs->trans("Nature").'</td><td class="valeur" >'.$object->getmorphylib().'</td>';
|
||||||
/*print '<td rowspan="'.$rowspan.'" align="center" valign="middle" width="25%">';
|
|
||||||
print $form->showphoto('memberphoto',$member);
|
|
||||||
print '</td>';*/
|
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Company
|
// Company
|
||||||
@ -120,15 +118,16 @@ if ($object->id > 0)
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
*/
|
||||||
|
|
||||||
print '<br>';
|
print '<div class="fichecenter">';
|
||||||
|
|
||||||
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
$object->info($id);
|
$object->info($id);
|
||||||
print dol_print_object_info($object, 1);
|
print dol_print_object_info($object, 1);
|
||||||
|
|
||||||
|
print '</div>';
|
||||||
print '</div>';
|
|
||||||
|
|
||||||
dol_fiche_end();
|
dol_fiche_end();
|
||||||
|
|
||||||
@ -146,30 +145,11 @@ if ($object->id > 0)
|
|||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
print '<br>';
|
|
||||||
|
|
||||||
$out='';
|
$out='';
|
||||||
|
|
||||||
/*$objthirdparty=$object->thirdparty;
|
|
||||||
$objcon=new stdClass();
|
|
||||||
|
|
||||||
$permok=$user->rights->agenda->myactions->create;
|
|
||||||
if ((! empty($objthirdparty->id) || ! empty($objcon->id)) && $permok)
|
|
||||||
{
|
|
||||||
$out.='<a href="'.DOL_URL_ROOT.'/comm/action/card.php?action=create';
|
|
||||||
if (get_class($objthirdparty) == 'Societe') $out.='&socid='.$objthirdparty->id;
|
|
||||||
$out.=(! empty($objcon->id)?'&contactid='.$objcon->id:'').'&backtopage=1&percentage=-1">';
|
|
||||||
$out.=$langs->trans("AddAnAction").' ';
|
|
||||||
$out.=img_picto($langs->trans("AddAnAction"),'filenew');
|
|
||||||
$out.="</a>";
|
|
||||||
}*/
|
|
||||||
|
|
||||||
print load_fiche_titre($langs->trans("ActionsOnMember"),$out,'');
|
print load_fiche_titre($langs->trans("ActionsOnMember"),$out,'');
|
||||||
|
|
||||||
// List of todo actions
|
// List of actions
|
||||||
//show_actions_todo($conf,$langs,$db,$object);
|
|
||||||
|
|
||||||
// List of done actions
|
|
||||||
show_actions_done($conf,$langs,$db,$object,null,0,'','');
|
show_actions_done($conf,$langs,$db,$object,null,0,'','');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -108,7 +108,7 @@ if ($id > 0)
|
|||||||
|
|
||||||
$head = member_prepare_head($object);
|
$head = member_prepare_head($object);
|
||||||
|
|
||||||
dol_fiche_head($head, 'document', $langs->trans("Member"),0,'user');
|
dol_fiche_head($head, 'document', $langs->trans("Member"), -1, 'user');
|
||||||
|
|
||||||
$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php">'.$langs->trans("BackToList").'</a>';
|
$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
|||||||
@ -69,7 +69,7 @@ if ($id)
|
|||||||
{
|
{
|
||||||
$head = member_prepare_head($object);
|
$head = member_prepare_head($object);
|
||||||
|
|
||||||
dol_fiche_head($head, 'note', $langs->trans("Member"), 0, 'user');
|
dol_fiche_head($head, 'note', $langs->trans("Member"), -1, 'user');
|
||||||
|
|
||||||
print "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">";
|
print "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">";
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
@ -109,7 +109,6 @@ if ($id)
|
|||||||
print "</table>";
|
print "</table>";
|
||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
print '<br>';
|
|
||||||
|
|
||||||
|
|
||||||
$cssclass='titlefield';
|
$cssclass='titlefield';
|
||||||
|
|||||||
@ -784,12 +784,13 @@ while ($i < min($num,$limit))
|
|||||||
print '<td align="center">'.$contactstatic->getLibStatut(3).'</td>';
|
print '<td align="center">'.$contactstatic->getLibStatut(3).'</td>';
|
||||||
}
|
}
|
||||||
// Action column - Links Add action and Export vcard
|
// Action column - Links Add action and Export vcard
|
||||||
print '<td align="right">';
|
print '<td class="center">';
|
||||||
print '<a href="'.DOL_URL_ROOT.'/comm/action/card.php?action=create&backtopage=1&contactid='.$obj->cidp.'&socid='.$obj->socid.'">'.img_object($langs->trans("AddAction"),"action").'</a>';
|
/*print '<a href="'.DOL_URL_ROOT.'/comm/action/card.php?action=create&backtopage=1&contactid='.$obj->cidp.'&socid='.$obj->socid.'">'.img_object($langs->trans("AddAction"),"action").'</a>';
|
||||||
print ' ';
|
print ' ';
|
||||||
print '<a data-ajax="false" href="'.DOL_URL_ROOT.'/contact/vcard.php?id='.$obj->cidp.'">';
|
print '<a href="'.DOL_URL_ROOT.'/contact/vcard.php?id='.$obj->cidp.'">';
|
||||||
print img_picto($langs->trans("VCard"),'vcard.png').' ';
|
print img_picto($langs->trans("VCard"),'vcard.png').' ';
|
||||||
print '</a></td>';
|
print '</a>'; */
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
$i++;
|
$i++;
|
||||||
|
|||||||
@ -121,7 +121,7 @@ class FormOther
|
|||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
print '<select class="flat" name="'.$htmlname.'">';
|
print '<select class="flat minwidth200" name="'.$htmlname.'">';
|
||||||
if ($useempty)
|
if ($useempty)
|
||||||
{
|
{
|
||||||
print '<option value="-1"> </option>';
|
print '<option value="-1"> </option>';
|
||||||
|
|||||||
@ -1005,7 +1005,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
|||||||
$sql.= " a.fk_element, a.elementtype,";
|
$sql.= " a.fk_element, a.elementtype,";
|
||||||
$sql.= " a.fk_user_author, a.fk_contact,";
|
$sql.= " a.fk_user_author, a.fk_contact,";
|
||||||
$sql.= " c.code as acode, c.libelle as alabel, c.picto as apicto,";
|
$sql.= " c.code as acode, c.libelle as alabel, c.picto as apicto,";
|
||||||
$sql.= " u.login, u.rowid as user_id";
|
$sql.= " u.rowid as user_id, u.login as user_login, u.photo as user_photo, u.firstname as user_firstname, u.lastname as user_lastname";
|
||||||
if (get_class($filterobj) == 'Societe') $sql.= ", sp.lastname, sp.firstname";
|
if (get_class($filterobj) == 'Societe') $sql.= ", sp.lastname, sp.firstname";
|
||||||
if (get_class($filterobj) == 'Adherent') $sql.= ", m.lastname, m.firstname";
|
if (get_class($filterobj) == 'Adherent') $sql.= ", m.lastname, m.firstname";
|
||||||
if (get_class($filterobj) == 'CommandeFournisseur') $sql.= ", o.ref";
|
if (get_class($filterobj) == 'CommandeFournisseur') $sql.= ", o.ref";
|
||||||
@ -1078,9 +1078,14 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
|||||||
'dateend'=>$db->jdate($obj->dp2),
|
'dateend'=>$db->jdate($obj->dp2),
|
||||||
'note'=>$obj->label,
|
'note'=>$obj->label,
|
||||||
'percent'=>$obj->percent,
|
'percent'=>$obj->percent,
|
||||||
|
|
||||||
'userid'=>$obj->user_id,
|
'userid'=>$obj->user_id,
|
||||||
'login'=>$obj->login,
|
'login'=>$obj->user_login,
|
||||||
'contact_id'=>$obj->fk_contact,
|
'userfirstname'=>$obj->user_firstname,
|
||||||
|
'userlastname'=>$obj->user_lastname,
|
||||||
|
'userphoto'=>$obj->user_photo,
|
||||||
|
|
||||||
|
'contact_id'=>$obj->fk_contact,
|
||||||
'lastname'=>$obj->lastname,
|
'lastname'=>$obj->lastname,
|
||||||
'firstname'=>$obj->firstname,
|
'firstname'=>$obj->firstname,
|
||||||
'fk_element'=>$obj->fk_element,
|
'fk_element'=>$obj->fk_element,
|
||||||
@ -1109,7 +1114,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
|||||||
|
|
||||||
$sql = "SELECT m.rowid as id, mc.date_envoi as da, m.titre as note, '100' as percentage,";
|
$sql = "SELECT m.rowid as id, mc.date_envoi as da, m.titre as note, '100' as percentage,";
|
||||||
$sql.= " 'AC_EMAILING' as acode,";
|
$sql.= " 'AC_EMAILING' as acode,";
|
||||||
$sql.= " u.rowid as user_id, u.login"; // User that valid action
|
$sql.= " u.rowid as user_id, u.login as user_login, u.photo as user_photo, u.firstname as user_firstname, u.lastname as user_lastname"; // User that valid action
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."mailing as m, ".MAIN_DB_PREFIX."mailing_cibles as mc, ".MAIN_DB_PREFIX."user as u";
|
$sql.= " FROM ".MAIN_DB_PREFIX."mailing as m, ".MAIN_DB_PREFIX."mailing_cibles as mc, ".MAIN_DB_PREFIX."user as u";
|
||||||
$sql.= " WHERE mc.email = '".$db->escape($objcon->email)."'"; // Search is done on email.
|
$sql.= " WHERE mc.email = '".$db->escape($objcon->email)."'"; // Search is done on email.
|
||||||
$sql.= " AND mc.statut = 1";
|
$sql.= " AND mc.statut = 1";
|
||||||
@ -1136,8 +1141,12 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
|||||||
'note'=>$obj->note,
|
'note'=>$obj->note,
|
||||||
'percent'=>$obj->percentage,
|
'percent'=>$obj->percentage,
|
||||||
'acode'=>$obj->acode,
|
'acode'=>$obj->acode,
|
||||||
'userid'=>$obj->user_id,
|
|
||||||
'login'=>$obj->login
|
'userid'=>$obj->user_id,
|
||||||
|
'login'=>$obj->user_login,
|
||||||
|
'userfirstname'=>$obj->user_firstname,
|
||||||
|
'userlastname'=>$obj->user_lastname,
|
||||||
|
'userphoto'=>$obj->user_photo
|
||||||
);
|
);
|
||||||
$numaction++;
|
$numaction++;
|
||||||
$i++;
|
$i++;
|
||||||
@ -1189,52 +1198,50 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
|||||||
|
|
||||||
$out.='<div class="div-table-responsive-no-min">';
|
$out.='<div class="div-table-responsive-no-min">';
|
||||||
$out.='<table class="noborder" width="100%">';
|
$out.='<table class="noborder" width="100%">';
|
||||||
|
|
||||||
|
$out.='<tr class="liste_titre">';
|
||||||
|
if ($donetodo)
|
||||||
|
{
|
||||||
|
$out.='<td class="liste_titre"></td>';
|
||||||
|
}
|
||||||
|
$out.='<td class="liste_titre"></td>';
|
||||||
|
$out.='<td class="liste_titre"></td>';
|
||||||
|
$out.='<td class="liste_titre maxwidth100onsmartphone"><input type="text" class="maxwidth100onsmartphone" name="search_agenda_label" value="'.$filters['search_agenda_label'].'"></td>';
|
||||||
|
$out.='<td class="liste_titre"></td>';
|
||||||
|
$out.='<td class="liste_titre">';
|
||||||
|
$out.=$formactions->select_type_actions($actioncode, "actioncode", '', empty($conf->global->AGENDA_USE_EVENT_TYPE)?1:-1, 0, 0, 1);
|
||||||
|
$out.='</td>';
|
||||||
|
$out.='<td class="liste_titre"></td>';
|
||||||
|
$out.='<td class="liste_titre"></td>';
|
||||||
|
$out.='<td class="liste_titre"></td>';
|
||||||
|
// Action column
|
||||||
|
$out.='<td class="liste_titre" align="middle">';
|
||||||
|
$searchpitco=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1);
|
||||||
|
$out.=$searchpitco;
|
||||||
|
$out.='</td>';
|
||||||
|
$out.='</tr>';
|
||||||
|
|
||||||
$out.='<tr class="liste_titre">';
|
$out.='<tr class="liste_titre">';
|
||||||
if ($donetodo)
|
if ($donetodo)
|
||||||
{
|
{
|
||||||
$out.='<td>';
|
$tmp='';
|
||||||
if (get_class($filterobj) == 'Societe') $out.='<a href="'.DOL_URL_ROOT.'/comm/action/listactions.php?socid='.$filterobj->id.'&status=done">';
|
if (get_class($filterobj) == 'Societe') $tmp.='<a href="'.DOL_URL_ROOT.'/comm/action/listactions.php?socid='.$filterobj->id.'&status=done">';
|
||||||
$out.=($donetodo != 'done' ? $langs->trans("ActionsToDoShort") : '');
|
$tmp.=($donetodo != 'done' ? $langs->trans("ActionsToDoShort") : '');
|
||||||
$out.=($donetodo != 'done' && $donetodo != 'todo' ? ' / ' : '');
|
$tmp.=($donetodo != 'done' && $donetodo != 'todo' ? ' / ' : '');
|
||||||
$out.=($donetodo != 'todo' ? $langs->trans("ActionsDoneShort") : '');
|
$tmp.=($donetodo != 'todo' ? $langs->trans("ActionsDoneShort") : '');
|
||||||
//$out.=$langs->trans("ActionsToDoShort").' / '.$langs->trans("ActionsDoneShort");
|
//$out.=$langs->trans("ActionsToDoShort").' / '.$langs->trans("ActionsDoneShort");
|
||||||
if (get_class($filterobj) == 'Societe') $out.='</a>';
|
if (get_class($filterobj) == 'Societe') $tmp.='</a>';
|
||||||
$out.='</td>';
|
$out.=getTitleFieldOfList($tmp);
|
||||||
}
|
}
|
||||||
$out.=getTitleFieldOfList($langs->trans("Ref"), 0, $_SERVER["PHP_SELF"], 'a.id', '', $param, '', $sortfield, $sortorder);
|
$out.=getTitleFieldOfList($langs->trans("Ref"), 0, $_SERVER["PHP_SELF"], 'a.id', '', $param, '', $sortfield, $sortorder);
|
||||||
$out.='<td class="maxwidth100onsmartphone">'.$langs->trans("Label").'</td>';
|
$out.=getTitleFieldOfList($langs->trans("Owner"));
|
||||||
$out.=getTitleFieldOfList($langs->trans("Date"), 0, $_SERVER["PHP_SELF"], 'a.datep,a.id', '', $param, '', $sortfield, $sortorder);
|
$out.=getTitleFieldOfList($langs->trans("Label"), 0, $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder);
|
||||||
$out.='<td>'.$langs->trans("Type").'</td>';
|
$out.=getTitleFieldOfList($langs->trans("Date"), 0, $_SERVER["PHP_SELF"], 'a.datep,a.id', '', $param, 'align="center"', $sortfield, $sortorder);
|
||||||
$out.='<td></td>';
|
$out.=getTitleFieldOfList($langs->trans("Type"));
|
||||||
$out.='<td></td>';
|
$out.=getTitleFieldOfList('');
|
||||||
$out.='<td>'.$langs->trans("Owner").'</td>';
|
$out.=getTitleFieldOfList('');
|
||||||
$out.=getTitleFieldOfList($langs->trans("Status"), 0, $_SERVER["PHP_SELF"], 'a.percent', '', $param, 'align="center"', $sortfield, $sortorder);
|
$out.=getTitleFieldOfList($langs->trans("Status"), 0, $_SERVER["PHP_SELF"], 'a.percent', '', $param, 'align="center"', $sortfield, $sortorder);
|
||||||
$out.='<td class="maxwidthsearch">';
|
$out.=getTitleFieldOfList('', 0, $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder, 'maxwidthsearch ');
|
||||||
//TODO Add selection of fields
|
|
||||||
$out.='</td>';
|
|
||||||
$out.='</tr>';
|
|
||||||
|
|
||||||
|
|
||||||
$out.='<tr class="liste_titre">';
|
|
||||||
if ($donetodo)
|
|
||||||
{
|
|
||||||
$out.='<td class="liste_titre"></td>';
|
|
||||||
}
|
|
||||||
$out.='<td class="liste_titre"></td>';
|
|
||||||
$out.='<td class="liste_titre maxwidth100onsmartphone"><input type="text" class="maxwidth100onsmartphone" name="search_agenda_label" value="'.$filters['search_agenda_label'].'"></td>';
|
|
||||||
$out.='<td class="liste_titre"></td>';
|
|
||||||
$out.='<td class="liste_titre">';
|
|
||||||
$out.=$formactions->select_type_actions($actioncode, "actioncode", '', empty($conf->global->AGENDA_USE_EVENT_TYPE)?1:-1, 0, 0, 1);
|
|
||||||
$out.='</td>';
|
|
||||||
$out.='<td class="liste_titre"></td>';
|
|
||||||
$out.='<td class="liste_titre"></td>';
|
|
||||||
$out.='<td class="liste_titre"></td>';
|
|
||||||
$out.='<td class="liste_titre"></td>';
|
|
||||||
// Action column
|
|
||||||
$out.='<td class="liste_titre" align="middle">';
|
|
||||||
$searchpitco=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1);
|
|
||||||
$out.=$searchpitco;
|
|
||||||
$out.='</td>';
|
|
||||||
$out.='</tr>';
|
$out.='</tr>';
|
||||||
|
|
||||||
foreach ($histo as $key=>$value)
|
foreach ($histo as $key=>$value)
|
||||||
@ -1256,6 +1263,15 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
|||||||
$out.=$actionstatic->getNomUrl(1, -1);
|
$out.=$actionstatic->getNomUrl(1, -1);
|
||||||
$out.='</td>';
|
$out.='</td>';
|
||||||
|
|
||||||
|
// Author of event
|
||||||
|
$out.='<td>';
|
||||||
|
//$userstatic->id=$histo[$key]['userid'];
|
||||||
|
//$userstatic->login=$histo[$key]['login'];
|
||||||
|
//$out.=$userstatic->getLoginUrl(1);
|
||||||
|
$userstatic->fetch($histo[$key]['userid']);
|
||||||
|
$out.=$userstatic->getNomUrl(-1);
|
||||||
|
$out.='</td>';
|
||||||
|
|
||||||
// Title
|
// Title
|
||||||
$out.='<td>';
|
$out.='<td>';
|
||||||
if (isset($histo[$key]['type']) && $histo[$key]['type']=='action')
|
if (isset($histo[$key]['type']) && $histo[$key]['type']=='action')
|
||||||
@ -1276,9 +1292,9 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
|||||||
$out.=dol_trunc($libelle,120);
|
$out.=dol_trunc($libelle,120);
|
||||||
}
|
}
|
||||||
$out.='</td>';
|
$out.='</td>';
|
||||||
|
|
||||||
// Date
|
// Date
|
||||||
$out.='<td class="nowrap">';
|
$out.='<td class="center nowrap">';
|
||||||
$out.=dol_print_date($histo[$key]['datestart'],'dayhour');
|
$out.=dol_print_date($histo[$key]['datestart'],'dayhour');
|
||||||
if ($histo[$key]['dateend'] && $histo[$key]['dateend'] != $histo[$key]['datestart'])
|
if ($histo[$key]['dateend'] && $histo[$key]['dateend'] != $histo[$key]['datestart'])
|
||||||
{
|
{
|
||||||
@ -1374,16 +1390,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
|||||||
$out.='<td> </td>';
|
$out.='<td> </td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Auteur
|
// Status
|
||||||
$out.='<td class="nowrap" width="80">';
|
|
||||||
//$userstatic->id=$histo[$key]['userid'];
|
|
||||||
//$userstatic->login=$histo[$key]['login'];
|
|
||||||
//$out.=$userstatic->getLoginUrl(1);
|
|
||||||
$userstatic->fetch($histo[$key]['userid']);
|
|
||||||
$out.=$userstatic->getNomUrl(1);
|
|
||||||
$out.='</td>';
|
|
||||||
|
|
||||||
// Statut
|
|
||||||
$out.='<td class="nowrap" align="center">'.$actionstatic->LibStatut($histo[$key]['percent'],3,1,$histo[$key]['datestart']).'</td>';
|
$out.='<td class="nowrap" align="center">'.$actionstatic->LibStatut($histo[$key]['percent'],3,1,$histo[$key]['datestart']).'</td>';
|
||||||
|
|
||||||
// Actions
|
// Actions
|
||||||
|
|||||||
@ -2711,7 +2711,7 @@ function img_error($titlealt = 'default')
|
|||||||
|
|
||||||
if ($titlealt == 'default') $titlealt = $langs->trans('Error');
|
if ($titlealt == 'default') $titlealt = $langs->trans('Error');
|
||||||
|
|
||||||
return img_picto($titlealt, 'error.png');
|
return img_picto($titlealt, 'error.png', 'class="valigntextbottom"');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2727,7 +2727,8 @@ function img_next($titlealt = 'default', $morealt='')
|
|||||||
|
|
||||||
if ($titlealt == 'default') $titlealt = $langs->trans('Next');
|
if ($titlealt == 'default') $titlealt = $langs->trans('Next');
|
||||||
|
|
||||||
return img_picto($titlealt, 'next.png', $morealt);
|
//return img_picto($titlealt, 'next.png', $morealt);
|
||||||
|
return '<span class="fa fa-chevron-right paddingright paddingleft" title="'.dol_escape_htmltag($titlealt).'"></span>';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2743,7 +2744,8 @@ function img_previous($titlealt = 'default', $morealt='')
|
|||||||
|
|
||||||
if ($titlealt == 'default') $titlealt = $langs->trans('Previous');
|
if ($titlealt == 'default') $titlealt = $langs->trans('Previous');
|
||||||
|
|
||||||
return img_picto($titlealt, 'previous.png', $morealt);
|
//return img_picto($titlealt, 'previous.png', $morealt);
|
||||||
|
return '<span class="fa fa-chevron-left paddingright paddingleft" title="'.dol_escape_htmltag($titlealt).'"></span>';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -3109,7 +3111,7 @@ function print_liste_field_titre($name, $file="", $field="", $begin="", $morepar
|
|||||||
* @param string $field Field to use for new sorting. Empty if this field is not sortable.
|
* @param string $field Field to use for new sorting. Empty if this field is not sortable.
|
||||||
* @param string $begin ("" by defaut)
|
* @param string $begin ("" by defaut)
|
||||||
* @param string $moreparam Add more parameters on sort url links ("" by default)
|
* @param string $moreparam Add more parameters on sort url links ("" by default)
|
||||||
* @param string $moreattrib Add more attributes on th ("" by defaut)
|
* @param string $moreattrib Add more attributes on th ("" by defaut). To add more css class, use param $prefix.
|
||||||
* @param string $sortfield Current field used to sort
|
* @param string $sortfield Current field used to sort
|
||||||
* @param string $sortorder Current sort order
|
* @param string $sortorder Current sort order
|
||||||
* @param string $prefix Prefix for css. Use space after prefix to add your own CSS tag.
|
* @param string $prefix Prefix for css. Use space after prefix to add your own CSS tag.
|
||||||
|
|||||||
@ -86,9 +86,9 @@ class modAgenda extends DolibarrModules
|
|||||||
{
|
{
|
||||||
while ($obj = $this->db->fetch_object($sqlreadactions))
|
while ($obj = $this->db->fetch_object($sqlreadactions))
|
||||||
{
|
{
|
||||||
if (preg_match('/_CREATE$/',$obj->code) && (! in_array($obj->code, array('COMPANY_CREATE','PRODUCT_CREATE','TASK_CREATE')))) continue; // We don't track such events (*_CREATE) by default, we prefer validation (except thirdparty/product/task creation because there is no validation).
|
//if (preg_match('/_CREATE$/',$obj->code) && (! in_array($obj->code, array('COMPANY_CREATE','PRODUCT_CREATE','TASK_CREATE')))) continue; // We don't track such events (*_CREATE) by default, we prefer validation (except thirdparty/product/task creation because there is no validation).
|
||||||
if (preg_match('/^TASK_/',$obj->code)) continue; // We don't track such events by default.
|
if (preg_match('/^TASK_/',$obj->code)) continue; // We don't track such events by default.
|
||||||
if (preg_match('/^_MODIFY/',$obj->code)) continue; // We don't track such events by default.
|
//if (preg_match('/^_MODIFY/',$obj->code)) continue; // We don't track such events by default.
|
||||||
$this->const[] = array('MAIN_AGENDA_ACTIONAUTO_'.$obj->code, "chaine", "1");
|
$this->const[] = array('MAIN_AGENDA_ACTIONAUTO_'.$obj->code, "chaine", "1");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -308,44 +308,8 @@ if ($resql)
|
|||||||
print '<div class="div-table-responsive">';
|
print '<div class="div-table-responsive">';
|
||||||
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
|
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
|
||||||
|
|
||||||
if (! empty($arrayfields['e.ref']['checked'])) print_liste_field_titre($arrayfields['e.ref']['label'], $_SERVER["PHP_SELF"],"e.ref","",$param,'',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['e.ref_customer']['checked'])) print_liste_field_titre($arrayfields['e.ref_customer']['label'], $_SERVER["PHP_SELF"],"e.ref_customer","",$param,'',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['s.nom']['checked'])) print_liste_field_titre($arrayfields['s.nom']['label'], $_SERVER["PHP_SELF"],"s.nom", "", $param,'align="left"',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['s.town']['checked'])) print_liste_field_titre($arrayfields['s.town']['label'],$_SERVER["PHP_SELF"],'s.town','',$param,'',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['s.zip']['checked'])) print_liste_field_titre($arrayfields['s.zip']['label'],$_SERVER["PHP_SELF"],'s.zip','',$param,'',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['state.nom']['checked'])) print_liste_field_titre($arrayfields['state.nom']['label'],$_SERVER["PHP_SELF"],"state.nom","",$param,'',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['country.code_iso']['checked'])) print_liste_field_titre($arrayfields['country.code_iso']['label'],$_SERVER["PHP_SELF"],"country.code_iso","",$param,'align="center"',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['typent.code']['checked'])) print_liste_field_titre($arrayfields['typent.code']['label'],$_SERVER["PHP_SELF"],"typent.code","",$param,'align="center"',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['e.date_delivery']['checked'])) print_liste_field_titre($arrayfields['e.date_delivery']['label'], $_SERVER["PHP_SELF"],"e.date_delivery","",$param, 'align="center"',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['l.ref']['checked'])) print_liste_field_titre($arrayfields['l.ref']['label'], $_SERVER["PHP_SELF"],"l.ref","",$param, '',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['l.date_delivery']['checked'])) print_liste_field_titre($arrayfields['l.date_delivery']['label'], $_SERVER["PHP_SELF"],"l.date_delivery","",$param, 'align="center"',$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($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;
|
|
||||||
if (! empty($arrayfields['e.datec']['checked'])) print_liste_field_titre($arrayfields['e.datec']['label'],$_SERVER["PHP_SELF"],"e.date_creation","",$param,'align="center" class="nowrap"',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['e.tms']['checked'])) print_liste_field_titre($arrayfields['e.tms']['label'],$_SERVER["PHP_SELF"],"e.tms","",$param,'align="center" class="nowrap"',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['e.fk_statut']['checked'])) print_liste_field_titre($arrayfields['e.fk_statut']['label'],$_SERVER["PHP_SELF"],"e.fk_statut","",$param,'align="right"',$sortfield,$sortorder);
|
|
||||||
if (! empty($arrayfields['l.fk_statut']['checked'])) print_liste_field_titre($arrayfields['l.fk_statut']['label'], $_SERVER["PHP_SELF"],"l.fk_statut","",$param,'align="right"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch ');
|
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
// Lignes des champs de filtre
|
// Lignes des champs de filtre
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre_filter">';
|
||||||
// Ref
|
// Ref
|
||||||
if (! empty($arrayfields['e.ref']['checked']))
|
if (! empty($arrayfields['e.ref']['checked']))
|
||||||
{
|
{
|
||||||
@ -462,6 +426,41 @@ if ($resql)
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
if (! empty($arrayfields['e.ref']['checked'])) print_liste_field_titre($arrayfields['e.ref']['label'], $_SERVER["PHP_SELF"],"e.ref","",$param,'',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['e.ref_customer']['checked'])) print_liste_field_titre($arrayfields['e.ref_customer']['label'], $_SERVER["PHP_SELF"],"e.ref_customer","",$param,'',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['s.nom']['checked'])) print_liste_field_titre($arrayfields['s.nom']['label'], $_SERVER["PHP_SELF"],"s.nom", "", $param,'align="left"',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['s.town']['checked'])) print_liste_field_titre($arrayfields['s.town']['label'],$_SERVER["PHP_SELF"],'s.town','',$param,'',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['s.zip']['checked'])) print_liste_field_titre($arrayfields['s.zip']['label'],$_SERVER["PHP_SELF"],'s.zip','',$param,'',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['state.nom']['checked'])) print_liste_field_titre($arrayfields['state.nom']['label'],$_SERVER["PHP_SELF"],"state.nom","",$param,'',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['country.code_iso']['checked'])) print_liste_field_titre($arrayfields['country.code_iso']['label'],$_SERVER["PHP_SELF"],"country.code_iso","",$param,'align="center"',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['typent.code']['checked'])) print_liste_field_titre($arrayfields['typent.code']['label'],$_SERVER["PHP_SELF"],"typent.code","",$param,'align="center"',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['e.date_delivery']['checked'])) print_liste_field_titre($arrayfields['e.date_delivery']['label'], $_SERVER["PHP_SELF"],"e.date_delivery","",$param, 'align="center"',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['l.ref']['checked'])) print_liste_field_titre($arrayfields['l.ref']['label'], $_SERVER["PHP_SELF"],"l.ref","",$param, '',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['l.date_delivery']['checked'])) print_liste_field_titre($arrayfields['l.date_delivery']['label'], $_SERVER["PHP_SELF"],"l.date_delivery","",$param, 'align="center"',$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($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;
|
||||||
|
if (! empty($arrayfields['e.datec']['checked'])) print_liste_field_titre($arrayfields['e.datec']['label'],$_SERVER["PHP_SELF"],"e.date_creation","",$param,'align="center" class="nowrap"',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['e.tms']['checked'])) print_liste_field_titre($arrayfields['e.tms']['label'],$_SERVER["PHP_SELF"],"e.tms","",$param,'align="center" class="nowrap"',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['e.fk_statut']['checked'])) print_liste_field_titre($arrayfields['e.fk_statut']['label'],$_SERVER["PHP_SELF"],"e.fk_statut","",$param,'align="right"',$sortfield,$sortorder);
|
||||||
|
if (! empty($arrayfields['l.fk_statut']['checked'])) print_liste_field_titre($arrayfields['l.fk_statut']['label'], $_SERVER["PHP_SELF"],"l.fk_statut","",$param,'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch ');
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
$i=0;
|
$i=0;
|
||||||
$var=true;
|
$var=true;
|
||||||
$totalarray=array();
|
$totalarray=array();
|
||||||
|
|||||||
@ -507,8 +507,11 @@ if ($step == 3 && $datatoimport)
|
|||||||
print $objimport->array_import_label[0];
|
print $objimport->array_import_label[0];
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '</table><br>';
|
print '</table>';
|
||||||
print '<b>'.$langs->trans("InformationOnSourceFile").'</b>';
|
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
|
print '<b>'.$langs->trans("InformationOnSourceFile").'</b><hr>';
|
||||||
print '<table width="100%" class="border">';
|
print '<table width="100%" class="border">';
|
||||||
//print '<tr><td colspan="2"><b>'.$langs->trans("InformationOnSourceFile").'</b></td></tr>';
|
//print '<tr><td colspan="2"><b>'.$langs->trans("InformationOnSourceFile").'</b></td></tr>';
|
||||||
|
|
||||||
@ -752,8 +755,11 @@ if ($step == 4 && $datatoimport)
|
|||||||
print $objimport->array_import_label[0];
|
print $objimport->array_import_label[0];
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '</table><br>';
|
print '</table>';
|
||||||
print '<b>'.$langs->trans("InformationOnSourceFile").'</b>';
|
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
|
print '<b>'.$langs->trans("InformationOnSourceFile").'</b><hr>';
|
||||||
print '<table width="100%" class="border">';
|
print '<table width="100%" class="border">';
|
||||||
//print '<tr><td colspan="2"><b>'.$langs->trans("InformationOnSourceFile").'</b></td></tr>';
|
//print '<tr><td colspan="2"><b>'.$langs->trans("InformationOnSourceFile").'</b></td></tr>';
|
||||||
|
|
||||||
@ -1219,8 +1225,11 @@ if ($step == 5 && $datatoimport)
|
|||||||
print $objimport->array_import_label[0];
|
print $objimport->array_import_label[0];
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '</table><br>';
|
print '</table>';
|
||||||
print '<b>'.$langs->trans("InformationOnSourceFile").'</b>';
|
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
|
print '<b>'.$langs->trans("InformationOnSourceFile").'</b><hr>';
|
||||||
print '<table width="100%" class="border">';
|
print '<table width="100%" class="border">';
|
||||||
//print '<tr><td colspan="2"><b>'.$langs->trans("InformationOnSourceFile").'</b></td></tr>';
|
//print '<tr><td colspan="2"><b>'.$langs->trans("InformationOnSourceFile").'</b></td></tr>';
|
||||||
|
|
||||||
@ -1261,38 +1270,33 @@ if ($step == 5 && $datatoimport)
|
|||||||
|
|
||||||
// Do not import first lines
|
// Do not import first lines
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print $langs->trans("ImportFromLine");
|
print $langs->trans("ImportFromToLine");
|
||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
if ($action=='launchsimu')
|
if ($action=='launchsimu')
|
||||||
{
|
{
|
||||||
print '<input type="text" size="4" name="excludefirstlinebis" disabled="disabled" value="'.$excludefirstline.'">';
|
print '<input type="number" class="maxwidth50" name="excludefirstlinebis" disabled="disabled" value="'.$excludefirstline.'">';
|
||||||
print '<input type="hidden" name="excludefirstline" value="'.$excludefirstline.'">';
|
print '<input type="hidden" name="excludefirstline" value="'.$excludefirstline.'">';
|
||||||
print ' <a href="'.$_SERVER["PHP_SELF"].'?step=5'.$param.'">'.$langs->trans("Modify").'</a>';
|
print ' <a href="'.$_SERVER["PHP_SELF"].'?step=5'.$param.'">'.$langs->trans("Modify").'</a>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<input type="text" size="4" name="excludefirstline" value="'.$excludefirstline.'">';
|
print '<input type="number" class="maxwidth50" name="excludefirstline" value="'.$excludefirstline.'">';
|
||||||
print $form->textwithpicto("", $langs->trans("SetThisValueTo2ToExcludeFirstLine"));
|
print $form->textwithpicto("", $langs->trans("SetThisValueTo2ToExcludeFirstLine"));
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print ' - ';
|
||||||
|
|
||||||
// Do not import end lines
|
|
||||||
print '<tr><td>';
|
|
||||||
print $langs->trans("EndAtLineNb");
|
|
||||||
print '</td><td>';
|
|
||||||
if ($action=='launchsimu')
|
if ($action=='launchsimu')
|
||||||
{
|
{
|
||||||
print '<input type="text" size="4" name="endatlinenbbis" disabled="disabled" value="'.$endatlinenb.'">';
|
print '<input type="text" class="maxwidth50" name="endatlinenbbis" disabled="disabled" value="'.$endatlinenb.'">';
|
||||||
print '<input type="hidden" name="endatlinenb" value="'.$endatlinenb.'">';
|
print '<input type="hidden" name="endatlinenb" value="'.$endatlinenb.'">';
|
||||||
print ' <a href="'.$_SERVER["PHP_SELF"].'?step=5'.$param.'">'.$langs->trans("Modify").'</a>';
|
print ' <a href="'.$_SERVER["PHP_SELF"].'?step=5'.$param.'">'.$langs->trans("Modify").'</a>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<input type="text" size="4" name="endatlinenb" value="'.$endatlinenb.'">';
|
print '<input type="text" class="maxwidth50" name="endatlinenb" value="'.$endatlinenb.'">';
|
||||||
print $form->textwithpicto("", $langs->trans("KeepEmptyToGoToEndOfFile"));
|
print $form->textwithpicto("", $langs->trans("KeepEmptyToGoToEndOfFile"));
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print $langs->trans("KeysToUseForUpdates");
|
print $langs->trans("KeysToUseForUpdates");
|
||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
@ -1304,7 +1308,7 @@ if ($step == 5 && $datatoimport)
|
|||||||
print ' <a href="'.$_SERVER["PHP_SELF"].'?step=5'.$param.'">'.$langs->trans("Modify").'</a>';
|
print ' <a href="'.$_SERVER["PHP_SELF"].'?step=5'.$param.'">'.$langs->trans("Modify").'</a>';
|
||||||
} else {
|
} else {
|
||||||
print $form->multiselectarray('updatekeys', $objimport->array_import_updatekeys[0], $updatekeys, 0, 0, '', 1, '80%');
|
print $form->multiselectarray('updatekeys', $objimport->array_import_updatekeys[0], $updatekeys, 0, 0, '', 1, '80%');
|
||||||
print $form->textwithpicto("", $langs->trans("SelectColumnsOfYourFileForUpdateAttempt"));
|
print $form->textwithpicto("", $langs->trans("SelectPrimaryColumnsForUpdateAttempt"));
|
||||||
}
|
}
|
||||||
/*echo '<pre>';
|
/*echo '<pre>';
|
||||||
print_r($objimport->array_import_updatekeys);
|
print_r($objimport->array_import_updatekeys);
|
||||||
@ -1315,7 +1319,7 @@ if ($step == 5 && $datatoimport)
|
|||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
print '<b>'.$langs->trans("InformationOnTargetTables").'</b>';
|
print '<b>'.$langs->trans("InformationOnTargetTables").'</b><hr>';
|
||||||
print '<table width="100%" class="border">';
|
print '<table width="100%" class="border">';
|
||||||
//print '<tr><td colspan="2"><b>'.$langs->trans("InformationOnTargetTables").'</b></td></tr>';
|
//print '<tr><td colspan="2"><b>'.$langs->trans("InformationOnTargetTables").'</b></td></tr>';
|
||||||
|
|
||||||
@ -1643,8 +1647,11 @@ if ($step == 6 && $datatoimport)
|
|||||||
print $objimport->array_import_label[0];
|
print $objimport->array_import_label[0];
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '</table><br>';
|
print '</table>';
|
||||||
print '<b>'.$langs->trans("InformationOnSourceFile").'</b>';
|
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
|
print '<b>'.$langs->trans("InformationOnSourceFile").'</b><hr>';
|
||||||
print '<table width="100%" class="border">';
|
print '<table width="100%" class="border">';
|
||||||
//print '<tr><td colspan="2"><b>'.$langs->trans("InformationOnSourceFile").'</b></td></tr>';
|
//print '<tr><td colspan="2"><b>'.$langs->trans("InformationOnSourceFile").'</b></td></tr>';
|
||||||
|
|
||||||
@ -1701,7 +1708,7 @@ if ($step == 6 && $datatoimport)
|
|||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
print '<b>'.$langs->trans("InformationOnTargetTables").'</b>';
|
print '<b>'.$langs->trans("InformationOnTargetTables").'</b><hr>';
|
||||||
print '<table width="100%" class="border">';
|
print '<table width="100%" class="border">';
|
||||||
//print '<tr><td colspan="2"><b>'.$langs->trans("InformationOnTargetTables").'</b></td></tr>';
|
//print '<tr><td colspan="2"><b>'.$langs->trans("InformationOnTargetTables").'</b></td></tr>';
|
||||||
|
|
||||||
|
|||||||
@ -113,8 +113,10 @@ ExportDateFilter=YYYY, YYYYMM, YYYYMMDD : filters by one year/month/day<br>YYYY+
|
|||||||
ExportNumericFilter=NNNNN filters by one value<br>NNNNN+NNNNN filters over a range of values<br>< NNNNN filters by lower values<br>> NNNNN filters by higher values
|
ExportNumericFilter=NNNNN filters by one value<br>NNNNN+NNNNN filters over a range of values<br>< NNNNN filters by lower values<br>> NNNNN filters by higher values
|
||||||
ImportFromLine=Import starting from line number
|
ImportFromLine=Import starting from line number
|
||||||
EndAtLineNb=End at line number
|
EndAtLineNb=End at line number
|
||||||
|
ImportFromToLine=Import line numbers (from - to)
|
||||||
SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines
|
SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines
|
||||||
KeepEmptyToGoToEndOfFile=Keep this field empty to go up to the end of file
|
KeepEmptyToGoToEndOfFile=Keep this field empty to go up to the end of file
|
||||||
|
SelectPrimaryColumnsForUpdateAttempt=Select column(s) to use as primary key for update attempt
|
||||||
## filters
|
## filters
|
||||||
SelectFilterFields=If you want to filter on some values, just input values here.
|
SelectFilterFields=If you want to filter on some values, just input values here.
|
||||||
FilteredFields=Filtered fields
|
FilteredFields=Filtered fields
|
||||||
|
|||||||
@ -103,7 +103,7 @@ $head[$h][1] = $title;
|
|||||||
$head[$h][2] = 'popularityprop';
|
$head[$h][2] = 'popularityprop';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
dol_fiche_head($head,'popularityprop',$langs->trans("Statistics"));
|
dol_fiche_head($head, 'popularityprop', $langs->trans("Statistics"), -1);
|
||||||
|
|
||||||
|
|
||||||
// Array of liens to show
|
// Array of liens to show
|
||||||
@ -136,7 +136,6 @@ if ($resql)
|
|||||||
$num = $db->num_rows($resql);
|
$num = $db->num_rows($resql);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
$var=True;
|
|
||||||
while ($i < $num)
|
while ($i < $num)
|
||||||
{
|
{
|
||||||
$objp = $db->fetch_object($resql);
|
$objp = $db->fetch_object($resql);
|
||||||
@ -166,7 +165,6 @@ print_liste_field_titre($langs->trans('Label'), $_SERVER["PHP_SELF"], 'p.label',
|
|||||||
print_liste_field_titre($langs->trans('NbOfQtyInProposals'), $_SERVER["PHP_SELF"], 'c', '', $param, 'align="right"', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans('NbOfQtyInProposals'), $_SERVER["PHP_SELF"], 'c', '', $param, 'align="right"', $sortfield, $sortorder);
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$var=True;
|
|
||||||
foreach($infoprod as $prodid => $vals)
|
foreach($infoprod as $prodid => $vals)
|
||||||
{
|
{
|
||||||
// Multilangs
|
// Multilangs
|
||||||
@ -186,8 +184,7 @@ foreach($infoprod as $prodid => $vals)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$var=!$var;
|
print "<tr>";
|
||||||
print "<tr ".$bc[$var].">";
|
|
||||||
print '<td><a href="'.DOL_URL_ROOT.'/product/stats/card.php?id='.$prodid.'">';
|
print '<td><a href="'.DOL_URL_ROOT.'/product/stats/card.php?id='.$prodid.'">';
|
||||||
if ($vals['type'] == 1) print img_object($langs->trans("ShowService"),"service");
|
if ($vals['type'] == 1) print img_object($langs->trans("ShowService"),"service");
|
||||||
else print img_object($langs->trans("ShowProduct"),"product");
|
else print img_object($langs->trans("ShowProduct"),"product");
|
||||||
|
|||||||
@ -121,10 +121,7 @@ $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product_stock as s on p.rowid = s.fk_produc
|
|||||||
if ($search_categ) $sql.= ", ".MAIN_DB_PREFIX."categorie_product as cp";
|
if ($search_categ) $sql.= ", ".MAIN_DB_PREFIX."categorie_product as cp";
|
||||||
$sql.= " WHERE p.entity IN (".getEntity('product', 1).")";
|
$sql.= " WHERE p.entity IN (".getEntity('product', 1).")";
|
||||||
if ($search_categ) $sql.= " AND p.rowid = cp.fk_product"; // Join for the needed table to filter by categ
|
if ($search_categ) $sql.= " AND p.rowid = cp.fk_product"; // Join for the needed table to filter by categ
|
||||||
if ($sall)
|
if ($sall) $sql.=natural_search(array('p.ref', 'p.label', 'p.description', 'p.note'), $all);
|
||||||
{
|
|
||||||
$sql.= " AND (p.ref LIKE '%".$db->escape($sall)."%' OR p.label LIKE '%".$db->escape($sall)."%' OR p.description LIKE '%".$db->escape($sall)."%' OR p.note LIKE '%".$db->escape($sall)."%')";
|
|
||||||
}
|
|
||||||
// if the type is not 1, we show all products (type = 0,2,3)
|
// if the type is not 1, we show all products (type = 0,2,3)
|
||||||
if (dol_strlen($type))
|
if (dol_strlen($type))
|
||||||
{
|
{
|
||||||
@ -137,41 +134,32 @@ if (dol_strlen($type))
|
|||||||
$sql.= " AND p.fk_product_type <> '1'";
|
$sql.= " AND p.fk_product_type <> '1'";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($sref) $sql.= " AND p.ref LIKE '%".$sref."%'";
|
if ($sref) $sql.= natural_search('p.ref', $ref);
|
||||||
if ($sbarcode) $sql.= " AND p.barcode LIKE '%".$sbarcode."%'";
|
if ($sbarcode) $sql.= natural_search('p.barcode', $sbarcode);
|
||||||
if ($snom) $sql.= " AND p.label LIKE '%".$db->escape($snom)."%'";
|
if ($snom) $sql.= natural_search('p.label', $snom);
|
||||||
if (! empty($tosell))
|
if (! empty($tosell)) $sql.= " AND p.tosell = ".$tosell;
|
||||||
{
|
if (! empty($tobuy)) $sql.= " AND p.tobuy = ".$tobuy;
|
||||||
$sql.= " AND p.tosell = ".$tosell;
|
if (! empty($canvas)) $sql.= " AND p.canvas = '".$db->escape($canvas)."'";
|
||||||
}
|
if($catid) $sql.= " AND cp.fk_categorie = ".$catid;
|
||||||
if (! empty($tobuy))
|
if ($fourn_id > 0) $sql.= " AND p.rowid = pf.fk_product AND pf.fk_soc = ".$fourn_id;
|
||||||
{
|
|
||||||
$sql.= " AND p.tobuy = ".$tobuy;
|
|
||||||
}
|
|
||||||
if (! empty($canvas))
|
|
||||||
{
|
|
||||||
$sql.= " AND p.canvas = '".$db->escape($canvas)."'";
|
|
||||||
}
|
|
||||||
if($catid)
|
|
||||||
{
|
|
||||||
$sql.= " AND cp.fk_categorie = ".$catid;
|
|
||||||
}
|
|
||||||
if ($fourn_id > 0)
|
|
||||||
{
|
|
||||||
$sql.= " AND p.rowid = pf.fk_product AND pf.fk_soc = ".$fourn_id;
|
|
||||||
}
|
|
||||||
// Insert categ filter
|
// Insert categ filter
|
||||||
if ($search_categ)
|
if ($search_categ) $sql .= " AND cp.fk_categorie = ".$db->escape($search_categ);
|
||||||
{
|
|
||||||
$sql .= " AND cp.fk_categorie = ".$db->escape($search_categ);
|
|
||||||
}
|
|
||||||
$sql.= " GROUP BY p.rowid, p.ref, p.label, p.barcode, p.price, p.price_ttc, p.price_base_type, p.entity,";
|
$sql.= " GROUP BY p.rowid, p.ref, p.label, p.barcode, p.price, p.price_ttc, p.price_base_type, p.entity,";
|
||||||
$sql.= " p.fk_product_type, p.tms, p.duration, p.tosell, p.tobuy, p.seuil_stock_alerte, p.desiredstock";
|
$sql.= " p.fk_product_type, p.tms, p.duration, p.tosell, p.tobuy, p.seuil_stock_alerte, p.desiredstock";
|
||||||
if ($toolowstock) $sql.= " HAVING SUM(".$db->ifsql('s.reel IS NULL', '0', 's.reel').") < p.seuil_stock_alerte"; // Not used yet
|
if ($toolowstock) $sql.= " HAVING SUM(".$db->ifsql('s.reel IS NULL', '0', 's.reel').") < p.seuil_stock_alerte";
|
||||||
$sql.= $db->order($sortfield,$sortorder);
|
$sql.= $db->order($sortfield,$sortorder);
|
||||||
$sql.= $db->plimit($limit + 1, $offset);
|
|
||||||
$resql = $db->query($sql);
|
|
||||||
|
|
||||||
|
// Count total nb of records
|
||||||
|
$nbtotalofrecords = '';
|
||||||
|
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
|
||||||
|
{
|
||||||
|
$result = $db->query($sql);
|
||||||
|
$nbtotalofrecords = $db->num_rows($result);
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql.= $db->plimit($limit + 1, $offset);
|
||||||
|
|
||||||
|
$resql = $db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$num = $db->num_rows($resql);
|
$num = $db->num_rows($resql);
|
||||||
@ -197,31 +185,31 @@ if ($resql)
|
|||||||
|
|
||||||
llxHeader("", $texte, $helpurl);
|
llxHeader("", $texte, $helpurl);
|
||||||
|
|
||||||
if ($sref || $snom || $sall || GETPOST('search'))
|
|
||||||
{
|
|
||||||
print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], "&sref=".$sref."&snom=".$snom."&sall=".$sall."&tosell=".$tosell."&tobuy=".$tobuy.(!empty($search_categ) ? '&search_categ='.$search_categ : '').(!empty($toolowstock) ? '&toolowstock='.$toolowstock : ''), $sortfield, $sortorder,'',$num, 0, 'title_products');
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], "&sref=$sref&snom=$snom&fourn_id=$fourn_id".(isset($type)?"&type=$type":"").(!empty($search_categ) ? '&search_categ='.$search_categ : '').(!empty($toolowstock) ? '&toolowstock='.$toolowstock : ''), $sortfield, $sortorder,'',$num, 0, 'title_products');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! empty($catid))
|
|
||||||
{
|
|
||||||
print "<div id='ways'>";
|
|
||||||
$c = new Categorie($db);
|
|
||||||
$c->fetch($catid);
|
|
||||||
$ways = $c->print_all_ways(' > ','product/reassort.php');
|
|
||||||
print " > ".$ways[0]."<br>\n";
|
|
||||||
print "</div><br>";
|
|
||||||
}
|
|
||||||
|
|
||||||
print '<form action="'. $_SERVER["PHP_SELF"] .'" method="post" name="formulaire">';
|
print '<form action="'. $_SERVER["PHP_SELF"] .'" method="post" name="formulaire">';
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
|
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
|
||||||
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
||||||
print '<input type="hidden" name="type" value="'.$type.'">';
|
print '<input type="hidden" name="type" value="'.$type.'">';
|
||||||
|
|
||||||
|
if ($sref || $snom || $sall || GETPOST('search'))
|
||||||
|
{
|
||||||
|
print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], "&sref=".$sref."&snom=".$snom."&sall=".$sall."&tosell=".$tosell."&tobuy=".$tobuy.(!empty($search_categ) ? '&search_categ='.$search_categ : '').(!empty($toolowstock) ? '&toolowstock='.$toolowstock : ''), $sortfield, $sortorder,'',$num, $nbtotalofrecords, 'title_products', 0, '', '', $limit);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], "&sref=$sref&snom=$snom&fourn_id=$fourn_id".(isset($type)?"&type=$type":"").(!empty($search_categ) ? '&search_categ='.$search_categ : '').(!empty($toolowstock) ? '&toolowstock='.$toolowstock : ''), $sortfield, $sortorder,'',$num, $nbtotalofrecords, 'title_products', 0, '', '', $limit);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! empty($catid))
|
||||||
|
{
|
||||||
|
print "<div id='ways'>";
|
||||||
|
$c = new Categorie($db);
|
||||||
|
$c->fetch($catid);
|
||||||
|
$ways = $c->print_all_ways(' > ','product/reassort.php');
|
||||||
|
print " > ".$ways[0]."<br>\n";
|
||||||
|
print "</div><br>";
|
||||||
|
}
|
||||||
|
|
||||||
// Filter on categories
|
// Filter on categories
|
||||||
$moreforfilter='';
|
$moreforfilter='';
|
||||||
if (! empty($conf->categorie->enabled))
|
if (! empty($conf->categorie->enabled))
|
||||||
@ -264,32 +252,8 @@ if ($resql)
|
|||||||
print '<div class="div-table-responsive">';
|
print '<div class="div-table-responsive">';
|
||||||
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">';
|
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">';
|
||||||
|
|
||||||
// Lignes des titres
|
|
||||||
print "<tr class=\"liste_titre\">";
|
|
||||||
print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.ref",$param,"","",$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("Label"), $_SERVER["PHP_SELF"], "p.label",$param,"","",$sortfield,$sortorder);
|
|
||||||
if (! empty($conf->service->enabled) && $type == 1) print_liste_field_titre($langs->trans("Duration"), $_SERVER["PHP_SELF"], "p.duration",$param,"",'align="center"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("StockLimit"), $_SERVER["PHP_SELF"], "p.seuil_stock_alerte",$param,"",'align="right"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("DesiredStock"), $_SERVER["PHP_SELF"], "p.desiredstock",$param,"",'align="right"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("PhysicalStock"), $_SERVER["PHP_SELF"], "stock_physique",$param,"",'align="right"',$sortfield,$sortorder);
|
|
||||||
// Details per warehouse
|
|
||||||
if (! empty($conf->global->STOCK_DETAIL_ON_WAREHOUSE)) // TODO This should be moved into the selection of fields on page product/list (page product/stock will be removed and replaced with product/list with its own context)
|
|
||||||
{
|
|
||||||
if ($nb_warehouse>1) {
|
|
||||||
foreach($warehouses_list as &$wh) {
|
|
||||||
print_liste_field_titre($wh['label'], '', '','','','align="right"');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($virtualdiffersfromphysical) print_liste_field_titre($langs->trans("VirtualStock"),$_SERVER["PHP_SELF"], "",$param,"",'align="right"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre('');
|
|
||||||
print_liste_field_titre($langs->trans("Status").' ('.$langs->trans("Sell").')',$_SERVER["PHP_SELF"], "p.tosell",$param,"",'align="right"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("Status").' ('.$langs->trans("Buy").')',$_SERVER["PHP_SELF"], "p.tobuy",$param,"",'align="right"',$sortfield,$sortorder);
|
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
// Lignes des champs de filtre
|
// Lignes des champs de filtre
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre_filter">';
|
||||||
print '<td class="liste_titre">';
|
print '<td class="liste_titre">';
|
||||||
print '<input class="flat" type="text" name="sref" size="6" value="'.$sref.'">';
|
print '<input class="flat" type="text" name="sref" size="6" value="'.$sref.'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -310,24 +274,47 @@ if ($resql)
|
|||||||
if ($virtualdiffersfromphysical) print '<td class="liste_titre"> </td>';
|
if ($virtualdiffersfromphysical) print '<td class="liste_titre"> </td>';
|
||||||
print '<td class="liste_titre"> </td>';
|
print '<td class="liste_titre"> </td>';
|
||||||
print '<td class="liste_titre" colspan="'.$colspan_warehouse.'"> </td>';
|
print '<td class="liste_titre" colspan="'.$colspan_warehouse.'"> </td>';
|
||||||
|
print '<td class="liste_titre"></td>';
|
||||||
print '<td class="liste_titre" align="right">';
|
print '<td class="liste_titre" align="right">';
|
||||||
$searchpitco=$form->showFilterAndCheckAddButtons(0);
|
$searchpitco=$form->showFilterAndCheckAddButtons(0);
|
||||||
print $searchpitco;
|
print $searchpitco;
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
$var=True;
|
// Lignes des titres
|
||||||
|
print "<tr class=\"liste_titre\">";
|
||||||
|
print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.ref",$param,"","",$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("Label"), $_SERVER["PHP_SELF"], "p.label",$param,"","",$sortfield,$sortorder);
|
||||||
|
if (! empty($conf->service->enabled) && $type == 1) print_liste_field_titre($langs->trans("Duration"), $_SERVER["PHP_SELF"], "p.duration",$param,"",'align="center"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("StockLimit"), $_SERVER["PHP_SELF"], "p.seuil_stock_alerte",$param,"",'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("DesiredStock"), $_SERVER["PHP_SELF"], "p.desiredstock",$param,"",'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("PhysicalStock"), $_SERVER["PHP_SELF"], "stock_physique",$param,"",'align="right"',$sortfield,$sortorder);
|
||||||
|
// Details per warehouse
|
||||||
|
if (! empty($conf->global->STOCK_DETAIL_ON_WAREHOUSE)) // TODO This should be moved into the selection of fields on page product/list (page product/stock will be removed and replaced with product/list with its own context)
|
||||||
|
{
|
||||||
|
if ($nb_warehouse>1) {
|
||||||
|
foreach($warehouses_list as &$wh) {
|
||||||
|
print_liste_field_titre($wh['label'], '', '','','','align="right"');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($virtualdiffersfromphysical) print_liste_field_titre($langs->trans("VirtualStock"),$_SERVER["PHP_SELF"], "",$param,"",'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre('');
|
||||||
|
print_liste_field_titre($langs->trans("Status").' ('.$langs->trans("Sell").')',$_SERVER["PHP_SELF"], "p.tosell",$param,"",'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("Status").' ('.$langs->trans("Buy").')',$_SERVER["PHP_SELF"], "p.tobuy",$param,"",'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre('');
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
while ($i < min($num,$limit))
|
while ($i < min($num,$limit))
|
||||||
{
|
{
|
||||||
$objp = $db->fetch_object($resql);
|
$objp = $db->fetch_object($resql);
|
||||||
|
|
||||||
$var=!$var;
|
print '<tr>';
|
||||||
print '<tr '.$bc[$var].'><td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
|
|
||||||
$product=new Product($db);
|
$product=new Product($db);
|
||||||
$product->fetch($objp->rowid);
|
$product->fetch($objp->rowid);
|
||||||
$product->load_stock();
|
$product->load_stock();
|
||||||
|
|
||||||
print $product->getNomUrl(1,'',16);
|
print $product->getNomUrl(1,'',16);
|
||||||
//if ($objp->stock_theorique < $objp->seuil_stock_alerte) print ' '.img_warning($langs->trans("StockTooLow"));
|
//if ($objp->stock_theorique < $objp->seuil_stock_alerte) print ' '.img_warning($langs->trans("StockTooLow"));
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -376,27 +363,17 @@ if ($resql)
|
|||||||
}
|
}
|
||||||
print '<td align="right"><a href="'.DOL_URL_ROOT.'/product/stock/mouvement.php?idproduct='.$product->id.'">'.$langs->trans("Movements").'</a></td>';
|
print '<td align="right"><a href="'.DOL_URL_ROOT.'/product/stock/mouvement.php?idproduct='.$product->id.'">'.$langs->trans("Movements").'</a></td>';
|
||||||
print '<td align="right" class="nowrap">'.$product->LibStatut($objp->statut,5,0).'</td>';
|
print '<td align="right" class="nowrap">'.$product->LibStatut($objp->statut,5,0).'</td>';
|
||||||
print '<td align="right" class="nowrap">'.$product->LibStatut($objp->tobuy,5,1).'</td>';
|
print '<td align="right" class="nowrap">'.$product->LibStatut($objp->tobuy,5,1).'</td>';
|
||||||
print "</tr>\n";
|
print '<td></td>';
|
||||||
|
print "</tr>\n";
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
print '</form>';
|
print '</form>';
|
||||||
|
|
||||||
if ($num > $conf->liste_limit)
|
|
||||||
{
|
|
||||||
if ($sref || $snom || $sall || GETPOST('search'))
|
|
||||||
{
|
|
||||||
print_barre_liste('', $page, "reassort.php", "&sref=".$sref."&snom=".$snom."&sall=".$sall."&tosell=".$tosell."&tobuy=".$tobuy.(!empty($search_categ) ? '&search_categ='.$search_categ : '').(!empty($toolowstock) ? '&toolowstock='.$toolowstock : ''), $sortfield, $sortorder,'',$num, 0, '');
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print_barre_liste('', $page, "reassort.php", "&sref=$sref&snom=$snom&fourn_id=$fourn_id".(isset($type)?"&type=$type":"")."&tosell=".$tosell."&tobuy=".$tobuy.(!empty($search_categ) ? '&search_categ='.$search_categ : '').(!empty($toolowstock) ? '&toolowstock='.$toolowstock : ''), $sortfield, $sortorder,'',$num, 0, '');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$db->free($resql);
|
$db->free($resql);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -160,15 +160,17 @@ $sql.= " pb.batch, pb.eatby, pb.sellby,";
|
|||||||
$sql.= " pl.eatby, pl.sellby";
|
$sql.= " pl.eatby, pl.sellby";
|
||||||
if ($toolowstock) $sql.= " HAVING SUM(".$db->ifsql('ps.reel IS NULL', '0', 'ps.reel').") < p.seuil_stock_alerte"; // Not used yet
|
if ($toolowstock) $sql.= " HAVING SUM(".$db->ifsql('ps.reel IS NULL', '0', 'ps.reel').") < p.seuil_stock_alerte"; // Not used yet
|
||||||
$sql.= $db->order($sortfield,$sortorder);
|
$sql.= $db->order($sortfield,$sortorder);
|
||||||
|
|
||||||
$nbtotalofrecords = '';
|
$nbtotalofrecords = '';
|
||||||
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
|
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
|
||||||
{
|
{
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
$nbtotalofrecords = $db->num_rows($result);
|
$nbtotalofrecords = $db->num_rows($result);
|
||||||
}
|
}
|
||||||
$sql.= $db->plimit($limit + 1, $offset);
|
|
||||||
$resql = $db->query($sql);
|
|
||||||
|
|
||||||
|
$sql.= $db->plimit($limit + 1, $offset);
|
||||||
|
|
||||||
|
$resql = $db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$num = $db->num_rows($resql);
|
$num = $db->num_rows($resql);
|
||||||
@ -194,13 +196,19 @@ if ($resql)
|
|||||||
|
|
||||||
llxHeader("",$title,$helpurl,$texte);
|
llxHeader("",$title,$helpurl,$texte);
|
||||||
|
|
||||||
|
print '<form action="'. $_SERVER["PHP_SELF"] .'" method="post" name="formulaire">';
|
||||||
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
|
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
|
||||||
|
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
||||||
|
print '<input type="hidden" name="type" value="'.$type.'">';
|
||||||
|
|
||||||
if ($sref || $snom || $sall || GETPOST('search'))
|
if ($sref || $snom || $sall || GETPOST('search'))
|
||||||
{
|
{
|
||||||
print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], "&sref=".$sref."&snom=".$snom."&sall=".$sall."&tosell=".$tosell."&tobuy=".$tobuy, $sortfield, $sortorder,'',$num, $nbtotalofrecords, 'title_products');
|
print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], "&sref=".$sref."&snom=".$snom."&sall=".$sall."&tosell=".$tosell."&tobuy=".$tobuy, $sortfield, $sortorder,'',$num, $nbtotalofrecords, 'title_products', 0, '', '', $limit);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], "&sref=$sref&snom=$snom&fourn_id=$fourn_id".(isset($type)?"&type=$type":""), $sortfield, $sortorder,'',$num, $nbtotalofrecords, 'title_products');
|
print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], "&sref=$sref&snom=$snom&fourn_id=$fourn_id".(isset($type)?"&type=$type":""), $sortfield, $sortorder,'',$num, $nbtotalofrecords, 'title_products', 0, '', '', $limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! empty($catid))
|
if (! empty($catid))
|
||||||
@ -213,12 +221,6 @@ if ($resql)
|
|||||||
print "</div><br>";
|
print "</div><br>";
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<form action="'. $_SERVER["PHP_SELF"] .'" method="post" name="formulaire">';
|
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
|
||||||
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
|
|
||||||
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
|
||||||
print '<input type="hidden" name="type" value="'.$type.'">';
|
|
||||||
|
|
||||||
// Filter on categories
|
// Filter on categories
|
||||||
$moreforfilter='';
|
$moreforfilter='';
|
||||||
if (! empty($conf->categorie->enabled))
|
if (! empty($conf->categorie->enabled))
|
||||||
@ -255,26 +257,8 @@ if ($resql)
|
|||||||
print '<div class="div-table-responsive">';
|
print '<div class="div-table-responsive">';
|
||||||
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">';
|
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">';
|
||||||
|
|
||||||
// Lignes des titres
|
|
||||||
print "<tr class=\"liste_titre\">";
|
|
||||||
print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.ref",$param,"","",$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("Label"), $_SERVER["PHP_SELF"], "p.label",$param,"","",$sortfield,$sortorder);
|
|
||||||
if (! empty($conf->service->enabled) && $type == 1) print_liste_field_titre($langs->trans("Duration"), $_SERVER["PHP_SELF"], "p.duration",$param,"",'align="center"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("Warehouse"), $_SERVER["PHP_SELF"], "e.label",$param,"",'',$sortfield,$sortorder);
|
|
||||||
//print_liste_field_titre($langs->trans("DesiredStock"), $_SERVER["PHP_SELF"], "p.desiredstock",$param,"",'align="right"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("Batch"), $_SERVER["PHP_SELF"], "pb.batch",$param,"",'align="center"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("EatByDate"), $_SERVER["PHP_SELF"], "pb.eatby",$param,"",'align="center"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("SellByDate"), $_SERVER["PHP_SELF"], "pb.sellby",$param,"",'align="center"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("PhysicalStock"), $_SERVER["PHP_SELF"], "stock_physique",$param,"",'align="right"',$sortfield,$sortorder);
|
|
||||||
// TODO Add info of running suppliers/customers orders
|
|
||||||
//print_liste_field_titre($langs->trans("TheoreticalStock"),$_SERVER["PHP_SELF"], "stock_theorique",$param,"",'align="right"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre('');
|
|
||||||
print_liste_field_titre($langs->trans("Status").' ('.$langs->trans("Sell").')',$_SERVER["PHP_SELF"], "p.tosell","",$param,'align="right"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("Status").' ('.$langs->trans("Buy").')',$_SERVER["PHP_SELF"], "p.tobuy","",$param,'align="right"',$sortfield,$sortorder);
|
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
// Lignes des champs de filtre
|
// Lignes des champs de filtre
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre_filter">';
|
||||||
print '<td class="liste_titre">';
|
print '<td class="liste_titre">';
|
||||||
print '<input class="flat" type="text" name="sref" size="6" value="'.$sref.'">';
|
print '<input class="flat" type="text" name="sref" size="6" value="'.$sref.'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -294,16 +278,35 @@ if ($resql)
|
|||||||
print '<td class="liste_titre"> </td>';
|
print '<td class="liste_titre"> </td>';
|
||||||
print '<td class="liste_titre"> </td>';
|
print '<td class="liste_titre"> </td>';
|
||||||
print '<td class="liste_titre"> </td>';
|
print '<td class="liste_titre"> </td>';
|
||||||
|
print '<td class="liste_titre"> </td>';
|
||||||
print '<td class="liste_titre" align="right">';
|
print '<td class="liste_titre" align="right">';
|
||||||
$searchpitco=$form->showFilterAndCheckAddButtons(0);
|
$searchpitco=$form->showFilterAndCheckAddButtons(0);
|
||||||
print $searchpitco;
|
print $searchpitco;
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
// Lignes des titres
|
||||||
|
print "<tr class=\"liste_titre\">";
|
||||||
|
print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.ref",$param,"","",$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("Label"), $_SERVER["PHP_SELF"], "p.label",$param,"","",$sortfield,$sortorder);
|
||||||
|
if (! empty($conf->service->enabled) && $type == 1) print_liste_field_titre($langs->trans("Duration"), $_SERVER["PHP_SELF"], "p.duration",$param,"",'align="center"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("Warehouse"), $_SERVER["PHP_SELF"], "e.label",$param,"",'',$sortfield,$sortorder);
|
||||||
|
//print_liste_field_titre($langs->trans("DesiredStock"), $_SERVER["PHP_SELF"], "p.desiredstock",$param,"",'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("Batch"), $_SERVER["PHP_SELF"], "pb.batch",$param,"",'align="center"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("EatByDate"), $_SERVER["PHP_SELF"], "pb.eatby",$param,"",'align="center"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("SellByDate"), $_SERVER["PHP_SELF"], "pb.sellby",$param,"",'align="center"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("PhysicalStock"), $_SERVER["PHP_SELF"], "stock_physique",$param,"",'align="right"',$sortfield,$sortorder);
|
||||||
|
// TODO Add info of running suppliers/customers orders
|
||||||
|
//print_liste_field_titre($langs->trans("TheoreticalStock"),$_SERVER["PHP_SELF"], "stock_theorique",$param,"",'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre('');
|
||||||
|
print_liste_field_titre($langs->trans("Status").' ('.$langs->trans("Sell").')',$_SERVER["PHP_SELF"], "p.tosell","",$param,'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("Status").' ('.$langs->trans("Buy").')',$_SERVER["PHP_SELF"], "p.tobuy","",$param,'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre('');
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
$product_static=new Product($db);
|
$product_static=new Product($db);
|
||||||
$warehousetmp=new Entrepot($db);
|
$warehousetmp=new Entrepot($db);
|
||||||
|
|
||||||
$var=True;
|
|
||||||
while ($i < min($num,$limit))
|
while ($i < min($num,$limit))
|
||||||
{
|
{
|
||||||
$objp = $db->fetch_object($resql);
|
$objp = $db->fetch_object($resql);
|
||||||
@ -337,9 +340,7 @@ if ($resql)
|
|||||||
$warehousetmp->label=$objp->warehouse_ref;
|
$warehousetmp->label=$objp->warehouse_ref;
|
||||||
$warehousetmp->fk_parent=$objp->warehouse_parent;
|
$warehousetmp->fk_parent=$objp->warehouse_parent;
|
||||||
|
|
||||||
$var=!$var;
|
print '<tr>';
|
||||||
|
|
||||||
print '<tr '.$bc[$var].'>';
|
|
||||||
|
|
||||||
// Ref
|
// Ref
|
||||||
print '<td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
@ -380,6 +381,7 @@ if ($resql)
|
|||||||
print '<td align="right"><a href="'.DOL_URL_ROOT.'/product/stock/mouvement.php?idproduct='.$product_static->id.'&search_warehouse='.$objp->fk_entrepot.'&search_batch='.($objp->batch != 'Undefined' ? $objp->batch : 'Undefined').'">'.$langs->trans("Movements").'</a></td>';
|
print '<td align="right"><a href="'.DOL_URL_ROOT.'/product/stock/mouvement.php?idproduct='.$product_static->id.'&search_warehouse='.$objp->fk_entrepot.'&search_batch='.($objp->batch != 'Undefined' ? $objp->batch : 'Undefined').'">'.$langs->trans("Movements").'</a></td>';
|
||||||
print '<td align="right" class="nowrap">'.$product_static->LibStatut($objp->statut,5,0).'</td>';
|
print '<td align="right" class="nowrap">'.$product_static->LibStatut($objp->statut,5,0).'</td>';
|
||||||
print '<td align="right" class="nowrap">'.$product_static->LibStatut($objp->tobuy,5,1).'</td>';
|
print '<td align="right" class="nowrap">'.$product_static->LibStatut($objp->tobuy,5,1).'</td>';
|
||||||
|
print '<td></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -149,18 +149,8 @@ if ($result)
|
|||||||
print '<div class="div-table-responsive">';
|
print '<div class="div-table-responsive">';
|
||||||
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
|
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
|
||||||
|
|
||||||
print "<tr class=\"liste_titre\">";
|
|
||||||
print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"], "e.label","",$param,"",$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("LocationSummary"),$_SERVER["PHP_SELF"], "e.lieu","",$param,"",$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("PhysicalStock"), $_SERVER["PHP_SELF"], "stockqty",'',$param,'align="right"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("EstimatedStockValue"), $_SERVER["PHP_SELF"], "estimatedvalue",'',$param,'align="right"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("EstimatedStockValueSell"), $_SERVER["PHP_SELF"], "",'',$param,'align="right"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"], "e.statut",'',$param,'align="right"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'',$param,'',$sortfield,$sortorder,'maxwidthsearch ');
|
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
// Lignes des champs de filtre
|
// Lignes des champs de filtre
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre_filter">';
|
||||||
|
|
||||||
print '<td class="liste_titre" align="left">';
|
print '<td class="liste_titre" align="left">';
|
||||||
print '<input class="flat" type="text" name="search_ref" size="6" value="'.dol_escape_htmltag($search_ref).'">';
|
print '<input class="flat" type="text" name="search_ref" size="6" value="'.dol_escape_htmltag($search_ref).'">';
|
||||||
@ -183,6 +173,16 @@ if ($result)
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"], "e.label","",$param,"",$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("LocationSummary"),$_SERVER["PHP_SELF"], "e.lieu","",$param,"",$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("PhysicalStock"), $_SERVER["PHP_SELF"], "stockqty",'',$param,'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("EstimatedStockValue"), $_SERVER["PHP_SELF"], "estimatedvalue",'',$param,'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("EstimatedStockValueSell"), $_SERVER["PHP_SELF"], "",'',$param,'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"], "e.statut",'',$param,'align="right"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'',$param,'',$sortfield,$sortorder,'maxwidthsearch ');
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
if ($num)
|
if ($num)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -236,8 +236,7 @@ if ($search_fk_user_creat) $sql.= natural_search("fk_user_creat",$search_fk_user
|
|||||||
if ($search_fk_user_modif) $sql.= natural_search("fk_user_modif",$search_fk_user_modif);
|
if ($search_fk_user_modif) $sql.= natural_search("fk_user_modif",$search_fk_user_modif);
|
||||||
if ($search_import_key) $sql.= natural_search("import_key",$search_import_key);
|
if ($search_import_key) $sql.= natural_search("import_key",$search_import_key);
|
||||||
|
|
||||||
|
if ($sall) $sql.= natural_search(array_keys($fieldstosearchall), $sall);
|
||||||
if ($sall) $sql.= natural_search(array_keys($fieldstosearchall), $sall);
|
|
||||||
// Add where from extra fields
|
// Add where from extra fields
|
||||||
foreach ($search_array_options as $key => $val)
|
foreach ($search_array_options as $key => $val)
|
||||||
{
|
{
|
||||||
@ -342,6 +341,69 @@ if ($resql)
|
|||||||
print '<div class="div-table-responsive">';
|
print '<div class="div-table-responsive">';
|
||||||
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
|
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
|
||||||
|
|
||||||
|
// Fields title search
|
||||||
|
print '<tr class="liste_titre_filter">';
|
||||||
|
if (! empty($arrayfields['t.entity']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_entity" value="'.$search_entity.'" size="8"></td>';
|
||||||
|
if (! empty($arrayfields['t.batch']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_batch" value="'.$search_batch.'" size="8"></td>';
|
||||||
|
if (! empty($arrayfields['t.fk_product']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_product" value="'.$search_product.'" size="8"></td>';
|
||||||
|
if (! empty($arrayfields['t.eatby']['checked'])) print '<td class="liste_titre"></td>';
|
||||||
|
if (! empty($arrayfields['t.sellby']['checked'])) print '<td class="liste_titre"></td>';
|
||||||
|
if (! empty($arrayfields['t.fk_user_creat']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_fk_user_creat" value="'.$search_fk_user_creat.'" size="10"></td>';
|
||||||
|
if (! empty($arrayfields['t.fk_user_modif']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_fk_user_modif" value="'.$search_fk_user_modif.'" size="10"></td>';
|
||||||
|
if (! empty($arrayfields['t.import_key']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_import_key" value="'.$search_import_key.'" size="10"></td>';
|
||||||
|
// 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);
|
||||||
|
$typeofextrafield=$extrafields->attribute_type[$key];
|
||||||
|
print '<td class="liste_titre'.($align?' '.$align:'').'">';
|
||||||
|
if (in_array($typeofextrafield, array('varchar', 'int', 'double', 'select')))
|
||||||
|
{
|
||||||
|
$crit=$val;
|
||||||
|
$tmpkey=preg_replace('/search_options_/','',$key);
|
||||||
|
$searchclass='';
|
||||||
|
if (in_array($typeofextrafield, array('varchar', 'select'))) $searchclass='searchstring';
|
||||||
|
if (in_array($typeofextrafield, array('int', 'double'))) $searchclass='searchnum';
|
||||||
|
print '<input class="flat'.($searchclass?' '.$searchclass:'').'" size="4" type="text" name="search_options_'.$tmpkey.'" value="'.dol_escape_htmltag($search_array_options['search_options_'.$tmpkey]).'">';
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Fields from hook
|
||||||
|
$parameters=array('arrayfields'=>$arrayfields);
|
||||||
|
$reshook=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook
|
||||||
|
print $hookmanager->resPrint;
|
||||||
|
if (! empty($arrayfields['t.datec']['checked']))
|
||||||
|
{
|
||||||
|
// Date creation
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
|
if (! empty($arrayfields['t.tms']['checked']))
|
||||||
|
{
|
||||||
|
// Date modification
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
|
/*if (! empty($arrayfields['u.statut']['checked']))
|
||||||
|
{
|
||||||
|
// Status
|
||||||
|
print '<td class="liste_titre" align="center">';
|
||||||
|
print $form->selectarray('search_statut', array('-1'=>'','0'=>$langs->trans('Disabled'),'1'=>$langs->trans('Enabled')),$search_statut);
|
||||||
|
print '</td>';
|
||||||
|
}*/
|
||||||
|
// Action column
|
||||||
|
print '<td class="liste_titre" align="right">';
|
||||||
|
$searchpitco=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1);
|
||||||
|
print $searchpitco;
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>'."\n";
|
||||||
|
|
||||||
// Fields title
|
// Fields title
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
if (! empty($arrayfields['t.entity']['checked'])) print_liste_field_titre($arrayfields['t.entity']['label'],$_SERVER['PHP_SELF'],'t.entity','',$param,'',$sortfield,$sortorder);
|
if (! empty($arrayfields['t.entity']['checked'])) print_liste_field_titre($arrayfields['t.entity']['label'],$_SERVER['PHP_SELF'],'t.entity','',$param,'',$sortfield,$sortorder);
|
||||||
@ -374,69 +436,6 @@ if ($resql)
|
|||||||
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch ');
|
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch ');
|
||||||
print '</tr>'."\n";
|
print '</tr>'."\n";
|
||||||
|
|
||||||
// Fields title search
|
|
||||||
print '<tr class="liste_titre">';
|
|
||||||
if (! empty($arrayfields['t.entity']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_entity" value="'.$search_entity.'" size="8"></td>';
|
|
||||||
if (! empty($arrayfields['t.batch']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_batch" value="'.$search_batch.'" size="8"></td>';
|
|
||||||
if (! empty($arrayfields['t.fk_product']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_product" value="'.$search_product.'" size="8"></td>';
|
|
||||||
if (! empty($arrayfields['t.eatby']['checked'])) print '<td class="liste_titre"></td>';
|
|
||||||
if (! empty($arrayfields['t.sellby']['checked'])) print '<td class="liste_titre"></td>';
|
|
||||||
if (! empty($arrayfields['t.fk_user_creat']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_fk_user_creat" value="'.$search_fk_user_creat.'" size="10"></td>';
|
|
||||||
if (! empty($arrayfields['t.fk_user_modif']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_fk_user_modif" value="'.$search_fk_user_modif.'" size="10"></td>';
|
|
||||||
if (! empty($arrayfields['t.import_key']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_import_key" value="'.$search_import_key.'" size="10"></td>';
|
|
||||||
// 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);
|
|
||||||
$typeofextrafield=$extrafields->attribute_type[$key];
|
|
||||||
print '<td class="liste_titre'.($align?' '.$align:'').'">';
|
|
||||||
if (in_array($typeofextrafield, array('varchar', 'int', 'double', 'select')))
|
|
||||||
{
|
|
||||||
$crit=$val;
|
|
||||||
$tmpkey=preg_replace('/search_options_/','',$key);
|
|
||||||
$searchclass='';
|
|
||||||
if (in_array($typeofextrafield, array('varchar', 'select'))) $searchclass='searchstring';
|
|
||||||
if (in_array($typeofextrafield, array('int', 'double'))) $searchclass='searchnum';
|
|
||||||
print '<input class="flat'.($searchclass?' '.$searchclass:'').'" size="4" type="text" name="search_options_'.$tmpkey.'" value="'.dol_escape_htmltag($search_array_options['search_options_'.$tmpkey]).'">';
|
|
||||||
}
|
|
||||||
print '</td>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Fields from hook
|
|
||||||
$parameters=array('arrayfields'=>$arrayfields);
|
|
||||||
$reshook=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook
|
|
||||||
print $hookmanager->resPrint;
|
|
||||||
if (! empty($arrayfields['t.datec']['checked']))
|
|
||||||
{
|
|
||||||
// Date creation
|
|
||||||
print '<td class="liste_titre">';
|
|
||||||
print '</td>';
|
|
||||||
}
|
|
||||||
if (! empty($arrayfields['t.tms']['checked']))
|
|
||||||
{
|
|
||||||
// Date modification
|
|
||||||
print '<td class="liste_titre">';
|
|
||||||
print '</td>';
|
|
||||||
}
|
|
||||||
/*if (! empty($arrayfields['u.statut']['checked']))
|
|
||||||
{
|
|
||||||
// Status
|
|
||||||
print '<td class="liste_titre" align="center">';
|
|
||||||
print $form->selectarray('search_statut', array('-1'=>'','0'=>$langs->trans('Disabled'),'1'=>$langs->trans('Enabled')),$search_statut);
|
|
||||||
print '</td>';
|
|
||||||
}*/
|
|
||||||
// Action column
|
|
||||||
print '<td class="liste_titre" align="right">';
|
|
||||||
$searchpitco=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1);
|
|
||||||
print $searchpitco;
|
|
||||||
print '</td>';
|
|
||||||
print '</tr>'."\n";
|
|
||||||
|
|
||||||
$productlot = new Productlot($db);
|
$productlot = new Productlot($db);
|
||||||
|
|
||||||
$i=0;
|
$i=0;
|
||||||
|
|||||||
@ -403,7 +403,7 @@ $head[1][2] = 'replenishorders';
|
|||||||
|
|
||||||
print load_fiche_titre($langs->trans('Replenishment'), '', 'title_generic.png');
|
print load_fiche_titre($langs->trans('Replenishment'), '', 'title_generic.png');
|
||||||
|
|
||||||
dol_fiche_head($head, 'replenish', '', 0, '');
|
dol_fiche_head($head, 'replenish', '', -1, '');
|
||||||
|
|
||||||
print $langs->trans("ReplenishmentStatusDesc").'<br>'."\n";
|
print $langs->trans("ReplenishmentStatusDesc").'<br>'."\n";
|
||||||
if ($usevirtualstock == 1)
|
if ($usevirtualstock == 1)
|
||||||
@ -501,22 +501,8 @@ print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST" name="formulaire">'
|
|||||||
'<input type="hidden" name="action" value="order">'.
|
'<input type="hidden" name="action" value="order">'.
|
||||||
'<input type="hidden" name="mode" value="' . $mode . '">';
|
'<input type="hidden" name="mode" value="' . $mode . '">';
|
||||||
|
|
||||||
// Lines of title
|
|
||||||
print '<tr class="liste_titre">';
|
|
||||||
print_liste_field_titre('<input type="checkbox" onClick="toggle(this)" />', $_SERVER["PHP_SELF"], '');
|
|
||||||
print_liste_field_titre($langs->trans('Ref'), $_SERVER["PHP_SELF"], 'p.ref', $param, '', '', $sortfield, $sortorder);
|
|
||||||
print_liste_field_titre($langs->trans('Label'), $_SERVER["PHP_SELF"], 'p.label', $param, '', '', $sortfield, $sortorder);
|
|
||||||
if (!empty($conf->service->enabled) && $type == 1) print_liste_field_titre($langs->trans('Duration'), $_SERVER["PHP_SELF"], 'p.duration', $param, '', 'align="center"', $sortfield, $sortorder);
|
|
||||||
print_liste_field_titre($langs->trans('DesiredStock'), $_SERVER["PHP_SELF"], 'p.desiredstock', $param, '', 'align="right"', $sortfield, $sortorder);
|
|
||||||
print_liste_field_titre($langs->trans('StockLimitShort'), $_SERVER["PHP_SELF"], 'p.seuil_stock_alerte', $param, '', 'align="right"', $sortfield, $sortorder);
|
|
||||||
print_liste_field_titre($stocklabel, $_SERVER["PHP_SELF"], 'stock_physique', $param, '', 'align="right"', $sortfield, $sortorder);
|
|
||||||
print_liste_field_titre($langs->trans('Ordered'), $_SERVER["PHP_SELF"], '', $param, '', 'align="right"', $sortfield, $sortorder);
|
|
||||||
print_liste_field_titre($langs->trans('StockToBuy'), $_SERVER["PHP_SELF"], '', $param, '', 'align="right"', $sortfield, $sortorder);
|
|
||||||
print_liste_field_titre($langs->trans('SupplierRef'), $_SERVER["PHP_SELF"], '', $param, '', 'align="right"', $sortfield, $sortorder);
|
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
// Lignes des champs de filtre
|
// Lignes des champs de filtre
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre_filter">';
|
||||||
print '<td class="liste_titre"> </td>';
|
print '<td class="liste_titre"> </td>';
|
||||||
print '<td class="liste_titre"><input class="flat" type="text" name="sref" size="8" value="'.dol_escape_htmltag($sref).'"></td>';
|
print '<td class="liste_titre"><input class="flat" type="text" name="sref" size="8" value="'.dol_escape_htmltag($sref).'"></td>';
|
||||||
print '<td class="liste_titre"><input class="flat" type="text" name="snom" size="8" value="'.dol_escape_htmltag($snom).'"></td>';
|
print '<td class="liste_titre"><input class="flat" type="text" name="snom" size="8" value="'.dol_escape_htmltag($snom).'"></td>';
|
||||||
@ -532,6 +518,20 @@ print $searchpitco;
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
// Lines of title
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print_liste_field_titre('<input type="checkbox" onClick="toggle(this)" />', $_SERVER["PHP_SELF"], '');
|
||||||
|
print_liste_field_titre($langs->trans('Ref'), $_SERVER["PHP_SELF"], 'p.ref', $param, '', '', $sortfield, $sortorder);
|
||||||
|
print_liste_field_titre($langs->trans('Label'), $_SERVER["PHP_SELF"], 'p.label', $param, '', '', $sortfield, $sortorder);
|
||||||
|
if (!empty($conf->service->enabled) && $type == 1) print_liste_field_titre($langs->trans('Duration'), $_SERVER["PHP_SELF"], 'p.duration', $param, '', 'align="center"', $sortfield, $sortorder);
|
||||||
|
print_liste_field_titre($langs->trans('DesiredStock'), $_SERVER["PHP_SELF"], 'p.desiredstock', $param, '', 'align="right"', $sortfield, $sortorder);
|
||||||
|
print_liste_field_titre($langs->trans('StockLimitShort'), $_SERVER["PHP_SELF"], 'p.seuil_stock_alerte', $param, '', 'align="right"', $sortfield, $sortorder);
|
||||||
|
print_liste_field_titre($stocklabel, $_SERVER["PHP_SELF"], 'stock_physique', $param, '', 'align="right"', $sortfield, $sortorder);
|
||||||
|
print_liste_field_titre($langs->trans('Ordered'), $_SERVER["PHP_SELF"], '', $param, '', 'align="right"', $sortfield, $sortorder);
|
||||||
|
print_liste_field_titre($langs->trans('StockToBuy'), $_SERVER["PHP_SELF"], '', $param, '', 'align="right"', $sortfield, $sortorder);
|
||||||
|
print_liste_field_titre($langs->trans('SupplierRef'), $_SERVER["PHP_SELF"], '', $param, '', 'align="right"', $sortfield, $sortorder);
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
$prod = new Product($db);
|
$prod = new Product($db);
|
||||||
|
|
||||||
$var = True;
|
$var = True;
|
||||||
|
|||||||
@ -97,7 +97,7 @@ $head[1][0] = DOL_URL_ROOT.'/product/stock/replenishorders.php';
|
|||||||
$head[1][1] = $texte;
|
$head[1][1] = $texte;
|
||||||
$head[1][2] = 'replenishorders';
|
$head[1][2] = 'replenishorders';
|
||||||
|
|
||||||
dol_fiche_head($head, 'replenishorders', '', 0, '');
|
dol_fiche_head($head, 'replenishorders', '', -1, '');
|
||||||
|
|
||||||
$commandestatic = new CommandeFournisseur($db);
|
$commandestatic = new CommandeFournisseur($db);
|
||||||
|
|
||||||
@ -160,71 +160,9 @@ if ($resql)
|
|||||||
|
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="GET">';
|
print '<form action="'.$_SERVER["PHP_SELF"].'" method="GET">';
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">'.
|
print '<table class="noborder" width="100%">';
|
||||||
'<tr class="liste_titre">';
|
|
||||||
print_liste_field_titre(
|
|
||||||
$langs->trans('Ref'),
|
|
||||||
$_SERVER['PHP_SELF'],
|
|
||||||
'cf.ref',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
$sortfield,
|
|
||||||
$sortorder
|
|
||||||
);
|
|
||||||
print_liste_field_titre(
|
|
||||||
$langs->trans('Company'),
|
|
||||||
$_SERVER['PHP_SELF'],
|
|
||||||
's.nom',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
$sortfield,
|
|
||||||
$sortorder
|
|
||||||
);
|
|
||||||
print_liste_field_titre(
|
|
||||||
$langs->trans('Author'),
|
|
||||||
$_SERVER['PHP_SELF'],
|
|
||||||
'u.login',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
$sortfield,
|
|
||||||
$sortorder
|
|
||||||
);
|
|
||||||
print_liste_field_titre(
|
|
||||||
$langs->trans('AmountTTC'),
|
|
||||||
$_SERVER['PHP_SELF'],
|
|
||||||
'cf.total_ttc',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
$sortfield,
|
|
||||||
$sortorder
|
|
||||||
);
|
|
||||||
print_liste_field_titre(
|
|
||||||
$langs->trans('OrderCreation'),
|
|
||||||
$_SERVER['PHP_SELF'],
|
|
||||||
'cf.date_creation',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
$sortfield,
|
|
||||||
$sortorder
|
|
||||||
);
|
|
||||||
print_liste_field_titre(
|
|
||||||
$langs->trans('Status'),
|
|
||||||
$_SERVER['PHP_SELF'],
|
|
||||||
'cf.fk_statut',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
'align="right"',
|
|
||||||
$sortfield,
|
|
||||||
$sortorder
|
|
||||||
);
|
|
||||||
print '</tr>'.
|
|
||||||
|
|
||||||
'<tr class="liste_titre">'.
|
print '<tr class="liste_titre_filter">'.
|
||||||
'<td class="liste_titre">'.
|
'<td class="liste_titre">'.
|
||||||
'<input type="text" class="flat" name="search_ref" value="' . $sref . '">'.
|
'<input type="text" class="flat" name="search_ref" value="' . $sref . '">'.
|
||||||
'</td>'.
|
'</td>'.
|
||||||
@ -246,20 +184,81 @@ if ($resql)
|
|||||||
'</td>'.
|
'</td>'.
|
||||||
'</tr>';
|
'</tr>';
|
||||||
|
|
||||||
$var = true;
|
print '<tr class="liste_titre">';
|
||||||
|
print_liste_field_titre(
|
||||||
|
$langs->trans('Ref'),
|
||||||
|
$_SERVER['PHP_SELF'],
|
||||||
|
'cf.ref',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
$sortfield,
|
||||||
|
$sortorder
|
||||||
|
);
|
||||||
|
print_liste_field_titre(
|
||||||
|
$langs->trans('Company'),
|
||||||
|
$_SERVER['PHP_SELF'],
|
||||||
|
's.nom',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
$sortfield,
|
||||||
|
$sortorder
|
||||||
|
);
|
||||||
|
print_liste_field_titre(
|
||||||
|
$langs->trans('Author'),
|
||||||
|
$_SERVER['PHP_SELF'],
|
||||||
|
'u.login',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
$sortfield,
|
||||||
|
$sortorder
|
||||||
|
);
|
||||||
|
print_liste_field_titre(
|
||||||
|
$langs->trans('AmountTTC'),
|
||||||
|
$_SERVER['PHP_SELF'],
|
||||||
|
'cf.total_ttc',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
$sortfield,
|
||||||
|
$sortorder
|
||||||
|
);
|
||||||
|
print_liste_field_titre(
|
||||||
|
$langs->trans('OrderCreation'),
|
||||||
|
$_SERVER['PHP_SELF'],
|
||||||
|
'cf.date_creation',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
$sortfield,
|
||||||
|
$sortorder
|
||||||
|
);
|
||||||
|
print_liste_field_titre(
|
||||||
|
$langs->trans('Status'),
|
||||||
|
$_SERVER['PHP_SELF'],
|
||||||
|
'cf.fk_statut',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'align="right"',
|
||||||
|
$sortfield,
|
||||||
|
$sortorder
|
||||||
|
);
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
$userstatic = new User($db);
|
$userstatic = new User($db);
|
||||||
|
|
||||||
while ($i < min($num,$conf->liste_limit))
|
while ($i < min($num,$conf->liste_limit))
|
||||||
{
|
{
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
$var = !$var;
|
|
||||||
|
|
||||||
$showline = dolDispatchToDo($obj->rowid) && (!$sproduct || in_array($sproduct, getProducts($obj->rowid)));
|
$showline = dolDispatchToDo($obj->rowid) && (!$sproduct || in_array($sproduct, getProducts($obj->rowid)));
|
||||||
|
|
||||||
if ($showline)
|
if ($showline)
|
||||||
{
|
{
|
||||||
$href = DOL_URL_ROOT . '/fourn/commande/card.php?id=' . $obj->rowid;
|
$href = DOL_URL_ROOT . '/fourn/commande/card.php?id=' . $obj->rowid;
|
||||||
print '<tr ' . $bc[$var] . '>'.
|
print '<tr>'.
|
||||||
// Ref
|
// Ref
|
||||||
'<td>'.
|
'<td>'.
|
||||||
'<a href="' . $href . '">'.
|
'<a href="' . $href . '">'.
|
||||||
|
|||||||
@ -1948,7 +1948,7 @@ div.popuptab {
|
|||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
}
|
}
|
||||||
div.tabsAction {
|
div.tabsAction {
|
||||||
margin: 20px 0em 25px 0em;
|
margin: 20px 0em 20px 0em;
|
||||||
padding: 0em 0em;
|
padding: 0em 0em;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1941,7 +1941,7 @@ div.tabBar table.tableforservicepart2:last-child {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div.tabsAction {
|
div.tabsAction {
|
||||||
margin: 20px 0em 25px 0em;
|
margin: 20px 0em 20px 0em;
|
||||||
padding: 0em 0em;
|
padding: 0em 0em;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user