NEW note, contact and lines on card
This commit is contained in:
parent
095d851e79
commit
c6ab79bad3
@ -962,6 +962,9 @@ abstract class CommonObject
|
||||
if($this->element=='shipping' && $this->origin_id != 0) {
|
||||
$id=$this->origin_id;
|
||||
$element='commande';
|
||||
} else if($this->element=='reception' && $this->origin_id != 0) {
|
||||
$id=$this->origin_id;
|
||||
$element='order_supplier';
|
||||
} else {
|
||||
$id=$this->id;
|
||||
$element=$this->element;
|
||||
@ -982,7 +985,7 @@ abstract class CommonObject
|
||||
$sql.= " AND tc.code = '".$code."'";
|
||||
$sql.= " AND tc.active = 1";
|
||||
if ($status) $sql.= " AND ec.statut = ".$status;
|
||||
|
||||
|
||||
dol_syslog(get_class($this)."::getIdContact", LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
@ -998,7 +1001,6 @@ abstract class CommonObject
|
||||
$this->error=$this->db->error();
|
||||
return null;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
@ -1193,6 +1195,7 @@ abstract class CommonObject
|
||||
{
|
||||
if ($this->origin == 'shipping') $this->origin = 'expedition';
|
||||
if ($this->origin == 'delivery') $this->origin = 'livraison';
|
||||
if ($this->origin == 'order_supplier') $this->origin = 'commandeFournisseur';
|
||||
|
||||
$origin = $this->origin;
|
||||
|
||||
@ -3105,9 +3108,13 @@ abstract class CommonObject
|
||||
{
|
||||
if (empty($totalToShip)) $totalToShip=0; // Avoid warning because $totalToShip is ''
|
||||
$totalToShip+=$line->qty_shipped; // defined for shipment only
|
||||
}else if ($line->element == 'commandefournisseurdispatch' && isset($line->qty))
|
||||
{
|
||||
if (empty($totalToShip)) $totalToShip=0;
|
||||
$totalToShip+=$line->qty; // defined for reception only
|
||||
}
|
||||
|
||||
// Define qty, weight, volume, weight_units, volume_units
|
||||
// Define qty, weight, volume, weight_units, volume_units
|
||||
if ($this->element == 'shipping') {
|
||||
// for shipments
|
||||
$qty = $line->qty_shipped ? $line->qty_shipped : 0;
|
||||
|
||||
@ -3932,10 +3932,10 @@ function showDimensionInBestUnit($dimension, $unit, $type, $outputlangs, $round=
|
||||
$dimension = $dimension / 1000;
|
||||
$unit = $unit + 3;
|
||||
}
|
||||
|
||||
|
||||
$ret=price($dimension, 0, $outputlangs, 0, 0, $round).' '.measuring_units_string($unit, $type);
|
||||
|
||||
return $ret;
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -126,7 +126,7 @@ class pdf_squille extends ModelePdfReception
|
||||
$outputlangs->load("products");
|
||||
$outputlangs->load("propal");
|
||||
$outputlangs->load("deliveries");
|
||||
$outputlangs->load("sendings");
|
||||
$outputlangs->load("receptions");
|
||||
$outputlangs->load("productbatch");
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
@ -182,13 +182,13 @@ class pdf_squille extends ModelePdfReception
|
||||
// Definition de $dir et $file
|
||||
if ($object->specimen)
|
||||
{
|
||||
$dir = $conf->reception->dir_output."/sending";
|
||||
$dir = $conf->reception->dir_output;
|
||||
$file = $dir . "/SPECIMEN.pdf";
|
||||
}
|
||||
else
|
||||
{
|
||||
$expref = dol_sanitizeFileName($object->ref);
|
||||
$dir = $conf->reception->dir_output."/sending/" . $expref;
|
||||
$dir = $conf->reception->dir_output."/" . $expref;
|
||||
$file = $dir . "/" . $expref . ".pdf";
|
||||
}
|
||||
|
||||
@ -309,10 +309,10 @@ class pdf_squille extends ModelePdfReception
|
||||
if ($object->reception_method_id > 0)
|
||||
{
|
||||
// Get code using getLabelFromKey
|
||||
$code=$outputlangs->getLabelFromKey($this->db,$object->reception_method_id,'c_shipment_mode','rowid','code');
|
||||
$code=$outputlangs->getLabelFromKey($this->db,$object->shipment_method_id,'c_shipment_mode','rowid','code');
|
||||
$label='';
|
||||
if ($object->tracking_url != $object->tracking_number) $label.=$outputlangs->trans("LinkToTrackYourPackage")."<br>";
|
||||
$label.=$outputlangs->trans("SendingMethod").": ".$outputlangs->trans("SendingMethod".strtoupper($code));
|
||||
$label.=$outputlangs->trans("ReceptionMethod").": ".$outputlangs->trans("ReceptionMethod".strtoupper($code));
|
||||
//var_dump($object->tracking_url != $object->tracking_number);exit;
|
||||
if ($object->tracking_url != $object->tracking_number)
|
||||
{
|
||||
@ -405,6 +405,7 @@ class pdf_squille extends ModelePdfReception
|
||||
$pageposafter=$pageposbefore;
|
||||
//print $pageposafter.'-'.$pageposbefore;exit;
|
||||
$pdf->setPageOrientation('', 1, $heightforfooter); // The only function to edit the bottom margin of current page to set it.
|
||||
|
||||
pdf_writelinedesc($pdf,$object,$i,$outputlangs,$this->posxpicture-$curX,3,$curX,$curY,$hideref,$hidedesc);
|
||||
|
||||
$pageposafter=$pdf->getPage();
|
||||
@ -453,14 +454,14 @@ class pdf_squille extends ModelePdfReception
|
||||
|
||||
$pdf->SetXY($this->posxweightvol, $curY);
|
||||
$weighttxt='';
|
||||
if ($object->lines[$i]->fk_product_type == 0 && $object->lines[$i]->weight)
|
||||
if ($object->lines[$i]->fk_product_type == 0 && $object->lines[$i]->product->weight)
|
||||
{
|
||||
$weighttxt=round($object->lines[$i]->weight * $object->lines[$i]->qty_shipped, 5).' '.measuring_units_string($object->lines[$i]->weight_units,"weight");
|
||||
$weighttxt=round($object->lines[$i]->product->weight * $object->lines[$i]->qty, 5).' '.measuring_units_string($object->lines[$i]->product->weight_units,"weight");
|
||||
}
|
||||
$voltxt='';
|
||||
if ($object->lines[$i]->fk_product_type == 0 && $object->lines[$i]->volume)
|
||||
if ($object->lines[$i]->fk_product_type == 0 && $object->lines[$i]->product->volume)
|
||||
{
|
||||
$voltxt=round($object->lines[$i]->volume * $object->lines[$i]->qty_shipped, 5).' '.measuring_units_string($object->lines[$i]->volume_units?$object->lines[$i]->volume_units:0,"volume");
|
||||
$voltxt=round($object->lines[$i]->product->volume * $object->lines[$i]->qty, 5).' '.measuring_units_string($object->lines[$i]->product->volume_units?$object->lines[$i]->product->volume_units:0,"volume");
|
||||
}
|
||||
|
||||
$pdf->writeHTMLCell($this->posxqtyordered - $this->posxweightvol + 2, 3, $this->posxweightvol - 1, $curY, $weighttxt.(($weighttxt && $voltxt)?'<br>':'').$voltxt, 0, 0, false, true, 'C');
|
||||
@ -473,7 +474,7 @@ class pdf_squille extends ModelePdfReception
|
||||
}
|
||||
|
||||
$pdf->SetXY($this->posxqtytoship, $curY);
|
||||
$pdf->MultiCell(($this->posxpuht - $this->posxqtytoship), 3, $object->lines[$i]->qty_shipped,'','C');
|
||||
$pdf->MultiCell(($this->posxpuht - $this->posxqtytoship), 3, $object->lines[$i]->qty,'','C');
|
||||
|
||||
if(!empty($conf->global->MAIN_PDF_RECEPTION_DISPLAY_AMOUNT_HT))
|
||||
{
|
||||
@ -622,18 +623,20 @@ class pdf_squille extends ModelePdfReception
|
||||
$totalVolume=$tmparray['volume'];
|
||||
$totalOrdered=$tmparray['ordered'];
|
||||
$totalToShip=$tmparray['toship'];
|
||||
|
||||
// Set trueVolume and volume_units not currently stored into database
|
||||
if ($object->trueWidth && $object->trueHeight && $object->trueDepth)
|
||||
{
|
||||
$object->trueVolume=price(($object->trueWidth * $object->trueHeight * $object->trueDepth), 0, $outputlangs, 0, 0);
|
||||
$object->volume_units=$object->size_units * 3;
|
||||
|
||||
}
|
||||
|
||||
|
||||
if ($totalWeight!='') $totalWeighttoshow=showDimensionInBestUnit($totalWeight, 0, "weight", $outputlangs);
|
||||
if ($totalVolume!='') $totalVolumetoshow=showDimensionInBestUnit($totalVolume, 0, "volume", $outputlangs);
|
||||
if ($object->trueWeight) $totalWeighttoshow=showDimensionInBestUnit($object->trueWeight, $object->weight_units, "weight", $outputlangs);
|
||||
if ($object->trueVolume) $totalVolumetoshow=showDimensionInBestUnit($object->trueVolume, $object->volume_units, "volume", $outputlangs);
|
||||
|
||||
|
||||
$pdf->SetFillColor(255,255,255);
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("Total"), 0, 'L', 1);
|
||||
@ -740,7 +743,7 @@ class pdf_squille extends ModelePdfReception
|
||||
if (empty($hidetop))
|
||||
{
|
||||
$pdf->SetXY($this->posxqtytoship, $tab_top+1);
|
||||
$pdf->MultiCell(($this->posxpuht - $this->posxqtytoship), 2, $outputlangs->transnoentities("QtyToShip"),'','C');
|
||||
$pdf->MultiCell(($this->posxpuht - $this->posxqtytoship), 2, $outputlangs->transnoentities("QtyToReceive"),'','C');
|
||||
}
|
||||
|
||||
if(!empty($conf->global->MAIN_PDF_RECEPTION_DISPLAY_AMOUNT_HT)) {
|
||||
@ -834,7 +837,7 @@ class pdf_squille extends ModelePdfReception
|
||||
//$pdf->Rect($this->marge_gauche, $this->marge_haute, $this->page_largeur-$this->marge_gauche-$this->marge_droite, 30);
|
||||
if (! empty($conf->barcode->enabled))
|
||||
{
|
||||
// TODO Build code bar with function writeBarCode of barcode module for sending ref $object->ref
|
||||
// TODO Build code bar with function writeBarCode of barcode module for reception ref $object->ref
|
||||
//$pdf->SetXY($this->marge_gauche+3, $this->marge_haute+3);
|
||||
//$pdf->Image($logo,10, 5, 0, 24);
|
||||
}
|
||||
@ -842,7 +845,7 @@ class pdf_squille extends ModelePdfReception
|
||||
$pdf->SetDrawColor(128,128,128);
|
||||
if (! empty($conf->barcode->enabled))
|
||||
{
|
||||
// TODO Build code bar with function writeBarCode of barcode module for sending ref $object->ref
|
||||
// TODO Build code bar with function writeBarCode of barcode module for reception ref $object->ref
|
||||
//$pdf->SetXY($this->marge_gauche+3, $this->marge_haute+3);
|
||||
//$pdf->Image($logo,10, 5, 0, 24);
|
||||
}
|
||||
@ -854,7 +857,7 @@ class pdf_squille extends ModelePdfReception
|
||||
$pdf->SetFont('','B', $default_font_size + 2);
|
||||
$pdf->SetXY($posx,$posy);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$title=$outputlangs->transnoentities("SendingSheet");
|
||||
$title=$outputlangs->transnoentities("ReceptionSheet");
|
||||
$pdf->MultiCell($w, 4, $title, '', 'R');
|
||||
|
||||
$pdf->SetFont('','', $default_font_size + 1);
|
||||
@ -863,7 +866,7 @@ class pdf_squille extends ModelePdfReception
|
||||
|
||||
$pdf->SetXY($posx,$posy);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->MultiCell($w, 4, $outputlangs->transnoentities("RefSending") ." : ".$object->ref, '', 'R');
|
||||
$pdf->MultiCell($w, 4, $outputlangs->transnoentities("RefReception") ." : ".$object->ref, '', 'R');
|
||||
|
||||
// Date planned delivery
|
||||
if (! empty($object->date_delivery))
|
||||
@ -874,12 +877,12 @@ class pdf_squille extends ModelePdfReception
|
||||
$pdf->MultiCell($w, 4, $outputlangs->transnoentities("DateDeliveryPlanned")." : ".dol_print_date($object->date_delivery,"day",false,$outputlangs,true), '', 'R');
|
||||
}
|
||||
|
||||
if (! empty($object->thirdparty->code_client))
|
||||
if (! empty($object->thirdparty->code_fournisseur))
|
||||
{
|
||||
$posy+=4;
|
||||
$pdf->SetXY($posx,$posy);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->MultiCell($w, 3, $outputlangs->transnoentities("CustomerCode")." : " . $outputlangs->transnoentities($object->thirdparty->code_client), '', 'R');
|
||||
$pdf->MultiCell($w, 3, $outputlangs->transnoentities("SupplierCode")." : " . $outputlangs->transnoentities($object->thirdparty->code_fournisseur), '', 'R');
|
||||
}
|
||||
|
||||
|
||||
@ -891,11 +894,11 @@ class pdf_squille extends ModelePdfReception
|
||||
$origin_id = $object->origin_id;
|
||||
|
||||
// TODO move to external function
|
||||
if (! empty($conf->$origin->enabled)) // commonly $origin='commande'
|
||||
if (! empty($conf->fournisseur->enabled)) // commonly $origin='commande'
|
||||
{
|
||||
$outputlangs->load('orders');
|
||||
|
||||
$classname = ucfirst($origin);
|
||||
$classname = 'CommandeFournisseur';
|
||||
$linkedobject = new $classname($this->db);
|
||||
$result=$linkedobject->fetch($origin_id);
|
||||
if ($result >= 0)
|
||||
@ -962,7 +965,8 @@ class pdf_squille extends ModelePdfReception
|
||||
|
||||
// If RECEPTION contact defined, we use it
|
||||
$usecontact=false;
|
||||
$arrayidcontact=$object->$origin->getIdContact('external','RECEPTION');
|
||||
$arrayidcontact=$object->$origin->getIdContact('external','SHIPPING');
|
||||
|
||||
if (count($arrayidcontact) > 0)
|
||||
{
|
||||
$usecontact=true;
|
||||
|
||||
@ -34,6 +34,7 @@ elseif ($module == 'order_supplier') { $permission=$user->rights->fournisseur->c
|
||||
elseif ($module == 'project') { $permission=$user->rights->projet->creer; }
|
||||
elseif ($module == 'action') { $permission=$user->rights->agenda->myactions->create; }
|
||||
elseif ($module == 'shipping') { $permission=$user->rights->expedition->creer; }
|
||||
elseif ($module == 'reception') { $permission=$user->rights->reception->creer; }
|
||||
elseif ($module == 'project_task') { $permission=$user->rights->projet->creer; }
|
||||
elseif (! isset($permission) && isset($user->rights->$module->creer))
|
||||
{
|
||||
@ -86,7 +87,7 @@ if ($permission) {
|
||||
<div class="tagtd maxwidthonsmartphone">
|
||||
<?php
|
||||
$tmpobject=$object;
|
||||
if ($object->element == 'shipping' && is_object($objectsrc)) $tmpobject=$objectsrc;
|
||||
if (($object->element == 'shipping' || $object->element == 'reception') && is_object($objectsrc)) $tmpobject=$objectsrc;
|
||||
echo $formcompany->selectTypeContact($tmpobject, '', 'type','internal');
|
||||
?></div>
|
||||
<div class="tagtd"> </div>
|
||||
@ -125,7 +126,7 @@ if ($permission) {
|
||||
<div class="tagtd maxwidthonsmartphone noborderbottom">
|
||||
<?php
|
||||
$tmpobject=$object;
|
||||
if ($object->element == 'shipping' && is_object($objectsrc)) $tmpobject=$objectsrc;
|
||||
if (($object->element == 'shipping'|| $object->element == 'reception') && is_object($objectsrc)) $tmpobject=$objectsrc;
|
||||
$formcompany->selectTypeContact($tmpobject, '', 'type','external'); ?>
|
||||
</div>
|
||||
<div class="tagtd noborderbottom"> </div>
|
||||
@ -155,7 +156,7 @@ if ($permission) {
|
||||
foreach($arrayofsource as $source) {
|
||||
|
||||
$tmpobject=$object;
|
||||
if ($object->element == 'shipping' && is_object($objectsrc)) $tmpobject=$objectsrc;
|
||||
if (($object->element == 'shipping'|| $object->element == 'reception') && is_object($objectsrc)) $tmpobject=$objectsrc;
|
||||
|
||||
$tab = $tmpobject->liste_contact(-1,$source);
|
||||
$num=count($tab);
|
||||
|
||||
@ -333,16 +333,23 @@ class CommandeFournisseurDispatch extends CommonObject
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
|
||||
{
|
||||
if(empty($this->id) && !empty($this->rowid))$this->id=$this->rowid;
|
||||
$result=$this->insertExtraFields();
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Uncomment this and change MYOBJECT to your own tag if you
|
||||
// want this action calls a trigger.
|
||||
|
||||
//// Call triggers
|
||||
//$result=$this->call_trigger('MYOBJECT_MODIFY',$user);
|
||||
//if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail}
|
||||
//// End call triggers
|
||||
}
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('LINERECEPTION_UPDATE',$user);
|
||||
if ($result < 0) $error++;
|
||||
// End call triggers
|
||||
}
|
||||
}
|
||||
|
||||
// Commit or rollback
|
||||
|
||||
@ -166,17 +166,17 @@ if (empty($reshook))
|
||||
$result = $object->setIncoterms(GETPOST('incoterm_id', 'int'), GETPOST('location_incoterms', 'alpha'));
|
||||
}
|
||||
|
||||
if ($action == 'setref_customer')
|
||||
if ($action == 'setref_supplier')
|
||||
{
|
||||
$result = $object->fetch($id);
|
||||
if ($result < 0) {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
|
||||
$result = $object->setValueFrom('ref_customer', GETPOST('ref_customer','alpha'), '', null, 'text', '', $user, 'RECEPTION_MODIFY');
|
||||
$result = $object->setValueFrom('ref_supplier', GETPOST('ref_supplier','alpha'), '', null, 'text', '', $user, 'RECEPTION_MODIFY');
|
||||
if ($result < 0) {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
$action = 'editref_customer';
|
||||
$action = 'editref_supplier';
|
||||
} else {
|
||||
header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id);
|
||||
exit;
|
||||
@ -622,202 +622,77 @@ if (empty($reshook))
|
||||
else if ($action == 'updateline' && $user->rights->reception->creer && GETPOST('save'))
|
||||
{
|
||||
// Clean parameters
|
||||
$qty=0;
|
||||
$qty = 0;
|
||||
$entrepot_id = 0;
|
||||
$batch_id = 0;
|
||||
|
||||
$lines = $object->lines;
|
||||
$num_prod = count($lines);
|
||||
for ($i = 0 ; $i < $num_prod ; $i++)
|
||||
for ($i = 0; $i < $num_prod; $i++)
|
||||
{
|
||||
if ($lines[$i]->id == $line_id) // we have found line to update
|
||||
if ($lines[$i]->id == $line_id) // we have found line to update
|
||||
{
|
||||
$line = new CommandeFournisseurDispatch($db);
|
||||
$line->fetch($line_id);
|
||||
// Extrafields Lines
|
||||
$extrafieldsline = new ExtraFields($db);
|
||||
$extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line);
|
||||
$line->array_options = $extrafieldsline->getOptionalsFromPost($extralabelsline);
|
||||
// Unset extrafield POST Data
|
||||
if (is_array($extralabelsline)) {
|
||||
foreach ($extralabelsline as $key => $value) {
|
||||
unset($_POST["options_" . $key]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$line->fk_product = $lines[$i]->fk_product;
|
||||
if (is_array($lines[$i]->detail_batch) && count($lines[$i]->detail_batch) > 0)
|
||||
|
||||
|
||||
|
||||
|
||||
if ($lines[$i]->fk_product > 0)
|
||||
{
|
||||
// line with lot
|
||||
foreach ($lines[$i]->detail_batch as $detail_batch)
|
||||
{
|
||||
$lotStock = new Productbatch($db);
|
||||
$batch="batchl".$detail_batch->fk_receptiondet."_".$detail_batch->fk_origin_stock;
|
||||
$qty = "qtyl".$detail_batch->fk_receptiondet.'_'.$detail_batch->id;
|
||||
$batch_id = GETPOST($batch,'int');
|
||||
$batch_qty = GETPOST($qty, 'int');
|
||||
if (! empty($batch_id) && ($batch_id != $detail_batch->fk_origin_stock || $batch_qty != $detail_batch->dluo_qty))
|
||||
{
|
||||
if ($lotStock->fetch($batch_id) > 0 && $line->fetch($detail_batch->fk_receptiondet) > 0) // $line is ReceptionLine
|
||||
{
|
||||
if ($lines[$i]->entrepot_id != 0)
|
||||
{
|
||||
// allow update line entrepot_id if not multi warehouse reception
|
||||
$line->entrepot_id = $lotStock->warehouseid;
|
||||
}
|
||||
|
||||
// detail_batch can be an object with keys, or an array of ReceptionLineBatch
|
||||
if (empty($line->detail_batch)) $line->detail_batch=new stdClass();
|
||||
|
||||
$line->detail_batch->fk_origin_stock = $batch_id;
|
||||
$line->detail_batch->batch = $lotStock->batch;
|
||||
$line->detail_batch->id = $detail_batch->id;
|
||||
$line->detail_batch->entrepot_id = $lotStock->warehouseid;
|
||||
$line->detail_batch->dluo_qty = $batch_qty;
|
||||
if ($line->update($user) < 0) {
|
||||
setEventMessages($line->error, $line->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
setEventMessages($lotStock->error, $lotStock->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
unset($_POST[$batch]);
|
||||
unset($_POST[$qty]);
|
||||
|
||||
// single warehouse reception line
|
||||
$stockLocation = "entl".$line_id;
|
||||
$qty = "qtyl".$line_id;
|
||||
|
||||
|
||||
$line->id = $line_id;
|
||||
$line->fk_entrepot = GETPOST($stockLocation, 'int');
|
||||
$line->qty = GETPOST($qty, 'int');
|
||||
|
||||
if(!empty($conf->productbatch->enabled)){
|
||||
$batch = "batch".$line_id;
|
||||
$dlc = "dlc".$line_id;
|
||||
$dluo = "dluo".$line_id;
|
||||
$eatby = GETPOST($dlc, 'alpha');
|
||||
$eatbydate = str_replace('/','-',$eatby);
|
||||
$sellby = GETPOST($dluo, 'alpha');
|
||||
$sellbydate = str_replace('/','-',$sellby);
|
||||
$line->batch = GETPOST($batch, 'alpha');
|
||||
$line->eatby = strtotime($eatbydate);
|
||||
$line->sellby = strtotime($sellbydate);
|
||||
}
|
||||
// add new batch
|
||||
$lotStock = new Productbatch($db);
|
||||
$batch="batchl".$line_id."_0";
|
||||
$qty = "qtyl".$line_id."_0";
|
||||
$batch_id = GETPOST($batch,'int');
|
||||
$batch_qty = GETPOST($qty, 'int');
|
||||
$lineIdToAddLot = 0;
|
||||
if ($batch_qty > 0 && ! empty($batch_id))
|
||||
|
||||
|
||||
|
||||
if ($line->update($user) < 0)
|
||||
{
|
||||
if ($lotStock->fetch($batch_id) > 0)
|
||||
{
|
||||
// check if lotStock warehouse id is same as line warehouse id
|
||||
if ($lines[$i]->entrepot_id > 0)
|
||||
{
|
||||
// single warehouse reception line
|
||||
if ($lines[i]->entrepot_id == $lotStock->warehouseid)
|
||||
{
|
||||
$lineIdToAddLot = $line_id;
|
||||
}
|
||||
}
|
||||
else if (count($lines[$i]->details_entrepot) > 1)
|
||||
{
|
||||
// multi warehouse reception lines
|
||||
foreach ($lines[$i]->details_entrepot as $detail_entrepot)
|
||||
{
|
||||
if ($detail_entrepot->entrepot_id == $lotStock->warehouseid)
|
||||
{
|
||||
$lineIdToAddLot = $detail_entrepot->line_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($lineIdToAddLot)
|
||||
{
|
||||
// add lot to existing line
|
||||
if ($line->fetch($lineIdToAddLot) > 0)
|
||||
{
|
||||
$line->detail_batch->fk_origin_stock = $batch_id;
|
||||
$line->detail_batch->batch = $lotStock->batch;
|
||||
$line->detail_batch->entrepot_id = $lotStock->warehouseid;
|
||||
$line->detail_batch->dluo_qty = $batch_qty;
|
||||
if ($line->update($user) < 0) {
|
||||
setEventMessages($line->error, $line->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
setEventMessages($line->error, $line->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// create new line with new lot
|
||||
$line->origin_line_id = $lines[$i]->origin_line_id;
|
||||
$line->entrepot_id = $lotStock->warehouseid;
|
||||
$line->detail_batch[0] = new ReceptionLineBatch($db);
|
||||
$line->detail_batch[0]->fk_origin_stock = $batch_id;
|
||||
$line->detail_batch[0]->batch = $lotStock->batch;
|
||||
$line->detail_batch[0]->entrepot_id = $lotStock->warehouseid;
|
||||
$line->detail_batch[0]->dluo_qty = $batch_qty;
|
||||
if ($object->create_line_batch($line, $line->array_options) < 0)
|
||||
{
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
setEventMessages($lotStock->error, $lotStock->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
setEventMessages($line->error, $line->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
else // Product no predefined
|
||||
{
|
||||
if ($lines[$i]->fk_product > 0)
|
||||
$qty = "qtyl".$line_id;
|
||||
$line->id = $line_id;
|
||||
$line->qty = GETPOST($qty, 'int');
|
||||
$line->fk_entrepot = 0;
|
||||
if ($line->update($user) < 0)
|
||||
{
|
||||
// line without lot
|
||||
if ($lines[$i]->entrepot_id > 0)
|
||||
{
|
||||
// single warehouse reception line
|
||||
$stockLocation="entl".$line_id;
|
||||
$qty = "qtyl".$line_id;
|
||||
$line->id = $line_id;
|
||||
$line->entrepot_id = GETPOST($stockLocation,'int');
|
||||
$line->qty = GETPOST($qty, 'int');
|
||||
if ($line->update($user) < 0) {
|
||||
setEventMessages($line->error, $line->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
unset($_POST[$stockLocation]);
|
||||
unset($_POST[$qty]);
|
||||
}
|
||||
else if (count($lines[$i]->details_entrepot) > 1)
|
||||
{
|
||||
// multi warehouse reception lines
|
||||
foreach ($lines[$i]->details_entrepot as $detail_entrepot)
|
||||
{
|
||||
if (! $error) {
|
||||
$stockLocation="entl".$detail_entrepot->line_id;
|
||||
$qty = "qtyl".$detail_entrepot->line_id;
|
||||
$warehouse = GETPOST($stockLocation,'int');
|
||||
if (!empty ($warehouse))
|
||||
{
|
||||
$line->id = $detail_entrepot->line_id;
|
||||
$line->entrepot_id = $warehouse;
|
||||
$line->qty = GETPOST($qty, 'int');
|
||||
if ($line->update($user) < 0) {
|
||||
setEventMessages($line->error, $line->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
unset($_POST[$stockLocation]);
|
||||
unset($_POST[$qty]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else // Product no predefined
|
||||
{
|
||||
$qty = "qtyl".$line_id;
|
||||
$line->id = $line_id;
|
||||
$line->qty = GETPOST($qty, 'int');
|
||||
$line->entrepot_id = 0;
|
||||
if ($line->update($user) < 0) {
|
||||
setEventMessages($line->error, $line->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
unset($_POST[$qty]);
|
||||
setEventMessages($line->error, $line->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
unset($_POST[$qty]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1953,7 +1828,7 @@ else if ($id || $ref)
|
||||
if ($obj)
|
||||
{
|
||||
// $obj->rowid is rowid in $origin."det" table
|
||||
$alreadysent[$obj->rowid][$obj->receptionline_id]=array('reception_ref'=>$obj->reception_ref, 'reception_id'=>$obj->reception_id, 'warehouse'=>$obj->fk_entrepot, 'qty_shipped'=>$obj->qty, 'date_valid'=>$obj->date_valid, 'date_delivery'=>$obj->date_delivery);
|
||||
$alreadysent[$obj->rowid][$obj->receptionline_id]=array('reception_ref'=>$obj->reception_ref, 'reception_id'=>$obj->reception_id, 'warehouse'=>$obj->fk_entrepot, 'qty'=>$obj->qty, 'date_valid'=>$obj->date_valid, 'date_delivery'=>$obj->date_delivery);
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
@ -1981,20 +1856,16 @@ else if ($id || $ref)
|
||||
{
|
||||
$prod = new Product($db);
|
||||
$prod->fetch($lines[$i]->fk_product);
|
||||
$label = ( ! empty($prod->multilangs[$outputlangs->defaultlang]["label"])) ? $prod->multilangs[$outputlangs->defaultlang]["label"] : $lines[$i]->product->product_label;
|
||||
$label = ( ! empty($prod->multilangs[$outputlangs->defaultlang]["label"])) ? $prod->multilangs[$outputlangs->defaultlang]["label"] : $lines[$i]->product->label;
|
||||
}
|
||||
else
|
||||
$label = (! empty($lines[$i]->product->label)?$lines[$i]->product->label:$lines[$i]->product->product_label);
|
||||
|
||||
print '<td>';
|
||||
|
||||
// Show product and description
|
||||
$product_static->type=$lines[$i]->product->fk_product_type;
|
||||
$product_static->id=$lines[$i]->product->fk_product;
|
||||
$product_static->ref=$lines[$i]->product->ref;
|
||||
$product_static->status_batch=$lines[$i]->product->product_tobatch;
|
||||
|
||||
$text=$product_static->getNomUrl(1);
|
||||
|
||||
$text=$lines[$i]->product->getNomUrl(1);
|
||||
$text.= ' - '.$label;
|
||||
$description=(! empty($conf->global->PRODUIT_DESC_IN_FORM)?'':dol_htmlentitiesbr($lines[$i]->product->description));
|
||||
print $form->textwithtooltip($text,$description,3,'','',$i);
|
||||
@ -2042,7 +1913,7 @@ else if ($id || $ref)
|
||||
if ($j > 1) print '<br>';
|
||||
$reception_static->fetch($receptionline_var['reception_id']);
|
||||
print $reception_static->getNomUrl(1);
|
||||
print ' - '.$receptionline_var['qty_shipped'];
|
||||
print ' - '.$receptionline_var['qty'];
|
||||
|
||||
$htmltext=$langs->trans("DateValidation").' : '.(empty($receptionline_var['date_valid'])?$langs->trans("Draft"):dol_print_date($receptionline_var['date_valid'], 'dayhour'));
|
||||
if (! empty($conf->stock->enabled) && $receptionline_var['warehouse'] > 0)
|
||||
@ -2068,11 +1939,18 @@ else if ($id || $ref)
|
||||
print '<!-- case edit 1 -->';
|
||||
print '<tr>';
|
||||
// Qty to ship or shipped
|
||||
print '<td>' . '<input name="qtyl'.$line_id.'" id="qtyl'.$line_id.'" type="text" size="4" value="'.$lines[$i]->qty_shipped.'">' . '</td>';
|
||||
print '<td>' . '<input name="qtyl'.$line_id.'" id="qtyl'.$line_id.'" type="text" size="4" value="'.$lines[$i]->qty.'">' . '</td>';
|
||||
// Warehouse source
|
||||
print '<td>' . $formproduct->selectWarehouses($lines[$i]->entrepot_id, 'entl'.$line_id, '', 1, 0, $lines[$i]->fk_product, '', 1). '</td>';
|
||||
//@TODO Batch number managment
|
||||
if($conf->productbatch->enabled)print '<td> - ' . $langs->trans("NA") . '</td>';
|
||||
print '<td>' . $formproduct->selectWarehouses($lines[$i]->fk_entrepot, 'entl'.$line_id, '', 1, 0, $lines[$i]->fk_product, '', 1). '</td>';
|
||||
// Batch number managment
|
||||
if($conf->productbatch->enabled){
|
||||
print '<td> <input name="batch'.$line_id.'" id="batch'.$line_id.'" type="text" value="'.$lines[$i]->batch.'"> </br>';
|
||||
print $langs->trans('EatByDate').' : ';
|
||||
print $form->select_date($lines[$i]->eatby,'dlc' .$line_id , '', '', 1, ""). '</br>';
|
||||
print $langs->trans('SellByDate').' : ';
|
||||
print $form->select_date($lines[$i]->sellby,'dluo' .$line_id , '', '', 1, "");
|
||||
print '</td>';
|
||||
}
|
||||
print '</tr>';
|
||||
|
||||
}
|
||||
@ -2081,7 +1959,7 @@ else if ($id || $ref)
|
||||
print '<!-- case edit 2 -->';
|
||||
print '<tr>';
|
||||
// Qty to ship or shipped
|
||||
print '<td>' . '<input name="qtyl'.$line_id.'" id="qtyl'.$line_id.'" type="text" size="4" value="'.$lines[$i]->qty_shipped.'">' . '</td>';
|
||||
print '<td>' . '<input name="qtyl'.$line_id.'" id="qtyl'.$line_id.'" type="text" size="4" value="'.$lines[$i]->qty.'">' . '</td>';
|
||||
// Warehouse source
|
||||
print '<td>' . '</td>';
|
||||
// Batch number managment
|
||||
@ -2196,7 +2074,7 @@ else if ($id || $ref)
|
||||
|
||||
// Display lines extrafields
|
||||
if (is_array($extralabelslines) && count($extralabelslines)>0) {
|
||||
$colspan= empty($conf->productbatch->enabled) ? 5 : 6;
|
||||
$colspan= empty($conf->productbatch->enabled) ? 8 : 9;
|
||||
$line = new CommandeFournisseurDispatch($db);
|
||||
$line->fetch_optionals($lines[$i]->id,$extralabelslines);
|
||||
print '<tr class="oddeven">';
|
||||
@ -2339,7 +2217,7 @@ else if ($id || $ref)
|
||||
|
||||
$genallowed=$user->rights->reception->lire;
|
||||
$delallowed=$user->rights->reception->creer;
|
||||
|
||||
|
||||
print $formfile->showdocuments('reception',$objectref,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf,1,0,0,28,0,'','','',$soc->default_lang);
|
||||
|
||||
|
||||
@ -2359,7 +2237,7 @@ else if ($id || $ref)
|
||||
{
|
||||
$ref = dol_sanitizeFileName($object->ref);
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||
$fileparams = dol_most_recent_file($conf->reception->dir_output . '/reception/' . $ref, preg_quote($ref, '/').'[^\-]+');
|
||||
$fileparams = dol_most_recent_file($conf->reception->dir_output . '/' . $ref, preg_quote($ref, '/').'[^\-]+');
|
||||
$file=$fileparams['fullname'];
|
||||
// Define output language
|
||||
$outputlangs = $langs;
|
||||
|
||||
@ -1194,18 +1194,22 @@ class Reception extends CommonObject
|
||||
$sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.'commande_fournisseur_dispatch WHERE fk_reception='.$this->id;
|
||||
$resql = $db->query($sql);
|
||||
if(!empty($resql)){
|
||||
|
||||
$this->lines = array();
|
||||
while ($obj = $resql->fetch_object()){
|
||||
$line = new CommandeFournisseurDispatch($db);
|
||||
$line->fetch($obj->rowid);
|
||||
$line->fetch_product();
|
||||
$sql_qtyasked = 'SELECT qty FROM llx_commande_fournisseurdet WHERE rowid='.$line->fk_commandefourndet;
|
||||
$sql_qtyasked = 'SELECT qty, description, label FROM llx_commande_fournisseurdet WHERE rowid='.$line->fk_commandefourndet;
|
||||
$resql_qtyasked = $db->query($sql_qtyasked);
|
||||
if(!empty($resql_qtyasked)){
|
||||
$obj = $db->fetch_object($resql_qtyasked);
|
||||
$line->qty_asked = $obj->qty;
|
||||
$line->description = $obj->description;
|
||||
$line->label = $obj->label;
|
||||
}else {
|
||||
$line->qty_asked = 0;
|
||||
$line->description = '';
|
||||
$line->label = $obj->label;
|
||||
}
|
||||
$this->lines[]=$line;
|
||||
}
|
||||
@ -2059,7 +2063,7 @@ class Reception extends CommonObject
|
||||
|
||||
if (! dol_strlen($modele)) {
|
||||
|
||||
$modele = 'rouget';
|
||||
$modele = 'squille';
|
||||
|
||||
if ($this->modelpdf) {
|
||||
$modele = $this->modelpdf;
|
||||
@ -2071,7 +2075,7 @@ class Reception extends CommonObject
|
||||
$modelpath = "core/modules/reception/doc/";
|
||||
|
||||
$this->fetch_origin();
|
||||
|
||||
|
||||
return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||
}
|
||||
|
||||
|
||||
@ -18,15 +18,16 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/expedition/contact.php
|
||||
* \ingroup expedition
|
||||
* \brief Onglet de gestion des contacts de expedition
|
||||
* \file htdocs/reception/contact.php
|
||||
* \ingroup reception
|
||||
* \brief Onglet de gestion des contacts de reception
|
||||
*/
|
||||
|
||||
require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/expedition/class/expedition.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/reception/class/reception.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/sendings.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/reception.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
||||
if (! empty($conf->projet->enabled)) {
|
||||
@ -35,7 +36,7 @@ if (! empty($conf->projet->enabled)) {
|
||||
}
|
||||
|
||||
$langs->load("orders");
|
||||
$langs->load("sendings");
|
||||
$langs->load("receptions");
|
||||
$langs->load("companies");
|
||||
|
||||
$id=GETPOST('id','int');
|
||||
@ -44,25 +45,27 @@ $action=GETPOST('action','alpha');
|
||||
|
||||
// Security check
|
||||
if ($user->societe_id) $socid=$user->societe_id;
|
||||
$result = restrictedArea($user, 'expedition', $id,'');
|
||||
$result = restrictedArea($user, 'reception', $id,'');
|
||||
|
||||
$object = new Expedition($db);
|
||||
$object = new Reception($db);
|
||||
if ($id > 0 || ! empty($ref))
|
||||
{
|
||||
$object->fetch($id, $ref);
|
||||
$object->fetch_thirdparty();
|
||||
|
||||
|
||||
if (!empty($object->origin))
|
||||
{
|
||||
$typeobject = $object->origin;
|
||||
$origin = $object->origin;
|
||||
|
||||
$object->fetch_origin();
|
||||
$typeobject = $object->origin;
|
||||
|
||||
}
|
||||
|
||||
// Linked documents
|
||||
if ($typeobject == 'commande' && $object->$typeobject->id && ! empty($conf->commande->enabled))
|
||||
if ($origin == 'order_supplier' && $object->$typeobject->id && ! empty($conf->fournisseur->enabled))
|
||||
{
|
||||
$objectsrc=new Commande($db);
|
||||
$objectsrc=new CommandeFournisseur($db);
|
||||
$objectsrc->fetch($object->$typeobject->id);
|
||||
}
|
||||
if ($typeobject == 'propal' && $object->$typeobject->id && ! empty($conf->propal->enabled))
|
||||
@ -77,7 +80,7 @@ if ($id > 0 || ! empty($ref))
|
||||
* Actions
|
||||
*/
|
||||
|
||||
if ($action == 'addcontact' && $user->rights->expedition->creer)
|
||||
if ($action == 'addcontact' && $user->rights->reception->creer)
|
||||
{
|
||||
if ($result > 0 && $id > 0)
|
||||
{
|
||||
@ -104,13 +107,13 @@ if ($action == 'addcontact' && $user->rights->expedition->creer)
|
||||
}
|
||||
|
||||
// bascule du statut d'un contact
|
||||
else if ($action == 'swapstatut' && $user->rights->expedition->creer)
|
||||
else if ($action == 'swapstatut' && $user->rights->reception->creer)
|
||||
{
|
||||
$result=$objectsrc->swapContactStatus(GETPOST('ligne'));
|
||||
}
|
||||
|
||||
// Efface un contact
|
||||
else if ($action == 'deletecontact' && $user->rights->expedition->creer)
|
||||
else if ($action == 'deletecontact' && $user->rights->reception->creer)
|
||||
{
|
||||
$result = $objectsrc->delete_contact(GETPOST("lineid"));
|
||||
|
||||
@ -124,7 +127,7 @@ else if ($action == 'deletecontact' && $user->rights->expedition->creer)
|
||||
}
|
||||
}
|
||||
/*
|
||||
else if ($action == 'setaddress' && $user->rights->expedition->creer)
|
||||
else if ($action == 'setaddress' && $user->rights->reception->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->setDeliveryAddress($_POST['fk_address']);
|
||||
@ -136,7 +139,7 @@ else if ($action == 'setaddress' && $user->rights->expedition->creer)
|
||||
* View
|
||||
*/
|
||||
|
||||
llxHeader('',$langs->trans('Order'),'EN:Customers_Orders|FR:expeditions_Clients|ES:Pedidos de clientes');
|
||||
llxHeader('',$langs->trans('Reception'),'EN:Customers_Orders|FR:receptions_Clients|ES:Pedidos de clientes');
|
||||
|
||||
$form = new Form($db);
|
||||
$formcompany = new FormCompany($db);
|
||||
@ -155,24 +158,24 @@ if ($id > 0 || ! empty($ref))
|
||||
{
|
||||
$langs->trans("OrderCard");
|
||||
|
||||
$head = shipping_prepare_head($object);
|
||||
dol_fiche_head($head, 'contact', $langs->trans("Shipment"), -1, 'sending');
|
||||
$head = reception_prepare_head($object);
|
||||
dol_fiche_head($head, 'contact', $langs->trans("Reception"), -1, 'sending');
|
||||
|
||||
|
||||
// Shipment card
|
||||
$linkback = '<a href="'.DOL_URL_ROOT.'/expedition/list.php">'.$langs->trans("BackToList").'</a>';
|
||||
// Reception card
|
||||
$linkback = '<a href="'.DOL_URL_ROOT.'/reception/list.php">'.$langs->trans("BackToList").'</a>';
|
||||
|
||||
$morehtmlref='<div class="refidno">';
|
||||
// Ref customer shipment
|
||||
$morehtmlref.=$form->editfieldkey("RefCustomer", '', $object->ref_customer, $object, $user->rights->expedition->creer, 'string', '', 0, 1);
|
||||
$morehtmlref.=$form->editfieldval("RefCustomer", '', $object->ref_customer, $object, $user->rights->expedition->creer, 'string', '', null, null, '', 1);
|
||||
// Ref customer reception
|
||||
$morehtmlref.=$form->editfieldkey("RefSupplier", '', $object->ref_supplier, $object, $user->rights->reception->creer, 'string', '', 0, 1);
|
||||
$morehtmlref.=$form->editfieldval("RefSupplier", '', $object->ref_supplier, $object, $user->rights->reception->creer, 'string', '', null, null, '', 1);
|
||||
// Thirdparty
|
||||
$morehtmlref.='<br>'.$langs->trans('ThirdParty') . ' : ' . $object->thirdparty->getNomUrl(1);
|
||||
// Project
|
||||
if (! empty($conf->projet->enabled)) {
|
||||
$langs->load("projects");
|
||||
$morehtmlref .= '<br>' . $langs->trans('Project') . ' ';
|
||||
if (0) { // Do not change on shipment
|
||||
if (0) { // Do not change on reception
|
||||
if ($action != 'classify') {
|
||||
$morehtmlref .= '<a href="' . $_SERVER['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a> : ';
|
||||
}
|
||||
@ -188,8 +191,8 @@ if ($id > 0 || ! empty($ref))
|
||||
$morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1);
|
||||
}
|
||||
} else {
|
||||
// We don't have project on shipment, so we will use the project or source object instead
|
||||
// TODO Add project on shipment
|
||||
// We don't have project on reception, so we will use the project or source object instead
|
||||
// TODO Add project on reception
|
||||
$morehtmlref .= ' : ';
|
||||
if (! empty($objectsrc->fk_project)) {
|
||||
$proj = new Project($db);
|
||||
@ -204,7 +207,7 @@ if ($id > 0 || ! empty($ref))
|
||||
}
|
||||
$morehtmlref.='</div>';
|
||||
|
||||
|
||||
$object->picto = 'sending';
|
||||
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
|
||||
|
||||
|
||||
@ -213,12 +216,11 @@ if ($id > 0 || ! empty($ref))
|
||||
print '<div class="underbanner clearboth"></div>';
|
||||
|
||||
print '<table class="border centpercent">';
|
||||
|
||||
// Linked documents
|
||||
if ($typeobject == 'commande' && $object->$typeobject->id && ! empty($conf->commande->enabled))
|
||||
if ($origin == 'order_supplier' && $object->$typeobject->id && ! empty($conf->fournisseur->enabled))
|
||||
{
|
||||
print '<tr><td class="titlefield">';
|
||||
$objectsrc=new Commande($db);
|
||||
$objectsrc=new CommandeFournisseur($db);
|
||||
$objectsrc->fetch($object->$typeobject->id);
|
||||
print $langs->trans("RefOrder").'</td>';
|
||||
print '<td colspan="3">';
|
||||
@ -233,7 +235,7 @@ if ($id > 0 || ! empty($ref))
|
||||
$objectsrc->fetch($object->$typeobject->id);
|
||||
print $langs->trans("RefProposal").'</td>';
|
||||
print '<td colspan="3">';
|
||||
print $objectsrc->getNomUrl(1,'expedition');
|
||||
print $objectsrc->getNomUrl(1,'reception');
|
||||
print "</td>\n";
|
||||
print '</tr>';
|
||||
}
|
||||
@ -261,11 +263,12 @@ if ($id > 0 || ! empty($ref))
|
||||
|
||||
// Contacts lines (modules that overwrite templates must declare this into descriptor)
|
||||
$dirtpls=array_merge($conf->modules_parts['tpl'],array('/core/tpl'));
|
||||
foreach($dirtpls as $reldir)
|
||||
foreach($dirtpls as $reldir)
|
||||
{
|
||||
$res=@include dol_buildpath($reldir.'/contacts.tpl.php');
|
||||
if ($res) break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -19,20 +19,21 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/expedition/note.php
|
||||
* \ingroup expedition
|
||||
* \brief Note card expedition
|
||||
* \file htdocs/reception/nosendingte.php
|
||||
* \ingroup receptionsending
|
||||
* \brief Note card reception
|
||||
*/
|
||||
|
||||
require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/expedition/class/expedition.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/sendings.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/reception/class/reception.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/reception.lib.php';
|
||||
dol_include_once('/fourn/class/fournisseur.commande.class.php');
|
||||
if (! empty($conf->projet->enabled)) {
|
||||
require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
|
||||
}
|
||||
|
||||
$langs->load("sendings");
|
||||
$langs->load("receptions");
|
||||
$langs->load("companies");
|
||||
$langs->load("bills");
|
||||
$langs->load('deliveries');
|
||||
@ -50,7 +51,7 @@ $socid='';
|
||||
if ($user->societe_id) $socid=$user->societe_id;
|
||||
$result=restrictedArea($user, $origin, $origin_id);
|
||||
|
||||
$object = new Expedition($db);
|
||||
$object = new Reception($db);
|
||||
if ($id > 0 || ! empty($ref))
|
||||
{
|
||||
$object->fetch($id, $ref);
|
||||
@ -76,7 +77,7 @@ if ($id > 0 || ! empty($ref))
|
||||
}
|
||||
}
|
||||
|
||||
$permissionnote=$user->rights->expedition->creer; // Used by the include of actions_setnotes.inc.php
|
||||
$permissionnote=$user->rights->reception->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/*
|
||||
@ -90,31 +91,31 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include,
|
||||
* View
|
||||
*/
|
||||
|
||||
llxHeader();
|
||||
llxHeader('','Reception');
|
||||
|
||||
$form = new Form($db);
|
||||
|
||||
if ($id > 0 || ! empty($ref))
|
||||
{
|
||||
|
||||
$head=shipping_prepare_head($object);
|
||||
dol_fiche_head($head, 'note', $langs->trans("Shipment"), -1, 'sending');
|
||||
$head=reception_prepare_head($object);
|
||||
dol_fiche_head($head, 'note', $langs->trans("Reception"), -1, 'sending');
|
||||
|
||||
|
||||
// Shipment card
|
||||
$linkback = '<a href="'.DOL_URL_ROOT.'/expedition/list.php">'.$langs->trans("BackToList").'</a>';
|
||||
// Reception card
|
||||
$linkback = '<a href="'.DOL_URL_ROOT.'/reception/list.php">'.$langs->trans("BackToList").'</a>';
|
||||
|
||||
$morehtmlref='<div class="refidno">';
|
||||
// Ref customer shipment
|
||||
$morehtmlref.=$form->editfieldkey("RefCustomer", '', $object->ref_customer, $object, $user->rights->expedition->creer, 'string', '', 0, 1);
|
||||
$morehtmlref.=$form->editfieldval("RefCustomer", '', $object->ref_customer, $object, $user->rights->expedition->creer, 'string', '', null, null, '', 1);
|
||||
// Ref customer reception
|
||||
$morehtmlref.=$form->editfieldkey("RefSupplier", '', $object->ref_supplier, $object, $user->rights->reception->creer, 'string', '', 0, 1);
|
||||
$morehtmlref.=$form->editfieldval("RefSupplier", '', $object->ref_supplier, $object, $user->rights->reception->creer, 'string', '', null, null, '', 1);
|
||||
// Thirdparty
|
||||
$morehtmlref.='<br>'.$langs->trans('ThirdParty') . ' : ' . $object->thirdparty->getNomUrl(1);
|
||||
// Project
|
||||
if (! empty($conf->projet->enabled)) {
|
||||
$langs->load("projects");
|
||||
$morehtmlref .= '<br>' . $langs->trans('Project') . ' ';
|
||||
if (0) { // Do not change on shipment
|
||||
if (0) { // Do not change on reception
|
||||
if ($action != 'classify') {
|
||||
$morehtmlref .= '<a href="' . $_SERVER['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a> : ';
|
||||
}
|
||||
@ -130,8 +131,8 @@ if ($id > 0 || ! empty($ref))
|
||||
$morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1);
|
||||
}
|
||||
} else {
|
||||
// We don't have project on shipment, so we will use the project or source object instead
|
||||
// TODO Add project on shipment
|
||||
// We don't have project on reception, so we will use the project or source object instead
|
||||
// TODO Add project on reception
|
||||
$morehtmlref .= ' : ';
|
||||
if (! empty($objectsrc->fk_project)) {
|
||||
$proj = new Project($db);
|
||||
@ -146,7 +147,7 @@ if ($id > 0 || ! empty($ref))
|
||||
}
|
||||
$morehtmlref.='</div>';
|
||||
|
||||
|
||||
$object->picto = 'sending';
|
||||
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user