Fix: Plantage creation produit
This commit is contained in:
parent
e99ae9fc29
commit
5de83d5494
@ -141,12 +141,13 @@ class Product
|
|||||||
{
|
{
|
||||||
$this->errno = 0;
|
$this->errno = 0;
|
||||||
|
|
||||||
|
// Clean parameters
|
||||||
$this->ref = trim(sanitize_string($this->ref));
|
$this->ref = trim(sanitize_string($this->ref));
|
||||||
|
|
||||||
if ($this->tva_tx=='') $this->tva_tx = 0;
|
if ($this->tva_tx=='') $this->tva_tx = 0;
|
||||||
if ($this->price=='') $this->price = 0;
|
if ($this->price=='') $this->price = 0;
|
||||||
if ($this->status=='') $this->status = 0;
|
if ($this->status=='') $this->status = 0;
|
||||||
|
$price_ht=0;
|
||||||
|
$price_ttc=0;
|
||||||
if ($this->price > 0)
|
if ($this->price > 0)
|
||||||
{
|
{
|
||||||
if ($this->price_base_type == 'TTC')
|
if ($this->price_base_type == 'TTC')
|
||||||
@ -161,7 +162,7 @@ class Product
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dolibarr_syslog("Product::Create ref=".$this->ref." Categorie : ".$this->catid);
|
dolibarr_syslog("Product::Create ref=".$this->ref." price=".$this->price." tva_tx=".$this->tva_tx." Categorie : ".$this->catid);
|
||||||
|
|
||||||
if ($this->ref)
|
if ($this->ref)
|
||||||
{
|
{
|
||||||
@ -199,9 +200,9 @@ class Product
|
|||||||
if ($id > 0)
|
if ($id > 0)
|
||||||
{
|
{
|
||||||
$this->id = $id;
|
$this->id = $id;
|
||||||
$this->price = $price_ht;
|
$this->price = $price_ht;
|
||||||
$this->price_ttc = $price_ttc;
|
$this->price_ttc = $price_ttc;
|
||||||
|
|
||||||
$result = $this->_log_price($user);
|
$result = $this->_log_price($user);
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
|
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
|
||||||
* Copyright (C) 2005-2007 Régis Houssin <regis.houssin@cap-networks.com>
|
* Copyright (C) 2005-2007 Régis Houssin <regis.houssin@cap-networks.com>
|
||||||
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||||
@ -61,134 +61,133 @@ if ($_GET["action"] == 'fastappro')
|
|||||||
// Action ajout d'un produit ou service
|
// Action ajout d'un produit ou service
|
||||||
if ($_POST["action"] == 'add' && $user->rights->produit->creer)
|
if ($_POST["action"] == 'add' && $user->rights->produit->creer)
|
||||||
{
|
{
|
||||||
if ($_POST["canvas"] <> '' && file_exists('canvas/product.'.$_POST["canvas"].'.class.php') )
|
if ($_POST["canvas"] <> '' && file_exists('canvas/product.'.$_POST["canvas"].'.class.php') )
|
||||||
{
|
|
||||||
$class = 'Product'.ucfirst($_POST["canvas"]);
|
|
||||||
include_once('canvas/product.'.$_POST["canvas"].'.class.php');
|
|
||||||
$product = new $class($db);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$product = new Product($db);
|
|
||||||
}
|
|
||||||
|
|
||||||
$product->ref = $_POST["ref"];
|
|
||||||
$product->libelle = $_POST["libelle"];
|
|
||||||
$product->price = $_POST["price"];
|
|
||||||
$product->price_base_type = $_POST["price_base_type"];
|
|
||||||
$product->tva_tx = $_POST["tva_tx"];
|
|
||||||
$product->type = $_POST["type"];
|
|
||||||
$product->status = $_POST["statut"];
|
|
||||||
$product->description = $_POST["desc"];
|
|
||||||
$product->note = $_POST["note"];
|
|
||||||
$product->duration_value = $_POST["duration_value"];
|
|
||||||
$product->duration_unit = $_POST["duration_unit"];
|
|
||||||
$product->seuil_stock_alerte = $_POST["seuil_stock_alerte"];
|
|
||||||
$product->canvas = $_POST["canvas"];
|
|
||||||
$product->new_weight = $_POST["weight"];
|
|
||||||
$product->new_weight_units = $_POST["weight_units"];
|
|
||||||
$product->new_volume = $_POST["volume"];
|
|
||||||
$product->new_volume_units = $_POST["volume_units"];
|
|
||||||
// MultiPrix
|
|
||||||
if($conf->global->PRODUIT_MULTIPRICES == 1)
|
|
||||||
{
|
|
||||||
for($i=2;$i<=$conf->global->PRODUIT_MULTIPRICES_LIMIT;$i++)
|
|
||||||
{
|
{
|
||||||
if($_POST["price_".$i])
|
$class = 'Product'.ucfirst($_POST["canvas"]);
|
||||||
{
|
include_once('canvas/product.'.$_POST["canvas"].'.class.php');
|
||||||
$price = ereg_replace(" ","", $_POST["price_".$i]);
|
$product = new $class($db);
|
||||||
$price = ereg_replace(",",".", $price);
|
}
|
||||||
$product->multiprices["$i"] = $price;
|
else
|
||||||
$product->multiprices_base_type["$i"] = $_POST["multiprices_base_type_".$i];
|
{
|
||||||
}
|
$product = new Product($db);
|
||||||
else
|
}
|
||||||
{
|
|
||||||
$product->multiprices["$i"] = "";
|
$product->ref = $_POST["ref"];
|
||||||
}
|
$product->libelle = $_POST["libelle"];
|
||||||
|
$product->price = $_POST["price"];
|
||||||
|
$product->price_base_type = $_POST["price_base_type"];
|
||||||
|
$product->tva_tx = $_POST["tva_tx"];
|
||||||
|
$product->type = $_POST["type"];
|
||||||
|
$product->status = $_POST["statut"];
|
||||||
|
$product->description = $_POST["desc"];
|
||||||
|
$product->note = $_POST["note"];
|
||||||
|
$product->duration_value = $_POST["duration_value"];
|
||||||
|
$product->duration_unit = $_POST["duration_unit"];
|
||||||
|
$product->seuil_stock_alerte = $_POST["seuil_stock_alerte"];
|
||||||
|
$product->canvas = $_POST["canvas"];
|
||||||
|
$product->new_weight = $_POST["weight"];
|
||||||
|
$product->new_weight_units = $_POST["weight_units"];
|
||||||
|
$product->new_volume = $_POST["volume"];
|
||||||
|
$product->new_volume_units = $_POST["volume_units"];
|
||||||
|
// MultiPrix
|
||||||
|
if($conf->global->PRODUIT_MULTIPRICES == 1)
|
||||||
|
{
|
||||||
|
for($i=2;$i<=$conf->global->PRODUIT_MULTIPRICES_LIMIT;$i++)
|
||||||
|
{
|
||||||
|
if($_POST["price_".$i])
|
||||||
|
{
|
||||||
|
$price = price2num($_POST["price_".$i]);
|
||||||
|
$product->multiprices["$i"] = $price;
|
||||||
|
$product->multiprices_base_type["$i"] = $_POST["multiprices_base_type_".$i];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$product->multiprices["$i"] = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $value != $current_lang ) $e_product = $product;
|
||||||
|
|
||||||
|
// Produit spécifique
|
||||||
|
// $_POST n'est pas utilise dans la classe Product
|
||||||
|
// mais dans des classes qui hérite de Product
|
||||||
|
$id = $product->create($user, $_POST);
|
||||||
|
|
||||||
|
if ($id > 0)
|
||||||
|
{
|
||||||
|
Header("Location: fiche.php?id=$id");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$mesg='<div class="error">'.$langs->trans($product->error()).'</div>';
|
||||||
|
$_GET["action"] = "create";
|
||||||
|
$_GET["canvas"] = $product->canvas;
|
||||||
|
$_GET["type"] = $_POST["type"];
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if ( $value != $current_lang ) $e_product = $product;
|
|
||||||
|
|
||||||
// Produit spécifique
|
|
||||||
// $_POST n'est pas utilise dans la classe Product
|
|
||||||
// mais dans des classes qui hérite de Product
|
|
||||||
$id = $product->create($user, $_POST);
|
|
||||||
|
|
||||||
if ($id > 0)
|
|
||||||
{
|
|
||||||
Header("Location: fiche.php?id=$id");
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$mesg='<div class="error">'.$langs->trans($product->error()).'</div>';
|
|
||||||
$_GET["action"] = "create";
|
|
||||||
$_GET["canvas"] = $product->canvas;
|
|
||||||
$_GET["type"] = $_POST["type"];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Action mise a jour d'un produit ou service
|
// Action mise a jour d'un produit ou service
|
||||||
if ($_POST["action"] == 'update' &&
|
if ($_POST["action"] == 'update' &&
|
||||||
$_POST["cancel"] <> $langs->trans("Cancel") &&
|
$_POST["cancel"] <> $langs->trans("Cancel") &&
|
||||||
$user->rights->produit->creer)
|
$user->rights->produit->creer)
|
||||||
{
|
{
|
||||||
$product = new Product($db);
|
$product = new Product($db);
|
||||||
if ($product->fetch($_POST["id"]))
|
if ($product->fetch($_POST["id"]))
|
||||||
{
|
|
||||||
$product->ref = $_POST["ref"];
|
|
||||||
$product->libelle = $_POST["libelle"];
|
|
||||||
if ( isset( $_POST["price"] ) )
|
|
||||||
$product->price = $_POST["price"];
|
|
||||||
$product->tva_tx = $_POST["tva_tx"];
|
|
||||||
$product->description = $_POST["desc"];
|
|
||||||
$product->note = $_POST["note"];
|
|
||||||
$product->status = $_POST["statut"];
|
|
||||||
$product->seuil_stock_alerte = $_POST["seuil_stock_alerte"];
|
|
||||||
$product->stock_loc = $_POST["stock_loc"];
|
|
||||||
$product->duration_value = $_POST["duration_value"];
|
|
||||||
$product->duration_unit = $_POST["duration_unit"];
|
|
||||||
$product->canvas = $_POST["canvas"];
|
|
||||||
$product->new_weight = $_POST["weight"];
|
|
||||||
$product->new_weight_units = $_POST["weight_units"];
|
|
||||||
$product->new_volume = $_POST["volume"];
|
|
||||||
$product->new_volume_units = $_POST["volume_units"];
|
|
||||||
|
|
||||||
if ($product->check())
|
|
||||||
{
|
{
|
||||||
if ($product->update($product->id, $user) > 0)
|
$product->ref = $_POST["ref"];
|
||||||
{
|
$product->libelle = $_POST["libelle"];
|
||||||
$_GET["action"] = '';
|
if ( isset( $_POST["price"] ) )
|
||||||
$_GET["id"] = $_POST["id"];
|
$product->price = $_POST["price"];
|
||||||
}
|
$product->tva_tx = $_POST["tva_tx"];
|
||||||
else
|
$product->description = $_POST["desc"];
|
||||||
{
|
$product->note = $_POST["note"];
|
||||||
$_GET["action"] = 'edit';
|
$product->status = $_POST["statut"];
|
||||||
$_GET["id"] = $_POST["id"];
|
$product->seuil_stock_alerte = $_POST["seuil_stock_alerte"];
|
||||||
$mesg = $product->error;
|
$product->stock_loc = $_POST["stock_loc"];
|
||||||
}
|
$product->duration_value = $_POST["duration_value"];
|
||||||
|
$product->duration_unit = $_POST["duration_unit"];
|
||||||
|
$product->canvas = $_POST["canvas"];
|
||||||
|
$product->new_weight = $_POST["weight"];
|
||||||
|
$product->new_weight_units = $_POST["weight_units"];
|
||||||
|
$product->new_volume = $_POST["volume"];
|
||||||
|
$product->new_volume_units = $_POST["volume_units"];
|
||||||
|
|
||||||
|
if ($product->check())
|
||||||
|
{
|
||||||
|
if ($product->update($product->id, $user) > 0)
|
||||||
|
{
|
||||||
|
$_GET["action"] = '';
|
||||||
|
$_GET["id"] = $_POST["id"];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$_GET["action"] = 'edit';
|
||||||
|
$_GET["id"] = $_POST["id"];
|
||||||
|
$mesg = $product->error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$_GET["action"] = 'edit';
|
||||||
|
$_GET["id"] = $_POST["id"];
|
||||||
|
$mesg = $langs->trans("ErrorProductBadRefOrLabel");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Produit spécifique
|
||||||
|
if ($product->canvas <> '' && file_exists('canvas/product.'.$product->canvas.'.class.php') )
|
||||||
|
{
|
||||||
|
$class = 'Product'.ucfirst($product->canvas);
|
||||||
|
include_once('canvas/product.'.$product->canvas.'.class.php');
|
||||||
|
|
||||||
|
$product = new $class($db);
|
||||||
|
if ($product->FetchCanvas($_POST["id"]))
|
||||||
|
{
|
||||||
|
$product->UpdateCanvas($_POST);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
$_GET["action"] = 'edit';
|
|
||||||
$_GET["id"] = $_POST["id"];
|
|
||||||
$mesg = $langs->trans("ErrorProductBadRefOrLabel");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Produit spécifique
|
|
||||||
if ($product->canvas <> '' && file_exists('canvas/product.'.$product->canvas.'.class.php') )
|
|
||||||
{
|
|
||||||
$class = 'Product'.ucfirst($product->canvas);
|
|
||||||
include_once('canvas/product.'.$product->canvas.'.class.php');
|
|
||||||
|
|
||||||
$product = new $class($db);
|
|
||||||
if ($product->FetchCanvas($_POST["id"]))
|
|
||||||
{
|
|
||||||
$product->UpdateCanvas($_POST);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// clone d'un produit
|
// clone d'un produit
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user