Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login
    1. Home
    2. cherif
    3. Posts
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 7
    • Posts 28
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Fehler bei Kategoriedaten-Aktualisierung durch dialog_plus Multi-Value-Attribut

      Hallo @Michael-Huhn
      vielen Dank für den Link. Er hat mein Problem behoben.👍
      VG, Cherif

      posted in Allgemein
      cherifC
      cherif
    • RE: Fehler bei Kategoriedaten-Aktualisierung durch dialog_plus Multi-Value-Attribut

      Beispieldefinition des Attributs (verkürzt):

      'portfolio' => new DialogPlusMultiselectProperty(...)
      

      Es geht um die Methode denormalizeData(...) in src/classes/modules/cmdb/src/Component/SyncNormalizer/DataNormalizer/Dialog/MultiSelect.php

      posted in Allgemein
      cherifC
      cherif
    • Fehler bei Kategoriedaten-Aktualisierung durch dialog_plus Multi-Value-Attribut

      Hallo zusammen,
      beim Aktualisieren einer eigenen Kategorie in unserer i-doit-Umgebung (Version 34 mit PHP 8.2) tritt ein Problem auf, sobald ein Attribut mit Mehrfachauswahl über ein dialog_plus-Popup bereits Daten enthält.

      Solange das Feld leer ist, lässt sich die Kategorie speichern. Sobald jedoch mindestens ein Eintrag vorhanden ist, wird der Vorgang mit einem Fehler abgebrochen.

      Auszug aus dem Fehlerprotokoll:
      PHP Fatal Error: Call to a member function getValue on null
      Datei: MultiSelect.php, Zeile 152, innerhalb der Methode denormalizeData

      Dazu meine Fragen:

      • Ist das Verhalten in der genannten Version bekannt?
      • Gibt es eventuell bereits einen Workaround oder Bugfix?
      • Wäre eine zusätzliche Prüfung auf ungültige Werte an dieser Stelle sinnvoll?

      Vielen Dank im Voraus für jeden Hinweis!
      Beste Grüße
      Cherif

      posted in Allgemein
      cherifC
      cherif
    • API Abfrage - Primary contact - no title

      Hallo,

      via API versuche ich eine Sever-Liste mit Namen und Primär Kontakt zu bekommen. Lieder bekomme ich nur ID (also connection_id) ohne Name/Title bei primary_contact zurück.

      Gibt es noch eine Möglichkeit den Primären Kontaktnamen raus zu kriegen?

      Viele Grüße
      Cherif

      Request:

      {    
      	
          "method": "cmdb.objects.read",
          "params": {
              "apikey": "xxx",
              "filter": {
      		"type": [59],
      		"status": "C__RECORD_STATUS__NORMAL"
      	},
      	"categories":["C__CATG__GLOBAL","C__CATG__CONTACT"],
      			 
              "language": "en"
          },
          "id": 1,
          "version": "2.0"
      	
      }
      

      Response:

      ...
              },
                  "primary_contact": "20054",
                  "contact_object": {
                    "title": "Max Ali",
                    "id": "37",
                    "connection_id": "20054",
                    "type": "C__OBJTYPE__PERSON",
                    "type_title": "Persons",
                    "sysid": "SYSID_100007"
                  },
                  "primary": {
                    "value": "1",
                    "title": "Yes"
                  },
                  "role": {
                    "id": "5",
                    "title": "Contact partner",
                    "const": "C__CONTACT_TYPE__CONTACT",
                    "title_lang": "LC__CMDB__CONTACT__ROLE__CONTACT"
                  },
                  "contact_list": "20054",
                  "contact_list_with_roles": "20054",
                  "description": null
                },
      ...
      
      posted in Entwicklung
      cherifC
      cherif
    • RE: sichtbare Attribute bei Reports bearbeiten

      Hallo @Moritz,

      Ich denke, hier ist etwas tiefgegangen
      Versuch mal den Report zu duplizieren.

      VG
      Cherif

      posted in Allgemein
      cherifC
      cherif
    • RE: This CKEditor 4.22.1 version is not secure

      Hallo @StefanP74,

      ich hatte das selbe Problem. Nachdem der Browsercache gelöscht wurde, verschwand die Meldung.

      VG

      posted in Betrieb
      cherifC
      cherif
    • RE: API Kategorien und Attribute fehlen (500 Internal Server Error)

      Hallo @RAG,

      wenn i-doit sich bereits in der Version 31 PRO befindet, dann bitte API auf Version 2.0.1 updaten.
      Achtung: Vorher ein Backup machen.

      Viele Grüße
      CHerif

      posted in Allgemein
      cherifC
      cherif
    • RE: Update auf Idoit 31 - Probleme

      Hallo @Heartbeat
      Hallo @LFischer

      ich bestätige das. Das Problem kenne ich auch.
      Lösung: Der Browser Cache muss geleert werden.

      Danke @LFischer

      Viele Grüße
      Cherif

      posted in Allgemein
      cherifC
      cherif
    • RE: i-doit v.25 Feld Beschreibung

      Habe gefunden... kann man in Settings for IT einstellen. Danke

      198ace99-49ac-4475-a690-a882a08231fd-image.png

      posted in Allgemein
      cherifC
      cherif
    • i-doit v.25 Feld Beschreibung

      Hallo Zusammen,

      nach dem Update auf v.25 habe das Feld Beschreibung keine wysiwyg Funktion mehr. Siehe Bilder unten

      Hat jemand auch das Problem?

      Viele Grüße
      Cherif

      Vorher
      2e7431ac-1840-4e29-951a-d12f950d2a20-image.png

      Danach in v.25
      2364b42f-5d46-442b-b9c3-5f5d78152fc5-image.png

      posted in Allgemein
      cherifC
      cherif
    • RE: Report Manager

      Hi @LFischer

      nochmal danke für Deine Hilfe und die Erklärung 🙂

      VG, Cherif

      posted in Entwicklung
      cherifC
      cherif
    • RE: Dialog-Admin

      Hey @LFischer
      du bist ein Held👍
      Das hat funktioniert. Vielen Dank für Hilfe
      Jetzt ist Dialog+ Feld in der init.php registriert, und danach funktioniert...🙂

      Viele Grüße
      Cherif

      posted in Entwicklung
      cherifC
      cherif
    • RE: Report Manager

      Hallo @LFischer
      vielen Dank für deine Hilfe
      Ich habe Kategorie-Attribute neu indizieren ausgeführt. Danach wurden die beiden Probleme behoben.

      Meine Frage: Hat diese Funktion einen Nachteil ? z.B Datenverlust ?

      Nochmal Danke für deine Hilfe

      VG, Cherif

      posted in Entwicklung
      cherifC
      cherif
    • RE: Dialog-Admin

      @leobaer danke, es geht aber nicht um eine Custom Kategorie

      posted in Entwicklung
      cherifC
      cherif
    • Dialog-Admin

      Hallo ,
      ich habe eine neue Kategorie angelegt/programmiert. Ein DialogPlusFeld aus dieser Kategorie lässt sich aber nicht unter Dialog-Admin erscheinen und verwalten.
      Gibt es eine Möglichkeit diese einzurichten ?

      9f9cff3e-474c-46c7-b67a-8c05a2a2097b-image.png

      Danke im voraus

      posted in Entwicklung
      cherifC
      cherif
    • Report Manager

      Hallo zusammen,
      ich habe eigene 2 Kategorien programmiert und funktioniert soweit gut.
      Ich habe jetzt aber folgende Probleme:

      • Eine von 2 Kategorien lässt sich nicht beim Reportmanager erscheinen. Also ist nicht auf der Liste...
        de4b1c3c-4f3b-494f-a80b-3592f2288b59-image.png

      • Die 2. Kategorie hat Attributen mit Multi-Value, also dialog_plus mit "isys_cmdb_dao_category_pattern::multiselect()"
        Hier bekomme ich immer eine Fehlermeldung, wenn ich versuche, einen Report zu erstellen. Unknown column 'j.isys_catg_servicebook_list_2_isys_catg_svb_ori' in 'field list'

      Woran liegt das Problem?
      Wie kann ich gespeicherte Werten ausgeben?
      Unten Code

      protected function properties()
          {
              return [
                  
                  'orientation'         => array_replace_recursive(isys_cmdb_dao_category_pattern::multiselect(), [
                      C__PROPERTY__INFO => [
                              C__PROPERTY__INFO__TITLE => 'LC__CMDB__CATG_SERVICEBOOK__ORIENTATION',
                              C__PROPERTY__INFO__DESCRIPTION => 'Orientation'
                          ],
                          C__PROPERTY__DATA => [
                              C__PROPERTY__DATA__FIELD        => 'isys_catg_servicebook_list__id',
                              C__PROPERTY__DATA__TABLE_ALIAS  => 'service_orientation',
                              C__PROPERTY__DATA__SOURCE_TABLE => 'isys_catg_svb_ori',
                              C__PROPERTY__DATA__REFERENCES   => [
                                  'isys_catg_servicebook_list_2_isys_catg_svb_ori',
                                  'isys_catg_servicebook_list__id'
                                  ],
                              
                              C__PROPERTY__DATA__SELECT       => idoit\Module\Report\SqlQuery\Structure\SelectSubSelect::factory(
                                  'SELECT ori.isys_catg_svb_ori__title
                                      FROM isys_catg_servicebook_list sel
                                      INNER JOIN isys_catg_servicebook_list_2_isys_catg_svb_ori AS sercice2 ON sercice2.isys_catg_servicebook_list__id = sel.isys_catg_servicebook_list__id
                                      INNER JOIN isys_catg_svb_ori AS ori ON ori.isys_catg_svb_ori__id = sercice2.isys_catg_svb_ori__id',
                                  'isys_catg_servicebook_list',
                                  'sel.isys_catg_servicebook_list__id',
                                  'sel.isys_catg_servicebook_list__isys_obj__id',
                                  'sel.isys_catg_servicebook_list__id',
                                  '',
                                  idoit\Module\Report\SqlQuery\Structure\SelectCondition::factory([]),
                                  idoit\Module\Report\SqlQuery\Structure\SelectGroupBy::factory(['isys_catg_servicebook_list__isys_obj__id'])
                              ),
                              C__PROPERTY__DATA__JOIN         => [
                                  idoit\Module\Report\SqlQuery\Structure\SelectJoin::factory(
                                      'isys_catg_servicebook_list_2_isys_catg_svb_ori',
                                      'LEFT',
                                      'isys_catg_servicebook_list__id',
                                      'isys_catg_servicebook_list_2_isys_catg_svb_ori',
                                      'sel2',
                                      'sel2ori',
                                      'sel2ori'
                                  ),
                                  idoit\Module\Report\SqlQuery\Structure\SelectJoin::factory(
                                      'isys_catg_svb_ori',
                                      'LEFT',
                                      'isys_catg_svb_ori__id',
                                      'isys_catg_svb_ori__id', 
                                      'sel',
                                      'selori',
                                      'selori'
                                  ),
                                  idoit\Module\Report\SqlQuery\Structure\SelectJoin::factory(
                                      'isys_catg_servicebook_list',
                                      'LEFT',
                                      'isys_catg_servicebook_list__isys_obj__id',
                                      'isys_obj__id'
                                  )
                              ]
                          ],
                      C__PROPERTY__UI       => [
                          C__PROPERTY__UI__ID      => 'C__CATG_SERVICEBOOK_ORIENTATION',
                          C__PROPERTY__UI__PARAMS  => [
                              'type'           => 'f_popup',
                              'p_strPopupType' => 'dialog_plus',
                              'p_strTable'     => 'isys_catg_svb_ori',
                              'placeholder'    => isys_application::instance()->container->get('language')
                                  ->get('LC__UNIVERSAL__CHOOSEN_PLACEHOLDER'),
                              'multiselect'    => true
                          ],
                          C__PROPERTY__UI__DEFAULT => null
                      ],
                      C__PROPERTY__PROVIDES => [
                          C__PROPERTY__PROVIDES__REPORT     => true,
                          C__PROPERTY__PROVIDES__LIST       => false,
                          C__PROPERTY__PROVIDES__SEARCH     => true,
                          C__PROPERTY__PROVIDES__VALIDATION => false,
                          C__PROPERTY__PROVIDES__MULTIEDIT  => true
                      ],
                      C__PROPERTY__FORMAT   => [
                          C__PROPERTY__FORMAT__CALLBACK => [
                              'isys_export_helper',
                              'dialog_multiselect'
                          ]
                      ]
                  ])
      
      protected function dynamic_properties()
          {
              return [
                  '_orientation' => new DynamicProperty(
                      'LC__CMDB__CATG_SERVICEBOOK__ORIENTATION',
                      'isys_catg_servicebook_list__id',
                      'isys_catg_servicebook_list',
                      [
                          $this,
                          'dynamic_property_callback_ori'
                      ]
                  ),
                  
              ];
          }
      
      public function dynamic_property_callback_ori($p_row)
          {
              $l_dao = isys_cmdb_dao_category_g_servicebook::instance(isys_application::instance()->database);
              $l_res = $l_dao->retrieve('SELECT ori.isys_catg_svb_ori__title AS val
                  FROM isys_catg_servicebook_list AS svcb
                  INNER JOIN isys_catg_servicebook_list_2_isys_catg_svb_ori AS svcb2ori ON svcb2ori.isys_catg_servicebook_list__id = svcb.isys_catg_servicebook_list__id
                  INNER JOIN isys_catg_svb_ori AS ori ON ori.isys_catg_svb_ori__id = svcb2ori.isys_catg_svb_ori__id
                  WHERE svcb.isys_catg_servicebook_list__id = ' . $l_dao->convert_sql_id($p_row['isys_catg_servicebook_list__id']));
              $l_return = isys_tenantsettings::get('gui.empty_value', '-');
      
              if ($l_res->num_rows() > 0) {
                  $l_return = '';
                  while ($l_row = $l_res->get_row()) {
                      $l_return .= $l_row['val'] . ', ';
                  }
                  $l_return = rtrim($l_return, ', ');
              }
      
              return $l_return;
          }
      

      Danke im Voraus

      posted in Entwicklung
      cherifC
      cherif
    • RE: Session Timeouts wird ignoriert

      Hallo @creiss,

      nochmal danke für die Unterstützung
      Komischerweise greift die jeweilige Anpassung von Session.time bis zum 3000s (als 50 min). Danach keine Verlängerung der LoginSession mehr. Alle werden ignoriert...
      Leider habe ich bis jetzt keine Lösung gefunden, wie Schade!

      posted in Allgemein
      cherifC
      cherif
    • RE: Session Timeouts wird ignoriert

      Hallo @michael-overkamp,

      Danke für die Hilfe
      Das habe ich geprüft, sieht gut aus. Es wird vom System aber ignoriert.
      Output:

      session.gc_maxlifetime => 86400 => 86400
      

      Viele Grüße
      Cherif

      posted in Allgemein
      cherifC
      cherif
    • RE: Session Timeouts wird ignoriert

      Hallo @creiss,

      Nochmal danke für Ihre Hilfe
      Könnten Sie mir bitte sagen, wie ich am besten den Cache löschen?
      Folgendes habe ich gemacht, um den Cache zu leeren:

      • Verwaltung > Systemtools > Cache / Datenbank : Cache > Kompletten Cache leeren
      • sudo rm -r /var/www/i-doit/temp/* ausgeführen

      Danke und viele Grüße
      Cherif

      posted in Allgemein
      cherifC
      cherif