# coding: utf-8 ''' Created on 02.10.2014 @author: A.Vasilyev. ''' import json from workflow.processUtils import ActivitiObject, getLinkPermisson try: from ru.curs.showcase.core.jython import JythonDTO except: from ru.curs.celesta.showcase import JythonDTO try: from ru.curs.showcase.core.selector import ResultSelectorData from ru.beta2.extra.gwt.ui.selector.api import DataRecord except: from ru.curs.celesta.showcase import ResultSelectorData, DataRecord try: from ru.curs.showcase.activiti import EngineFactory except: from workflow import testConfig as EngineFactory from java.io import InputStream, FileInputStream from jarray import zeros from ru.curs.celesta.showcase.utils import XMLJSONConverter def cardData(context, main=None, add=None, filterinfo=None, session=None, elementId=None): u'''Карточка стандартного запуска процесса''' if add != "added": xformsdata = {"schema":{"@xmlns":'', "data":{"@type":'add'}, } } else: xformsdata = {"schema":{"@xmlns":'', "data":{"@type":'hide'}, } } xformssettings = {"properties":{ "event":[{"@name": "single_click", "@linkId": "1", "action":{"#sorted":[{"main_context": "current"}, {"datapanel":{"@type": "current", "@tab": "current", "element":{"@id":'standardStartProcess', "add_context":"added"} } }]} }] } } jsonData = XMLJSONConverter.jsonToXml(json.dumps(xformsdata)) jsonSettings = XMLJSONConverter.jsonToXml(json.dumps(xformssettings)) return JythonDTO(jsonData, jsonSettings) def cardSave(context, main, add, filterinfo, session, elementId, data): u'''Запуск процесса''' session = json.loads(session)['sessioncontext'] if isinstance(session['urlparams']['urlparam'], list): for params in session['urlparams']['urlparam']: if params['@name'] == 'processKey': processKey = params['@value'][0] activiti = ActivitiObject() process = activiti.repositoryService.createProcessDefinitionQuery().processDefinitionKey(processKey).latestVersion().singleResult() variables = {"processDescription":process.name, "initiator":'admin', "dean":'admin', "lawyer":'admin', "service":'admin', "final":'admin', "docId":'1' } # vars = {"initiator":'cock',"troll":'stock'} activiti.runtimeService.startProcessInstanceByKey(processKey, variables) return context.message(u'Процесс запущен')