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 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">' . $langs->trans("ManufacturingOrder");
62 if (!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) {
63 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';
64 }
65 echo '</td>';
66 echo '<td class="linkedcol-name nowraponall" >' . $objectlink->getNomUrl(1) . '</td>';
67
68 echo '<td class="linkedcol-ref center">';
69 // $result = $product_static->fetch($objectlink->fk_product);
70 print '</td>';
71 echo '<td class="linkedcol-date center">' . dol_print_date($objectlink->date_creation, 'day') . '</td>';
72 echo '<td class="linkedcol-amount right">-</td>';
73 echo '<td class="linkedcol-statut right">' . $objectlink->getLibStatut(3) . '</td>';
74 echo '<td class="linkedcol-action right">';
75
76 // we want to make the link via element_element for delete action
77 $sql = " Select rowid from " . MAIN_DB_PREFIX . "element_element";
78 $sql .= " WHERE fk_source = " . (int) $object->id . " and fk_target = '" . dol_escape_htmltag($key) . "'";
79
80 $resql = $db->query($sql);
81 $k = 0;
82 if ($resql) {
83 $obj = $db->fetch_object($resql);
84 if ($obj->rowid && $obj->rowid > 0) {
85 $k = $obj->rowid;
86 }
87 }
88 echo '<a class="reposition" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=dellink&token=' . newToken() . '&dellinkid=' . $k . '">' . img_picto($langs->transnoentitiesnoconv("RemoveLink"), 'unlink') . '</a>';
89 echo '</td>';
90 echo "</tr>\n";
91 }
92 }
93} else {
94 $linkedObjectBlock = dol_sort_array($linkedObjectBlock, 'date', 'desc', 0, 0, 1);
95 '@phan-var-force array<CommonObject> $linkedObjectBlock';
96 $total = 0;
97 $ilink = 0;
98 foreach ($linkedObjectBlock as $key => $objectlink) {
99 $ilink++;
100
101 $trclass = 'oddeven';
102 if ($ilink == count($linkedObjectBlock) && empty($noMoreLinkedObjectBlockAfter) && count($linkedObjectBlock) <= 1) {
103 $trclass .= ' liste_sub_total';
104 }
105 print '<tr class="'.$trclass.'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" >';
106 print '<td class="linkedcol-element tdoverflowmax100">'.$langs->trans("ManufacturingOrder");
107 if (!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) {
108 $url = DOL_URL_ROOT.'/mrp/mo_card.php?id='.$objectlink->id;
109 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>';
110 }
111 print '</td>';
112
113 print '<td class="linkedcol-name tdoverflowmax150">'.$objectlink->getNomUrl(1).'</td>';
114 print '<td class="linkedcol-ref" >'.$objectlink->ref_client.'</td>';
115 print '<td class="linkedcol-date center">'.dol_print_date($objectlink->date_start_planned, 'day').'</td>';
116 print '<td class="linkedcol-amount right">-</td>';
117 print '<td class="linkedcol-statut right">'.$objectlink->getLibStatut(3).'</td>';
118 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>';
119 print "</tr>\n";
120 }
121}
122
123echo "<!-- END PHP TEMPLATE -->\n";
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
Definition card.php:58
Class for Mo.
Definition mo.class.php:34
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
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