diff --git a/core/modules/modKundenKarte.class.php b/core/modules/modKundenKarte.class.php
index b283733..29bbbdf 100755
--- a/core/modules/modKundenKarte.class.php
+++ b/core/modules/modKundenKarte.class.php
@@ -76,7 +76,7 @@ class modKundenKarte extends DolibarrModules
$this->editor_squarred_logo = ''; // Must be image filename into the module/img directory followed with @modulename. Example: 'myimage.png@kundenkarte'
// Possible values for version are: 'development', 'experimental', 'dolibarr', 'dolibarr_deprecated', 'experimental_deprecated' or a version string like 'x.y.z'
- $this->version = '4.0.1';
+ $this->version = '4.0.2';
// Url to the file with your last numberversion of this module
//$this->url_last_version = 'http://www.example.com/versionmodule.txt';
diff --git a/tabs/contact_anlagen.php b/tabs/contact_anlagen.php
index 64b93d7..7dbe2d8 100755
--- a/tabs/contact_anlagen.php
+++ b/tabs/contact_anlagen.php
@@ -636,16 +636,80 @@ if (empty($customerSystems)) {
print '
'.$langs->trans('Label').'
';
print '
';
- // Type
- print '
'.$langs->trans('Type').'
';
+ // Kategorie (Gebäude/Standort vs Element/Gerät)
+ $currentCategory = '';
+ if (($isEdit || $isCopy) && !empty($anlage->fk_anlage_type)) {
+ // Kategorie des aktuellen Typs ermitteln
+ foreach ($types as $t) {
+ if ($t->id == $anlage->fk_anlage_type) {
+ $currentCategory = ($t->system_code === 'GLOBAL') ? 'building' : 'element';
+ break;
+ }
+ }
+ }
+ $postedCategory = GETPOST('element_category', 'alpha');
+ if ($postedCategory) $currentCategory = $postedCategory;
+
+ print '
'.$langs->trans('Category').'
';
+ print '
';
+
+ // Type (gefiltert nach Kategorie)
+ print '
'.$langs->trans('Type').'
';
print '
';
if (empty($types)) {
print ' '.$langs->trans('NoTypesDefinedForSystem').'';
@@ -679,12 +743,18 @@ if (empty($customerSystems)) {
print '';
- // JavaScript: Select2 mit Icons für Type und Parent
+ // JavaScript: Kategorie-Filter + Select2 mit Icons
print '