diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index a57048e..94a25f7 100755
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -2,6 +2,5 @@
-
\ No newline at end of file
diff --git a/class/actions_supplierlink3.class.php b/class/actions_supplierlink3.class.php
index c65a3d8..dcaa979 100755
--- a/class/actions_supplierlink3.class.php
+++ b/class/actions_supplierlink3.class.php
@@ -389,7 +389,7 @@ class ActionsSupplierLink3 extends CommonHookActions
* @param HookManager $hookmanager Hook manager propagated to allow calling another hook
* @return int Return integer < 0 on error, 0 on success, 1 to replace standard code
*/
- public function showLinkToObjectBlock($parameters, &$object, &$action, $hookmanager)
+ /*public function showLinkToObjectBlock($parameters, &$object, &$action, $hookmanager)
{
$myobject = new MyObject($object->db);
$this->results = array('myobject@supplierlink3' => array(
@@ -399,20 +399,68 @@ class ActionsSupplierLink3 extends CommonHookActions
'sql' => "SELECT t.rowid, t.ref, t.ref as 'name' FROM " . $this->db->prefix() . $myobject->table_element. " as t "),);
return 1;
- }
+ }*/
/* Add other hook methods here... */
public function printObjectLine($parameters, &$object, &$action, $hookmanager)
{
- if ($parameters['currentcontext'] != 'ordersuppliercard') {
+ static $css_added = false;
+
+ $isSupplierOrder = ($parameters['currentcontext'] == 'ordersuppliercard');
+ $isCustomerOrder = ($parameters['currentcontext'] == 'ordercard');
+
+ if (!$isSupplierOrder && !$isCustomerOrder) {
return 0;
}
+ // CSS nur einmal hinzufügen
+ if (!$css_added) {
+ ?>
+
+ fk_product;
+
+ $resStock = $this->db->query($sqlStock);
+ $qtyStock = 0;
+ $desiredQty = 0;
+ if ($resStock && $this->db->num_rows($resStock) > 0) {
+ $objStock = $this->db->fetch_object($resStock);
+ $qtyStock = (float) $objStock->stock;
+ $desiredQty = (float) $objStock->desiredstock;
+ }
+
+ // Farbe setzen
+ $stockColor = 'ffffff';
+ if ($qtyStock < 1) {
+ $stockColor = 'red'; // ausverkauft
+ } elseif ($qtyStock < $desiredQty) {
+ $stockColor = 'orange'; // kleiner als Wunschbestand
+ }
+
// Lieferanten-ID aus dem Bestell-Objekt holen
- if (!empty($object->socid)) {
+ if (!empty($object->socid) && $isSupplierOrder) {
$fk_supplier = $object->socid;
+
+
// Extrafeld-Wert vom Lieferanten laden
$sql = "SELECT shop_url FROM ".MAIN_DB_PREFIX."societe_extrafields";
$sql .= " WHERE fk_object = ".(int)$fk_supplier;
@@ -428,28 +476,6 @@ class ActionsSupplierLink3 extends CommonHookActions
if (!empty($shop_url)) {
- // Lagerbestand und Wunschbestand abfragen
- $sqlStock = "SELECT stock, desiredstock
- FROM ".MAIN_DB_PREFIX."product
- WHERE rowid = ".(int)$line->fk_product;
-
- $resStock = $this->db->query($sqlStock);
- $qtyStock = 0;
- $desiredQty = 0;
- if ($resStock && $this->db->num_rows($resStock) > 0) {
- $objStock = $this->db->fetch_object($resStock);
- $qtyStock = (float) $objStock->stock;
- $desiredQty = (float) $objStock->desiredstock;
- }
-
- // Farbe setzen
- $stockColor = 'ffffff';
- if ($qtyStock < 1) {
- $stockColor = 'red'; // ausverkauft
- } elseif ($qtyStock < $desiredQty) {
- $stockColor = 'orange'; // kleiner als Wunschbestand
- }
-
// Artikel-Link
$full_url = rtrim($shop_url, '/') . '/' . $line->ref_fourn;
$newref = '';
@@ -464,6 +490,22 @@ class ActionsSupplierLink3 extends CommonHookActions
}
}
}
+ } elseif ($isCustomerOrder) {
+ // NUR für Produkte, NICHT für Dienstleistungen
+ if (!empty($line->fk_product) && $line->product_type == 0) {
+
+ // Lagerbestand rechtsbündig mit float
+ $stockInfo = '';
+ $stockInfo .= '';
+ $stockInfo .= ' ' . $qtyStock . '';
+ $stockInfo .= '';
+
+ // An verschiedene mögliche Felder anhängen
+ if (isset($line->product_label)) {
+ $line->product_label .= $stockInfo;
+ }
+
+ }
}
return 0;
diff --git a/core/modules/modSupplierLink3.class.php b/core/modules/modSupplierLink3.class.php
index db06d78..c9f27e0 100755
--- a/core/modules/modSupplierLink3.class.php
+++ b/core/modules/modSupplierLink3.class.php
@@ -122,6 +122,7 @@ class modSupplierLink3 extends DolibarrModules
'hooks' => array(
'data' => array(
'ordersuppliercard',
+ 'ordercard',
),
'entity' => '0',
),