* Copyright (C) 2010-2011 Laurent Destailleur * Copyright (C) 2012-2013 Christophe Battarel * Copyright (C) 2012 Cédric Salvador * Copyright (C) 2012-2014 Raphaël Doursenaud * Copyright (C) 2013 Florian Henry * Copyright (C) 2017 Juanjo Menent * Copyright (C) 2024-2025 MDW * Copyright (C) 2024 Frédéric France * Copyright (C) 2025 Nick Fragoulis * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Need to have the following variables defined: * $object (invoice, order, ...) * $conf * $langs * $forceall (0 by default, 1 for supplier invoices/orders) * $element (used to test $user->hasRight($element, 'creer')) * $permtoedit (used to replace test $user->hasRight($element, 'creer')) * $inputalsopricewithtax (0 by default, 1 to also show column with unit price including tax) * $disableedit, $disablemove, $disableremove * * $type, $text, $description, $line */ /** * @var Conf $conf * @var CommonObject $this * @var CommonObject $object * @var CommonObjectLine $line * @var Translate $langs * @var User $user * * @var int $i * @var int $num * @var string $action */ ' @phan-var-force receptionlinebatch $line @phan-var-force int $num @phan-var-force int $i @phan-var-force CommonObject $this @phan-var-force CommonObject $object '; // Protection to avoid direct call of template if (empty($object) || !is_object($object)) { print "Error, template page can't be called as URL"; exit(1); } global $filtertype; if (empty($filtertype)) { $filtertype = 0; } global $forceall, $senderissupplier, $inputalsopricewithtax, $outputalsopricetotalwithtax, $langs; if (empty($dateSelector)) { $dateSelector = 0; } if (empty($forceall)) { $forceall = 0; } // add html5 elements $domData = ' data-element="'.$line->element.'"'; $domData .= ' data-id="'.$line->id.'"'; $domData .= ' data-qty="'.$line->qty.'"'; $domData .= ' data-product_type="'.$line->product_type.'"'; // Lines for extrafield $objectline = new ReceptionLineBatch($this->db); $coldisplay = 0; print "\n"; print ''; // Line nb if (getDolGlobalString('MAIN_VIEW_LINE_NUMBER')) { print ''.($i + 1).''; $coldisplay++; } // Product print ''; print '
'; $coldisplay++; $tmpproduct = new Product($object->db); $tmpproduct->fetch($line->fk_product); $tmprecep = new Reception($object->db); if ($line->fk_product > 0) { print $tmpproduct->getNomUrl(1); print ' - '.$tmpproduct->label; } else { print ' - '.$line->description; } print ''; // Qty print ''; $coldisplay++; echo price($line->qty, 0, '', 0, 0); // Yes, it is a quantity, not a price, but we just want the formatting role of function price print ''; // Unit if (getDolGlobalInt('PRODUCT_USE_UNITS')) { // For product, unit is shown only if option PRODUCT_USE_UNITS is on print ''; $coldisplay++; $label = measuringUnitString((int) $line->fk_unit, '', null, 1); if ($label !== '') { print $langs->trans($label); } print ''; } if ($this->status == 0 && $user->hasRight('reception', 'write') && $action != 'selectlines') { print ''; $coldisplay++; if (((int) $line->info_bits & 2) == 2 || !empty($disableedit)) { } else { print 'id.'">'.img_edit().''; } print ''; print ''; $coldisplay++; print 'id.'">'; print img_delete(); print ''; print ''; if ($num > 1 && $conf->browser->layout != 'phone' && empty($disablemove)) { print ''; $coldisplay++; if ($i > 0) { print 'id.'">'; echo img_up('default', 0, 'imgupforline'); print ''; } if ($i < $num - 1) { print 'id.'">'; echo img_down('default', 0, 'imgdownforline'); print ''; } print ''; } else { print 'browser->layout != 'phone' && empty($disablemove)) ? ' class="linecolmove tdlineupdown center"' : ' class="linecolmove center"').'>'; $coldisplay++; } } else { print ''; $coldisplay += 3; } if ($action == 'selectlines') { print ''; print ''; print ''; } print ''; print "\n";