|
@@ -144,21 +144,14 @@ $arrayfields = dol_sort_array($arrayfields, 'position');
|
|
|
// Security check
|
|
|
if ($search_type == '0') {
|
|
|
$result = restrictedArea($user, 'produit', '', '', '', '', '', 0);
|
|
|
-
|
|
|
- $permissiontoread = $user->rights->produit->lire;
|
|
|
- $permissiontodelete = $user->rights->produit->supprimer;
|
|
|
} elseif ($search_type == '1') {
|
|
|
$result = restrictedArea($user, 'service', '', '', '', '', '', 0);
|
|
|
-
|
|
|
- $permissiontoread = $user->rights->service->lire;
|
|
|
- $permissiontodelete = $user->rights->service->supprimer;
|
|
|
} else {
|
|
|
$result = restrictedArea($user, 'produit|service', '', '', '', '', '', 0);
|
|
|
-
|
|
|
- $permissiontoread = $user->rights->produit->lire;
|
|
|
- $permissiontodelete = $user->rights->produit->supprimer;
|
|
|
}
|
|
|
|
|
|
+$permissiontoread = $user->rights->intracommreport->read;
|
|
|
+$permissiontodelete = $user->rights->intracommreport->delete;
|
|
|
|
|
|
|
|
|
/*
|
|
@@ -216,25 +209,21 @@ $formother = new FormOther($db);
|
|
|
|
|
|
$title = $langs->trans('IntracommReportList'.$type);
|
|
|
|
|
|
-$sql = 'SELECT DISTINCT i.rowid, i.type_declaration, i.type_export, i.periods, i.mode, i.entity';
|
|
|
+$sqlfields = 'i.rowid, i.type_declaration, i.type_export, i.periods, i.mode, i.entity';
|
|
|
+$sql = 'SELECT '.$sqlfields;
|
|
|
/*
|
|
|
// Add fields from extrafields
|
|
|
if (!empty($extrafields->attributes[$object->table_element]['label'])) {
|
|
|
foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) $sql.=($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key : '');
|
|
|
}
|
|
|
*/
|
|
|
-
|
|
|
// Add fields from hooks
|
|
|
$parameters = array();
|
|
|
$reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters); // Note that $action and $object may have been modified by hook
|
|
|
$sql .= $hookmanager->resPrint;
|
|
|
-
|
|
|
$sql .= ' FROM '.MAIN_DB_PREFIX.'intracommreport as i';
|
|
|
-
|
|
|
// if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."intracommreport_extrafields as ef on (i.rowid = ef.fk_object)";
|
|
|
-
|
|
|
$sql .= ' WHERE i.entity IN ('.getEntity('intracommreport').')';
|
|
|
-
|
|
|
if ($sall) {
|
|
|
$sql .= natural_search(array_keys($fieldstosearchall), $sall);
|
|
|
}
|
|
@@ -279,280 +268,314 @@ $parameters = array();
|
|
|
$reshook = $hookmanager->executeHooks('printFieldSelect', $parameters); // Note that $action and $object may have been modified by hook
|
|
|
$sql .= $hookmanager->resPrint;
|
|
|
|
|
|
-$sql .= $db->order($sortfield, $sortorder);
|
|
|
|
|
|
+// Count total nb of records
|
|
|
$nbtotalofrecords = '';
|
|
|
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
|
|
|
- $result = $db->query($sql);
|
|
|
- $nbtotalofrecords = $db->num_rows($result);
|
|
|
+ /* The fast and low memory method to get and count full list converts the sql into a sql count */
|
|
|
+ $sqlforcount = preg_replace('/^'.preg_quote($sqlfields, '/').'/', 'SELECT COUNT(*) as nbtotalofrecords', $sql);
|
|
|
+ $sqlforcount = preg_replace('/GROUP BY .*$/', '', $sqlforcount);
|
|
|
+ $resql = $db->query($sqlforcount);
|
|
|
+ if ($resql) {
|
|
|
+ $objforcount = $db->fetch_object($resql);
|
|
|
+ $nbtotalofrecords = $objforcount->nbtotalofrecords;
|
|
|
+ } else {
|
|
|
+ dol_print_error($db);
|
|
|
+ }
|
|
|
+
|
|
|
if (($page * $limit) > $nbtotalofrecords) { // if total resultset is smaller then paging size (filtering), goto and load page 0
|
|
|
$page = 0;
|
|
|
$offset = 0;
|
|
|
}
|
|
|
+ $db->free($resql);
|
|
|
}
|
|
|
|
|
|
-$sql .= $db->plimit($limit + 1, $offset);
|
|
|
+// Complete request and execute it with limit
|
|
|
+$sql .= $db->order($sortfield, $sortorder);
|
|
|
+if ($limit) {
|
|
|
+ $sql .= $db->plimit($limit + 1, $offset);
|
|
|
+}
|
|
|
|
|
|
$resql = $db->query($sql);
|
|
|
+if (!$resql) {
|
|
|
+ dol_print_error($db);
|
|
|
+ exit;
|
|
|
+}
|
|
|
|
|
|
-if ($resql) {
|
|
|
- $num = $db->num_rows($resql);
|
|
|
-
|
|
|
- $arrayofselected = is_array($toselect) ? $toselect : array();
|
|
|
+$num = $db->num_rows($resql);
|
|
|
|
|
|
- $helpurl = 'EN:Module_IntracommReport|FR:Module_ProDouane';
|
|
|
- llxHeader('', $title, $helpurl, '');
|
|
|
+$helpurl = 'EN:Module_IntracommReport|FR:Module_ProDouane';
|
|
|
+llxHeader('', $title, $helpurl, '');
|
|
|
|
|
|
- // Displays product removal confirmation
|
|
|
- if (GETPOST('delreport')) {
|
|
|
- setEventMessages($langs->trans("IntracommReportDeleted", GETPOST('delreport')), null, 'mesgs');
|
|
|
- }
|
|
|
+// Displays product removal confirmation
|
|
|
+if (GETPOST('delreport')) {
|
|
|
+ setEventMessages($langs->trans("IntracommReportDeleted", GETPOST('delreport')), null, 'mesgs');
|
|
|
+}
|
|
|
|
|
|
- $param = '';
|
|
|
- if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) {
|
|
|
- $param .= '&contextpage='.urlencode($contextpage);
|
|
|
- }
|
|
|
- if ($limit > 0 && $limit != $conf->liste_limit) {
|
|
|
- $param .= '&limit='.urlencode($limit);
|
|
|
- }
|
|
|
- if ($sall) {
|
|
|
- $param .= "&sall=".urlencode($sall);
|
|
|
- }
|
|
|
- if ($search_ref) {
|
|
|
- $param = "&search_ref=".urlencode($search_ref);
|
|
|
- }
|
|
|
- if ($search_label) {
|
|
|
- $param .= "&search_label=".urlencode($search_label);
|
|
|
- }
|
|
|
+$arrayofselected = is_array($toselect) ? $toselect : array();
|
|
|
|
|
|
- // Add $param from extra fields
|
|
|
- include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
|
|
|
-
|
|
|
- // List of mass actions available
|
|
|
- $arrayofmassactions = array(
|
|
|
- 'generate_doc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("ReGeneratePDF"),
|
|
|
- //'builddoc'=>$langs->trans("PDFMerge"),
|
|
|
- //'presend'=>$langs->trans("SendByMail"),
|
|
|
- );
|
|
|
- if ($user->rights->intracommreport->delete) {
|
|
|
- $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete");
|
|
|
- }
|
|
|
- if (in_array($massaction, array('presend', 'predelete'))) {
|
|
|
- $arrayofmassactions = array();
|
|
|
- }
|
|
|
- $massactionbutton = $form->selectMassAction('', $arrayofmassactions);
|
|
|
+$param = '';
|
|
|
+if (!empty($mode)) {
|
|
|
+ $param .= '&mode='.urlencode($mode);
|
|
|
+}
|
|
|
+if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) {
|
|
|
+ $param .= '&contextpage='.urlencode($contextpage);
|
|
|
+}
|
|
|
+if ($limit > 0 && $limit != $conf->liste_limit) {
|
|
|
+ $param .= '&limit='.urlencode($limit);
|
|
|
+}
|
|
|
+if ($sall) {
|
|
|
+ $param .= "&sall=".urlencode($sall);
|
|
|
+}
|
|
|
+if ($search_ref) {
|
|
|
+ $param = "&search_ref=".urlencode($search_ref);
|
|
|
+}
|
|
|
+if ($search_label) {
|
|
|
+ $param .= "&search_label=".urlencode($search_label);
|
|
|
+}
|
|
|
+if ($optioncss != '') {
|
|
|
+ $param .= '&optioncss='.urlencode($optioncss);
|
|
|
+}
|
|
|
+// Add $param from extra fields
|
|
|
+include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
|
|
|
+// Add $param from hooks
|
|
|
+$parameters = array();
|
|
|
+$reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object); // Note that $action and $object may have been modified by hook
|
|
|
+$param .= $hookmanager->resPrint;
|
|
|
+
|
|
|
+// List of mass actions available
|
|
|
+$arrayofmassactions = array(
|
|
|
+ 'generate_doc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("ReGeneratePDF"),
|
|
|
+ //'builddoc'=>$langs->trans("PDFMerge"),
|
|
|
+ //'presend'=>$langs->trans("SendByMail"),
|
|
|
+);
|
|
|
+if (!empty($permissiontodelete)) {
|
|
|
+ $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete");
|
|
|
+}
|
|
|
+if (in_array($massaction, array('presend', 'predelete'))) {
|
|
|
+ $arrayofmassactions = array();
|
|
|
+}
|
|
|
+$massactionbutton = $form->selectMassAction('', $arrayofmassactions);
|
|
|
|
|
|
- $newcardbutton = '';
|
|
|
- if ($user->rights->intracommreport->write) {
|
|
|
- $newcardbutton .= dolGetButtonTitle($langs->trans("NewDeclaration"), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/intracommreport/card.php?action=create&type='.$type);
|
|
|
- }
|
|
|
+$newcardbutton = '';
|
|
|
+if ($user->rights->intracommreport->write) {
|
|
|
+ $newcardbutton .= dolGetButtonTitle($langs->trans("NewDeclaration"), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/intracommreport/card.php?action=create&type='.$type);
|
|
|
+}
|
|
|
|
|
|
- print '<form action="'.$_SERVER["PHP_SELF"].'" method="post" name="formulaire">';
|
|
|
- if ($optioncss != '') {
|
|
|
- print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
|
|
|
- }
|
|
|
- print '<input type="hidden" name="token" value="'.newToken().'">';
|
|
|
- print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
|
|
|
- print '<input type="hidden" name="action" value="list">';
|
|
|
- print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
|
|
|
- print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
|
|
- print '<input type="hidden" name="page" value="'.$page.'">';
|
|
|
- print '<input type="hidden" name="type" value="'.$type.'">';
|
|
|
- if (empty($arrayfields['i.fk_product_type']['checked'])) {
|
|
|
- print '<input type="hidden" name="search_type" value="'.dol_escape_htmltag($search_type).'">';
|
|
|
- }
|
|
|
+print '<form action="'.$_SERVER["PHP_SELF"].'" method="post" name="formulaire">';
|
|
|
+if ($optioncss != '') {
|
|
|
+ print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
|
|
|
+}
|
|
|
+print '<input type="hidden" name="token" value="'.newToken().'">';
|
|
|
+print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
|
|
|
+print '<input type="hidden" name="action" value="list">';
|
|
|
+print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
|
|
|
+print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
|
|
+print '<input type="hidden" name="page" value="'.$page.'">';
|
|
|
+print '<input type="hidden" name="type" value="'.$type.'">';
|
|
|
+if (empty($arrayfields['i.fk_product_type']['checked'])) {
|
|
|
+ print '<input type="hidden" name="search_type" value="'.dol_escape_htmltag($search_type).'">';
|
|
|
+}
|
|
|
|
|
|
- print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'intracommreport', 0, $newcardbutton, '', $limit);
|
|
|
+print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'intracommreport', 0, $newcardbutton, '', $limit);
|
|
|
|
|
|
- $topicmail = "Information";
|
|
|
- $modelmail = "product";
|
|
|
- $objecttmp = new IntracommReport($db);
|
|
|
- $trackid = 'prod'.$object->id;
|
|
|
- include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php';
|
|
|
+$topicmail = "Information";
|
|
|
+$modelmail = "product";
|
|
|
+$objecttmp = new IntracommReport($db);
|
|
|
+$trackid = 'prod'.$object->id;
|
|
|
+include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php';
|
|
|
|
|
|
- if ($sall) {
|
|
|
- foreach ($fieldstosearchall as $key => $val) {
|
|
|
- $fieldstosearchall[$key] = $langs->trans($val);
|
|
|
- }
|
|
|
- print '<div class="divsearchfieldfilter">'.$langs->trans("FilterOnInto", $sall).join(', ', $fieldstosearchall).'</div>';
|
|
|
+if ($sall) {
|
|
|
+ foreach ($fieldstosearchall as $key => $val) {
|
|
|
+ $fieldstosearchall[$key] = $langs->trans($val);
|
|
|
}
|
|
|
+ print '<div class="divsearchfieldfilter">'.$langs->trans("FilterOnInto", $sall).join(', ', $fieldstosearchall).'</div>';
|
|
|
+}
|
|
|
|
|
|
- $parameters = array();
|
|
|
- $reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters); // Note that $action and $object may have been modified by hook
|
|
|
- if (empty($reshook)) {
|
|
|
- $moreforfilter .= $hookmanager->resPrint;
|
|
|
- } else {
|
|
|
- $moreforfilter = $hookmanager->resPrint;
|
|
|
- }
|
|
|
+$parameters = array();
|
|
|
+$reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters); // Note that $action and $object may have been modified by hook
|
|
|
+if (empty($reshook)) {
|
|
|
+ $moreforfilter .= $hookmanager->resPrint;
|
|
|
+} else {
|
|
|
+ $moreforfilter = $hookmanager->resPrint;
|
|
|
+}
|
|
|
|
|
|
- if ($moreforfilter) {
|
|
|
- print '<div class="liste_titre liste_titre_bydiv centpercent">';
|
|
|
- print $moreforfilter;
|
|
|
- print '</div>';
|
|
|
- }
|
|
|
+if ($moreforfilter) {
|
|
|
+ print '<div class="liste_titre liste_titre_bydiv centpercent">';
|
|
|
+ print $moreforfilter;
|
|
|
+ print '</div>';
|
|
|
+}
|
|
|
|
|
|
- $varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
|
|
|
- $selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
|
|
|
- if ($massactionbutton) {
|
|
|
- $selectedfields .= $form->showCheckAddButtons('checkforselect', 1);
|
|
|
- }
|
|
|
+$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
|
|
|
+$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
|
|
|
+if ($massactionbutton) {
|
|
|
+ $selectedfields .= $form->showCheckAddButtons('checkforselect', 1);
|
|
|
+}
|
|
|
|
|
|
- print '<div class="div-table-responsive">';
|
|
|
- print '<table class="tagtable liste'.($moreforfilter ? " listwithfilterbefore" : "").'">'."\n";
|
|
|
+print '<div class="div-table-responsive">';
|
|
|
+print '<table class="tagtable liste'.($moreforfilter ? " listwithfilterbefore" : "").'">'."\n";
|
|
|
|
|
|
- // Lines with input filters
|
|
|
- print '<tr class="liste_titre_filter">';
|
|
|
- if (!empty($arrayfields['i.ref']['checked'])) {
|
|
|
- print '<td class="liste_titre left">';
|
|
|
- print '<input class="flat" type="text" name="search_ref" size="8" value="'.dol_escape_htmltag($search_ref).'">';
|
|
|
- print '</td>';
|
|
|
- }
|
|
|
- if (!empty($arrayfields['i.label']['checked'])) {
|
|
|
- print '<td class="liste_titre left">';
|
|
|
- print '<input class="flat" type="text" name="search_label" size="12" value="'.dol_escape_htmltag($search_label).'">';
|
|
|
- print '</td>';
|
|
|
- }
|
|
|
- // Type
|
|
|
- // Type (customer/prospect/supplier)
|
|
|
- if (!empty($arrayfields['customerorsupplier']['checked'])) {
|
|
|
- print '<td class="liste_titre maxwidthonsmartphone center">';
|
|
|
- if ($type != '') {
|
|
|
- print '<input type="hidden" name="type" value="'.$type.'">';
|
|
|
- }
|
|
|
- print $formcompany->selectProspectCustomerType($search_type, 'search_type', 'search_type', 'list');
|
|
|
- print '</select></td>';
|
|
|
- }
|
|
|
+// Lines with input filters
|
|
|
+print '<tr class="liste_titre_filter">';
|
|
|
+if (!empty($arrayfields['i.ref']['checked'])) {
|
|
|
+ print '<td class="liste_titre left">';
|
|
|
+ print '<input class="flat" type="text" name="search_ref" size="8" value="'.dol_escape_htmltag($search_ref).'">';
|
|
|
+ print '</td>';
|
|
|
+}
|
|
|
+if (!empty($arrayfields['i.label']['checked'])) {
|
|
|
+ print '<td class="liste_titre left">';
|
|
|
+ print '<input class="flat" type="text" name="search_label" size="12" value="'.dol_escape_htmltag($search_label).'">';
|
|
|
+ print '</td>';
|
|
|
+}
|
|
|
+// Type
|
|
|
+// Type (customer/prospect/supplier)
|
|
|
+if (!empty($arrayfields['customerorsupplier']['checked'])) {
|
|
|
+ print '<td class="liste_titre maxwidthonsmartphone center">';
|
|
|
+ if ($type != '') {
|
|
|
+ print '<input type="hidden" name="type" value="'.$type.'">';
|
|
|
+ }
|
|
|
+ print $formcompany->selectProspectCustomerType($search_type, 'search_type', 'search_type', 'list');
|
|
|
+ print '</select></td>';
|
|
|
+}
|
|
|
|
|
|
- if (!empty($arrayfields['i.fk_product_type']['checked'])) {
|
|
|
- print '<td class="liste_titre left">';
|
|
|
- $array = array('-1'=>' ', '0'=>$langs->trans('Product'), '1'=>$langs->trans('Service'));
|
|
|
- print $form->selectarray('search_type', $array, $search_type);
|
|
|
- print '</td>';
|
|
|
- }
|
|
|
+if (!empty($arrayfields['i.fk_product_type']['checked'])) {
|
|
|
+ print '<td class="liste_titre left">';
|
|
|
+ $array = array('-1'=>' ', '0'=>$langs->trans('Product'), '1'=>$langs->trans('Service'));
|
|
|
+ print $form->selectarray('search_type', $array, $search_type);
|
|
|
+ print '</td>';
|
|
|
+}
|
|
|
|
|
|
- /*
|
|
|
- // Extra fields
|
|
|
- include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php';
|
|
|
- */
|
|
|
- // 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;
|
|
|
- // Date creation
|
|
|
- if (!empty($arrayfields['i.datec']['checked'])) {
|
|
|
- print '<td class="liste_titre">';
|
|
|
- print '</td>';
|
|
|
- }
|
|
|
- // Date modification
|
|
|
- if (!empty($arrayfields['i.tms']['checked'])) {
|
|
|
- print '<td class="liste_titre">';
|
|
|
- print '</td>';
|
|
|
- }
|
|
|
- print '<td class="liste_titre center maxwidthsearch">';
|
|
|
- $searchpicto = $form->showFilterButtons();
|
|
|
- print $searchpicto;
|
|
|
+/*
|
|
|
+// Extra fields
|
|
|
+include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php';
|
|
|
+*/
|
|
|
+// 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;
|
|
|
+// Date creation
|
|
|
+if (!empty($arrayfields['i.datec']['checked'])) {
|
|
|
+ print '<td class="liste_titre">';
|
|
|
print '</td>';
|
|
|
+}
|
|
|
+// Date modification
|
|
|
+if (!empty($arrayfields['i.tms']['checked'])) {
|
|
|
+ print '<td class="liste_titre">';
|
|
|
+ print '</td>';
|
|
|
+}
|
|
|
+print '<td class="liste_titre center maxwidthsearch">';
|
|
|
+$searchpicto = $form->showFilterButtons();
|
|
|
+print $searchpicto;
|
|
|
+print '</td>';
|
|
|
+
|
|
|
+print '</tr>';
|
|
|
+
|
|
|
+print '<tr class="liste_titre">';
|
|
|
+if (!empty($arrayfields['i.ref']['checked'])) {
|
|
|
+ print_liste_field_titre($arrayfields['i.ref']['label'], $_SERVER["PHP_SELF"], "i.ref", "", $param, "", $sortfield, $sortorder);
|
|
|
+}
|
|
|
+if (!empty($arrayfields['i.label']['checked'])) {
|
|
|
+ print_liste_field_titre($arrayfields['i.label']['label'], $_SERVER["PHP_SELF"], "i.label", "", $param, "", $sortfield, $sortorder);
|
|
|
+}
|
|
|
+if (!empty($arrayfields['i.fk_product_type']['checked'])) {
|
|
|
+ print_liste_field_titre($arrayfields['i.fk_product_type']['label'], $_SERVER["PHP_SELF"], "i.fk_product_type", "", $param, "", $sortfield, $sortorder);
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+// Extra fields
|
|
|
+include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php';
|
|
|
+*/
|
|
|
+// Hook fields
|
|
|
+$parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder);
|
|
|
+$reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook
|
|
|
+print $hookmanager->resPrint;
|
|
|
+if (!empty($arrayfields['i.datec']['checked'])) {
|
|
|
+ print_liste_field_titre($arrayfields['i.datec']['label'], $_SERVER["PHP_SELF"], "i.datec", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
|
|
+}
|
|
|
+if (!empty($arrayfields['i.tms']['checked'])) {
|
|
|
+ print_liste_field_titre($arrayfields['i.tms']['label'], $_SERVER["PHP_SELF"], "i.tms", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
|
|
+}
|
|
|
+
|
|
|
+print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ');
|
|
|
+print "</tr>\n";
|
|
|
|
|
|
- print '</tr>';
|
|
|
|
|
|
- print '<tr class="liste_titre">';
|
|
|
+$intracommreport_static = new IntracommReport($db);
|
|
|
+
|
|
|
+$i = 0;
|
|
|
+$totalarray = array();
|
|
|
+while ($i < min($num, $limit)) {
|
|
|
+ $obj = $db->fetch_object($resql);
|
|
|
+
|
|
|
+ $intracommreport_static->id = $obj->rowid;
|
|
|
+ $intracommreport_static->ref = $obj->ref;
|
|
|
+ $intracommreport_static->ref_fourn = $obj->ref_supplier;
|
|
|
+ $intracommreport_static->label = $obj->label;
|
|
|
+ $intracommreport_static->type = $obj->fk_product_type;
|
|
|
+ $intracommreport_static->status_buy = $obj->tobuy;
|
|
|
+ $intracommreport_static->status = $obj->tosell;
|
|
|
+ $intracommreport_static->status_batch = $obj->tobatch;
|
|
|
+ $intracommreport_static->entity = $obj->entity;
|
|
|
+
|
|
|
+ print '<tr class="oddeven">';
|
|
|
+
|
|
|
+ // Ref
|
|
|
if (!empty($arrayfields['i.ref']['checked'])) {
|
|
|
- print_liste_field_titre($arrayfields['i.ref']['label'], $_SERVER["PHP_SELF"], "i.ref", "", $param, "", $sortfield, $sortorder);
|
|
|
+ print '<td class="tdoverflowmax200">';
|
|
|
+ print $intracommreport_static->getNomUrl(1);
|
|
|
+ print "</td>\n";
|
|
|
+ if (!$i) {
|
|
|
+ $totalarray['nbfield']++;
|
|
|
+ }
|
|
|
}
|
|
|
+ // Label
|
|
|
if (!empty($arrayfields['i.label']['checked'])) {
|
|
|
- print_liste_field_titre($arrayfields['i.label']['label'], $_SERVER["PHP_SELF"], "i.label", "", $param, "", $sortfield, $sortorder);
|
|
|
+ print '<td class="tdoverflowmax200">'.dol_trunc($obj->label, 80).'</td>';
|
|
|
+ if (!$i) {
|
|
|
+ $totalarray['nbfield']++;
|
|
|
+ }
|
|
|
}
|
|
|
+ // Type
|
|
|
if (!empty($arrayfields['i.fk_product_type']['checked'])) {
|
|
|
- print_liste_field_titre($arrayfields['i.fk_product_type']['label'], $_SERVER["PHP_SELF"], "i.fk_product_type", "", $param, "", $sortfield, $sortorder);
|
|
|
+ print '<td>'.$obj->fk_product_type.'</td>';
|
|
|
+ if (!$i) {
|
|
|
+ $totalarray['nbfield']++;
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- /*
|
|
|
- // Extra fields
|
|
|
- include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php';
|
|
|
- */
|
|
|
- // Hook fields
|
|
|
- $parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder);
|
|
|
- $reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook
|
|
|
- print $hookmanager->resPrint;
|
|
|
- if (!empty($arrayfields['i.datec']['checked'])) {
|
|
|
- print_liste_field_titre($arrayfields['i.datec']['label'], $_SERVER["PHP_SELF"], "i.datec", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
|
|
+ // Action
|
|
|
+ print '<td class="nowrap center">';
|
|
|
+ if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
|
|
|
+ $selected = 0;
|
|
|
+ if (in_array($obj->rowid, $arrayofselected)) {
|
|
|
+ $selected = 1;
|
|
|
+ }
|
|
|
+ print '<input id="cb'.$obj->rowid.'" class="flat checkforselect" type="checkbox" name="toselect[]" value="'.$obj->rowid.'"'.($selected ? ' checked="checked"' : '').'>';
|
|
|
}
|
|
|
- if (!empty($arrayfields['i.tms']['checked'])) {
|
|
|
- print_liste_field_titre($arrayfields['i.tms']['label'], $_SERVER["PHP_SELF"], "i.tms", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
|
|
+ print '</td>';
|
|
|
+ if (!$i) {
|
|
|
+ $totalarray['nbfield']++;
|
|
|
}
|
|
|
|
|
|
- print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ');
|
|
|
print "</tr>\n";
|
|
|
+ $i++;
|
|
|
+}
|
|
|
|
|
|
-
|
|
|
- $intracommreport_static = new IntracommReport($db);
|
|
|
-
|
|
|
- $i = 0;
|
|
|
- $totalarray = array();
|
|
|
- while ($i < min($num, $limit)) {
|
|
|
- $obj = $db->fetch_object($resql);
|
|
|
-
|
|
|
- $intracommreport_static->id = $obj->rowid;
|
|
|
- $intracommreport_static->ref = $obj->ref;
|
|
|
- $intracommreport_static->ref_fourn = $obj->ref_supplier;
|
|
|
- $intracommreport_static->label = $obj->label;
|
|
|
- $intracommreport_static->type = $obj->fk_product_type;
|
|
|
- $intracommreport_static->status_buy = $obj->tobuy;
|
|
|
- $intracommreport_static->status = $obj->tosell;
|
|
|
- $intracommreport_static->status_batch = $obj->tobatch;
|
|
|
- $intracommreport_static->entity = $obj->entity;
|
|
|
-
|
|
|
- print '<tr class="oddeven">';
|
|
|
-
|
|
|
- // Ref
|
|
|
- if (!empty($arrayfields['i.ref']['checked'])) {
|
|
|
- print '<td class="tdoverflowmax200">';
|
|
|
- print $intracommreport_static->getNomUrl(1);
|
|
|
- print "</td>\n";
|
|
|
- if (!$i) {
|
|
|
- $totalarray['nbfield']++;
|
|
|
- }
|
|
|
- }
|
|
|
- // Label
|
|
|
- if (!empty($arrayfields['i.label']['checked'])) {
|
|
|
- print '<td class="tdoverflowmax200">'.dol_trunc($obj->label, 80).'</td>';
|
|
|
- if (!$i) {
|
|
|
- $totalarray['nbfield']++;
|
|
|
- }
|
|
|
+// If no record found
|
|
|
+if ($num == 0) {
|
|
|
+ $colspan = 1;
|
|
|
+ foreach ($arrayfields as $key => $val) {
|
|
|
+ if (!empty($val['checked'])) {
|
|
|
+ $colspan++;
|
|
|
}
|
|
|
- // Type
|
|
|
- if (!empty($arrayfields['i.fk_product_type']['checked'])) {
|
|
|
- print '<td>'.$obj->fk_product_type.'</td>';
|
|
|
- if (!$i) {
|
|
|
- $totalarray['nbfield']++;
|
|
|
- }
|
|
|
- }
|
|
|
- // Action
|
|
|
- print '<td class="nowrap center">';
|
|
|
- if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
|
|
|
- $selected = 0;
|
|
|
- if (in_array($obj->rowid, $arrayofselected)) {
|
|
|
- $selected = 1;
|
|
|
- }
|
|
|
- print '<input id="cb'.$obj->rowid.'" class="flat checkforselect" type="checkbox" name="toselect[]" value="'.$obj->rowid.'"'.($selected ? ' checked="checked"' : '').'>';
|
|
|
- }
|
|
|
- print '</td>';
|
|
|
- if (!$i) {
|
|
|
- $totalarray['nbfield']++;
|
|
|
- }
|
|
|
-
|
|
|
- print "</tr>\n";
|
|
|
- $i++;
|
|
|
}
|
|
|
+ print '<tr><td colspan="'.$colspan.'"><span class="opacitymedium">'.$langs->trans("NoRecordFound").'</span></td></tr>';
|
|
|
+}
|
|
|
|
|
|
- $db->free($resql);
|
|
|
+$db->free($resql);
|
|
|
|
|
|
- print "</table>";
|
|
|
- print "</div>";
|
|
|
- print '</form>';
|
|
|
-} else {
|
|
|
- dol_print_error($db);
|
|
|
-}
|
|
|
+print "</table>";
|
|
|
+print "</div>";
|
|
|
+print '</form>';
|
|
|
|
|
|
// End of page
|
|
|
llxFooter();
|