';
// print '
';
diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php
index 04ea05d3f5d..84718e7dc89 100644
--- a/htdocs/commande/card.php
+++ b/htdocs/commande/card.php
@@ -2305,11 +2305,14 @@ if ($action == 'create' && $user->rights->commande->creer)
$delallowed = $user->rights->commande->supprimer;
$somethingshown = $formfile->show_documents('commande', $comref, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', '', '', $soc->default_lang);
- /*
- * Linked object block
- */
+ // Linked object block
$somethingshown = $form->showLinkedObjectBlock($object);
+ // Show links to link elements
+ //$linktoelem = $form->showLinkToObjectBlock($object);
+ //if ($linktoelem) print ' '.$linktoelem;
+
+
print ' | ';
diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php
index a73a1de3607..041bb42633f 100644
--- a/htdocs/compta/facture.php
+++ b/htdocs/compta/facture.php
@@ -3778,75 +3778,8 @@ if ($action == 'create')
// Linked object block
$somethingshown = $form->showLinkedObjectBlock($object);
- $linktoelem='';
-
- if (! empty($conf->commande->enabled))
- {
- $linktoelem.=($linktoelem?' ':'').'' . $langs->trans('LinkedOrder') . '';
-
- print '
-
- ';
-
- print '';
-
- $sql = "SELECT s.rowid as socid, s.nom as name, s.client, c.rowid, c.ref, c.ref_client, c.total_ht";
- $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s";
- $sql .= ", " . MAIN_DB_PREFIX . "commande as c";
- $sql .= ' WHERE c.fk_soc = s.rowid AND c.fk_soc = ' . $soc->id . '';
-
- $resqlorderlist = $db->query($sql);
- if ($resqlorderlist)
- {
- $num = $db->num_rows($resqlorderlist);
- $i = 0;
-
- print ' ';
- $db->free($resqlorderlist);
- } else {
- dol_print_error($db);
- }
-
- print ' ';
- }
-
- // Show link to elements
+ // Show links to link elements
+ $linktoelem = $form->showLinkToObjectBlock($object,array('order'));
if ($linktoelem) print ' '.$linktoelem;
// Link for paypal payment
diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php
index 3df24e4e667..6bf7dcaeacc 100644
--- a/htdocs/contrat/card.php
+++ b/htdocs/contrat/card.php
@@ -1871,10 +1871,13 @@ else
$somethingshown = $formfile->show_documents('contract', $filename, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', 0, '', $soc->default_lang);
- /*
- * Linked object block
- */
- $somethingshown=$form->showLinkedObjectBlock($object);
+ // Linked object block
+ $somethingshown = $form->showLinkedObjectBlock($object);
+
+ // Show links to link elements
+ $linktoelem = $form->showLinkToObjectBlock($object);
+ if ($linktoelem) print ' '.$linktoelem;
+
print '';
diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index be0d2656ec2..cef6d9a0ae4 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -4712,6 +4712,159 @@ class Form
}
}
+ /**
+ * Show block with links to link to other objects.
+ *
+ * @param CommonObject $object Object we want to show links to
+ * @param Societe $thirdparty Object thirdparty
+ * @param array $restrictlinksto Restrict links to some elements, for exemple array('order') or array('supplier_order')
+ * @return int <0 if KO, >0 if OK
+ */
+ function showLinkToObjectBlock($object, $restrictlinksto=array())
+ {
+ global $conf, $langs, $hookmanager;
+ global $bc;
+
+ $linktoelem='';
+
+ if (! is_object($object->thirdparty)) $object->fetch_thirdparty();
+
+
+ if (((! is_array($restrictlinksto)) || in_array('order',$restrictlinksto))
+ && ! empty($conf->commande->enabled))
+ {
+ $linktoelem.=($linktoelem?' ':'').' ' . $langs->trans('LinkedOrder') . '';
+
+ print '
+
+ ';
+
+ print ' global->MAIN_OPTIMIZEFORTEXTBROWSER)?' style="display:none"':'').'>';
+
+ $sql = "SELECT s.rowid as socid, s.nom as name, s.client, c.rowid, c.ref, c.ref_client, c.total_ht";
+ $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s";
+ $sql .= ", " . MAIN_DB_PREFIX . "commande as c";
+ $sql .= ' WHERE c.fk_soc = s.rowid AND c.fk_soc = ' . $object->thirdparty->id . '';
+
+ $resqlorderlist = $this->db->query($sql);
+ if ($resqlorderlist)
+ {
+ $num = $this->db->num_rows($resqlorderlist);
+ $i = 0;
+
+ print ' ';
+ $this->db->free($resqlorderlist);
+ } else {
+ dol_print_error($this->db);
+ }
+
+ print ' ';
+ }
+
+ if (((! is_array($restrictlinksto)) || in_array('supplier_order',$restrictlinksto))
+ && ! empty($conf->fournisseur->enabled))
+ {
+ $linktoelem.=($linktoelem?' ':'').' ' . $langs->trans('LinkedOrder') . '';
+
+ print '
+
+ ';
+
+ print ' global->MAIN_OPTIMIZEFORTEXTBROWSER)?' style="display:none"':'').'>';
+
+ $sql = "SELECT s.rowid as socid, s.nom as name, s.client, c.rowid, c.ref, c.ref_supplier, c.total_ht";
+ $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s";
+ $sql .= ", " . MAIN_DB_PREFIX . "commande_fournisseur as c";
+ $sql .= ' WHERE c.fk_soc = s.rowid AND c.fk_soc = ' . $object->thirdparty->id;
+
+ $resqlorderlist = $this->db->query($sql);
+ if ($resqlorderlist)
+ {
+ $num = $this->db->num_rows($resqlorderlist);
+ $i = 0;
+
+ print ' ';
+ $this->db->free($resqlorderlist);
+ } else {
+ dol_print_error($this->db);
+ }
+
+ print ' ';
+ }
+
+
+ return $linktoelem;
+ }
/**
* Return an html string with a select combo box to choose yes or no
diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php
index 85380907bbf..344e17166ad 100644
--- a/htdocs/expedition/card.php
+++ b/htdocs/expedition/card.php
@@ -1502,12 +1502,12 @@ else if ($id || $ref)
$somethingshown=$formfile->show_documents('expedition',$objectref,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf,1,0,0,28,0,'','','',$soc->default_lang);
- /*
- * Linked object block
- */
- $somethingshown=$form->showLinkedObjectBlock($object);
+ // Linked object block
+ $somethingshown = $form->showLinkedObjectBlock($object);
- if ($genallowed && ! $somethingshown) $somethingshown=1;
+ // Show links to link elements
+ //$linktoelem = $form->showLinkToObjectBlock($object);
+ //if ($linktoelem) print ' '.$linktoelem;
print ' | ';
diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php
index ad224ab9fe2..9b8e7d9a6a8 100644
--- a/htdocs/fichinter/card.php
+++ b/htdocs/fichinter/card.php
@@ -1701,7 +1701,6 @@ else if ($id > 0 || ! empty($ref))
if ($action != 'presend')
{
print '';
- //print ' ';
/*
* Built documents
@@ -1719,12 +1718,14 @@ else if ($id > 0 || ! empty($ref))
//print " \n";
$somethingshown=$formfile->show_documents('ficheinter',$filename,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf,1,0,0,28,0,'','','',$soc->default_lang);
- /*
- * Linked object block
- */
- $somethingshown=$form->showLinkedObjectBlock($object);
+ // Linked object block
+ $somethingshown = $form->showLinkedObjectBlock($object);
+
+ // Show links to link elements
+ //$linktoelem = $form->showLinkToObjectBlock($object);
+ //if ($linktoelem) print ' '.$linktoelem;
+
- //print ' | ';
print '';
// List of actions on element
@@ -1733,7 +1734,6 @@ else if ($id > 0 || ! empty($ref))
$somethingshown=$formactions->showactions($object,'fichinter',$socid);
print ' ';
- //print " |
\n";
}
diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php
index 95442273495..b56bba0c4a5 100644
--- a/htdocs/fourn/commande/card.php
+++ b/htdocs/fourn/commande/card.php
@@ -2763,10 +2763,13 @@ elseif (! empty($object->id))
print $formfile->showdocuments('commande_fournisseur',$comfournref,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf,1,0,0,0,0,'','','',$object->thirdparty->default_lang);
$somethingshown=$formfile->numoffiles;
- /*
- * Linked object block
- */
- $somethingshown=$form->showLinkedObjectBlock($object);
+ // Linked object block
+ $somethingshown = $form->showLinkedObjectBlock($object);
+
+ // Show links to link elements
+ //$linktoelem = $form->showLinkToObjectBlock($object);
+ //if ($linktoelem) print ' '.$linktoelem;
+
print ' ';
diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php
index e365f8a7070..2491c6eaff6 100644
--- a/htdocs/fourn/facture/card.php
+++ b/htdocs/fourn/facture/card.php
@@ -2412,80 +2412,14 @@ else
print $formfile->showdocuments('facture_fournisseur',$subdir,$filedir,$urlsource,$genallowed,$delallowed,$modelpdf,1,0,0,40,0,'','','',$societe->default_lang);
$somethingshown=$formfile->numoffiles;
- /*
- * Linked object block
- */
- $somethingshown=$form->showLinkedObjectBlock($object);
+ // Linked object block
+ $somethingshown = $form->showLinkedObjectBlock($object);
- $linktoelem='';
-
- if (empty($somethingshown) && ! empty($conf->fournisseur->enabled))
- {
- $linktoelem.=($linktoelem?' ':'').' ' . $langs->trans('LinkedOrder') . '';
-
- print '
-
- ';
-
- print ' ';
-
- $sql = "SELECT s.rowid as socid, s.nom as name, s.client, c.rowid, c.ref, c.ref_supplier, c.total_ht";
- $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s";
- $sql .= ", " . MAIN_DB_PREFIX . "commande_fournisseur as c";
- $sql .= ' WHERE c.fk_soc = s.rowid AND c.fk_soc = ' . $societe->id;
-
- $resqlorderlist = $db->query($sql);
- if ($resqlorderlist) {
- $num = $db->num_rows($resqlorderlist);
- $i = 0;
-
- print ' ';
- $db->free($resqlorderlist);
- } else {
- dol_print_error($db);
- }
-
- print ' ';
- }
-
- // Show link to elements
+ // Show links to link elements
+ $linktoelem = $form->showLinkToObjectBlock($object,array('supplier_order'));
if ($linktoelem) print ' '.$linktoelem;
+
print ' | ';
//print ' ';
diff --git a/htdocs/livraison/card.php b/htdocs/livraison/card.php
index 5e477d1926d..7ea9920d65b 100644
--- a/htdocs/livraison/card.php
+++ b/htdocs/livraison/card.php
@@ -788,10 +788,14 @@ else
$shipment = new Expedition($db);
$shipment->fetch($object->origin_id);
- $somethingshown=$form->showLinkedObjectBlock($shipment);
+ // Linked object block
+ $somethingshown = $form->showLinkedObjectBlock($shipment);
+
+ // Show links to link elements
+ //$linktoelem = $form->showLinkToObjectBlock($shipment);
+ //if ($linktoelem) print ' '.$linktoelem;
}
- if ($genallowed && ! $somethingshown) $somethingshown=1;
print ' | ';
|