# coding: utf-8 ''' Created on 21.10.2014 @author: m.prudyvus ''' from ru.curs.celesta.showcase.utils import XMLJSONConverter import json from workflow.processUtils import getLinkPermisson def activeTasks(context, main=None, session=None): data = {"datapanel":{"tab":{"@id":"1", "@name":u"Список задач", "element":[{"@id":"tasksFilter", "@type":"xforms", "@template": "workflow/tasksFilter.xml", "@proc":"workflow.xforms.tasksFilter.activeTasksFilter.celesta", }, {"@id":"tasksGrid", "@type":"grid", "@proc":"workflow.grid.activeTasksGrid.getData.celesta", "@subtype":"JS_LIVE_GRID", "@plugin":"liveDGrid", "@refreshByTimer":"false", "@refreshInterval":"20", "proc": {"@id": "tasksSettings", "@name": "workflow.grid.activeTasksGrid.getSettings.celesta", "@type": "METADATA"}, "related":{"@id":"tasksFilter"} }, {"@id":"tasksImage", "@type":"webtext", "@hideOnLoad":"true", "@neverShowInPanel":"true", "@proc":"workflow.webtext.tasksImage.webtextData.celesta", "related":{"@id":"tasksGrid"} }, {"@id":"taskStatusCard", "@type":"xforms", "@neverShowInPanel":"true", "@template": "tasksStatus.xml", "@proc":"workflow.xforms.tasksStatus.cardData.celesta", "related":{"@id":"tasksGrid"}, "proc": {"@id": "1", "@name": "workflow.xforms.tasksStatus.cardDataSave.celesta", "@type": "SAVE"} }, {"@id":"reassign", "@type":"xforms", "@neverShowInPanel":"true", "@template": "workflow/tasksReassign.xml", "@proc":"workflow.xforms.tasksReassign.cardData.celesta", "related":{"@id":"tasksGrid"}, "proc": {"@id": "1", "@name": "workflow.xforms.tasksReassign.cardDataSave.celesta", "@type": "SAVE"} }, {"@id":"viewComments", "@type":"xforms", "@neverShowInPanel":"true", "@template": "workflow/viewComments.xml", "@proc":"workflow.xforms.viewComments.cardData.celesta", "related":{"@id":"tasksGrid"} } ] } } } return XMLJSONConverter.jsonToXml(json.dumps(data)) def allActiveTasks(context, main=None, session=None): data = {"datapanel":{"tab":{"@id":"1", "@name":u"Список задач", "element":[{"@id":"tasksFilter", "@type":"xforms", "@template": "workflow/tasksFilter.xml", "@proc":"workflow.xforms.tasksFilter.allActiveTasksFilter.celesta", }, {"@id":"tasksGrid", "@type":"grid", "@proc":"workflow.grid.allActiveTasksGrid.getData.celesta", "@subtype":"JS_LIVE_GRID", "@plugin":"liveDGrid", "@refreshByTimer":"false", "@refreshInterval":"20", "related":{"@id":"tasksFilter"}, "proc":[{ "@id":1, "@name":"workflow.grid.allActiveTasksGrid.gridToolBar.celesta", "@type":"TOOLBAR"}, {"@id": "tasksSettings", "@name": "workflow.grid.allActiveTasksGrid.getSettings.celesta", "@type": "METADATA"}] }, {"@id":"tasksImage", "@type":"webtext", "@hideOnLoad":"true", "@neverShowInPanel":"true", "@proc":"workflow.webtext.tasksImage.webtextData.celesta", "related":{"@id":"tasksGrid"} }, {"@id":"taskStatusCard", "@type":"xforms", "@neverShowInPanel":"true", "@template": "tasksStatus.xml", "@proc":"workflow.xforms.tasksStatus.cardData.celesta", "related":{"@id":"tasksGrid"}, "proc": {"@id": "1", "@name": "workflow.xforms.tasksStatus.cardDataSave.celesta", "@type": "SAVE"} }, {"@id":"reassign", "@type":"xforms", "@neverShowInPanel":"true", "@template": "workflow/tasksReassign.xml", "@proc":"workflow.xforms.tasksReassign.cardData.celesta", "related":{"@id":"tasksGrid"}, "proc": {"@id": "1", "@name": "workflow.xforms.tasksReassign.cardDataSave.celesta", "@type": "SAVE"} } ] } } } return XMLJSONConverter.jsonToXml(json.dumps(data)) def archiveTasks(context, main=None, session=None): data = {"datapanel":{"tab":{"@id":"1", "@name":u"Список задач", "element":[{"@id":"tasksFilter", "@type":"xforms", "@template": "workflow/tasksFilter.xml", "@proc":"workflow.xforms.tasksFilter.archiveTasksFilter.celesta", }, {"@id":"tasksGrid", "@type":"grid", "@proc":"workflow.grid.archiveTasksGrid.getData.celesta", "@subtype":"JS_LIVE_GRID", "@plugin":"liveDGrid", "@refreshByTimer":"false", "@refreshInterval":"20", "proc": {"@id": "tasksSettings", "@name": "workflow.grid.archiveTasksGrid.getSettings.celesta", "@type": "METADATA"}, "related":{"@id":"tasksFilter"} }, {"@id":"tasksImage", "@type":"webtext", "@hideOnLoad":"true", "@neverShowInPanel":"true", "@proc":"workflow.webtext.tasksImage.webtextData.celesta", "related":{"@id":"tasksGrid"} } ] } } } return XMLJSONConverter.jsonToXml(json.dumps(data)) def standardCompleteTask(context, main=None, session=None): u'''Датапанель стандартного завершения задачи''' data = {"datapanel": {"tab": {"@id":"completeTask", "@name":u"Завершение задачи", "element": [{"@id":"completeTaskCard", "@type":"xforms", "@proc":"workflow.xforms.standardCompleteTaskCard.cardData.celesta", "@template":"workflow/standardCompleteTaskCard.xml", "proc": [{"@id":"completeTaskCardSave", "@name":"workflow.xforms.standardCompleteTaskCard.cardDataSave.celesta", "@type":"SAVE"}]}]}}} return XMLJSONConverter.jsonToXml(json.dumps(data)) def standardCompleteTaskWithStatus(context, main=None, session=None): u'''Датапанель стандартного завершения задачи''' data = {"datapanel": {"tab": {"@id":"completeTask", "@name":u"Завершение задачи", "element": [{"@id":"completeTaskCard", "@type":"xforms", "@proc":"workflow.xforms.standardCompleteTaskStCard.cardData.celesta", "@template":"workflow/standardCompleteTaskStCard.xml", "proc": [{"@id":"completeTaskCardSave", "@name":"workflow.xforms.standardCompleteTaskStCard.cardDataSave.celesta", "@type":"SAVE"}]}]}}} return XMLJSONConverter.jsonToXml(json.dumps(data)) def drawTasksByProcId(context, main=None, session=None): u'''Датапанель отрисовки таблицы активных задач''' session = json.loads(session)["sessioncontext"] sid = session["sid"] if isinstance(session['urlparams']['urlparam'], list): for params in session['urlparams']['urlparam']: if params['@name'] == 'processId': processInstanceId = params['@value'][0] if not getLinkPermisson(context, sid, 'table', None, processInstanceId, None): return context.error(u'У Вас нет разрешения на просмотр данной страницы') data = {"datapanel": {"tab": [{"@id":"activeTasks", "@name":u"Активные задачи", "element": [{"@id":"tasksFilter", "@type":"xforms", "@template": "workflow/tasksFilter.xml", "@proc":"workflow.xforms.tasksFilter.activeTasksByProcIdFilter.celesta", }, {"@id":"tasksGrid", "@type":"grid", "@proc":"workflow.grid.activeTasksByProcIdGrid.getData.celesta", "@subtype":"JS_LIVE_GRID", "@plugin":"liveDGrid", "proc":[ {"@id": "tasksMeta", "@name": "workflow.grid.activeTasksByProcIdGrid.getMeta.celesta", "@type": "METADATA"}], "related":{"@id":"tasksFilter"}, # "proc":[{ # "@id":1, # "@name":"workflow.grid.activeTasksByProcIdGrid.gridToolBar.celesta", # "@type":"TOOLBAR"}] }]}]}} return XMLJSONConverter.jsonToXml(json.dumps(data)) def approveTask(context, main=None, session=None): u'''Датапанель утверждения задачи''' data = {"datapanel": {"tab": {"@id":"completeTask", "@name":u"Утверждение задачи", "element": [{"@id":"approveTaskCard", "@type":"xforms", "@proc":"workflow.xforms.approveTaskCard.cardData.celesta", "@template":"workflow/approveTaskCard.xml", "proc": [{"@id":"approveTaskCardSave", "@name":"workflow.xforms.approveTaskCard.cardDataSave.celesta", "@type":"SAVE"}]}]}}} return XMLJSONConverter.jsonToXml(json.dumps(data)) def reworkDoc(context, main=None, session=None): u'''Датапанель утверждения задачи''' data = {"datapanel": {"tab": {"@id":"reworkDoc", "@name":u"Отправка на согласование", "element": [{"@id":"reworkDocCard", "@type":"xforms", "@proc":"workflow.xforms.reworkDocCard.cardData.celesta", "@template":"workflow/reworkDocCard.xml", "proc": [{"@id":"reworkDocCardSave", "@name":"workflow.xforms.reworkDocCard.cardDataSave.celesta", "@type":"SAVE"}]}]}}} return XMLJSONConverter.jsonToXml(json.dumps(data))