Olá a todos.

Estou usando o produto PloneBooking, que tem um script para enviar
mensagens para quem solicita uma reserva.
Esse script está associado a uma transição do workflow própria do
produto. Quando eu altero o estado do objeto como admin, a mensagem é
enviada sem problemas.
No entanto, quando qualquer outro usuário (Revisor) altera o estado, a
mensagem não é enviada.
Há alguma permissão para envio de mensagens ou coisa assim?

agradeço antecipadamente.

O script é:

context.booking_workflow_notification(state_change.object)

O script python é:
## Script (Python) "booking_workflow_notification"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=notified_obj
##title=Workflow notification
##
from Products.CMFCore.utils import getToolByName

# Get review state
wf_tool = getToolByName(context, 'portal_workflow')
obj_review_state = wf_tool.getInfoFor(notified_obj, 'review_state')
mship = context.portal_membership

try:
    mhost = context.MailHost
except:
    # no mailhost found
    mhost = None

# the message format, %s will be filled in from data
message_template = """
From: %s
To: %s
Subject: %s - %s

%s

URL: %s
"""


if mhost:
    if 'booked' == obj_review_state:
        # object has been booked, contact the user
        receiver = notified_obj.getEmail()
        sender = context.email_from_address
        subject = 'Confirmacao de reserva'
        body = 'Sua solicitacao de reserva foi confirmada. Voce pode
verificar os dados da reserva pelo endereco:'
        url=notified_obj.absolute_url()

    msg = message_template % (
             sender,
             receiver,
             subject,
             notified_obj.TitleOrId(),
             body,
             url
          )
    try:
        mhost.send(msg)
    except:
        # send mail failed
        pass

Responder a