La plataforma CPS (Base de KMKey) nos permite crear scripts personalizados directamente des de ZMI (sin necesidad de compliar) asociados a una transción en los Work Flow
Por ejemplo, si queremos que en el momento de crear, editar o cerrar un proyecto se realice una acción determinada, como por ejemplo enviar un mail personalizado, podemos caputrar este evento y ejecutar código
Si por ejemplo queremos enviar un mail al crear un expediente, accedemos a portal_workflows --> kmkey_folder_wf --> scripts i crearmos un nuevo script de python, con código parecido al especificado más abajo
para asociar entonces un script a una transición, editamos la transición en cuestión, y asignamos el script a uno de los dos events (after o before)
from Products.KMKeyCore.pattern import KMObjectCreationAdapter
from Products.KMKeyDefault.smssenderfactory import SMSSenderFactory
from DateTime.DateTime import DateTime
import re
from AccessControl import getSecurityManager
from Products.KMKeyCore.pattern import KMObjectCreationAdapter
from Products.CMFCore.utils import getToolByName
from DateTime.DateTime import DateTime
from urllib import unquote
catalog = context.portal_catalog
proxy=context=cdm=state_change.object
if not proxy.portal_type=='kmkey_incidencia-ticket':
return
content=proxy.getContent()
cdm = content.getDataModel(proxy)
crear=True
if not cdm['end_date']:
return
if crear:
if 1==1:
creador = cdm['creador']
email_to=''
valor=''
if creador:
brains = catalog(getDocid=creador)
if not len(brains):
brains = catalog(username=creador)
if len(brains):
email_to = brains[0].email
valor = brains[0].Title
if not email_to:
subject='Creador sin email asociado'
body = "xxxxxxxxx"
else:
reference=cdm['reference']
utool = context.portal_url
url_asistencia = context.REQUEST['BASE0'] + '/kmkey/' + utool.getRelativeContentURL(proxy)
subject='Asistencia finalizada - %s '%reference
body="""
proxy.createEmail(subject=subject,body=body,email_to = email_to)Etiquetas: Como se hace, Configuracion KMKey, Desarrollo KMKey