Erstellen eines variablen Reports + zugehöriger Kategorie
-
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.xmlFile. 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.xmlFile 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__configmit einem serialisierten Array befüllen in dem deridentitierauf die zuvor erstellteisys_report__idzeigt, aber wie?Bitte schubst mich in die richtige Richtung.
ciao
chris -
Nach etwas Nachdenken kann ich mir die Antwort selber geben. Statt die Queries in der
update_data.xmlzu definieren, erstelle ich nun den Report und die Kategorie mit einer Methode in derisys_module_privacy_installKlasse. Beim Erstellen der Kategorie verwende ich entwederget_last_insert_id()oder ich frage dieisys_report__idüber einen select ab.ciao
chris -
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 installLogik, da dieupdate_data.xmlkeinerlei Logik ausführen kann - lediglich SQL Queries.Vielleicht konnte ich hiermit noch ein wenig weiterhelfen?
Viele Grüße
Leo
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login