Debug v17

This commit is contained in:
Laurent Destailleur 2022-12-24 15:32:20 +01:00
parent 685a7dbd59
commit 8c237c8f38
4 changed files with 74 additions and 44 deletions

View File

@ -203,11 +203,11 @@ function printDropdownBookmarksList()
$html .= '<!-- script to open/close the popup -->
<script>
$( document ).on("keyup", "#top-bookmark-search-input", function () {
jQuery(document).on("keyup", "#top-bookmark-search-input", function () {
console.log("keyup in bookmark search input");
var filter = $(this).val(), count = 0;
$("#dropdown-bookmarks-list .bookmark-item").each(function () {
jQuery("#dropdown-bookmarks-list .bookmark-item").each(function () {
if ($(this).text().search(new RegExp(filter, "i")) < 0) {
$(this).addClass("hidden-search-result");
} else {
@ -215,7 +215,7 @@ function printDropdownBookmarksList()
count++;
}
});
$("#top-bookmark-search-filter-count").text(count);
jQuery("#top-bookmark-search-filter-count").text(count);
if (count == 0) {
jQuery("#top-bookmark-search-nothing-found").removeClass("hidden-search-result");
} else {

View File

@ -58,6 +58,7 @@ class DolibarrDebugBar extends DebugBar
$renderer->disableVendor('jquery'); // We already have jquery loaded globally by the main.inc.php
$renderer->disableVendor('fontawesome'); // We already have fontawesome loaded globally by the main.inc.php
$renderer->disableVendor('highlightjs'); // We don't need this
$renderer->setEnableJqueryNoConflict(false); // We don't need no conflict
return $renderer;
}
}

View File

@ -2363,32 +2363,32 @@ function top_menu_user($hideloginname = 0, $urllogout = '')
$btnUser .= '
<!-- Code to show/hide the user drop-down -->
<script>
$( document ).ready(function() {
$(document).on("click", function(event) {
jQuery(document).ready(function() {
jQuery(document).on("click", function(event) {
if (!$(event.target).closest("#topmenu-login-dropdown").length) {
//console.log("close login dropdown");
// Hide the menus.
$("#topmenu-login-dropdown").removeClass("open");
jQuery("#topmenu-login-dropdown").removeClass("open");
}
});
';
if ($conf->theme != 'md') {
$btnUser .= '
$("#topmenu-login-dropdown .dropdown-toggle").on("click", function(event) {
jQuery("#topmenu-login-dropdown .dropdown-toggle").on("click", function(event) {
console.log("toggle login dropdown");
event.preventDefault();
$("#topmenu-login-dropdown").toggleClass("open");
jQuery("#topmenu-login-dropdown").toggleClass("open");
});
$("#topmenulogincompanyinfo-btn").on("click", function() {
jQuery("#topmenulogincompanyinfo-btn").on("click", function() {
console.log("Clik on topmenulogincompanyinfo-btn");
$("#topmenulogincompanyinfo").slideToggle();
jQuery("#topmenulogincompanyinfo").slideToggle();
});
$("#topmenuloginmoreinfo-btn").on("click", function() {
jQuery("#topmenuloginmoreinfo-btn").on("click", function() {
console.log("Clik on topmenuloginmoreinfo-btn");
$("#topmenuloginmoreinfo").slideToggle();
jQuery("#topmenuloginmoreinfo").slideToggle();
});';
}
@ -2420,8 +2420,8 @@ function top_menu_quickadd()
$html .= '
<!-- Code to show/hide the user drop-down -->
<script>
$( document ).ready(function() {
$(document).on("click", function(event) {
jQuery(document).ready(function() {
jQuery(document).on("click", function(event) {
if (!$(event.target).closest("#topmenu-quickadd-dropdown").length) {
// Hide the menus.
$("#topmenu-quickadd-dropdown").removeClass("open");
@ -2665,8 +2665,8 @@ function top_menu_bookmark()
$html .= '
<!-- Code to show/hide the bookmark drop-down -->
<script>
$( document ).ready(function() {
$(document).on("click", function(event) {
jQuery(document).ready(function() {
jQuery(document).on("click", function(event) {
if (!$(event.target).closest("#topmenu-bookmark-dropdown").length) {
//console.log("close bookmark dropdown - we click outside");
// Hide the menus.
@ -2674,13 +2674,13 @@ function top_menu_bookmark()
}
});
$("#topmenu-bookmark-dropdown .dropdown-toggle").on("click", function(event) {
jQuery("#topmenu-bookmark-dropdown .dropdown-toggle").on("click", function(event) {
console.log("toggle bookmark dropdown");
openBookMarkDropDown();
});
// Key map shortcut
$(document).keydown(function(e){
jQuery(document).keydown(function(e){
if( e.which === 77 && e.ctrlKey && e.shiftKey ){
console.log(\'control + shift + m : trigger open bookmark dropdown\');
openBookMarkDropDown();
@ -2690,8 +2690,8 @@ function top_menu_bookmark()
var openBookMarkDropDown = function() {
event.preventDefault();
$("#topmenu-bookmark-dropdown").toggleClass("open");
$("#top-bookmark-search-input").focus();
jQuery("#topmenu-bookmark-dropdown").toggleClass("open");
jQuery("#top-bookmark-search-input").focus();
}
});
@ -2765,10 +2765,10 @@ function top_menu_search()
$html .= '
<!-- Code to show/hide the user drop-down -->
<script>
$( document ).ready(function() {
jQuery(document).ready(function() {
// prevent submiting form on press ENTER
$("#top-global-search-input").keydown(function (e) {
jQuery("#top-global-search-input").keydown(function (e) {
if (e.keyCode == 13) {
var inputs = $(this).parents("form").eq(0).find(":button");
if (inputs[inputs.index(this) + 1] != null) {
@ -2780,7 +2780,7 @@ function top_menu_search()
});
// arrow key nav
$(document).keydown(function(e) {
jQuery(document).keydown(function(e) {
// Get the focused element:
var $focused = $(":focus");
if($focused.length && $focused.hasClass("global-search-item")){
@ -2801,28 +2801,28 @@ function top_menu_search()
// submit form action
$(".dropdown-global-search-button-list .global-search-item").on("click", function(event) {
$("#top-menu-action-search").attr("action", $(this).data("target"));
$("#top-menu-action-search").submit();
jQuery(".dropdown-global-search-button-list .global-search-item").on("click", function(event) {
jQuery("#top-menu-action-search").attr("action", $(this).data("target"));
jQuery("#top-menu-action-search").submit();
});
// close drop down
$(document).on("click", function(event) {
jQuery(document).on("click", function(event) {
if (!$(event.target).closest("#topmenu-global-search-dropdown").length) {
console.log("click close search - we click outside");
// Hide the menus.
$("#topmenu-global-search-dropdown").removeClass("open");
jQuery("#topmenu-global-search-dropdown").removeClass("open");
}
});
// Open drop down
$("#topmenu-global-search-dropdown .dropdown-toggle").on("click", function(event) {
jQuery("#topmenu-global-search-dropdown .dropdown-toggle").on("click", function(event) {
console.log("toggle search dropdown");
openGlobalSearchDropDown();
});
// Key map shortcut
$(document).keydown(function(e){
jQuery(document).keydown(function(e){
if( e.which === 70 && e.ctrlKey && e.shiftKey ){
console.log(\'control + shift + f : trigger open global-search dropdown\');
openGlobalSearchDropDown();
@ -2831,8 +2831,8 @@ function top_menu_search()
var openGlobalSearchDropDown = function() {
$("#topmenu-global-search-dropdown").toggleClass("open");
$("#top-global-search-input").focus();
jQuery("#topmenu-global-search-dropdown").toggleClass("open");
jQuery("#top-global-search-input").focus();
}
});

View File

@ -24,7 +24,6 @@
// Load Dolibarr environment
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
@ -47,6 +46,7 @@ $confirm = GETPOST('confirm', 'alpha');
$cancel = GETPOST('cancel', 'aZ09');
$contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'mostockmovement'; // To manage different context of search
$backtopage = GETPOST('backtopage', 'alpha');
$optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print')
$massaction = GETPOST('massaction', 'aZ09');
$lineid = GETPOST('lineid', 'int');
@ -438,7 +438,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
$sql .= " FROM ".MAIN_DB_PREFIX."entrepot as e,";
$sql .= " ".MAIN_DB_PREFIX."product as p,";
$sql .= " ".MAIN_DB_PREFIX."stock_mouvement as m";
if (is_array($extrafields->attributes[$objectlist->table_element]['label']) && count($extrafields->attributes[$objectlist->table_element]['label'])) {
if (!empty($extrafields->attributes[$objectlist->table_element]) && is_array($extrafields->attributes[$objectlist->table_element]['label']) && count($extrafields->attributes[$objectlist->table_element]['label'])) {
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$objectlist->table_element."_extrafields as ef on (m.rowid = ef.fk_object)";
}
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."user as u ON m.fk_user_author = u.rowid";
@ -503,6 +503,12 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
}
$sql .= $db->plimit($limit + 1, $offset);
$resql = $db->query($sql);
if (!$resql) {
dol_print_error($db);
}
$num = $db->num_rows($resql);
$param = '';
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) {
$param .= '&contextpage='.urlencode($contextpage);
@ -568,9 +574,9 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
}
if ($id > 0) {
print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, '', 0, '', '', $limit);
print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, '', 0, '', '', $limit);
} else {
print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'generic', 0, '', '', $limit);
print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'generic', 0, '', '', $limit);
}
$moreforfilter = '';
@ -730,55 +736,74 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
print '</td>';
print "</tr>\n";
$totalarray = array();
$totalarray['nbfield'] = 0;
print '<tr class="liste_titre">';
if (!empty($arrayfields['m.rowid']['checked'])) {
print_liste_field_titre($arrayfields['m.rowid']['label'], $_SERVER["PHP_SELF"], 'm.rowid', '', $param, '', $sortfield, $sortorder);
$totalarray['nbfield']++;
}
if (!empty($arrayfields['m.datem']['checked'])) {
print_liste_field_titre($arrayfields['m.datem']['label'], $_SERVER["PHP_SELF"], 'm.datem', '', $param, '', $sortfield, $sortorder);
$totalarray['nbfield']++;
}
if (!empty($arrayfields['p.ref']['checked'])) {
print_liste_field_titre($arrayfields['p.ref']['label'], $_SERVER["PHP_SELF"], 'p.ref', '', $param, '', $sortfield, $sortorder);
$totalarray['nbfield']++;
}
if (!empty($arrayfields['p.label']['checked'])) {
print_liste_field_titre($arrayfields['p.label']['label'], $_SERVER["PHP_SELF"], 'p.label', '', $param, '', $sortfield, $sortorder);
$totalarray['nbfield']++;
}
if (!empty($arrayfields['m.batch']['checked'])) {
print_liste_field_titre($arrayfields['m.batch']['label'], $_SERVER["PHP_SELF"], 'm.batch', '', $param, '', $sortfield, $sortorder, 'center ');
$totalarray['nbfield']++;
}
if (!empty($arrayfields['pl.eatby']['checked'])) {
print_liste_field_titre($arrayfields['pl.eatby']['label'], $_SERVER["PHP_SELF"], 'pl.eatby', '', $param, '', $sortfield, $sortorder, 'center ');
$totalarray['nbfield']++;
}
if (!empty($arrayfields['pl.sellby']['checked'])) {
print_liste_field_titre($arrayfields['pl.sellby']['label'], $_SERVER["PHP_SELF"], 'pl.sellby', '', $param, '', $sortfield, $sortorder, 'center ');
$totalarray['nbfield']++;
}
if (!empty($arrayfields['e.ref']['checked'])) {
// We are on a specific warehouse card, no filter on other should be possible
print_liste_field_titre($arrayfields['e.ref']['label'], $_SERVER["PHP_SELF"], "e.ref", "", $param, "", $sortfield, $sortorder);
$totalarray['nbfield']++;
}
if (!empty($arrayfields['m.fk_user_author']['checked'])) {
print_liste_field_titre($arrayfields['m.fk_user_author']['label'], $_SERVER["PHP_SELF"], "m.fk_user_author", "", $param, "", $sortfield, $sortorder);
$totalarray['nbfield']++;
}
if (!empty($arrayfields['m.inventorycode']['checked'])) {
print_liste_field_titre($arrayfields['m.inventorycode']['label'], $_SERVER["PHP_SELF"], "m.inventorycode", "", $param, "", $sortfield, $sortorder);
$totalarray['nbfield']++;
}
if (!empty($arrayfields['m.label']['checked'])) {
print_liste_field_titre($arrayfields['m.label']['label'], $_SERVER["PHP_SELF"], "m.label", "", $param, "", $sortfield, $sortorder);
$totalarray['nbfield']++;
}
if (!empty($arrayfields['m.type_mouvement']['checked'])) {
print_liste_field_titre($arrayfields['m.type_mouvement']['label'], $_SERVER["PHP_SELF"], "m.type_mouvement", "", $param, '', $sortfield, $sortorder, 'center ');
$totalarray['nbfield']++;
}
if (!empty($arrayfields['origin']['checked'])) {
print_liste_field_titre($arrayfields['origin']['label'], $_SERVER["PHP_SELF"], "", "", $param, "", $sortfield, $sortorder);
$totalarray['nbfield']++;
}
if (!empty($arrayfields['m.fk_projet']['checked'])) {
print_liste_field_titre($arrayfields['m.fk_projet']['label'], $_SERVER["PHP_SELF"], "m.fk_projet", "", $param, '', $sortfield, $sortorder);
$totalarray['nbfield']++;
}
if (!empty($arrayfields['m.value']['checked'])) {
print_liste_field_titre($arrayfields['m.value']['label'], $_SERVER["PHP_SELF"], "m.value", "", $param, '', $sortfield, $sortorder, 'right ');
$totalarray['nbfield']++;
}
if (!empty($arrayfields['m.price']['checked'])) {
print_liste_field_titre($arrayfields['m.price']['label'], $_SERVER["PHP_SELF"], "m.price", "", $param, '', $sortfield, $sortorder, 'right ');
$totalarray['nbfield']++;
}
// Extra fields
@ -790,22 +815,22 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
print $hookmanager->resPrint;
if (!empty($arrayfields['m.datec']['checked'])) {
print_liste_field_titre($arrayfields['p.datec']['label'], $_SERVER["PHP_SELF"], "p.datec", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
$totalarray['nbfield']++;
}
if (!empty($arrayfields['m.tms']['checked'])) {
print_liste_field_titre($arrayfields['p.tms']['label'], $_SERVER["PHP_SELF"], "p.tms", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
$totalarray['nbfield']++;
}
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ');
$totalarray['nbfield']++;
print "</tr>\n";
$resql = $db->query($sql);
if (!$resql) {
dol_print_error($db);
}
$num = $db->num_rows($resql);
$totalarray = array();
$i = 0;
while ($i < ($limit ? min($num, $limit) : $num)) {
$savnbfield = $totalarray['nbfield'];
$totalarray = array();
$totalarray['nbfield'] = 0;
$imaxinloop = ($limit ? min($num, $limit) : $num);
while ($i < $imaxinloop) {
$objp = $db->fetch_object($resql);
// Multilangs
@ -979,6 +1004,10 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
print "</tr>\n";
$i++;
}
if (empty($num)) {
print '<tr><td colspan="'.$savnbfield.'"><span class="opacitymedium">'.$langs->trans("NoRecordFound").'</span></td></tr>';
}
$db->free($resql);
print "</table>";