adress feedback
This commit is contained in:
parent
0e7e6f44e2
commit
0e55495c3e
@ -1958,17 +1958,6 @@ class Categorie extends CommonObject
|
|||||||
return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables, 1);
|
return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a list with all selected categories of a category filter box
|
|
||||||
*
|
|
||||||
* @param string $type The category type (e.g Categorie::TYPE_WAREHOUSE)
|
|
||||||
* @return Array A list with all selected categories (Note: "-2" is typical "without category")
|
|
||||||
*/
|
|
||||||
public static function getPost($type)
|
|
||||||
{
|
|
||||||
return GETPOST("search_category_".$type."_list", "array");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the addtional SQL JOIN query for filtering a list by a category
|
* Return the addtional SQL JOIN query for filtering a list by a category
|
||||||
*
|
*
|
||||||
@ -1986,11 +1975,11 @@ class Categorie extends CommonObject
|
|||||||
* Return the addtional SQL SELECT query for filtering a list by a category
|
* Return the addtional SQL SELECT query for filtering a list by a category
|
||||||
*
|
*
|
||||||
* @param string $type The category type (e.g Categorie::TYPE_WAREHOUSE)
|
* @param string $type The category type (e.g Categorie::TYPE_WAREHOUSE)
|
||||||
* @param Array $searchList A list with the selected categories
|
|
||||||
* @param string $rowIdName The name of the row id inside the whole sql query (e.g. "e.rowid")
|
* @param string $rowIdName The name of the row id inside the whole sql query (e.g. "e.rowid")
|
||||||
|
* @param Array $searchList A list with the selected categories
|
||||||
* @return string A additional SQL SELECT query
|
* @return string A additional SQL SELECT query
|
||||||
*/
|
*/
|
||||||
public static function getFilterSelectQuery($type, $searchList, $rowIdName)
|
public static function getFilterSelectQuery($type, $rowIdName, $searchList)
|
||||||
{
|
{
|
||||||
if (empty($searchList) && !is_array($searchList))
|
if (empty($searchList) && !is_array($searchList))
|
||||||
{
|
{
|
||||||
@ -2020,34 +2009,4 @@ class Categorie extends CommonObject
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a HTML filter box for a list filter view
|
|
||||||
*
|
|
||||||
* @param string $type The category type (e.g Categorie::TYPE_WAREHOUSE)
|
|
||||||
* @param Array $preSelected A list with the elements that should pre-selected
|
|
||||||
* @param Form $form The form object (need for access form functions)
|
|
||||||
* @param Translate $langs The translate object (need for access translations)
|
|
||||||
* @return string A HTML filter box (Note: selected results can get with GETPOST("search_category_".$type."_list"))
|
|
||||||
*/
|
|
||||||
public static function getFilterBox($type, $preSelected, $form, $langs)
|
|
||||||
{
|
|
||||||
if (empty($preSelected) || !is_array($preSelected))
|
|
||||||
{
|
|
||||||
$preSelected = array();
|
|
||||||
}
|
|
||||||
|
|
||||||
$htmlName = "search_category_".$type."_list";
|
|
||||||
|
|
||||||
$categoryArray = $form->select_all_categories($type, "", "", 64, 0, 1);
|
|
||||||
$categoryArray[-2] = "- ".$langs->trans('NotCategorized')." -";
|
|
||||||
|
|
||||||
$filter = '';
|
|
||||||
$filter .= '<div class="divsearchfield">';
|
|
||||||
$filter .= $langs->trans('Categories').": ";
|
|
||||||
$filter .= Form::multiselectarray($htmlName, $categoryArray, $preSelected, 0, 0, "minwidth300");
|
|
||||||
$filter .= "</div>";
|
|
||||||
|
|
||||||
return $filter;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
58
htdocs/core/class/html.formcategory.class.php
Normal file
58
htdocs/core/class/html.formcategory.class.php
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2020 Tobias Sekan <tobias.sekan@startmail.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file htdocs/core/class/html.formcategory.class.php
|
||||||
|
* \ingroup core
|
||||||
|
* \brief File of class to build HTML component for category filtering
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
|
||||||
|
|
||||||
|
class FormCategory extends Form
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Return a HTML filter box for a list filter view
|
||||||
|
*
|
||||||
|
* @param string $type The categorie type (e.g Categorie::TYPE_WAREHOUSE)
|
||||||
|
* @param Array $preSelected A list with the elements that should pre-selected
|
||||||
|
* @return string A HTML filter box (Note: selected results can get with GETPOST("search_category_".$type."_list"))
|
||||||
|
*/
|
||||||
|
public function GetFilterBox($type, $preSelected)
|
||||||
|
{
|
||||||
|
// phpcs:enable
|
||||||
|
global $langs;
|
||||||
|
|
||||||
|
if (empty($preSelected) || !is_array($preSelected))
|
||||||
|
{
|
||||||
|
$preSelected = array();
|
||||||
|
}
|
||||||
|
|
||||||
|
$htmlName = "search_category_".$type."_list";
|
||||||
|
|
||||||
|
$categoryArray = $this->select_all_categories($type, "", "", 64, 0, 1);
|
||||||
|
$categoryArray[-2] = "- ".$langs->trans('NotCategorized')." -";
|
||||||
|
|
||||||
|
$filter = '';
|
||||||
|
$filter .= '<div class="divsearchfield">';
|
||||||
|
$filter .= $langs->trans('Categories').": ";
|
||||||
|
$filter .= Form::multiselectarray($htmlName, $categoryArray, $preSelected, 0, 0, "minwidth300");
|
||||||
|
$filter .= "</div>";
|
||||||
|
|
||||||
|
return $filter;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -3,6 +3,7 @@
|
|||||||
* Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es>
|
||||||
|
* Copyright (C) 2020 Tobias Sekan <tobias.sekan@startmail.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -26,6 +27,12 @@
|
|||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcategory.class.php';
|
||||||
|
|
||||||
|
if (!empty($conf->categorie->enabled))
|
||||||
|
{
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||||
|
}
|
||||||
|
|
||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->loadLangs(array("stocks", "other"));
|
$langs->loadLangs(array("stocks", "other"));
|
||||||
@ -47,7 +54,7 @@ $search_status = GETPOST("search_status", "int");
|
|||||||
|
|
||||||
if (!empty($conf->categorie->enabled))
|
if (!empty($conf->categorie->enabled))
|
||||||
{
|
{
|
||||||
$search_category_list = Categorie::getPost(Categorie::TYPE_WAREHOUSE);
|
$search_category_list = GETPOST("search_category_".Categorie::TYPE_WAREHOUSE."_list", "array");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load variable for pagination
|
// Load variable for pagination
|
||||||
@ -164,7 +171,7 @@ if (empty($reshook))
|
|||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$form = new Form($db);
|
$form = new FormCategory($db);
|
||||||
$warehouse = new Entrepot($db);
|
$warehouse = new Entrepot($db);
|
||||||
|
|
||||||
$now = dol_now();
|
$now = dol_now();
|
||||||
@ -202,7 +209,7 @@ $sql .= " WHERE e.entity IN (".getEntity('stock').")";
|
|||||||
|
|
||||||
if (!empty($conf->categorie->enabled))
|
if (!empty($conf->categorie->enabled))
|
||||||
{
|
{
|
||||||
$sql .= Categorie::getFilterSelectQuery(Categorie::TYPE_WAREHOUSE, $search_category_list, "e.rowid");
|
$sql .= Categorie::getFilterSelectQuery(Categorie::TYPE_WAREHOUSE, "e.rowid", $search_category_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($search_ref) $sql .= natural_search("e.ref", $search_ref); // ref
|
if ($search_ref) $sql .= natural_search("e.ref", $search_ref); // ref
|
||||||
@ -334,7 +341,7 @@ $moreforfilter = '';
|
|||||||
|
|
||||||
if (!empty($conf->categorie->enabled))
|
if (!empty($conf->categorie->enabled))
|
||||||
{
|
{
|
||||||
$moreforfilter .= Categorie::getFilterBox(Categorie::TYPE_WAREHOUSE, $search_category_list, $form, $langs);
|
$moreforfilter .= $form->GetFilterBox(Categorie::TYPE_WAREHOUSE, $search_category_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*$moreforfilter.='<div class="divsearchfield">';
|
/*$moreforfilter.='<div class="divsearchfield">';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user