dolibarr 22.0.5
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-2025 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 mrp/tpl/linkedobjectblock.tpl.php -->\n";
29
30global $user, $db, $hookmanager;
31global $noMoreLinkedObjectBlockAfter;
32
33$langs = $GLOBALS['langs'];
34'@phan-var-force Translate $langs';
35$linkedObjectBlock = $GLOBALS['linkedObjectBlock'];
36'@phan-var-force array<CommonObject> $linkedObjectBlock';
37$object = $GLOBALS['object'];
38
39// Load translation files required by the page
40$langs->load("bom");
41
42$total = 0;
43$ilink = 0;
44
45if ($object->element == 'mo') {
46 $mo_static = new Mo($db);
47 $res = $mo_static->fetch($object->id);
48 $TMoChilds = $mo_static->getMoChilds();
49 '@phan-var-force Mo[] $TMoChilds';
50
51 $hookmanager->initHooks(array('LinesLinkedObjectBlock'));
52 $parameters = array('TMoChilds' => $TMoChilds);
53 $reshook = $hookmanager->executeHooks('LinesLinkedObjectBlock', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
54 if (empty($reshook)) {
55 foreach ($TMoChilds as $key => $objectlink) {
56 $ilink++;
57
58 $trclass = 'oddeven';
59
60 echo '<tr class="' . $trclass . '" >';
61 echo '<td class="linkedcol-element tdoverflowmax100">';
62 if (!empty($showImportButton) && getDolGlobalInt('MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES')) {
63 print '<a class="objectlinked_importbtn" href="' . $objectlink->getNomUrl(0, '', 0, '1') . '&action=selectlines&token='.newToken().'" data-element="' . $objectlink->element . '" data-id="' . $objectlink->id . '" > <i class="fa fa-indent"></i> </a>';
64 }
65 $langs->trans("ManufacturingOrder");
66 echo '</td>';
67 echo '<td class="linkedcol-name nowraponall" >' . $objectlink->getNomUrl(1) . '</td>';
68
69 echo '<td class="linkedcol-ref center">';
70 // $result = $product_static->fetch($objectlink->fk_product);
71 print '</td>';
72 echo '<td class="linkedcol-date center">' . dol_print_date($objectlink->date_creation, 'day') . '</td>';
73 echo '<td class="linkedcol-amount right">-</td>';
74 echo '<td class="linkedcol-statut right">' . $objectlink->getLibStatut(3) . '</td>';
75 echo '<td class="linkedcol-action right">';
76
77 // we want to make the link via element_element for delete action
78 $sql = " Select rowid from " . MAIN_DB_PREFIX . "element_element";
79 $sql .= " WHERE fk_source = " . (int) $object->id . " and fk_target = '" . dol_escape_htmltag($key) . "'";
80
81 $resql = $db->query($sql);
82 $k = 0;
83 if ($resql) {
84 $obj = $db->fetch_object($resql);
85 if ($obj->rowid && $obj->rowid > 0) {
86 $k = $obj->rowid;
87 }
88 }
89 echo '<a class="reposition" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=dellink&token=' . newToken() . '&dellinkid=' . $k . '">' . img_picto($langs->transnoentitiesnoconv("RemoveLink"), 'unlink') . '</a>';
90 echo '</td>';
91 echo "</tr>\n";
92 }
93 }
94} else {
95 $linkedObjectBlock = dol_sort_array($linkedObjectBlock, 'date', 'desc', 0, 0, 1);
96 '@phan-var-force array<CommonObject> $linkedObjectBlock';
97 $total = 0;
98 $ilink = 0;
99 foreach ($linkedObjectBlock as $key => $objectlink) {
100 $ilink++;
101
102 $trclass = 'oddeven';
103 if ($ilink == count($linkedObjectBlock) && empty($noMoreLinkedObjectBlockAfter) && count($linkedObjectBlock) <= 1) {
104 $trclass .= ' liste_sub_total';
105 }
106 print '<tr class="'.$trclass.'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" >';
107 print '<td class="linkedcol-element tdoverflowmax100">'.$langs->trans("ManufacturingOrder");
108 if (!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) {
109 $url = DOL_URL_ROOT.'/mrp/mo_card.php?id='.$objectlink->id;
110 print '<a class="objectlinked_importbtn" href="'.$url.'&amp;action=selectlines&amp;token='.newToken().'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a>';
111 }
112 print '</td>';
113
114 print '<td class="linkedcol-name tdoverflowmax150">'.$objectlink->getNomUrl(1).'</td>';
115 print '<td class="linkedcol-ref tdoverflowmax150" >'.$objectlink->ref_client.'</td>';
116 print '<td class="linkedcol-date center">'.dol_print_date($objectlink->date_start_planned, 'day').'</td>';
117 print '<td class="linkedcol-amount right">-</td>';
118 print '<td class="linkedcol-statut right">'.$objectlink->getLibStatut(3).'</td>';
119 print '<td class="linkedcol-action right"><a class="reposition" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=dellink&token='.newToken().'&dellinkid='.$key.'">'.img_picto($langs->transnoentitiesnoconv("RemoveLink"), 'unlink').'</a></td>';
120 print "</tr>\n";
121 }
122}
123
124echo "<!-- END PHP TEMPLATE -->\n";
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
Definition card.php:67
Class for Mo.
Definition mo.class.php:35
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2, $allowothertags=array())
Show picto whatever it's its name (generic function)
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
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'.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0, $cleanalsojavascript=0)
Returns text escaped for inclusion in HTML alt or title or value tags, or into values of HTML input f...
$objectlink
global $conf
The following vars must be defined: $type2label $form $conf, $lang, The following vars may also be de...
Definition member.php:79