Modul erweitert Kundenauftrag Lagerbestand eingefügt
This commit is contained in:
parent
381358a7d4
commit
834a5204bc
3 changed files with 69 additions and 27 deletions
|
|
@ -2,6 +2,5 @@
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="VcsDirectoryMappings">
|
<component name="VcsDirectoryMappings">
|
||||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
<mapping directory="$PROJECT_DIR$/main" vcs="Git" />
|
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
|
|
@ -389,7 +389,7 @@ class ActionsSupplierLink3 extends CommonHookActions
|
||||||
* @param HookManager $hookmanager Hook manager propagated to allow calling another hook
|
* @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
|
* @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);
|
$myobject = new MyObject($object->db);
|
||||||
$this->results = array('myobject@supplierlink3' => array(
|
$this->results = array('myobject@supplierlink3' => array(
|
||||||
|
|
@ -399,34 +399,39 @@ class ActionsSupplierLink3 extends CommonHookActions
|
||||||
'sql' => "SELECT t.rowid, t.ref, t.ref as 'name' FROM " . $this->db->prefix() . $myobject->table_element. " as t "),);
|
'sql' => "SELECT t.rowid, t.ref, t.ref as 'name' FROM " . $this->db->prefix() . $myobject->table_element. " as t "),);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}*/
|
||||||
/* Add other hook methods here... */
|
/* Add other hook methods here... */
|
||||||
public function printObjectLine($parameters, &$object, &$action, $hookmanager)
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CSS nur einmal hinzufügen
|
||||||
|
if (!$css_added) {
|
||||||
|
?>
|
||||||
|
<style>
|
||||||
|
/* Verstecke Info-Icons innerhalb der Lagerbestand-Anzeige */
|
||||||
|
.stock-display-wrapper .fa-info-circle {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tablelines tbody .fa-info-circle {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<?php
|
||||||
|
$css_added = true;
|
||||||
|
}
|
||||||
|
|
||||||
$line = $parameters['line'];
|
$line = $parameters['line'];
|
||||||
|
|
||||||
// Lieferanten-ID aus dem Bestell-Objekt holen
|
$line = $parameters['line'];
|
||||||
if (!empty($object->socid)) {
|
|
||||||
$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;
|
|
||||||
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
|
|
||||||
if ($resql && $this->db->num_rows($resql) > 0) {
|
|
||||||
$obj = $this->db->fetch_object($resql);
|
|
||||||
|
|
||||||
if (isset($obj->shop_url) && $obj->shop_url !== '' && $obj->shop_url !== null) {
|
|
||||||
|
|
||||||
$shop_url = trim($obj->shop_url);
|
|
||||||
|
|
||||||
if (!empty($shop_url)) {
|
|
||||||
|
|
||||||
// Lagerbestand und Wunschbestand abfragen
|
// Lagerbestand und Wunschbestand abfragen
|
||||||
$sqlStock = "SELECT stock, desiredstock
|
$sqlStock = "SELECT stock, desiredstock
|
||||||
|
|
@ -450,6 +455,27 @@ class ActionsSupplierLink3 extends CommonHookActions
|
||||||
$stockColor = 'orange'; // kleiner als Wunschbestand
|
$stockColor = 'orange'; // kleiner als Wunschbestand
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Lieferanten-ID aus dem Bestell-Objekt holen
|
||||||
|
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;
|
||||||
|
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
|
||||||
|
if ($resql && $this->db->num_rows($resql) > 0) {
|
||||||
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
|
||||||
|
if (isset($obj->shop_url) && $obj->shop_url !== '' && $obj->shop_url !== null) {
|
||||||
|
|
||||||
|
$shop_url = trim($obj->shop_url);
|
||||||
|
|
||||||
|
if (!empty($shop_url)) {
|
||||||
|
|
||||||
// Artikel-Link
|
// Artikel-Link
|
||||||
$full_url = rtrim($shop_url, '/') . '/' . $line->ref_fourn;
|
$full_url = rtrim($shop_url, '/') . '/' . $line->ref_fourn;
|
||||||
$newref = '<a href="'.$full_url.'" target="_blank" class="classfortooltip" title="'.dol_escape_htmltag('Artikel im Shop ansehen').'">';
|
$newref = '<a href="'.$full_url.'" target="_blank" class="classfortooltip" title="'.dol_escape_htmltag('Artikel im Shop ansehen').'">';
|
||||||
|
|
@ -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 = '<span style="float: right; margin-left: 20px;">';
|
||||||
|
$stockInfo .= '<span class="fas fa-box-open" style="color: ' . $stockColor . ';"></span>';
|
||||||
|
$stockInfo .= ' <span style="color: ' . $stockColor . '; font-weight: bold;">' . $qtyStock . '</span>';
|
||||||
|
$stockInfo .= '</span>';
|
||||||
|
|
||||||
|
// An verschiedene mögliche Felder anhängen
|
||||||
|
if (isset($line->product_label)) {
|
||||||
|
$line->product_label .= $stockInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@ class modSupplierLink3 extends DolibarrModules
|
||||||
'hooks' => array(
|
'hooks' => array(
|
||||||
'data' => array(
|
'data' => array(
|
||||||
'ordersuppliercard',
|
'ordersuppliercard',
|
||||||
|
'ordercard',
|
||||||
),
|
),
|
||||||
'entity' => '0',
|
'entity' => '0',
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue