Fix: Can not edit line for free product lines. Also type was lost.
This commit is contained in:
parent
54ff2328be
commit
f30061ca0c
@ -966,24 +966,24 @@ if ($_POST['action'] == 'updateligne' && $user->rights->facture->creer && $_POST
|
|||||||
|
|
||||||
// Define info_bits
|
// Define info_bits
|
||||||
$info_bits=0;
|
$info_bits=0;
|
||||||
if (preg_match('/\*/',$_POST['np_tva_tx'])) $info_bits |= 0x01;
|
if (preg_match('/\*/',$_POST['tva_tx'])) $info_bits |= 0x01;
|
||||||
|
|
||||||
// Define vat_rate
|
// Define vat_rate
|
||||||
$vat_rate=$_POST['np_tva_tx'];
|
$vat_rate=$_POST['tva_tx'];
|
||||||
$vat_rate=str_replace('*','',$vat_rate);
|
$vat_rate=str_replace('*','',$vat_rate);
|
||||||
$localtax1_rate=get_localtax($vat_rate,1,$object->client);
|
$localtax1_rate=get_localtax($vat_rate,1,$object->client);
|
||||||
$localtax2_rate=get_localtax($vat_rate,2,$object->client);
|
$localtax2_rate=get_localtax($vat_rate,2,$object->client);
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
if (empty($_POST['productid']) && $_POST["type"] < 0)
|
if (! GETPOST('productid') && GETPOST("type") < 0)
|
||||||
{
|
{
|
||||||
$mesg = '<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Type")).'</div>';
|
$mesg = '<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Type")).'</div>';
|
||||||
$result = -1 ;
|
$result = -1 ;
|
||||||
}
|
}
|
||||||
// Check minimum price
|
// Check minimum price
|
||||||
if(! empty($_POST['productid']))
|
if (GETPOST('productid'))
|
||||||
{
|
{
|
||||||
$productid = $_POST['productid'];
|
$productid = GETPOST('productid');
|
||||||
$product = new Product($db);
|
$product = new Product($db);
|
||||||
$product->fetch($productid);
|
$product->fetch($productid);
|
||||||
$type=$product->type;
|
$type=$product->type;
|
||||||
@ -995,23 +995,17 @@ if ($_POST['action'] == 'updateligne' && $user->rights->facture->creer && $_POST
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Define params
|
// Define params
|
||||||
if (! empty($_POST['productid']))
|
if (GETPOST('productid')) $type=$product->type;
|
||||||
{
|
else $type=GETPOST("type");
|
||||||
$type=$product->type;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$type=$_POST["type"];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update line
|
// Update line
|
||||||
if ($result >= 0)
|
if ($result >= 0)
|
||||||
{
|
{
|
||||||
$result = $object->updateline($_POST['rowid'],
|
$result = $object->updateline(GETPOST('lineid'),
|
||||||
$description,
|
$description,
|
||||||
$_POST['price'],
|
GETPOST('subprice'),
|
||||||
$_POST['qty'],
|
GETPOST('qty'),
|
||||||
$_POST['remise_percent'],
|
GETPOST('remise_percent'),
|
||||||
$date_start,
|
$date_start,
|
||||||
$date_end,
|
$date_end,
|
||||||
$vat_rate,
|
$vat_rate,
|
||||||
@ -1025,7 +1019,7 @@ if ($_POST['action'] == 'updateligne' && $user->rights->facture->creer && $_POST
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang='';
|
$newlang='';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang=GETPOST('lang_id');
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
||||||
if (! empty($newlang))
|
if (! empty($newlang))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1794,21 +1794,21 @@ class Facture extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Update line
|
* Update a detail line
|
||||||
* \param rowid Id of line to update
|
* @param rowid Id of line to update
|
||||||
* \param desc Description of line
|
* @param desc Description of line
|
||||||
* \param pu Prix unitaire (HT ou TTC selon price_base_type)
|
* @param pu Prix unitaire (HT ou TTC selon price_base_type)
|
||||||
* \param qty Quantity
|
* @param qty Quantity
|
||||||
* \param remise_percent Pourcentage de remise de la ligne
|
* @param remise_percent Pourcentage de remise de la ligne
|
||||||
* \param date_start Date de debut de validite du service
|
* @param date_start Date de debut de validite du service
|
||||||
* \param date_end Date de fin de validite du service
|
* @param date_end Date de fin de validite du service
|
||||||
* \param tva_tx VAT Rate
|
* @param tva_tx VAT Rate
|
||||||
* \param txlocaltax1 Local tax 1 rate
|
* @param txlocaltax1 Local tax 1 rate
|
||||||
* \param txlocaltax2 Local tax 2 rate
|
* @param txlocaltax2 Local tax 2 rate
|
||||||
* \param price_base_type HT or TTC
|
* @param price_base_type HT or TTC
|
||||||
* \param info_bits Miscellanous informations
|
* @param info_bits Miscellanous informations
|
||||||
* \param type Type of line (0=product, 1=service)
|
* @param type Type of line (0=product, 1=service)
|
||||||
* \return int < 0 si erreur, > 0 si ok
|
* @return int < 0 si erreur, > 0 si ok
|
||||||
*/
|
*/
|
||||||
function updateline($rowid, $desc, $pu, $qty, $remise_percent=0, $date_start, $date_end, $txtva, $txlocaltax1=0, $txlocaltax2=0,$price_base_type='HT', $info_bits=0, $type=0)
|
function updateline($rowid, $desc, $pu, $qty, $remise_percent=0, $date_start, $date_end, $txtva, $txlocaltax1=0, $txlocaltax2=0,$price_base_type='HT', $info_bits=0, $type=0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -17,6 +17,8 @@
|
|||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
* $Id$
|
* $Id$
|
||||||
|
*
|
||||||
|
* Need to have object $this (invoice, order, ...) and $line defined
|
||||||
*/
|
*/
|
||||||
?>
|
?>
|
||||||
|
|
||||||
@ -25,7 +27,8 @@
|
|||||||
<input type="hidden" name="token" value="<?php echo $_SESSION['newtoken']; ?>">
|
<input type="hidden" name="token" value="<?php echo $_SESSION['newtoken']; ?>">
|
||||||
<input type="hidden" name="action" value="updateligne">
|
<input type="hidden" name="action" value="updateligne">
|
||||||
<input type="hidden" name="id" value="<?php echo $this->id; ?>">
|
<input type="hidden" name="id" value="<?php echo $this->id; ?>">
|
||||||
<input type="hidden" name="lineid" value="<?php echo $_GET["lineid"]; ?>">
|
<input type="hidden" name="lineid" value="<?php echo $line->id; ?>">
|
||||||
|
<input type="hidden" name="type" value="<?php echo $line->product_type; ?>">
|
||||||
|
|
||||||
<tr <?php echo $bc[$var]; ?>>
|
<tr <?php echo $bc[$var]; ?>>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user