Fix: Wrong value in field infobits
This commit is contained in:
parent
45847b82e3
commit
6c5bfebb26
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2002-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004 Éric Seigne <eric.seigne@ryxeo.com>
|
||||
* Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||
* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
|
||||
* Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||
@ -19,8 +19,6 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -29,7 +27,7 @@
|
||||
\author Rodolphe Qiedeville
|
||||
\author Eric Seigne
|
||||
\author Laurent Destailleur
|
||||
\version $Revision$
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
require_once(DOL_DOCUMENT_ROOT ."/commonobject.class.php");
|
||||
@ -50,7 +48,7 @@ class Propal extends CommonObject
|
||||
var $id;
|
||||
|
||||
var $socid; // Id client
|
||||
var $client; // Objet societe client (à charger par fetch_client)
|
||||
var $client; // Objet societe client (<EFBFBD> charger par fetch_client)
|
||||
|
||||
var $contactid;
|
||||
var $projetidp;
|
||||
@ -91,8 +89,8 @@ class Propal extends CommonObject
|
||||
|
||||
/**
|
||||
* \brief Constructeur
|
||||
* \param DB Handler d'accès base
|
||||
* \param socid Id de la société
|
||||
* \param DB Handler d'acc<EFBFBD>s base
|
||||
* \param socid Id de la soci<EFBFBD>t<EFBFBD>
|
||||
* \param propalid Id de la propal
|
||||
*/
|
||||
function Propal($DB, $socid="", $propalid=0)
|
||||
@ -123,12 +121,12 @@ class Propal extends CommonObject
|
||||
|
||||
/**
|
||||
* \brief Ajoute une ligne dans tableau products
|
||||
* \param idproduct Id du produit à ajouter
|
||||
* \param qty Quantité
|
||||
* \param remise_percent Remise relative effectuée sur le produit
|
||||
* \remarks $this->client doit etre chargé
|
||||
* \param idproduct Id du produit <EFBFBD> ajouter
|
||||
* \param qty Quantit<EFBFBD>
|
||||
* \param remise_percent Remise relative effectu<EFBFBD>e sur le produit
|
||||
* \remarks $this->client doit etre charg<EFBFBD>
|
||||
* \TODO Remplacer les appels a cette fonction par generation objet Ligne
|
||||
* inséré dans tableau $this->products
|
||||
* ins<EFBFBD>r<EFBFBD> dans tableau $this->products
|
||||
*/
|
||||
function add_product($idproduct, $qty, $remise_percent=0)
|
||||
{
|
||||
@ -136,7 +134,7 @@ class Propal extends CommonObject
|
||||
|
||||
if (! $qty) $qty = 1;
|
||||
|
||||
dolibarr_syslog("Propal.class::add_product $idproduct, $qty, $remise_percent");
|
||||
dolibarr_syslog("Propal::add_product $idproduct, $qty, $remise_percent");
|
||||
if ($idproduct > 0)
|
||||
{
|
||||
$prod=new Product($this->db);
|
||||
@ -201,7 +199,7 @@ class Propal extends CommonObject
|
||||
$propalligne->tva_tx=$remise->tva_tx;
|
||||
$propalligne->subprice=-$remise->amount_ht;
|
||||
$propalligne->price=-$remise->amount_ht;
|
||||
$propalligne->fk_product=0; // Id produit prédéfini
|
||||
$propalligne->fk_product=0; // Id produit pr<EFBFBD>d<EFBFBD>fini
|
||||
$propalligne->qty=1;
|
||||
$propalligne->remise=0;
|
||||
$propalligne->remise_percent=0;
|
||||
@ -246,16 +244,16 @@ class Propal extends CommonObject
|
||||
* \param propalid Id de la propale
|
||||
* \param desc Description de la ligne
|
||||
* \param pu_ht Prix unitaire
|
||||
* \param qty Quantité
|
||||
* \param txtva Taux de tva forcé, sinon -1
|
||||
* \param fk_product Id du produit/service predéfini
|
||||
* \param qty Quantit<EFBFBD>
|
||||
* \param txtva Taux de tva forc<EFBFBD>, sinon -1
|
||||
* \param fk_product Id du produit/service pred<EFBFBD>fini
|
||||
* \param remise_percent Pourcentage de remise de la ligne
|
||||
* \param price_base_type HT or TTC
|
||||
* \param pu_ttc Prix unitaire TTC
|
||||
* \return int >0 si ok, <0 si ko
|
||||
* \see add_product
|
||||
* \remarks Les parametres sont deja censé etre juste et avec valeurs finales a l'appel
|
||||
* de cette methode. Aussi, pour le taux tva, il doit deja avoir ete défini
|
||||
* \remarks Les parametres sont deja cens<EFBFBD> etre juste et avec valeurs finales a l'appel
|
||||
* de cette methode. Aussi, pour le taux tva, il doit deja avoir ete d<EFBFBD>fini
|
||||
* par l'appelant par la methode get_default_tva(societe_vendeuse,societe_acheteuse,taux_produit)
|
||||
* et le desc doit deja avoir la bonne valeur (a l'appelant de gerer le multilangue)
|
||||
*/
|
||||
@ -270,7 +268,7 @@ class Propal extends CommonObject
|
||||
{
|
||||
$this->db->begin();
|
||||
|
||||
// Nettoyage paramètres
|
||||
// Nettoyage param<EFBFBD>tres
|
||||
$remise_percent=price2num($remise_percent);
|
||||
$qty=price2num($qty);
|
||||
if ($conf->global->PROPALE_USE_OPTION_LINE && !$qty)
|
||||
@ -367,15 +365,15 @@ class Propal extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Mise à jour d'une ligne de produit
|
||||
* \brief Mise <EFBFBD> jour d'une ligne de produit
|
||||
* \param rowid Id de la ligne
|
||||
* \param pu Prix unitaire (HT ou TTC selon price_base_type)
|
||||
* \param qty Quantité
|
||||
* \param remise_percent Remise effectuée sur le produit
|
||||
* \param qty Quantit<EFBFBD>
|
||||
* \param remise_percent Remise effectu<EFBFBD>e sur le produit
|
||||
* \param txtva Taux de TVA
|
||||
* \param desc Description
|
||||
* \param price_base_type HT ou TTC
|
||||
* \return int 0 en cas de succès
|
||||
* \return int 0 en cas de succ<EFBFBD>s
|
||||
*/
|
||||
function updateline($rowid, $pu, $qty, $remise_percent=0, $txtva, $desc='', $price_base_type='HT')
|
||||
{
|
||||
@ -388,7 +386,7 @@ class Propal extends CommonObject
|
||||
{
|
||||
$this->db->begin();
|
||||
|
||||
// Nettoyage paramètres
|
||||
// Nettoyage param<EFBFBD>tres
|
||||
$remise_percent=price2num($remise_percent);
|
||||
$qty=price2num($qty);
|
||||
if ($conf->global->PROPALE_USE_OPTION_LINE && !$qty)
|
||||
@ -451,13 +449,13 @@ class Propal extends CommonObject
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
$this->db->rollback();
|
||||
dolibarr_syslog("Propal.class::UpdateLine Erreur sql=$sql, error=".$this->error);
|
||||
dolibarr_syslog("Propal::UpdateLine Erreur sql=$sql, error=".$this->error);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dolibarr_syslog("Propal.class::UpdateLigne Erreur -2 Propal en mode incompatible pour cette action");
|
||||
dolibarr_syslog("Propal::UpdateLigne Erreur -2 Propal en mode incompatible pour cette action");
|
||||
return -2;
|
||||
}
|
||||
}
|
||||
@ -465,7 +463,7 @@ class Propal extends CommonObject
|
||||
|
||||
/**
|
||||
* \brief Supprime une ligne de detail
|
||||
* \param idligne Id de la ligne detail à supprimer
|
||||
* \param idligne Id de la ligne detail <EFBFBD> supprimer
|
||||
* \return int >0 si ok, <0 si ko
|
||||
*/
|
||||
function delete_product($idligne)
|
||||
@ -493,22 +491,22 @@ class Propal extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Crée une propal
|
||||
* \brief Cr<EFBFBD>e une propal
|
||||
* \return int <0 si ko, >=0 si ok
|
||||
*/
|
||||
function create($user='')
|
||||
{
|
||||
global $langs,$conf,$mysoc;
|
||||
|
||||
// on vérifie si la ref n'est pas utilisée
|
||||
// on v<EFBFBD>rifie si la ref n'est pas utilis<69>e
|
||||
$soc = new Societe($this->db);
|
||||
$soc->fetch($this->socid);
|
||||
$this->verifyNumRef($soc);
|
||||
|
||||
// Nettoyage/définition paramètres
|
||||
// Nettoyage/d<EFBFBD>finition param<61>tres
|
||||
$this->fin_validite = $this->datep + ($this->duree_validite * 24 * 3600);
|
||||
|
||||
dolibarr_syslog("Propal.class::create ref=".$this->ref);
|
||||
dolibarr_syslog("Propal::create ref=".$this->ref);
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
@ -577,7 +575,7 @@ class Propal extends CommonObject
|
||||
|
||||
if ($resql)
|
||||
{
|
||||
// Mise a jour infos dénormalisés
|
||||
// Mise a jour infos d<EFBFBD>normalis<EFBFBD>s
|
||||
$resql=$this->update_price();
|
||||
if ($resql)
|
||||
{
|
||||
@ -589,13 +587,13 @@ class Propal extends CommonObject
|
||||
// Fin appel triggers
|
||||
|
||||
$this->db->commit();
|
||||
dolibarr_syslog("Propal.class::Create done id=".$this->id);
|
||||
dolibarr_syslog("Propal::ass::Create done id=".$this->id);
|
||||
return $this->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dolibarr_syslog("Propal.class::Create -2 ".$this->error);
|
||||
dolibarr_syslog("Propal::Create -2 ".$this->error);
|
||||
$this->db->rollback();
|
||||
return -2;
|
||||
}
|
||||
@ -605,18 +603,18 @@ class Propal extends CommonObject
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dolibarr_syslog("Propal.class::Create -1 ".$this->error);
|
||||
dolibarr_syslog("Propal::Create -1 ".$this->error);
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
}
|
||||
|
||||
$this->db->commit();
|
||||
dolibarr_syslog("Propal.class::Create done id=".$this->id);
|
||||
dolibarr_syslog("Propal::Create done id=".$this->id);
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Mets à jour le prix total de la proposition
|
||||
* \brief Mets <EFBFBD> jour le prix total de la proposition
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function update_price()
|
||||
@ -689,7 +687,7 @@ class Propal extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Stocke un numéro de rang pour toutes les lignes de
|
||||
* \brief Stocke un num<EFBFBD>ro de rang pour toutes les lignes de
|
||||
* detail d'une propale qui n'en ont pas.
|
||||
*/
|
||||
function line_order()
|
||||
@ -813,9 +811,9 @@ class Propal extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Recupère de la base les caractéristiques d'une propale
|
||||
* \param rowid id de la propal à récupérer
|
||||
* \return int <0 si ko, 0 si non trouvé, >0 si ok
|
||||
* \brief Recup<EFBFBD>re de la base les caract<EFBFBD>ristiques d'une propale
|
||||
* \param rowid id de la propal <EFBFBD> r<EFBFBD>cup<EFBFBD>rer
|
||||
* \return int <0 si ko, 0 si non trouv<EFBFBD>, >0 si ok
|
||||
*/
|
||||
function fetch($rowid)
|
||||
{
|
||||
@ -902,7 +900,7 @@ class Propal extends CommonObject
|
||||
$this->db->free($resql);
|
||||
|
||||
/*
|
||||
* Lignes propales liées à un produit ou non
|
||||
* Lignes propales li<EFBFBD>es <EFBFBD> un produit ou non
|
||||
*/
|
||||
$sql = "SELECT d.description, d.price, d.tva_tx, d.qty, d.fk_remise_except, d.remise_percent, d.subprice, d.fk_product,";
|
||||
$sql.= " d.info_bits, d.total_ht, d.total_tva, d.total_ttc, d.marge_tx, d.marque_tx, d.special_code, d.rang,";
|
||||
@ -1016,7 +1014,7 @@ class Propal extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Définit la date de fin de validité
|
||||
* \brief D<EFBFBD>finit la date de fin de validit<EFBFBD>
|
||||
* \param user Objet utilisateur qui modifie
|
||||
* \param date_fin_validite Date fin
|
||||
* \return int <0 si ko, >0 si ok
|
||||
@ -1035,14 +1033,14 @@ class Propal extends CommonObject
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dolibarr_syslog("Propal.class::set_echeance Erreur SQL");
|
||||
dolibarr_syslog("Propal::set_echeance Erreur SQL");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Définit une date de livraison
|
||||
* \brief D<EFBFBD>finit une date de livraison
|
||||
* \param user Objet utilisateur qui modifie
|
||||
* \param date_livraison date de livraison
|
||||
* \return int <0 si ko, >0 si ok
|
||||
@ -1063,14 +1061,14 @@ class Propal extends CommonObject
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dolibarr_syslog("Propal.class::set_date_livraison Erreur SQL");
|
||||
dolibarr_syslog("Propal::set_date_livraison Erreur SQL");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Définit une adresse de livraison
|
||||
* \brief D<EFBFBD>finit une adresse de livraison
|
||||
* \param user Objet utilisateur qui modifie
|
||||
* \param adresse_livraison Adresse de livraison
|
||||
* \return int <0 si ko, >0 si ok
|
||||
@ -1090,7 +1088,7 @@ class Propal extends CommonObject
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dolibarr_syslog("Propal.class::set_adresse_livraison Erreur SQL");
|
||||
dolibarr_syslog("Propal::set_adresse_livraison Erreur SQL");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -1129,7 +1127,7 @@ class Propal extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Définit une remise globale relative sur la proposition
|
||||
* \brief D<EFBFBD>finit une remise globale relative sur la proposition
|
||||
* \param user Objet utilisateur qui modifie
|
||||
* \param remise Montant remise
|
||||
* \return int <0 si ko, >0 si ok
|
||||
@ -1154,7 +1152,7 @@ class Propal extends CommonObject
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dolibarr_syslog("Propal.class::set_remise_percent Error sql=$sql");
|
||||
dolibarr_syslog("Propal::set_remise_percent Error sql=$sql");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -1162,7 +1160,7 @@ class Propal extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Définit une remise globale absolue sur la proposition
|
||||
* \brief D<EFBFBD>finit une remise globale absolue sur la proposition
|
||||
* \param user Objet utilisateur qui modifie
|
||||
* \param remise Montant remise
|
||||
* \return int <0 si ko, >0 si ok
|
||||
@ -1188,7 +1186,7 @@ class Propal extends CommonObject
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dolibarr_syslog("Propal.class::set_remise_absolue Error sql=$sql");
|
||||
dolibarr_syslog("Propal::set_remise_absolue Error sql=$sql");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -1203,7 +1201,7 @@ class Propal extends CommonObject
|
||||
{
|
||||
if ($user->rights->propale->creer)
|
||||
{
|
||||
//verif que le projet et la société concordent
|
||||
//verif que le projet et la soci<EFBFBD>t<EFBFBD> concordent
|
||||
$sql = 'SELECT p.rowid, p.title FROM '.MAIN_DB_PREFIX.'projet as p WHERE p.fk_soc ='.$this->socid.' AND p.rowid='.$project_id;
|
||||
$sqlres = $this->db->query($sql);
|
||||
if ($sqlres)
|
||||
@ -1220,7 +1218,7 @@ class Propal extends CommonObject
|
||||
else
|
||||
{
|
||||
|
||||
dolibarr_syslog("Propal.class::set_project Erreur SQL");
|
||||
dolibarr_syslog("Propal::set_project Erreur SQL");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1274,14 +1272,14 @@ class Propal extends CommonObject
|
||||
{
|
||||
if ($statut == 2)
|
||||
{
|
||||
// Propale signée
|
||||
// Propale sign<EFBFBD>e
|
||||
include_once(DOL_DOCUMENT_ROOT."/commande/commande.class.php");
|
||||
|
||||
$result=$this->create_commande($user);
|
||||
|
||||
if ($result >= 0)
|
||||
{
|
||||
// Classe la société rattachée comme client
|
||||
// Classe la soci<EFBFBD>t<EFBFBD> rattach<63>e comme client
|
||||
$soc=new Societe($this->db);
|
||||
$soc->id = $this->socid;
|
||||
$result=$soc->set_as_client();
|
||||
@ -1327,7 +1325,7 @@ class Propal extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Classe la propale comme facturée
|
||||
* \brief Classe la propale comme factur<EFBFBD>e
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function classer_facturee()
|
||||
@ -1346,7 +1344,7 @@ class Propal extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Crée une commande à partir de la proposition commerciale
|
||||
* \brief Cr<EFBFBD>e une commande <EFBFBD> partir de la proposition commerciale
|
||||
* \param user Utilisateur
|
||||
* \return int <0 si ko, >=0 si ok
|
||||
*/
|
||||
@ -1358,7 +1356,7 @@ class Propal extends CommonObject
|
||||
{
|
||||
if ($this->statut == 2)
|
||||
{
|
||||
// Propale signée
|
||||
// Propale sign<EFBFBD>e
|
||||
include_once(DOL_DOCUMENT_ROOT."/commande/commande.class.php");
|
||||
$commande = new Commande($this->db);
|
||||
$result=$commande->create_from_propale($user, $this->id);
|
||||
@ -1400,10 +1398,10 @@ class Propal extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoi la liste des propal (éventuellement filtrée sur un user) dans un tableau
|
||||
* \brief Renvoi la liste des propal (<EFBFBD>ventuellement filtr<EFBFBD>e sur un user) dans un tableau
|
||||
* \param brouillon 0=non brouillon, 1=brouillon
|
||||
* \param user Objet user de filtre
|
||||
* \return int -1 si erreur, tableau résultat si ok
|
||||
* \return int -1 si erreur, tableau r<EFBFBD>sultat si ok
|
||||
*/
|
||||
|
||||
function liste_array ($brouillon=0, $user='')
|
||||
@ -1455,7 +1453,7 @@ class Propal extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Renvoie un tableau contenant les numéros de commandes associées
|
||||
* \brief Renvoie un tableau contenant les num<EFBFBD>ros de commandes associ<EFBFBD>es
|
||||
* \remarks Fonction plus light que associated_orders
|
||||
* \sa loadOrders
|
||||
*/
|
||||
@ -1489,7 +1487,7 @@ class Propal extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Charge tableau contenant les commandes associées
|
||||
* \brief Charge tableau contenant les commandes associ<EFBFBD>es
|
||||
* \remarks Fonction plus lourde que getOrderArrayList
|
||||
* \return int <0 si ko, >0 si ok
|
||||
* \sa getOrdersArrayList
|
||||
@ -1533,7 +1531,7 @@ class Propal extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Renvoie un tableau contenant les numéros de factures associées
|
||||
* \brief Renvoie un tableau contenant les num<EFBFBD>ros de factures associ<EFBFBD>es
|
||||
* \return array Tableau des id de factures
|
||||
*/
|
||||
function getInvoiceArrayList ()
|
||||
@ -1542,7 +1540,7 @@ class Propal extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Renvoie un tableau contenant les id et ref des factures associées
|
||||
* \brief Renvoie un tableau contenant les id et ref des factures associ<EFBFBD>es
|
||||
* \param id Id propal
|
||||
* \return array Tableau des id de factures
|
||||
*/
|
||||
@ -1602,7 +1600,7 @@ class Propal extends CommonObject
|
||||
if ( $this->db->query($sql) )
|
||||
{
|
||||
|
||||
// On efface le répertoire du pdf
|
||||
// On efface le r<EFBFBD>pertoire du pdf
|
||||
$propalref = sanitize_string($this->ref);
|
||||
if ($conf->propal->dir_output)
|
||||
{
|
||||
@ -1643,7 +1641,7 @@ class Propal extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Mets à jour les commentaires privés
|
||||
* \brief Mets <EFBFBD> jour les commentaires priv<EFBFBD>s
|
||||
* \param note Commentaire
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
@ -1653,7 +1651,7 @@ class Propal extends CommonObject
|
||||
$sql.= " SET note = '".addslashes($note)."'";
|
||||
$sql.= " WHERE rowid =". $this->id;
|
||||
|
||||
dolibarr_syslog("Propal.class::update_note $sql");
|
||||
dolibarr_syslog("Propal::update_note $sql");
|
||||
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
@ -1668,7 +1666,7 @@ class Propal extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Mets à jour les commentaires publiques
|
||||
* \brief Mets <EFBFBD> jour les commentaires publiques
|
||||
* \param note_public Commentaire
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
@ -1678,7 +1676,7 @@ class Propal extends CommonObject
|
||||
$sql.= " SET note_public = '".addslashes($note_public)."'";
|
||||
$sql.= " WHERE rowid =". $this->id;
|
||||
|
||||
dolibarr_syslog("Propal.class::update_note_public $sql");
|
||||
dolibarr_syslog("Propal::update_note_public $sql");
|
||||
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
@ -1693,8 +1691,8 @@ class Propal extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Change les conditions de réglement de la facture
|
||||
* \param cond_reglement_id Id de la nouvelle condition de réglement
|
||||
* \brief Change les conditions de r<EFBFBD>glement de la facture
|
||||
* \param cond_reglement_id Id de la nouvelle condition de r<EFBFBD>glement
|
||||
* \return int >0 si ok, <0 si ko
|
||||
*/
|
||||
function cond_reglement($cond_reglement_id)
|
||||
@ -1727,7 +1725,7 @@ class Propal extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Change le mode de réglement
|
||||
* \brief Change le mode de r<EFBFBD>glement
|
||||
* \param mode_reglement Id du nouveau mode
|
||||
* \return int >0 si ok, <0 si ko
|
||||
*/
|
||||
@ -1817,9 +1815,9 @@ class Propal extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne le libellé du statut d'une propale (brouillon, validée, ...)
|
||||
* \param mode 0=libellé long, 1=libellé court, 2=Picto + Libellé court, 3=Picto, 4=Picto + Libellé long, 5=Libellé court + Picto
|
||||
* \return string Libellé
|
||||
* \brief Retourne le libell<EFBFBD> du statut d'une propale (brouillon, valid<EFBFBD>e, ...)
|
||||
* \param mode 0=libell<EFBFBD> long, 1=libell<EFBFBD> court, 2=Picto + Libell<EFBFBD> court, 3=Picto, 4=Picto + Libell<EFBFBD> long, 5=Libell<EFBFBD> court + Picto
|
||||
* \return string Libell<EFBFBD>
|
||||
*/
|
||||
function getLibStatut($mode=0)
|
||||
{
|
||||
@ -1827,10 +1825,10 @@ class Propal extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Renvoi le libellé d'un statut donné
|
||||
* \brief Renvoi le libell<EFBFBD> d'un statut donn<EFBFBD>
|
||||
* \param statut id statut
|
||||
* \param mode 0=libellé long, 1=libellé court, 2=Picto + Libellé court, 3=Picto, 4=Picto + Libellé long, 5=Libellé court + Picto
|
||||
* \return string Libellé
|
||||
* \param mode 0=libell<EFBFBD> long, 1=libell<EFBFBD> court, 2=Picto + Libell<EFBFBD> court, 3=Picto, 4=Picto + Libell<EFBFBD> long, 5=Libell<EFBFBD> court + Picto
|
||||
* \return string Libell<EFBFBD>
|
||||
*/
|
||||
function LibStatut($statut,$mode=1)
|
||||
{
|
||||
@ -1883,7 +1881,7 @@ class Propal extends CommonObject
|
||||
/**
|
||||
* \brief Charge indicateurs this->nbtodo et this->nbtodolate de tableau de bord
|
||||
* \param user Objet user
|
||||
* \param mode "opened" pour propal à fermer, "signed" pour propale à facturer
|
||||
* \param mode "opened" pour propal <EFBFBD> fermer, "signed" pour propale <EFBFBD> facturer
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function load_board($user,$mode)
|
||||
@ -1914,7 +1912,7 @@ class Propal extends CommonObject
|
||||
{
|
||||
if ($mode == 'opened') $this->nbtodolate++;
|
||||
if ($mode == 'signed') $this->nbtodolate++;
|
||||
// \todo Definir règle des propales à facturer en retard
|
||||
// \todo Definir r<EFBFBD>gle des propales <20> facturer en retard
|
||||
// if ($mode == 'signed' && ! sizeof($this->FactureListeArray($obj->rowid))) $this->nbtodolate++;
|
||||
}
|
||||
}
|
||||
@ -1929,7 +1927,7 @@ class Propal extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Insert en base un objet propal complétement définie par ses données membres (resultant d'une copie par exemple).
|
||||
* \brief Insert en base un objet propal compl<EFBFBD>tement d<EFBFBD>finie par ses donn<EFBFBD>es membres (resultant d'une copie par exemple).
|
||||
* \return int l'id du nouvel objet propal en base si ok, <0 si ko
|
||||
* \see create
|
||||
*/
|
||||
@ -1939,12 +1937,12 @@ class Propal extends CommonObject
|
||||
|
||||
$this->fin_validite = $this->datep + ($this->duree_validite * 24 * 3600);
|
||||
|
||||
// on vérifie si la ref n'est pas utilisée
|
||||
// on v<EFBFBD>rifie si la ref n'est pas utilis<69>e
|
||||
$soc = new Societe($this->db);
|
||||
$soc->fetch($this->socid);
|
||||
$this->verifyNumRef($soc);
|
||||
|
||||
dolibarr_syslog("Propal.class::create_from ref=".$this->ref);
|
||||
dolibarr_syslog("Propal::create_from ref=".$this->ref);
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
@ -1979,7 +1977,7 @@ class Propal extends CommonObject
|
||||
$resql = $this->addline(
|
||||
$this->id,
|
||||
$ligne->desc,
|
||||
$ligne->subprice, //récupérer le prix non remisé
|
||||
$ligne->subprice, //r<EFBFBD>cup<EFBFBD>rer le prix non remis<69>
|
||||
$ligne->qty,
|
||||
$ligne->tva_tx,
|
||||
$ligne->fk_product,
|
||||
@ -1997,7 +1995,7 @@ class Propal extends CommonObject
|
||||
|
||||
if ($resql)
|
||||
{
|
||||
// Mise a jour infos dénormalisés
|
||||
// Mise a jour infos d<EFBFBD>normalis<EFBFBD>s
|
||||
$resql=$this->update_price();
|
||||
if ($resql)
|
||||
{
|
||||
@ -2009,13 +2007,13 @@ class Propal extends CommonObject
|
||||
// Fin appel triggers
|
||||
|
||||
$this->db->commit();
|
||||
dolibarr_syslog("Propal.class::Create_from done id=".$this->id);
|
||||
dolibarr_syslog("Propal::Create_from done id=".$this->id);
|
||||
return $this->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dolibarr_syslog("Propal.class::Create_from -2 ".$this->error);
|
||||
dolibarr_syslog("Propal::Create_from -2 ".$this->error);
|
||||
$this->db->rollback();
|
||||
return -2;
|
||||
}
|
||||
@ -2025,26 +2023,26 @@ class Propal extends CommonObject
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dolibarr_syslog("Propal.class::Create_from -1 ".$this->error);
|
||||
dolibarr_syslog("Propal::Create_from -1 ".$this->error);
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
}
|
||||
|
||||
$this->db->commit();
|
||||
dolibarr_syslog("Propal.class::Create_from done id=".$this->id);
|
||||
dolibarr_syslog("Propal::Create_from done id=".$this->id);
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Initialise la propale avec valeurs fictives aléatoire
|
||||
* Sert à générer une facture pour l'aperu des modèles ou demo
|
||||
* \brief Initialise la propale avec valeurs fictives al<EFBFBD>atoire
|
||||
* Sert <EFBFBD> g<EFBFBD>n<EFBFBD>rer une facture pour l'aperu des mod<EFBFBD>les ou demo
|
||||
*/
|
||||
function initAsSpecimen()
|
||||
{
|
||||
global $user,$langs;
|
||||
|
||||
// Charge tableau des id de société socids
|
||||
// Charge tableau des id de soci<EFBFBD>t<EFBFBD> socids
|
||||
$socids = array();
|
||||
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe WHERE client=1 LIMIT 10";
|
||||
$resql = $this->db->query($sql);
|
||||
@ -2077,7 +2075,7 @@ class Propal extends CommonObject
|
||||
}
|
||||
}
|
||||
|
||||
// Initialise paramètres
|
||||
// Initialise param<EFBFBD>tres
|
||||
$this->id=0;
|
||||
$this->ref = 'SPECIMEN';
|
||||
$this->specimen=1;
|
||||
@ -2149,7 +2147,7 @@ class Propal extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Vérifie si la ref n'est pas déjà utilisée
|
||||
* \brief V<EFBFBD>rifie si la ref n'est pas d<EFBFBD>j<EFBFBD> utilis<EFBFBD>e
|
||||
* \param soc objet societe
|
||||
*/
|
||||
function verifyNumRef($soc)
|
||||
@ -2170,8 +2168,8 @@ class Propal extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie la référence de propale suivante non utilisée en fonction du module
|
||||
* de numérotation actif défini dans PROPALE_ADDON
|
||||
* \brief Renvoie la r<EFBFBD>f<EFBFBD>rence de propale suivante non utilis<EFBFBD>e en fonction du module
|
||||
* de num<EFBFBD>rotation actif d<EFBFBD>fini dans PROPALE_ADDON
|
||||
* \param soc objet societe
|
||||
* \return string reference libre pour la propale
|
||||
*/
|
||||
@ -2186,7 +2184,7 @@ class Propal extends CommonObject
|
||||
{
|
||||
$file = PROPALE_ADDON.".php";
|
||||
|
||||
// Chargement de la classe de numérotation
|
||||
// Chargement de la classe de num<EFBFBD>rotation
|
||||
$classname = PROPALE_ADDON;
|
||||
require_once($dir.$file);
|
||||
|
||||
@ -2259,7 +2257,7 @@ class PropaleLigne
|
||||
var $rowid;
|
||||
var $fk_propal;
|
||||
var $desc; // Description ligne
|
||||
var $fk_product; // Id produit prédéfini
|
||||
var $fk_product; // Id produit pr<EFBFBD>d<EFBFBD>fini
|
||||
|
||||
var $qty;
|
||||
var $tva_tx;
|
||||
@ -2280,9 +2278,9 @@ class PropaleLigne
|
||||
// Bit 0: 0 si TVA normal - 1 si TVA NPR
|
||||
// Bit 1: 0 ligne normale - 1 si ligne de remise fixe
|
||||
|
||||
var $total_ht; // Total HT de la ligne toute quantité et incluant la remise ligne
|
||||
var $total_tva; // Total TVA de la ligne toute quantité et incluant la remise ligne
|
||||
var $total_ttc; // Total TTC de la ligne toute quantité et incluant la remise ligne
|
||||
var $total_ht; // Total HT de la ligne toute quantit<EFBFBD> et incluant la remise ligne
|
||||
var $total_tva; // Total TVA de la ligne toute quantit<EFBFBD> et incluant la remise ligne
|
||||
var $total_ttc; // Total TTC de la ligne toute quantit<EFBFBD> et incluant la remise ligne
|
||||
|
||||
// Ne plus utiliser
|
||||
var $remise;
|
||||
@ -2296,7 +2294,7 @@ class PropaleLigne
|
||||
|
||||
/**
|
||||
* \brief Constructeur d'objets ligne de propal
|
||||
* \param DB handler d'accès base de donnée
|
||||
* \param DB handler d'acc<EFBFBD>s base de donn<EFBFBD>e
|
||||
*/
|
||||
function PropaleLigne($DB)
|
||||
{
|
||||
@ -2304,7 +2302,7 @@ class PropaleLigne
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Recupére l'objet ligne de propal
|
||||
* \brief Recup<EFBFBD>re l'objet ligne de propal
|
||||
* \param rowid id de la ligne de propal
|
||||
*/
|
||||
function fetch($rowid)
|
||||
@ -2353,7 +2351,7 @@ class PropaleLigne
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Insère l'objet ligne de propal en base
|
||||
* \brief Insert object line propal in database
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function insert()
|
||||
@ -2364,11 +2362,12 @@ class PropaleLigne
|
||||
// Nettoyage parameteres
|
||||
if (! $this->remise) $this->remise=0;
|
||||
if (! $this->remise_percent) $this->remise_percent=0;
|
||||
if (! $this->info_bits) $this->info_bits=0;
|
||||
|
||||
$rangtouse=$this->rang;
|
||||
if ($rangtouse == -1)
|
||||
{
|
||||
// Récupère rang max de la propale dans $rangmax
|
||||
// R<EFBFBD>cup<EFBFBD>re rang max de la propale dans $rangmax
|
||||
$sql = 'SELECT max(rang) as max FROM '.MAIN_DB_PREFIX.'propaldet';
|
||||
$sql.= ' WHERE fk_propal ='.$this->fk_propal;
|
||||
$resql = $this->db->query($sql);
|
||||
@ -2480,7 +2479,7 @@ class PropaleLigne
|
||||
|
||||
/**
|
||||
* \brief Mise a jour en base des champs total_xxx de ligne
|
||||
* \remarks Utilisé par migration
|
||||
* \remarks Utilis<EFBFBD> par migration
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function update_total()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user