Page 1 of 1

Add Relationship Event

Posted: 28 Sep 2020, 21:09
by bluescreenterror
Moin,

ich schreibe gerade an einem Plugin, welches in 3 Spalten in der Filter Übersicht darstellt, wieviele Abhängigkeiten/Beziehungen ein Ticket hat.
Image

Um das ganze mittels der Methode sortquery sortierbar zu machen, habe ich eine Tabelle angelegt in der die aktuellen "Abhängigkeitscounts" gespeichert werden, die Tabelle wird beim Installieren des PlugIns gefüllt. Nun würde ich gerne den Eintrag für ein Ticket aktualisieren, wenn eine neue Abhängigkeit hinzugefügt wird. Leider habe ich noch kein Event gefunden was wirklich passt.

EVENT_UPDATE_BUG_DATA wird beim hinzufügen von Abhängigkeiten/Beziehungen nicht ausgelöst
EVENT_VIEW_BUG_EXTRA wird zwar ausgelöst, aber auch in verschiedenen anderen Szenarien.Zu dem fehlt mir hier die Angabe welches weitere Ticket betroffen ist (Source_bug_id/Destination_bug_id)

Gibt es ein passendes Event hierfür ? Muss man sich eventuell eine Krücke über Javascript bauen ? Kann ich mittels Plugin so ein Event hinzufügen ?

Ich wäre für jede Hilfe/Tipps dankbar.

Viele Grüße,

Bluescreenterror


PS. Unser Support benötigt diese Funktion damit er die Ticket besser priorisieren kann.

Re: Add Relationship Event

Posted: 02 Oct 2020, 21:33
by bluescreenterror
Ok in einem Post in der Rubrik PlugIns habe ich den entsprechenden Hinweis gefunden...
Über das Plugin direkt geht es nicht..man muss schon am Core ein wenig Manipulieren, leider sind die Änderungen dann nach jedem Update weg :(.

In events_inc.php kann ein Eintrag hinzugefügt werden, das Event lässt sich dann mit Hilfe von event_signal('EventName', params) aufrufen.

Re: Add Relationship Event

Posted: 03 Oct 2020, 10:52
by cas
das geht auch in den Plugin.
Man muss nur hinzu fügen:
function init() {
event_declare('EVENT_MYVIEW');

Re: Add Relationship Event

Posted: 03 Oct 2020, 21:30
by bluescreenterror
Hallo CAS,

vielen Dank für deinen Hinweis, der mich auf den richtigen Pfad gebracht hat. Leider kann man die events nicht in der init() Methode deklarieren, da init erst nach den Hooks aufgerufen wird und es dann knallt. Hier ein Bild von der Funktion:
Image

Hier durch kam ich aber auf die Methode events(), die ein Array zurückgibt in welchen sich die jeweiligen Events befinden.

Code: Select all

function events(){
  return array(
  'EVENT_RELATIONSHIP_ADDED' => EVENT_TYPE_EXECUTE,
  'EVENT_RELATIONSHIP_DELETE' => EVENT_TYPE_EXECUTE,
  );
}
Um bei Anlegen einer Beziehung das Event zu feuern komme ich aber leider immer noch nicht an Manipulation am Core vorbei.


AH ich hätte statt dem scrennshot auch einfach den Code, hierein kopieren können :roll: :roll: :roll:
Die aktuelle Version von dem Plugin gibt es hier:https://github.com/Selonka/RelationshipCol

Re: Add Relationship Event

Posted: 04 Oct 2020, 07:41
by cas
Im Vergangenheit hat das schon functioniert bei einer meine Plugins. Gut zu wissen wie ich das sollte lösen wenn es nicht mehr geht :mrgreen: