Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    Erstellen eines variablen Reports + zugehöriger Kategorie

    Scheduled Pinned Locked Moved Entwicklung
    3 Posts 2 Posters 313 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • cwrmC Offline
      cwrm
      last edited by cwrm

      Guten Morgen!

      Ich möchte für das Data Privacy Add-on eine benutzerdefinierte Kategorie erstellen, die über einen variablen Report eine Retouransicht auf zugewiesene Objekte realisiert.

      Derzeit erstelle ich die Datenbankeinträge über das update_data.xml File. Habe nun aber Probleme beim Referenzieren in der Kategorie auf den Report.

      Wie ist der korrekte Weg den Report und die benutzerdefinierte Kategorie zu erstellen?

      Wenn der Weg über das update_data.xml File der falsche ist könnt ihr hier aufhören zu lesen. Ich bescheibe nur noch wie ich derzeit den Report und die Kategorie erstelle.

      Den Report erstelle ich mit

      INSERT INTO `isys_report` (`isys_report__title`, `isys_report__description`, `isys_report__query`, `isys_report__query_row`, `isys_report__mandator`, `isys_report__user`, `isys_report__datetime`, `isys_report__last_edited`, `isys_report__type`, `isys_report__user_specific`, `isys_report__querybuilder_data`, `isys_report__isys_report_category__id`, `isys_report__empty_values`, `isys_report__display_relations`, `isys_report__category_report`, `isys_report__const`, `isys_report__compressed_multivalue_results`, `isys_report__show_html`, `isys_report__keep_description_format`)
                          VALUES ('LC__MODULE__PRIVACY__PROCESSINGS__OF_ORGANISATION','Variable Report from the Data Prvacy Add-on to use in same named category of organisations. Shows all processings of the selected organisation','SELECT \r\nobj_main.isys_obj__id AS \'__id__\', \r\nobj_main.isys_obj__title AS \'LC__UNIVERSAL__TITLE###0_1\' \r\n\r\n FROM isys_obj AS obj_main \r\nINNER JOIN isys_cmdb_status AS obj_main_status ON obj_main_status.isys_cmdb_status__id = obj_main.isys_obj__isys_cmdb_status__id \r\nLEFT JOIN isys_obj_type AS j2 ON j2.isys_obj_type__id = obj_main.isys_obj__isys_obj_type__id \r\nLEFT JOIN isys_catg_contact_list AS j5 ON j5.isys_catg_contact_list__isys_obj__id = obj_main.isys_obj__id  \r\nLEFT JOIN isys_connection AS j4 ON j4.isys_connection__id = j5.isys_catg_contact_list__isys_connection__id \r\nLEFT JOIN isys_obj AS job4 ON j4.isys_connection__isys_obj__id = job4.isys_obj__id \r\nLEFT JOIN isys_contact_tag AS j8 ON j8.isys_contact_tag__id = j5.isys_catg_contact_list__isys_contact_tag__id \r\n\r\nWHERE TRUE \r\n AND  ( (j2.isys_obj_type__id != \'60\' ) AND (j2.isys_obj_type__id != \'63\' ) ) AND ( (j2.isys_obj_type__id = \'93\' ) ) AND ( (job4.isys_obj__id PLACEHOLDER.4 \'object-id\' ) AND (j8.isys_contact_tag__id in (select isys_contact_tag__id from isys_contact_tag where isys_contact_tag__const=\"C__MODULE__PRIVACY__ROLE__CONTROLLER\" OR isys_contact_tag__const=\"C__MODULE__PRIVACY__ROLE__JOINT_CONTROLLER\") ))\r\n ORDER BY obj_main.isys_obj__title DESC',NULL,1,27,'2021-06-04 09:19:13','2021-07-20 19:09:46','0',0,NULL,NULL,1,0,1,'C__VERARBEITUNGSTATIGKEITEN_VON',0,0,0);
      

      Wenn ich nun die benutzerdefinierte Kategorie erstellen will, muss ich die Spalte isysgui_catg_custom__config mit einem serialisierten Array befüllen in dem der identitier auf die zuvor erstellte isys_report__id zeigt, aber wie?

      Bitte schubst mich in die richtige Richtung.

      ciao
      chris

      --
      Christian Wally


      don‘t panic it-services gmbh
      Sturnengasse 9
      6700 Bludenz
      +43-5552-20803
      https://dont.panic.at

      cwrmC 1 Reply Last reply Reply Quote 0
      • cwrmC Offline
        cwrm @cwrm
        last edited by

        Nach etwas Nachdenken kann ich mir die Antwort selber geben. Statt die Queries in der update_data.xml zu definieren, erstelle ich nun den Report und die Kategorie mit einer Methode in der isys_module_privacy_install Klasse. Beim Erstellen der Kategorie verwende ich entweder get_last_insert_id() oder ich frage die isys_report__id über einen select ab.

        ciao
        chris

        --
        Christian Wally


        don‘t panic it-services gmbh
        Sturnengasse 9
        6700 Bludenz
        +43-5552-20803
        https://dont.panic.at

        LFischerL 1 Reply Last reply Reply Quote 0
        • LFischerL Offline
          LFischer @cwrm
          last edited by

          Hey @cwrm,

          entschuldige die späte Antwort - aber gut zu sehen das du eine Lösung gefunden hast. Der Add-on Packager übernimmt genau diese Aufgabe indem die Konstante (isys_report__const) zum identifizieren genutzt wird.

          Über diese Konstante kann die ID gefunden und referenziert werden 🙂 Das geschieht ebenfalls mittels der install Logik, da die update_data.xml keinerlei Logik ausführen kann - lediglich SQL Queries.

          Vielleicht konnte ich hiermit noch ein wenig weiterhelfen?

          Viele Grüße
          Leo

          1 Reply Last reply Reply Quote 0
          • First post
            Last post