diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php
index 797a2a58ddb..892b93fb3e7 100644
--- a/htdocs/compta/facture/class/facture.class.php
+++ b/htdocs/compta/facture/class/facture.class.php
@@ -144,8 +144,12 @@ class Facture extends CommonInvoice
public $close_code;
//! Commentaire si mis a paye sans paiement complet
public $close_note;
- //! 1 if invoice paid COMPLETELY, 0 otherwise (do not use it anymore, use statut and close_code)
+
+ /**
+ * 1 if invoice paid COMPLETELY, 0 otherwise (do not use it anymore, use statut and close_code)
+ */
public $paye;
+
//! key of module source when invoice generated from a dedicated module ('cashdesk', 'takepos', ...)
public $module_source;
//! key of pos source ('0', '1', ...)
diff --git a/htdocs/compta/index.php b/htdocs/compta/index.php
index 822f4a04940..1dee5f3db8b 100644
--- a/htdocs/compta/index.php
+++ b/htdocs/compta/index.php
@@ -140,7 +140,7 @@ if (!empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS)) // This is useles
if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
{
$sql = "SELECT f.rowid, f.ref, f.datef as date, f.total as total_ht, f.tva as total_tva, f.total_ttc, f.ref_client";
- $sql .= ", f.type";
+ $sql .= ", f.type, f.fk_statut as status, f.paye";
$sql .= ", s.nom as name";
$sql .= ", s.rowid as socid, s.email";
$sql .= ", s.code_client, s.code_compta, s.code_fournisseur, s.code_compta_fournisseur";
@@ -161,9 +161,9 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
$reshook = $hookmanager->executeHooks('printFieldListWhereCustomerDraft', $parameters);
$sql .= $hookmanager->resPrint;
- $sql .= " GROUP BY f.rowid, f.ref, f.datef, f.total, f.tva, f.total_ttc, f.ref_client, f.type, ";
- $sql .= "s.email, s.nom, s.rowid, s.code_client, s.code_compta, s.code_fournisseur, s.code_compta_fournisseur";
- $sql .= ", cc.rowid, cc.code";
+ $sql .= " GROUP BY f.rowid, f.ref, f.datef, f.total, f.tva, f.total_ttc, f.ref_client, f.type, f.fk_statut, f.paye,";
+ $sql .= " s.email, s.nom, s.rowid, s.code_client, s.code_compta, s.code_fournisseur, s.code_compta_fournisseur,";
+ $sql .= " cc.rowid, cc.code";
// Add Group from hooks
$parameters = array();
@@ -206,7 +206,8 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
$facturestatic->total_tva = $obj->total_tva;
$facturestatic->total_ttc = $obj->total_ttc;
$facturestatic->ref_client = $obj->ref_client;
- $facturestatic->statut =
+ $facturestatic->statut = $obj->status;
+ $facturestatic->paye = $obj->paye;
$companystatic->id = $obj->socid;
$companystatic->name = $obj->name;
@@ -249,7 +250,7 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
*/
if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->facture->lire)
{
- $sql = "SELECT f.ref, f.rowid, f.total_ht, f.total_tva, f.total_ttc, f.type, f.ref_supplier";
+ $sql = "SELECT f.ref, f.rowid, f.total_ht, f.total_tva, f.total_ttc, f.type, f.ref_supplier, f.fk_statut as status, f.paye";
$sql .= ", s.nom as name";
$sql .= ", s.rowid as socid, s.email";
$sql .= ", s.code_fournisseur, s.code_compta_fournisseur";
@@ -299,6 +300,8 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU
$facturesupplierstatic->total_ttc = $obj->total_ttc;
$facturesupplierstatic->ref_supplier = $obj->ref_supplier;
$facturesupplierstatic->type = $obj->type;
+ $facturesupplierstatic->statut = $obj->status;
+ $facturesupplierstatic->paye = $obj->paye;
$companystatic->id = $obj->socid;
$companystatic->name = $obj->name;
@@ -346,7 +349,7 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
$langs->load("boxes");
$facstatic = new Facture($db);
- $sql = "SELECT f.rowid, f.ref, f.fk_statut, f.type, f.total as total_ht, f.tva as total_tva, f.total_ttc, f.paye, f.tms";
+ $sql = "SELECT f.rowid, f.ref, f.fk_statut as status, f.type, f.total as total_ht, f.tva as total_tva, f.total_ttc, f.paye, f.tms";
$sql .= ", f.date_lim_reglement as datelimite";
$sql .= ", s.nom as name";
$sql .= ", s.rowid as socid";
@@ -406,7 +409,8 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
$facturestatic->total_ht = $obj->total_ht;
$facturestatic->total_tva = $obj->total_tva;
$facturestatic->total_ttc = $obj->total_ttc;
- $facturestatic->statut = $obj->fk_statut;
+ $facturestatic->statut = $obj->status;
+ $facturestatic->paye = $obj->paye;
$facturestatic->date_lim_reglement = $db->jdate($obj->datelimite);
$facturestatic->type = $obj->type;
@@ -448,7 +452,7 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
if (!empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '
'.price($obj->total_ht).' | ';
print ''.price($obj->total_ttc).' | ';
print ''.dol_print_date($db->jdate($obj->tms), 'day').' | ';
- print ''.$facstatic->LibStatut($obj->paye, $obj->fk_statut, 3, $obj->am).' | ';
+ print ''.$facstatic->getLibStatut(3, $obj->am).' | ';
print '';
$total_ttc += $obj->total_ttc;
@@ -485,7 +489,7 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU
$langs->load("boxes");
$facstatic = new FactureFournisseur($db);
- $sql = "SELECT ff.rowid, ff.ref, ff.fk_statut, ff.libelle, ff.total_ht, ff.total_tva, ff.total_ttc, ff.tms, ff.paye";
+ $sql = "SELECT ff.rowid, ff.ref, ff.fk_statut as status, ff.libelle, ff.total_ht, ff.total_tva, ff.total_ttc, ff.tms, ff.paye";
$sql .= ", s.nom as name";
$sql .= ", s.rowid as socid";
$sql .= ", s.code_fournisseur, s.code_compta_fournisseur, s.email";
@@ -543,6 +547,8 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU
$facstatic->total_ht = $obj->total_ht;
$facstatic->total_tva = $obj->total_tva;
$facstatic->total_ttc = $obj->total_ttc;
+ $facstatic->statut = $obj->status;
+ $facstatic->paye = $obj->paye;
$thirdpartystatic->id = $obj->socid;
$thirdpartystatic->name = $obj->name;
@@ -565,7 +571,7 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU
if (!empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''.price($obj->total_ht).' | ';
print ''.price($obj->total_ttc).' | ';
print ''.dol_print_date($db->jdate($obj->tms), 'day').' | ';
- print ''.$facstatic->LibStatut($obj->paye, $obj->fk_statut, 3).' | ';
+ print ''.$facstatic->getLibStatut(3).' | ';
print '';
$total += $obj->total_ht;
$total_ttc += $obj->total_ttc;
@@ -791,7 +797,7 @@ if (!empty($conf->facture->enabled) && !empty($conf->commande->enabled) && $user
$sql .= ", s.nom as name, s.email";
$sql .= ", s.rowid as socid";
$sql .= ", s.code_client, s.code_compta";
- $sql .= ", c.rowid, c.ref, c.facture, c.fk_statut, c.total_ht, c.tva as total_tva, c.total_ttc,";
+ $sql .= ", c.rowid, c.ref, c.facture, c.fk_statut as status, c.total_ht, c.tva as total_tva, c.total_ttc,";
$sql .= " cc.rowid as country_id, cc.code as country_code";
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s LEFT JOIN ".MAIN_DB_PREFIX."c_country as cc ON cc.rowid = s.fk_pays";
if (!$user->rights->societe->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
@@ -865,7 +871,8 @@ if (!empty($conf->facture->enabled) && !empty($conf->commande->enabled) && $user
$commandestatic->id = $obj->rowid;
$commandestatic->ref = $obj->ref;
- $commandestatic->statut = $obj->fk_statut;
+ $commandestatic->statut = $obj->status;
+ $commandestatic->billed = $obj->facture;
print '';
print '| ';
@@ -892,7 +899,7 @@ if (!empty($conf->facture->enabled) && !empty($conf->commande->enabled) && $user
if (!empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ' | '.price($obj->total_ht).' | ';
print ''.price($obj->total_ttc).' | ';
print ''.price($obj->total_ttc - $obj->tot_fttc).' | ';
- print ''.$commandestatic->LibStatut($obj->fk_statut, $obj->facture, 3).' | ';
+ print ''.$commandestatic->getLibStatut(3).' | ';
print '
';
$tot_ht += $obj->total_ht;
$tot_ttc += $obj->total_ttc;
@@ -930,7 +937,7 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
{
$facstatic = new Facture($db);
- $sql = "SELECT f.rowid, f.ref, f.fk_statut, f.datef, f.type, f.total as total_ht, f.tva as total_tva, f.total_ttc, f.paye, f.tms";
+ $sql = "SELECT f.rowid, f.ref, f.fk_statut as status, f.datef, f.type, f.total as total_ht, f.tva as total_tva, f.total_ttc, f.paye, f.tms";
$sql .= ", f.date_lim_reglement as datelimite";
$sql .= ", s.nom as name";
$sql .= ", s.rowid as socid, s.email";
@@ -999,7 +1006,8 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
$facturestatic->total_tva = $obj->total_tva;
$facturestatic->total_ttc = $obj->total_ttc;
$facturestatic->type = $obj->type;
- $facturestatic->statut = $obj->fk_statut;
+ $facturestatic->statut = $obj->status;
+ $facturestatic->paye = $obj->paye;
$facturestatic->date_lim_reglement = $db->jdate($obj->datelimite);
$societestatic->id = $obj->socid;
@@ -1040,7 +1048,7 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
if (!empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''.price($obj->total_ht).' | ';
print ''.price($obj->total_ttc).' | ';
print ''.price($obj->am).' | ';
- print ''.$facstatic->LibStatut($obj->paye, $obj->fk_statut, 3, $obj->am, $obj->type).' | ';
+ print ''.$facstatic->getLibStatut(3, $obj->am, $obj->type).' | ';
print '';
$total_ttc += $obj->total_ttc;
@@ -1086,7 +1094,7 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU
{
$facstatic = new FactureFournisseur($db);
- $sql = "SELECT ff.rowid, ff.ref, ff.fk_statut, ff.type, ff.libelle as label, ff.total_ht, ff.total_tva, ff.total_ttc, ff.paye";
+ $sql = "SELECT ff.rowid, ff.ref, ff.fk_statut as status, ff.type, ff.libelle as label, ff.total_ht, ff.total_tva, ff.total_ttc, ff.paye";
$sql .= ", ff.date_lim_reglement";
$sql .= ", s.nom as name";
$sql .= ", s.rowid as socid, s.email";
@@ -1159,6 +1167,8 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU
$facstatic->total_ht = $obj->total_ht;
$facstatic->total_tva = $obj->total_tva;
$facstatic->total_ttc = $obj->total_ttc;
+ $facstatic->statut = $obj->status;
+ $facstatic->paye = $obj->paye;
$societestatic->id = $obj->socid;
$societestatic->name = $obj->name;
@@ -1178,7 +1188,7 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU
if (!empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''.price($obj->total_ht).' | ';
print ''.price($obj->total_ttc).' | ';
print ''.price($obj->am).' | ';
- print ''.$facstatic->LibStatut($obj->paye, $obj->fk_statut, 3, $obj->am, $obj->type).' | ';
+ print ''.$facstatic->getLibStatut(3, $obj->am).' | ';
print '';
$total += $obj->total_ht;
$total_ttc += $obj->total_ttc;
diff --git a/htdocs/core/class/commoninvoice.class.php b/htdocs/core/class/commoninvoice.class.php
index cb7944e1cac..c8ca158e981 100644
--- a/htdocs/core/class/commoninvoice.class.php
+++ b/htdocs/core/class/commoninvoice.class.php
@@ -518,15 +518,17 @@ abstract class CommonInvoice extends CommonObject
* @param int $status Id status
* @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=long label + picto
* @param integer $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, -1 otherwise)
- * @param int $type Type invoice
+ * @param int $type Type invoice. If -1, we use $this->type
* @return string Label of status
*/
- public function LibStatut($paye, $status, $mode = 0, $alreadypaid = -1, $type = 0)
+ public function LibStatut($paye, $status, $mode = 0, $alreadypaid = -1, $type = -1)
{
// phpcs:enable
global $langs;
$langs->load('bills');
+ if ($type == -1) $type = $this->type;
+
$statusType = 'status0';
$prefix = 'Short';
if (!$paye) {
diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php
index 1bf32782bdb..d69d85d65cc 100644
--- a/htdocs/fourn/class/fournisseur.facture.class.php
+++ b/htdocs/fourn/class/fournisseur.facture.class.php
@@ -123,7 +123,6 @@ class FactureFournisseur extends CommonInvoice
/**
* Set to 1 if the invoice is completely paid, otherwise is 0
* @var int
- * @deprecated Use statuses stored in self::statut
*/
public $paye;
diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php
index 7d0ad5d8ac9..1834e23e7bc 100644
--- a/htdocs/fourn/facture/list.php
+++ b/htdocs/fourn/facture/list.php
@@ -505,7 +505,7 @@ if ($resql)
if ($option) $param .= "&option=".urlencode($option);
if ($optioncss != '') $param .= '&optioncss='.urlencode($optioncss);
if ($search_categ_sup > 0) $param .= '&search_categ_sup='.urlencode($search_categ_sup);
-
+
// Add $param from extra fields
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
@@ -617,7 +617,7 @@ if ($resql)
$moreforfilter .= $form->selectarray('search_product_category', $cate_arbo, $search_product_category, 1, 0, 0, '', 0, 0, 0, 0, 'maxwidth300', 1);
$moreforfilter .= '';
}
-
+
if (!empty($conf->categorie->enabled))
{
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';