Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login
    1. Home
    2. boni127
    3. Posts
    B
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 5
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Click auf "Configure List View" in Tabellen Ansicht führt zu einer leeren Seite und php-Fehler im apache-Log

      @LFischer said in Click auf "Configure List View" in Tabellen Ansicht führt zu einer leeren Seite und php-Fehler im apache-Log:

      Hallo @boni127

      vielen Dank für deinen Beitrag und die Bugmeldung - dieser Fehler tritt bei dir auf, weil die community Version / i-doit OPEN keine benutzerdefinierte Kategorien mitbringt. Deswegen fehlt u.a. die Klasse isys_custom_fields_dao in deinem System.

      Normalerweise dürfte die Logik für benutzerdefinierte Kategorien nur ausgeführt werden, wenn auch tatsächlich eine benutzerdefinierte Kategorie im System existiert.

      Ich probiere das Problem später mal zu reproduzieren, vielleicht kann ich dir dann einen einfachen Fix vorschlagen 🙂

      Viele Grüße
      Leo

      Hi Leo,

      danke für den Support, ich habe die Änderungen durchgeführt. Nun klappt es.

      Grüße Detlev.

      posted in Betrieb
      B
      boni127
    • Click auf "Configure List View" in Tabellen Ansicht führt zu einer leeren Seite und php-Fehler im apache-Log

      Moin, ich setze die community-version 32 auf einem Debian 12 mit php 8.2 und Mariadb 10.5 ein.

      Wenn ich die Listenansicht einer Tabelle ändern möchte und dazu auf den Button mit dem Sternchen / Zahnrad links oberhalb der Tabelle klicke, erhalte ich nur eine leere Seite.

      Im Apache-Log gibt es dazu eine Fehlermeldung:

      [Mon Oct 07 18:55:42.787139 2024] [php:error] [pid 1396320:tid 1396320] [client 192.168.5.29:58025] PHP Fatal error: Uncaught Error: Class "isys_custom_fields_dao" not found in /var/www/html/idoit/src/classes/modules/cmdb/dao/category/global/isys_cmdb_dao_category_g_custom_fields.class.php:208\nStack trace:\n#0 /var/www/html/idoit/src/classes/modules/cmdb/dao/category/global/isys_cmdb_dao_category_g_custom_fields.class.php(162): isys_cmdb_dao_category_g_custom_fields->setCategoryInfo()\n#1 /var/www/html/idoit/src/classes/modules/cmdb/dao/isys_cmdb_dao_distributor.class.php(201): isys_cmdb_dao_category_g_custom_fields->set_catg_custom_id()\n#2 /var/www/html/idoit/src/classes/modules/cmdb/isys_module_cmdb.class.php(1469): isys_cmdb_dao_distributor->__construct()\n#3 /var/www/html/idoit/src/classes/modules/cmdb/isys_module_cmdb.class.php(549): isys_module_cmdb->system_settings()\n#4 /var/www/html/idoit/src/classes/modules/system/isys_module_system.class.php(2150): isys_module_cmdb->start()\n#5 /var/www/html/idoit/src/classes/modules/manager/isys_module_manager.class.php(1040): isys_module_system->start()\n#6 /var/www/html/idoit/src/idoit/Legacy/ModuleLoader.php(37): isys_module_manager->load()\n#7 /var/www/html/idoit/src/classes/core/isys_application.class.php(111): idoit\Legacy\ModuleLoader->boot()\n#8 /var/www/html/idoit/src/application.inc.php(42): isys_application::run()\n#9 /var/www/html/idoit/src/i-doit.inc.php(137): include_once('...')\n#10 /var/www/html/idoit/src/hypergate

      Meine Recherchen im Internet dazu verlaufen leider ins Leere. Ein ./idoit-rights.sh -set habe ich schon durchgeführt. Das hat aber auch nicht zu einer Änderung bei der Darstellung geführt.

      Sonst sind mir bislang keine Darstellungsprobleme aufgefallen. Hat jemand eine Idee dazu?

      Grüße Detlev.

      posted in Betrieb
      B
      boni127
    • RE: PHP API : api-client-php

      Moin Leo,

      ein paar kleine Änderungen musste ich vornehmen, aber so funktioniert es nun. Allerdings klappt die Zuweisung Person - Organization noch nicht. Mit C__CATS__ORGANIZATION_CONTACT_ASSIGNMENT wird im Objekt Person die zugeordnete Firma angezeigt, allerdings finde ich dieses Zuweisung nicht in der Organization.

      8b906d73-21fb-436c-8c4d-0081fbaac502-image.png

      0fa3456f-5922-47e9-918c-584e125f1f02-image.png

      <?php
      use Idoit\APIClient\API;
      use Idoit\APIClient\Idoit;
      use Idoit\APIClient\CMDBObject;
      use Idoit\APIClient\CMDBCategory;
      
      require_once 'vendor/autoload.php';
      
      $api = new API([
          API::URL => 'http://idoit.fritz.box/src/jsonrpc.php',
          API::KEY => '********',
          API::USERNAME => 'admin',
          API::PASSWORD => 'admin'
      ]);
      
      $objectc = new CMDBObject($api);
      
      #C__CATS__ORGANIZATION
      #C__OBJTYPE__ORGANIZATION
      
      $objectIDc = $objectc->create(
          'C__OBJTYPE__ORGANIZATION',
          'Company2',
          [
              'description' => 'Hier eine kleine Beschreibung'
          ]
      );
      
      var_dump($objectIDc);
      
      (new CMDBCategory($api))->save($objectIDc, 'C__CATG__ADDRESS', [
          'address'     => "Mehrzeiliges\nTextfeld",
          'street'      => 'Musterstraße',
          'house_no'    => '123 A',
          'stories'     => 1,
          'postcode'    => '12345',
          'city'        => 'Musterstadt',
          'region'      => 'Region',
          'country'     => 'Land',
          'description' => 'Beschreibung',
      ]);
      
      $objectp = new CMDBObject($api);
      
      $objectIDp = $objectp->create(
          'C__OBJTYPE__PERSON',
          'Eva Mustermann',
          [
              'description' => 'Hier eine kleine Beschreibung2',
          ]
      );
      
      var_dump($objectIDp);
      (new CMDBCategory($api))->save($objectIDp, 'C__CATS__PERSON_MASTER', [
          'street'      => 'Musterstraße',
          'city'        => 'Musterstadt',
          'description' => 'Beschreibung',
          'mail' => 'abc@def.de',
          'phone_home' => '12345',
          'phone_company' => '123459',
          'phone_mobile' => '1234587',
      
      ]);
      
      
      (new CMDBCategory($api))->save($objectIDc, 'C__CATS__ORGANIZATION_CONTACT_ASSIGNMENT', [
          'object' => $objectIDp,             // Personen Objekt-ID
          'role'   => 'Administrator', // Rolle via ID oder String
      ]);
      
      
      
      posted in Entwicklung
      B
      boni127
    • RE: PHP API : api-client-php

      Hi Leo,

      vielen Dank für den Hinweis, da hätte ich sicher lange gesucht.

      Die ersten Objekte konnte ich nun schon über die API angelegen, habe aber noch ein paar Schwierigkeiten um bspw. die Adresse bei einer Organisation zu setzen oder eine Person einer Organisation zuzuordnen.

      Kannst Du mir noch einen schubs in die richtige Richtung geben?

      Grüße Detlev.

      posted in Entwicklung
      B
      boni127
    • PHP API : api-client-php

      Hallo Zusammen,

      ich möchte gerne auf die API von i-doit (open) zugreifen, leider komme ich nicht wirklich weiter. Ich habe die api-client-php heruntergeladen,

      cd /home/system/php
      composer require idoit/apiclient
      

      aber das Beispiel von der GitHub-Seite funktioniert schon nicht:

      hello2.php

      <?php
      use Idoit\APIClient\API;
      use Idoit\APIClient\Idoit;
      
      require_once 'vendor/autoload.php';
      
      $api = new API([
          API::URL => 'https://demo.i-doit.com/src/jsonrpc.php',
          API::KEY => 'c1ia5q',
          API::USERNAME => 'admin',
          API::PASSWORD => 'admin'
      ]);
      
      $request = new Idoit($api);
      $info = $request->readVersion();
      
      var_dump($info);
      

      php8.0 hello2.php
      PHP Fatal error: Uncaught Error: Class "Idoit\APIClient\API" not found in /home/system/php/hello2.php:8
      Stack trace:
      #0 {main}
      thrown in /home/system/php/hello2.php on line 8

      die erforderlichen PHP-Module sind installiert

      php8.0 -m
      [PHP Modules]
      bcmath
      ...
      curl
      date
      ...
      json
      ...
      openssl
      ...
      zlib
      

      Passe ich das USE an:

      <?php
      
      use bheisig\idoitapi\API;
      use bheisig\idoitapi\Idoit;
      
      require_once 'vendor/autoload.php';
      
      $api = new API([
          API::URL => 'https://demo.i-doit.com/src/jsonrpc.php',
          API::KEY => 'c1ia5q',
          API::USERNAME => 'admin',
          API::PASSWORD => 'admin'
      ]);
      
      $request = new Idoit($api);
      $info = $request->readVersion();
      
      var_dump($info);
      

      ist zumindest das 'Class not found' verschwunden,

      php8.0 hello.php 
      PHP Fatal error:  Uncaught RuntimeException: Unable to initiate cURL session in /home/system/php/vendor/idoit/apiclient/src/API.php:349
      Stack trace:
      #0 /home/system/php/vendor/idoit/apiclient/src/API.php(549): bheisig\idoitapi\API->connect()
      #1 /home/system/php/vendor/idoit/apiclient/src/API.php(471): bheisig\idoitapi\API->execute()
      #2 /home/system/php/vendor/idoit/apiclient/src/Idoit.php(45): bheisig\idoitapi\API->request()
      #3 /home/system/php/hello.php(16): bheisig\idoitapi\Idoit->readVersion()
      #4 {main}
        thrown in /home/system/php/vendor/idoit/apiclient/src/API.php on line 349
      

      aber so richtig gut sieht es noch immer nicht aus:

      Grundsätzlich zugreifen kann ich auf den Server

      curl --data '{"version": "2.0","method": "idoit.version","params": {"apikey":"c1ia5q","language": "en"},"id": 1}' --header "Content-Type:application/json" --user admin:admin https://demo.i-doit.com/src/jsonrpc.php
      
      {"id":1,"jsonrpc":"2.0","result":{"login":{"userid":"9","name":"i-doit Systemadministrator ","mail":"i-doit@acme-it.example","username":"admin","tenant":"ACME IT Solutions","language":"en"},"version":"26","step":"","type":"PRO"}}
      

      Ich habe erstmal versucht den Demo-Rechner https://demo.i-doit.com/src/jsonrpc.php zu erreichen um Probleme mit meiner I-Doit Installation auszuschließen. php8.0 nutze ich, da i-Doit in der Version 25 noch "8.0.30 (8.0 recommended)" empfiehlt.

      Hat jemand einen Tip für mich, was mache ich falsch?
      Grüße

      posted in Entwicklung
      B
      boni127