Debug v17

This commit is contained in:
Laurent Destailleur 2022-12-09 20:01:05 +01:00
parent 97ccdc9207
commit e9a3c37b89
3 changed files with 294 additions and 258 deletions

View File

@ -119,7 +119,7 @@ if ($action == 'add' && $permissiontoadd) {
$object->label = trim($label); $object->label = trim($label);
$object->type = trim($exporttype); $object->type = trim($exporttype);
$object->type_declaration = $type_declaration; $object->type_declaration = $type_declaration;
$object->subscription = (int) $subscription; //$object->subscription = (int) $subscription;
// Fill array 'array_options' with data from add form // Fill array 'array_options' with data from add form
// $ret = $extrafields->setOptionalsFromPost($extralabels, $object); // $ret = $extrafields->setOptionalsFromPost($extralabels, $object);

View File

@ -47,17 +47,29 @@ class IntracommReport extends CommonObject
*/ */
public $fk_element = 'fk_intracommreport'; public $fk_element = 'fk_intracommreport';
/**
* @var string declaration number
*/
public $declaration_number;
/** /**
* 0 = No test on entity, 1 = Test with field entity, 2 = Test with link by societe * 0 = No test on entity, 1 = Test with field entity, 2 = Test with link by societe
* @var int * @var int
*/ */
public $ismultientitymanaged = 1; public $ismultientitymanaged = 1;
public $picto = 'intracommreport';
public $label; // ref ???
public $period;
public $declaration;
/**
* @var string declaration number
*/
public $declaration_number;
public $type_declaration; // deb or des
/** /**
* DEB - Product * DEB - Product
*/ */
@ -73,6 +85,7 @@ class IntracommReport extends CommonObject
'expedition'=>'Expédition' 'expedition'=>'Expédition'
); );
/** /**
* Constructor * Constructor
* *

View File

@ -144,21 +144,14 @@ $arrayfields = dol_sort_array($arrayfields, 'position');
// Security check // Security check
if ($search_type == '0') { if ($search_type == '0') {
$result = restrictedArea($user, 'produit', '', '', '', '', '', 0); $result = restrictedArea($user, 'produit', '', '', '', '', '', 0);
$permissiontoread = $user->rights->produit->lire;
$permissiontodelete = $user->rights->produit->supprimer;
} elseif ($search_type == '1') { } elseif ($search_type == '1') {
$result = restrictedArea($user, 'service', '', '', '', '', '', 0); $result = restrictedArea($user, 'service', '', '', '', '', '', 0);
$permissiontoread = $user->rights->service->lire;
$permissiontodelete = $user->rights->service->supprimer;
} else { } else {
$result = restrictedArea($user, 'produit|service', '', '', '', '', '', 0); $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); $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 // Add fields from extrafields
if (!empty($extrafields->attributes[$object->table_element]['label'])) { 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 : ''); 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 // Add fields from hooks
$parameters = array(); $parameters = array();
$reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters); // Note that $action and $object may have been modified by hook $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters); // Note that $action and $object may have been modified by hook
$sql .= $hookmanager->resPrint; $sql .= $hookmanager->resPrint;
$sql .= ' FROM '.MAIN_DB_PREFIX.'intracommreport as i'; $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)"; // 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').')'; $sql .= ' WHERE i.entity IN ('.getEntity('intracommreport').')';
if ($sall) { if ($sall) {
$sql .= natural_search(array_keys($fieldstosearchall), $sall); $sql .= natural_search(array_keys($fieldstosearchall), $sall);
} }
@ -279,27 +268,42 @@ $parameters = array();
$reshook = $hookmanager->executeHooks('printFieldSelect', $parameters); // Note that $action and $object may have been modified by hook $reshook = $hookmanager->executeHooks('printFieldSelect', $parameters); // Note that $action and $object may have been modified by hook
$sql .= $hookmanager->resPrint; $sql .= $hookmanager->resPrint;
$sql .= $db->order($sortfield, $sortorder);
// Count total nb of records
$nbtotalofrecords = ''; $nbtotalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
$result = $db->query($sql); /* The fast and low memory method to get and count full list converts the sql into a sql count */
$nbtotalofrecords = $db->num_rows($result); $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 if (($page * $limit) > $nbtotalofrecords) { // if total resultset is smaller then paging size (filtering), goto and load page 0
$page = 0; $page = 0;
$offset = 0; $offset = 0;
} }
$db->free($resql);
} }
// Complete request and execute it with limit
$sql .= $db->order($sortfield, $sortorder);
if ($limit) {
$sql .= $db->plimit($limit + 1, $offset); $sql .= $db->plimit($limit + 1, $offset);
}
$resql = $db->query($sql); $resql = $db->query($sql);
if (!$resql) {
dol_print_error($db);
exit;
}
if ($resql) {
$num = $db->num_rows($resql); $num = $db->num_rows($resql);
$arrayofselected = is_array($toselect) ? $toselect : array();
$helpurl = 'EN:Module_IntracommReport|FR:Module_ProDouane'; $helpurl = 'EN:Module_IntracommReport|FR:Module_ProDouane';
llxHeader('', $title, $helpurl, ''); llxHeader('', $title, $helpurl, '');
@ -308,7 +312,12 @@ if ($resql) {
setEventMessages($langs->trans("IntracommReportDeleted", GETPOST('delreport')), null, 'mesgs'); setEventMessages($langs->trans("IntracommReportDeleted", GETPOST('delreport')), null, 'mesgs');
} }
$arrayofselected = is_array($toselect) ? $toselect : array();
$param = ''; $param = '';
if (!empty($mode)) {
$param .= '&mode='.urlencode($mode);
}
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) {
$param .= '&contextpage='.urlencode($contextpage); $param .= '&contextpage='.urlencode($contextpage);
} }
@ -324,9 +333,15 @@ if ($resql) {
if ($search_label) { if ($search_label) {
$param .= "&search_label=".urlencode($search_label); $param .= "&search_label=".urlencode($search_label);
} }
if ($optioncss != '') {
$param .= '&optioncss='.urlencode($optioncss);
}
// Add $param from extra fields // Add $param from extra fields
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; 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 // List of mass actions available
$arrayofmassactions = array( $arrayofmassactions = array(
@ -334,7 +349,7 @@ if ($resql) {
//'builddoc'=>$langs->trans("PDFMerge"), //'builddoc'=>$langs->trans("PDFMerge"),
//'presend'=>$langs->trans("SendByMail"), //'presend'=>$langs->trans("SendByMail"),
); );
if ($user->rights->intracommreport->delete) { if (!empty($permissiontodelete)) {
$arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete");
} }
if (in_array($massaction, array('presend', 'predelete'))) { if (in_array($massaction, array('presend', 'predelete'))) {
@ -545,14 +560,22 @@ if ($resql) {
$i++; $i++;
} }
// If no record found
if ($num == 0) {
$colspan = 1;
foreach ($arrayfields as $key => $val) {
if (!empty($val['checked'])) {
$colspan++;
}
}
print '<tr><td colspan="'.$colspan.'"><span class="opacitymedium">'.$langs->trans("NoRecordFound").'</span></td></tr>';
}
$db->free($resql); $db->free($resql);
print "</table>"; print "</table>";
print "</div>"; print "</div>";
print '</form>'; print '</form>';
} else {
dol_print_error($db);
}
// End of page // End of page
llxFooter(); llxFooter();