Publish trigger

Hello all,
So I needed to tag some action to the publish trigger (or whatever it is called is Senaite). Any advice on where to start such an effort?

Hi @sufrjo , if you want to run your own logic when the action “publish” takes place for a given object, you can add an AfterTransitionEvent in your add-on to intercept the transition and call your code from there. To do so for when a Sample gets transitioned to “published”, you need to declare the subscriber, e.g:

  <!-- After event handler for Analysis Requests (aka Samples) -->
  <subscriber
    for="bika.lims.interfaces.IAnalysisRequest
         Products.DCWorkflow.interfaces.IAfterTransitionEvent"
    handler=".analysisrequest.AfterTransitionEventHandler" />

and implement it, e.g.:

def AfterTransitionEventHandler(sample, event):
    """Actions to be done when a transition for sample takes place
    """
    if event.transition and event.transition.id == "publish":
        # Do something here

Alternatively (not recommended), you could “HACK” with your code the after_publish event here:

1 Like