dolibarr 21.0.0-alpha
linkedobjectblock.tpl.php
1<?php
2/* Copyright (C) 2010-2011 Regis Houssin <regis.houssin@inodbox.com>
3 * Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es>
4 * Copyright (C) 2014 Marcos GarcĂ­a <marcosgdf@gmail.com>
5 * Copyright (C) 2013-2020 Charlene BENKE <charlie@patas-monkey.com>
6 * Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <https://www.gnu.org/licenses/>.
20 */
21
22// Protection to avoid direct call of template
23if (empty($conf) || !is_object($conf)) {
24 print "Error, template page can't be called as URL";
25 exit(1);
26}
27
28print "<!-- BEGIN PHP TEMPLATE bom/tpl/linkedobjectblock.tpl.php -->\n";
29
30global $user, $db;
31global $noMoreLinkedObjectBlockAfter;
32
33$langs = $GLOBALS['langs'];
34'@phan-var-force Translate $langs';
35$linkedObjectBlock = $GLOBALS['linkedObjectBlock'];
36
37// Load translation files required by the page
38$langs->load("bom");
39
40'@phan-var-force array<int,BOM> $linkedObjectBlock'; // Type before use
41$linkedObjectBlock = dol_sort_array($linkedObjectBlock, 'date', 'desc', 0, 0, 1);
42'@phan-var-force array<int,BOM> $linkedObjectBlock'; // Type after dol_sort_array which looses typing
43
44$total = 0;
45$ilink = 0;
46foreach ($linkedObjectBlock as $key => $objectlink) {
47 $ilink++;
48 $product_static = new Product($db);
49 $trclass = 'oddeven';
50 if ($ilink == count($linkedObjectBlock) && empty($noMoreLinkedObjectBlockAfter) && count($linkedObjectBlock) <= 1) {
51 $trclass .= ' liste_sub_total';
52 }
53 echo '<tr class="'.$trclass.'" >';
54 echo '<td class="linkedcol-element tdoverflowmax100">'.$langs->trans("Bom");
55 if (!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) {
56 print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&amp;action=selectlines&amp;token='.newToken().'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
57 }
58 echo '</td>';
59 echo '<td class="linkedcol-name tdoverflowmax150" >'.$objectlink->getNomUrl(1).'</td>';
60
61 echo '<td class="linkedcol-ref">';
62 $result = $product_static->fetch($objectlink->fk_product);
63 if ($result < 0) {
64 setEventMessage($product_static->error, 'errors');
65 } elseif ($result > 0) {
66 $product_static->getNomUrl(1);
67 }
68 print '</td>';
69 echo '<td class="linkedcol-date center">'.dol_print_date($objectlink->date_creation, 'day').'</td>';
70 echo '<td class="linkedcol-amount right">';
71 if ($user->hasRight('commande', 'lire')) {
72 $total += $objectlink->total_ht;
73 echo price($objectlink->total_ht);
74 }
75 echo '</td>';
76 echo '<td class="linkedcol-statut right">'.$objectlink->getLibStatut(3).'</td>';
77 echo '<td class="linkedcol-action right">';
78 // For now, shipments must stay linked to order, so link is not deletable
79 if ($object->element != 'shipping') {
80 echo '<a class="reposition" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=dellink&token='.newToken().'&dellinkid='.$key.'">'.img_picto($langs->transnoentitiesnoconv("RemoveLink"), 'unlink').'</a>';
81 }
82 echo '</td>';
83 echo "</tr>\n";
84}
85
86echo "<!-- END PHP TEMPLATE -->\n";
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
Definition card.php:58
Class to manage products or services.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
setEventMessage($mesgs, $style='mesgs', $noduplicate=0, $attop=0)
Set event message in dol_events session object.
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0, $keepindex=0)
Advanced sort array by the value of a given key, which produces ascending (default) or descending out...
newToken()
Return the value of token currently saved into session with name 'newtoken'.
$objectlink